<?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>80135</bug_id>
          
          <creation_ts>2012-03-02 02:14:46 -0800</creation_ts>
          <short_desc>[BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail</short_desc>
          <delta_ts>2012-05-28 20:49:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit BlackBerry</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>84579</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jonathan Dong">jonathan.dong.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>joenotcharles</cc>
    
    <cc>leo.yang</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>569457</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-02 02:14:46 -0800</bug_when>
    <thetext>if wrong credential information is provided by user for the first time, some site would return 401 again to challenge user to re-enter the credential, until user correctly login or press cancel.

According to our implementation for now, NetworkJob would not start a new request when the m_currentWebChallenge in its related resourceHandle is not null.
It won&apos;t send out a new request when user leaves both username and password empty then press enter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585939</commentid>
    <comment_count>1</comment_count>
      <attachid>133403</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-22 18:06:12 -0700</bug_when>
    <thetext>Created attachment 133403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585957</commentid>
    <comment_count>2</comment_count>
      <attachid>133403</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-22 18:38:26 -0700</bug_when>
    <thetext>Comment on attachment 133403
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585999</commentid>
    <comment_count>3</comment_count>
      <attachid>133403</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-22 19:24:15 -0700</bug_when>
    <thetext>Comment on attachment 133403
Patch

Clearing flags on attachment: 133403

Committed r111810: &lt;http://trac.webkit.org/changeset/111810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586000</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-22 19:24:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587684</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-26 07:01:43 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587685</commentid>
    <comment_count>6</comment_count>
      <attachid>133796</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-26 07:01:51 -0700</bug_when>
    <thetext>Created attachment 133796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591119</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-29 06:33:42 -0700</bug_when>
    <thetext>hi Rob, do you have any comment on this? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591133</commentid>
    <comment_count>8</comment_count>
      <attachid>133796</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-29 06:50:11 -0700</bug_when>
    <thetext>Comment on attachment 133796
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Fixed a regression introduced by last patch to fix this PR (git SHA: d9a7ccc1a98e),

I dont think this is useful for webkit community, to mention internal SHAs. I propose to do what chromium does, refer to our internal bug (like PR 10777), and in the internal bug you can refer to SHAs. However if you want to refer to a previous upstream webkit changeset you did (like r110000), that would be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591158</commentid>
    <comment_count>9</comment_count>
      <attachid>134575</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-29 07:14:37 -0700</bug_when>
    <thetext>Created attachment 134575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591159</commentid>
    <comment_count>10</comment_count>
      <attachid>134575</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-29 07:20:58 -0700</bug_when>
    <thetext>Comment on attachment 134575
Patch

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

Still some issues :)

&gt; Source/WebCore/ChangeLog:5
&gt; +        RIM PR: 145660

It is better to put this below the Reviewed By line. In fact cq+ might not work if it is strict about the format.

&gt; Source/WebCore/ChangeLog:9
&gt; +        Fixed a regression introduced by last patch to fix this PR (r111810), we should

Better rephrase:

Fixed a regression introduced by r111810, we should

&gt; Source/WebCore/ChangeLog:13
&gt; +        No new tests.

Why no new tests?

&gt; Source/WebKit/blackberry/ChangeLog:9
&gt; +        Fixed a regression introduced by last patch to fix this PR (r111810), which

Same as above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592849</commentid>
    <comment_count>11</comment_count>
      <attachid>134955</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-31 05:54:19 -0700</bug_when>
    <thetext>Created attachment 134955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592851</commentid>
    <comment_count>12</comment_count>
      <attachid>134955</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-31 05:59:16 -0700</bug_when>
    <thetext>Comment on attachment 134955
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592856</commentid>
    <comment_count>13</comment_count>
      <attachid>134955</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-31 06:34:21 -0700</bug_when>
    <thetext>Comment on attachment 134955
Patch

Clearing flags on attachment: 134955

Committed r112794: &lt;http://trac.webkit.org/changeset/112794&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592857</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-31 06:34:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608213</commentid>
    <comment_count>15</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-04-23 17:13:02 -0700</bug_when>
    <thetext>Re-opening: these changes broke digest auth.  Going to revert them until we can figure out the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608214</commentid>
    <comment_count>16</comment_count>
      <attachid>138464</attachid>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-04-23 17:13:37 -0700</bug_when>
    <thetext>Created attachment 138464
revert patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608252</commentid>
    <comment_count>17</comment_count>
      <attachid>138464</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2012-04-23 17:51:47 -0700</bug_when>
    <thetext>Comment on attachment 138464
revert patch

Why remove the tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608624</commentid>
    <comment_count>18</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-04-24 07:11:16 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 138464 [details])
&gt; Why remove the tests?

I just reverted the whole thing.  This is &quot;git revert&quot; on all three patches, squashed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608627</commentid>
    <comment_count>19</comment_count>
      <attachid>138552</attachid>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-04-24 07:16:12 -0700</bug_when>
    <thetext>Created attachment 138552
revert all but tests

Here&apos;s the same patch without the tests removed.  r+ whichever you prefer and r- the other one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608706</commentid>
    <comment_count>20</comment_count>
      <attachid>138570</attachid>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-04-24 08:38:17 -0700</bug_when>
    <thetext>Created attachment 138570
revert all but the tests

Updated patch that reverts all but the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609012</commentid>
    <comment_count>21</comment_count>
      <attachid>138570</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 13:53:08 -0700</bug_when>
    <thetext>Comment on attachment 138570
revert all but the tests

Clearing flags on attachment: 138570

Committed r115104: &lt;http://trac.webkit.org/changeset/115104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609013</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 13:53:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609016</commentid>
    <comment_count>23</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-04-24 13:58:48 -0700</bug_when>
    <thetext>No, those were reverts, so this is still open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635231</commentid>
    <comment_count>24</comment_count>
      <attachid>144364</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-28 08:12:39 -0700</bug_when>
    <thetext>Created attachment 144364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635330</commentid>
    <comment_count>25</comment_count>
      <attachid>144364</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-28 11:19:18 -0700</bug_when>
    <thetext>Comment on attachment 144364
Patch

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

Looks good but please fix my issues before landing.

&gt; Source/WebCore/ChangeLog:9
&gt; +        issue for BlackBerry porting get identified and fixed.

It is better to keep the original ChangeLog messages. Or keep them and append these two lines too.

&gt; Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp:130
&gt; +    return &quot;&lt;unknown&gt;&quot;;

This needs to be implemented? If so add a TODO.

&gt; Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp:877
&gt; +    return true;

Is this tested? Do you think we will need to change some test results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635513</commentid>
    <comment_count>26</comment_count>
      <attachid>144364</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-28 19:29:20 -0700</bug_when>
    <thetext>Comment on attachment 144364
Patch

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

&gt;&gt; Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp:877
&gt;&gt; +    return true;
&gt; 
&gt; Is this tested? Do you think we will need to change some test results?

yes it&apos;s been tested with http/tests/loading/basic-auth-resend-wrong-credentials.html and http/tests/loading/basic-credentials-sent-automatically.html
I don&apos;t think we need to change test results because that the purpose of reverting this patch is for the infinite loop challenge when loading subresources, it has nothing to do with the DRT implementation. And the tests work fine for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635515</commentid>
    <comment_count>27</comment_count>
      <attachid>144426</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-28 19:32:44 -0700</bug_when>
    <thetext>Created attachment 144426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635541</commentid>
    <comment_count>28</comment_count>
      <attachid>144426</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 20:49:49 -0700</bug_when>
    <thetext>Comment on attachment 144426
Patch

Clearing flags on attachment: 144426

Committed r118719: &lt;http://trac.webkit.org/changeset/118719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635542</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 20:49:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133403</attachid>
            <date>2012-03-22 18:06:12 -0700</date>
            <delta_ts>2012-03-26 07:01:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80135-20120323090610.patch</filename>
            <type>text/plain</type>
            <size>9111</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU1NTFhY2NjNTAyYjE5
MDM4NWFkMjc4OTQ2OWU5OWIwYTY1ZTY3YS4uODg2MzJjM2Y2NDBlNTQxOTQwYTUzY2QxNjJiZmYz
NjcxMTcyY2I1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTIyICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8g
bWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb2RpZmllZCB0aGUgaW50ZXJmYWNlIGZ1bmN0aW9u
IGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkgaW4gY2xhc3MKKyAgICAgICAgUGFnZUNsaWVudEJs
YWNrQmVycnksIG1vdmVkIENyZWRlbnRpYWwgZnJvbSByZXR1cm4gdmFsdWUgdG8gdGhlCisgICAg
ICAgIGZ1bmN0aW9uJ3MgcmVmZXJlbmNlIHBhcmFtZXRlciwgYW5kIHJldHVybmVkIGEgYm9vbCB0
byBpbmRpY2F0ZSBpZgorICAgICAgICB1c2VyIHByZXNzZWQgT2sgYnV0dG9uIG9yIG5vdC4KKyAg
ICAgICAgUmVtb3ZlZCB0aGUgbG9naWMgd2hpY2ggY2hlY2tzIG1fY3VycmVudFdlYkNoYWxsZW5n
ZSBub3QgbnVsbCwKKyAgICAgICAgYmVjYXVzZSB3ZSBzaG91bGQgY2hhbGxlbmdlIHVzZXIgYWdh
aW4gaWYgdGhlIGxhc3QgcHJvdmlkZWQgY3JlZGVudGlhbAorICAgICAgICBpcyBub3QgdmFsaWQ7
IGFsc28gYWRkZWQgdGhlIGxvZ2ljIHRoYXQgd2lsbCBwb3B1cCBjaGFsbGVuZ2UKKyAgICAgICAg
ZGlhbG9nIGFnYWluIGltbWVkaWF0ZWx5IGlmIHVzZXIgcHJlc3MgT2sgYnV0dHRvbiBkaXJlY3Rs
eSB3aXRob3V0CisgICAgICAgIGlucHV0dGluZyBhbnl0aGluZy4KKworICAgICAgICBObyBuZXcg
dGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0Jl
cnJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aGFuZGxlQXV0aEhlYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6
CisKIDIwMTItMDMtMjIgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggY2hyb21pdW0gYnVpbGQgYWZ0ZXIgd3RmIG1vdmUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBmYTNhZjQ4ZmJhMTgxMTYxZWNlOTcyMTI0M2Q5YzA5
MjUwMjJhMzAwLi43MjNiOWFkOWI0YzQ4NjM3ZjA4Yzc2ZmY5N2QyNDlmOTRjZDU0ODJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wMy0yMiAg
Sm9uYXRoYW4gRG9uZyAgPGpvbmF0aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAg
ICAgIFtCbGFja0JlcnJ5XSBodHRwIGF1dGhlbnRpY2F0ZSBkaWFsb2cgcG9wdXAgb25seSBvbmNl
IG5vIG1hdHRlciBhdXRoZW50aWNhdGlvbiBwYXNzIG9yIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTM1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZpZWQgdGhlIGludGVyZmFjZSBmdW5j
dGlvbiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpIGluCisgICAgICAgIGNsYXNzIFdlYlBhZ2VQ
cml2YXRlIGJ5IHJldHVybmluZyBhIGJvb2wgdG8gaW5kaWNhdGUgaWYgdXNlcgorICAgICAgICBw
cmVzc2VkIE9rIGJ1dHRvbiBvciBub3QsIGFuZCBtb3ZlZCB0aGUgQ3JlZGVudGlhbCBmcm9tIHJl
dHVybgorICAgICAgICB2YWx1ZSB0byB0aGUgcmVmZXJlbmNlIHBhcmFtZXRlci4KKyAgICAgICAg
QWxzbyB1cGRhdGVkIHRoZSBjb3JyZXNwb25kaW5nIGludGVyZmFjZSBmdW5jdGlvbnMgaW4gY2xh
c3MKKyAgICAgICAgV2ViUGFnZUNsaWVudC4KKworICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZUNsaWVudC5oOgorICAgICAgICAq
IEFwaS9XZWJQYWdlX3AuaDoKKyAgICAgICAgKFdlYlBhZ2VQcml2YXRlKToKKwogMjAxMi0wMy0y
MiAgTWlrZSBMYXR0YW56aW8gIDxtbGF0dGFuemlvQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNr
QmVycnldIERldmljZURQSSBTY2FsaW5nIGlzIGJyb2tlbiBvbiBtb2JpbGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0Jl
cnJ5LmgKaW5kZXggNDc0ZTNkNWNmYjYzZThjNTA0NzM3YWM5OTU3NDEzYjg4YWU4NDBhYy4uMzZk
Y2Q1YzI1ZTNjZDc0NDU5YTY1ZDRmM2Q3NzRlZDkxNjA5ODYwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnku
aApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRTaXpl
IHZpZXdwb3J0U2l6ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGludCBzaG93QWxlcnREaWFs
b2coQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlQ2xpZW50OjpBbGVydFR5cGUpID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmUoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBXZWJDb3Jl
OjpDcmVkZW50aWFsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OktVUkwm
LCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKSA9IDA7CisgICAgdmlydHVhbCBib29s
IGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXZWJD
b3JlOjpQcm90ZWN0aW9uU3BhY2UmLCBXZWJDb3JlOjpDcmVkZW50aWFsJikgPSAwOwogICAgIHZp
cnR1YWwgU2F2ZUNyZWRlbnRpYWxUeXBlIG5vdGlmeVNob3VsZFNhdmVDcmVkZW50aWFsKGJvb2wp
ID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCBjNzM3MDgxM2YxM2QzZGJiY2QwNTA3
YzkyMDVhM2E1YzAwMmZhYjQzLi41Y2M4ZDViZjA1MjBjMjE5YzI0MmEzNWM3ZmVkN2UyNDhjMzY5
OTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9i
bGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC03NDgsOSArNzQ4LDYgQEAgYm9vbCBOZXR3b3Jr
Sm9iOjpoYW5kbGVBdXRoSGVhZGVyKGNvbnN0IFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgc3Bh
Y2UsIGNvbnN0IFMKICAgICBpZiAoIW1faGFuZGxlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBpZiAoIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2Uu
aXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmIChoZWFkZXIuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTg3MiwxNCArODY5LDE1IEBAIGJvb2wg
TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2Vy
dmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+
bV91c2VyID0gIiI7CiAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNz
ID0gIiI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBDcmVkZW50aWFsIGlucHV0Q3Jl
ZGVudGlhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5wbGF0Zm9ybVBh
Z2VDbGllbnQoKS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV3VVJMLCBwcm90ZWN0aW9uU3Bh
Y2UpOwotICAgICAgICAgICAgdXNlcm5hbWUgPSBpbnB1dENyZWRlbnRpYWwudXNlcigpOwotICAg
ICAgICAgICAgcGFzc3dvcmQgPSBpbnB1dENyZWRlbnRpYWwucGFzc3dvcmQoKTsKKyAgICAgICAg
ICAgIENyZWRlbnRpYWwgaW5wdXRDcmVkZW50aWFsOworICAgICAgICAgICAgYm9vbCBpc0NvbmZp
cm1lZCA9IGZhbHNlOworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIGlzQ29uZmly
bWVkID0gbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNs
aWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwg
aW5wdXRDcmVkZW50aWFsKTsKKyAgICAgICAgICAgICAgICB1c2VybmFtZSA9IGlucHV0Q3JlZGVu
dGlhbC51c2VyKCk7CisgICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBpbnB1dENyZWRlbnRpYWwu
cGFzc3dvcmQoKTsKKyAgICAgICAgICAgIH0gd2hpbGUgKGlzQ29uZmlybWVkICYmIHVzZXJuYW1l
LmlzRW1wdHkoKSAmJiBwYXNzd29yZC5pc0VtcHR5KCkpOwogICAgICAgICB9CiAKLSAgICAgICAg
aWYgKHVzZXJuYW1lLmlzRW1wdHkoKSAmJiBwYXNzd29yZC5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KICAgICAgICAgY3JlZGVudGlhbCA9IENyZWRlbnRpYWwodXNlcm5h
bWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VGb3JTZXNzaW9uKTsKIAogICAgICAg
ICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UocHJvdGVjdGlvblNwYWNlLCBjcmVkZW50aWFsLCAwLCBtX3Jlc3Bv
bnNlLCBSZXNvdXJjZUVycm9yKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFn
ZS5jcHAKaW5kZXggNjhiMDI0MGQyOGQxNWYwMTBhOTk0ZDRiODE4ODJjMzMzZThmZjU4MC4uN2Yx
ODk5ZmFkNjAyZjY0NmMwYmZlNDQzYmQwN2JiZWVkNDYyYWIzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCkBAIC0yMDE5LDcgKzIwMTksNyBAQCBib29sIFdlYlBh
Z2VQcml2YXRlOjppc0FjdGl2ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2xpZW50LT5pc0FjdGl2
ZSgpOwogfQogCi1DcmVkZW50aWFsIFdlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNw
YWNlKQorYm9vbCBXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3Qg
S1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVu
dGlhbCYgaW5wdXRDcmVkZW50aWFsKQogewogICAgIFdlYlN0cmluZyB1c2VybmFtZTsKICAgICBX
ZWJTdHJpbmcgcGFzc3dvcmQ7CkBAIC0yMDI5LDE2ICsyMDI5LDE3IEBAIENyZWRlbnRpYWwgV2Vi
UGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgUHJvdGVjCiAgICAgICAgIGNyZWRlbnRpYWxNYW5hZ2VyKCkuYXV0b2ZpbGxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIHVzZXJuYW1lLCBwYXNzd29yZCk7CiAjZW5k
aWYKIAotICAgIG1fY2xpZW50LT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3Bh
Y2UucmVhbG0oKS5jaGFyYWN0ZXJzKCksIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpLmxlbmd0aCgp
LCB1c2VybmFtZSwgcGFzc3dvcmQpOworICAgIGJvb2wgaXNDb25maXJtZWQgPSBtX2NsaWVudC0+
YXV0aGVudGljYXRpb25DaGFsbGVuZ2UocHJvdGVjdGlvblNwYWNlLnJlYWxtKCkuY2hhcmFjdGVy
cygpLCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKS5sZW5ndGgoKSwgdXNlcm5hbWUsIHBhc3N3b3Jk
KTsKIAogI2lmIEVOQUJMRShCTEFDS0JFUlJZX0NSRURFTlRJQUxfUEVSU0lTVCkKLSAgICBDcmVk
ZW50aWFsIGlucHV0Q3JlZGVudGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJz
aXN0ZW5jZVBlcm1hbmVudCk7CisgICAgQ3JlZGVudGlhbCBjcmVkZW50aWFsKHVzZXJuYW1lLCBw
YXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKICAgICBpZiAoIW1fd2Vi
U2V0dGluZ3MtPmlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQogICAgICAgICBjcmVkZW50aWFs
TWFuYWdlcigpLnNhdmVDcmVkZW50aWFsSWZDb25maXJtZWQodGhpcywgQ3JlZGVudGlhbFRyYW5z
Zm9ybURhdGEodXJsLCBwcm90ZWN0aW9uU3BhY2UsIGlucHV0Q3JlZGVudGlhbCkpOwogI2Vsc2UK
LSAgICBDcmVkZW50aWFsIGlucHV0Q3JlZGVudGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRl
bnRpYWxQZXJzaXN0ZW5jZU5vbmUpOworICAgIENyZWRlbnRpYWwgY3JlZGVudGlhbCh1c2VybmFt
ZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZU5vbmUpOwogI2VuZGlmCi0gICAgcmV0
dXJuIGlucHV0Q3JlZGVudGlhbDsKKyAgICBpbnB1dENyZWRlbnRpYWwgPSBjcmVkZW50aWFsOwor
ICAgIHJldHVybiBpc0NvbmZpcm1lZDsKIH0KIAogUGFnZUNsaWVudEJsYWNrQmVycnk6OlNhdmVD
cmVkZW50aWFsVHlwZSBXZWJQYWdlUHJpdmF0ZTo6bm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwo
Ym9vbCBpc05ldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2Vi
UGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50
LmgKaW5kZXggMzBkMWZkZWIzZWU2NDUxYzQ3YTE3NjU1M2FmMjZmOWFhODk2OWY2ZC4uMDRhNTg5
M2UyN2Q2YjE1YjA2NmIxNzU3ODU0MzNmNWVjZWZjMmEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmgKQEAgLTIxMSw3ICsyMTEsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGVCbG9ja1pvb20oY29uc3QgUGxhdGZvcm06OkZsb2F0
UG9pbnQmIGZpbmFsUG9pbnQsIGRvdWJsZSBmaW5hbFNjYWxlKSA9IDA7CiAKICAgICB2aXJ0dWFs
IHZvaWQgc2V0UHJldmVudHNTY3JlZW5JZGxlRGltbWluZyhib29sIG5vRGltbWluZykgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCB1bnNpZ25lZCBz
aG9ydCogcmVhbG0sIHVuc2lnbmVkIGludCByZWFsbUxlbmd0aCwgV2ViU3RyaW5nJiB1c2VybmFt
ZSwgV2ViU3RyaW5nJiBwYXNzd29yZCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShjb25zdCB1bnNpZ25lZCBzaG9ydCogcmVhbG0sIHVuc2lnbmVkIGludCBy
ZWFsbUxlbmd0aCwgV2ViU3RyaW5nJiB1c2VybmFtZSwgV2ViU3RyaW5nJiBwYXNzd29yZCkgPSAw
OwogICAgIHZpcnR1YWwgU2F2ZUNyZWRlbnRpYWxUeXBlIG5vdGlmeVNob3VsZFNhdmVDcmVkZW50
aWFsKGJvb2wgaXNOZXcpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRQbHVnaW5FbnRl
ckZ1bGxTY3JlZW4oKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2VfcC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3Au
aAppbmRleCBkNzZiNWFkNGUyYWI3OWIzZjc2OGE3ZjhlN2RiNGI0ZmNhZTkwZDliLi5lYjUwYjA2
NjdjNjY1MTliMTNlM2NiZDdiMjU2Y2ZiYTk4MjdmMDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9BcGkvV2ViUGFnZV9wLmgKQEAgLTE3Niw3ICsxNzYsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBkb3VibGUgY3VycmVudFpvb21GYWN0b3IoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBz
aG93QWxlcnREaWFsb2coV2ViUGFnZUNsaWVudDo6QWxlcnRUeXBlIGF0eXBlKTsKICAgICB2aXJ0
dWFsIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OkNyZWRlbnRp
YWwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFdl
YkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpOworICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlv
blNwYWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwogICAgIHZpcnR1YWwgU2F2ZUNyZWRlbnRp
YWxUeXBlIG5vdGlmeVNob3VsZFNhdmVDcmVkZW50aWFsKGJvb2wpOwogCiAgICAgLy8gQ2FsbGVk
IGZyb20gd2l0aGluIFdlYktpdCB2aWEgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133796</attachid>
            <date>2012-03-26 07:01:51 -0700</date>
            <delta_ts>2012-03-29 07:13:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80135-20120326220149.patch</filename>
            <type>text/plain</type>
            <size>3710</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM3MTJjYWVkYTViOWI4
ZWJkYjE4MWJlNGUxZWU5Zjk3N2ZiNDQwZi4uNjU4ZDczYzUwNmI1ZmY4YWI1NmZlNzA4Y2JiOWEw
MDZkNmNhNDc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTI2ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8g
bWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBi
eSBsYXN0IHBhdGNoIHRvIGZpeCB0aGlzIFBSIChnaXQgU0hBOiBkOWE3Y2NjMWE5OGUpLAorICAg
ICAgICB3ZSBzaG91bGQgY2FuY2VsIHRoZSBuZXcgcmVxdWVzdCB3aGVuIHVzZXIgcHJlc3NlZCBj
YW5jZWwgYnV0dG9uIGluIGh0dHAgYXV0aGVudGljYXRpb24KKyAgICAgICAgY2hhbGxlbmdlIGRp
YWxvZy4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3Jr
Sm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6CisKIDIwMTItMDMtMjYgIEFsZXhhbmRl
ciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBbUkVHUkVTU0lPTl0gV29ya2Fyb3VuZHMgZm9yIHNlY3VyaXR5IGNoZWNrcyB3aGVuIHJldHJp
ZXZpbmcgc3R5bGVzaGVldCBydWxlIGxpc3RzIGFyZSBicm9rZW4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCmluZGV4IDE5N2ZhMmNlNmU3NDE1M2UwYmYwZmM5MTYzMzM3ZTU5N2NiOGFiYTku
LjZiMTEzODc3ZTBlOGNkZmNhZjE4ZTE0NjU0ZDcyNDQ2M2E5ZjkwNDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTI2ICBKb25hdGhhbiBE
b25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNr
QmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8gbWF0dGVy
IGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaXhlZCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBsYXN0
IHBhdGNoIHRvIGZpeCB0aGlzIFBSIChnaXQgU0hBOiBkOWE3Y2NjMWE5OGUpLCB3aGljaAorICAg
ICAgICB1c2VkIHRoZSB3cm9uZyBjcmVkZW50aWFsIG9iamVjdC4KKworICAgICAgICAqIEFwaS9X
ZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6
OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKwogMjAxMi0wMy0yNSAgQXJ2aWQgTmlsc3NvbiAg
PGFuaWxzc29uQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEFjY2VsZXJhdGVkIGNv
bXBvc2l0aW5nIGxheWVycyBmYWlsIHRvIHJlbmRlciB3aGVuIHVzaW5nIFdlYlBhZ2VDb21wb3Np
dG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNr
YmVycnkvTmV0d29ya0pvYi5jcHAKaW5kZXggZWU3NDE2MmVkZjY2NDIxOTIzNGRiMjc2MjZjYmQx
NzFhNTQ4M2Q3OC4uMGY5YzRkNGRiOWM4NTFhMjhkNDk0MjFiMWZlOWE1YmI2ZTBjZDZlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdv
cmtKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJy
eS9OZXR3b3JrSm9iLmNwcApAQCAtODc3LDYgKzg3Nyw5IEBAIGJvb2wgTmV0d29ya0pvYjo6c2Vu
ZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQ
cm90CiAgICAgICAgICAgICAgICAgdXNlcm5hbWUgPSBpbnB1dENyZWRlbnRpYWwudXNlcigpOwog
ICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gaW5wdXRDcmVkZW50aWFsLnBhc3N3b3JkKCk7CiAg
ICAgICAgICAgICB9IHdoaWxlIChpc0NvbmZpcm1lZCAmJiB1c2VybmFtZS5pc0VtcHR5KCkgJiYg
cGFzc3dvcmQuaXNFbXB0eSgpKTsKKworICAgICAgICAgICAgaWYgKCFpc0NvbmZpcm1lZCkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAogICAgICAgICBjcmVkZW50
aWFsID0gQ3JlZGVudGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5j
ZUZvclNlc3Npb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5k
ZXggNGYyYmU2MmNhMDFmMTA4MjVhMjNmOWJhZjZkMTFjNzZkMDA5MTY5Mi4uOGE1ZTFmZDBiYzFk
ZTM2NmZmNjlmZTg2YzczZWQxZTRhMjYwYzg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2UuY3BwCkBAIC0yMDMzLDcgKzIwMzMsNyBAQCBib29sIFdlYlBhZ2VQcml2YXRl
OjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rp
b25TcAogI2lmIEVOQUJMRShCTEFDS0JFUlJZX0NSRURFTlRJQUxfUEVSU0lTVCkKICAgICBDcmVk
ZW50aWFsIGNyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVu
Y2VQZXJtYW5lbnQpOwogICAgIGlmICghbV93ZWJTZXR0aW5ncy0+aXNQcml2YXRlQnJvd3NpbmdF
bmFibGVkKCkpCi0gICAgICAgIGNyZWRlbnRpYWxNYW5hZ2VyKCkuc2F2ZUNyZWRlbnRpYWxJZkNv
bmZpcm1lZCh0aGlzLCBDcmVkZW50aWFsVHJhbnNmb3JtRGF0YSh1cmwsIHByb3RlY3Rpb25TcGFj
ZSwgaW5wdXRDcmVkZW50aWFsKSk7CisgICAgICAgIGNyZWRlbnRpYWxNYW5hZ2VyKCkuc2F2ZUNy
ZWRlbnRpYWxJZkNvbmZpcm1lZCh0aGlzLCBDcmVkZW50aWFsVHJhbnNmb3JtRGF0YSh1cmwsIHBy
b3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCkpOwogI2Vsc2UKICAgICBDcmVkZW50aWFsIGNyZWRl
bnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VOb25lKTsKICNl
bmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134575</attachid>
            <date>2012-03-29 07:14:37 -0700</date>
            <delta_ts>2012-03-31 03:22:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80135-20120329221431.patch</filename>
            <type>text/plain</type>
            <size>3654</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjFmMzllMTI5MTc2YTEx
NTNmNjRiNGEzOWQyM2FhYTFkMjFhMDQ4Mi4uMTQ4N2NmYmI0NzhmMWYwZDE4MjdmMTIyMjM2NTU0
MjZmZjkyMjNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAzLTI5ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8g
bWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKyAgICAgICAgUklNIFBSOiAxNDU2NjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBh
IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBsYXN0IHBhdGNoIHRvIGZpeCB0aGlzIFBSIChyMTEx
ODEwKSwgd2Ugc2hvdWxkCisgICAgICAgIGNhbmNlbCB0aGUgbmV3IHJlcXVlc3Qgd2hlbiB1c2Vy
IHByZXNzZWQgY2FuY2VsIGJ1dHRvbiBpbiBodHRwIGF1dGhlbnRpY2F0aW9uCisgICAgICAgIGNo
YWxsZW5nZSBkaWFsb2cuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMpOgorCiAyMDEyLTAzLTI5
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogdXNlIGNhbnZhcyB0byByZW5kZXIgYmFycyBpbiAidmVydGljYWwgb3ZlcnZpZXci
IG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IGZjNGIyY2VjNWE5ZDcyYzll
NzI5ODlhMDg1NDQwOGM5NDAwOGNmZTMuLjRjNDMzYTViN2Q4ZDRjN2Y5OTEyYzMwMTRjNTNmMDQ4
MzYyNGIxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTAzLTI5ICBKb25hdGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5j
b20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBw
b3B1cCBvbmx5IG9uY2Ugbm8gbWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKyAgICAg
ICAgUklNIFBSOiAxNDU2NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBGaXhlZCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBsYXN0IHBhdGNoIHRv
IGZpeCB0aGlzIFBSIChyMTExODEwKSwgd2hpY2gKKyAgICAgICAgdXNlZCB0aGUgd3JvbmcgY3Jl
ZGVudGlhbCBvYmplY3QuCisKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSk6CisKIDIwMTItMDMtMjggIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZW1vdmUgZGlzcGF0Y2hEaWRMb2FkTWFpblJlc291cmNlIGNhbGxiYWNrLCBzaW5j
ZSBubwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L05ldHdvcmtKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L05ldHdvcmtKb2IuY3BwCmluZGV4IDZhMTg5Y2UyOWExNzNmNWFkYjBjNTYxMmZiNzQ2
ZTdmZjRiMWIzYzEuLjYxOGFjOWZmZTNkNjQ3NjJjZGIwMDE4YTQ4Mjg5ZjY2ZWI3MDk5YWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5jcHAKQEAgLTg3NCw2ICs4NzQsOSBAQCBib29sIE5ldHdvcmtKb2I6OnNl
bmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwg
UHJvdAogICAgICAgICAgICAgICAgIHVzZXJuYW1lID0gaW5wdXRDcmVkZW50aWFsLnVzZXIoKTsK
ICAgICAgICAgICAgICAgICBwYXNzd29yZCA9IGlucHV0Q3JlZGVudGlhbC5wYXNzd29yZCgpOwog
ICAgICAgICAgICAgfSB3aGlsZSAoaXNDb25maXJtZWQgJiYgdXNlcm5hbWUuaXNFbXB0eSgpICYm
IHBhc3N3b3JkLmlzRW1wdHkoKSk7CisKKyAgICAgICAgICAgIGlmICghaXNDb25maXJtZWQpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgY3JlZGVu
dGlhbCA9IENyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVu
Y2VGb3JTZXNzaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkv
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmlu
ZGV4IDE5YzkxNGYzOGFiZDg3ZTY2N2RmMTI1MzkzNTFiMDVhYjE1Y2Y2ZjQuLjU1MzU1Y2VjZTc3
NTQ5Y2I2YWYwODM3YTc1YzA2MzAxMTgwNzI0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJQYWdlLmNwcApAQCAtMjAzMyw3ICsyMDMzLDcgQEAgYm9vbCBXZWJQYWdlUHJpdmF0
ZTo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0
aW9uU3AKICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1QpCiAgICAgQ3Jl
ZGVudGlhbCBjcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3Rl
bmNlUGVybWFuZW50KTsKICAgICBpZiAoIW1fd2ViU2V0dGluZ3MtPmlzUHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCgpKQotICAgICAgICBjcmVkZW50aWFsTWFuYWdlcigpLnNhdmVDcmVkZW50aWFsSWZD
b25maXJtZWQodGhpcywgQ3JlZGVudGlhbFRyYW5zZm9ybURhdGEodXJsLCBwcm90ZWN0aW9uU3Bh
Y2UsIGlucHV0Q3JlZGVudGlhbCkpOworICAgICAgICBjcmVkZW50aWFsTWFuYWdlcigpLnNhdmVD
cmVkZW50aWFsSWZDb25maXJtZWQodGhpcywgQ3JlZGVudGlhbFRyYW5zZm9ybURhdGEodXJsLCBw
cm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwpKTsKICNlbHNlCiAgICAgQ3JlZGVudGlhbCBjcmVk
ZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlTm9uZSk7CiAj
ZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134955</attachid>
            <date>2012-03-31 05:54:19 -0700</date>
            <delta_ts>2012-05-28 08:12:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80135-20120331205415.patch</filename>
            <type>text/plain</type>
            <size>8694</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBkZWQzYzAxZTBiMTll
NjZlNWIwNTc5MzI4YThkZDJlYmNlYzQxMS4uNTNkNzYyMDkyZjA2NGIwZWMyNWZlMTg5NTQwMGVm
YmNkZDlmOGY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTMxICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8g
bWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSSU0gUFI6IDE0NTY2MAorICAgICAgICBGaXhlZCBh
IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSByMTExODEwLCB3ZSBzaG91bGQgY2FuY2VsIHRoZSBu
ZXcKKyAgICAgICAgcmVxdWVzdCB3aGVuIHVzZXIgcHJlc3MgY2FuY2VsIGJ1dHRvbiBpbiBodHRw
IGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZQorICAgICAgICBkaWFsb2csIGFuZCB3ZSBzaG91bGQg
YWxzbyBhbGxvdyBzZW5kaW5nIGVtcHR5IHVzZXJuYW1lIGFuZCBwYXNzd29yZAorICAgICAgICB3
aXRoIHRoZSByZXF1ZXN0LgorICAgICAgICBBbHNvIHJlbW92ZWQgcmVkdW5kYW50IGNvZGVzIHdo
aWNoIGNoZWNrZWQgdGhlIGV4aXN0ZW5jZSBvZiB0aGUKKyAgICAgICAgRnJhbWVMb2FkZXJDbGll
bnQgcG9pbnRlciwgYXMgd2UndmUgYWxyZWFkeSBtb3ZlZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSgpCisgICAgICAgIG91dCBvZiBjbGFzcyBGcmFtZUxvYWRlckNsaWVudCwgaXQgaXMgbm90IG5l
ZWRlZC4KKworICAgICAgICBNYW51YWwgdGVzdCBhZGRlZC4gVGVzdGluZyBodHRwIGF1dGhlbnRp
Y2F0aW9uIGRpYWxvZyByZWxpZXMgb24gdXNlciBpbnRlcmFjdGlvbi4KKworICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKToKKwogMjAxMi0wMy0y
OSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
RGVsZXRlIFdlYktpdC9jaHJvbWl1bS9icmlkZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9n
CmluZGV4IGU5YWNmOTk1OWEwYTQ0ZmNjYTVkMzc5OTc0NzgzODJiODI4M2QxMDkuLjE1NTUwMmQ4
NzNmM2JjYzIyYTFiMmQ3NGE4YWIzYTE1MGEzNTExZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTMxICBKb25hdGhhbiBEb25nICA8am9u
YXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIGh0
dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8gbWF0dGVyIGF1dGhlbnRp
Y2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSSU0gUFI6IDE0NTY2MAorICAgICAgICBGaXhlZCBhIHJlZ3Jlc3Npb24gaW50
cm9kdWNlZCBieSByMTExODEwLCB3aGljaCB1c2VkIHRoZSB3cm9uZworICAgICAgICBjcmVkZW50
aWFsIG9iamVjdC4KKworICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNr
QmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToK
KwogMjAxMi0wMy0zMCAgTWlrZSBGZW50b24gIDxtaWZlbnRvbkByaW0uY29tPgogCiAgICAgICAg
IFtCbGFja0JlcnJ5XSBTcGVlZCB1cCBwcm9jZXNzaW5nIG9mIFNlbGVjdGlvbiByZWdpb24gZ2Vu
ZXJhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxh
Y2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCA2YTE4OWNlMjlhMTczZjVhZGIwYzU2MTJm
Yjc0NmU3ZmY0YjFiM2MxLi5lZGY1MDY1Y2YyZTRkZDhjZDQzMTEzNzFmNTQyYjczOTc1MDdmMzMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkv
TmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC04NTQsOSArODU0LDYgQEAgYm9vbCBOZXR3b3JrSm9i
OjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5
cGUsIFByb3QKICAgICAgICAgU3RyaW5nIHVzZXJuYW1lOwogICAgICAgICBTdHJpbmcgcGFzc3dv
cmQ7CiAKLSAgICAgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5sb2FkZXIoKSB8fCAhbV9m
cmFtZS0+bG9hZGVyKCktPmNsaWVudCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAg
ICAgICAgIC8vIEJlZm9yZSBhc2tpbmcgdGhlIHVzZXIgZm9yIGNyZWRlbnRpYWxzLCB3ZSBjaGVj
ayBpZiB0aGUgVVJMIGNvbnRhaW5zIHRoYXQuCiAgICAgICAgIGlmICghbV9oYW5kbGUtPmdldElu
dGVybmFsKCktPm1fdXNlci5pc0VtcHR5KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5t
X3Bhc3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICB1c2VybmFtZSA9IG1faGFuZGxlLT5nZXRJ
bnRlcm5hbCgpLT5tX3VzZXIudXRmOCgpLmRhdGEoKTsKQEAgLTg2OCwxMiArODY1LDEyIEBAIGJv
b2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNl
U2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwo
KS0+bV9wYXNzID0gIiI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBDcmVkZW50aWFs
IGlucHV0Q3JlZGVudGlhbDsKLSAgICAgICAgICAgIGJvb2wgaXNDb25maXJtZWQgPSBmYWxzZTsK
LSAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICBpc0NvbmZpcm1lZCA9IG1fZnJhbWUt
PnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKS0+YXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UobmV3VVJMLCBwcm90ZWN0aW9uU3BhY2UsIGlucHV0Q3JlZGVudGlh
bCk7Ci0gICAgICAgICAgICAgICAgdXNlcm5hbWUgPSBpbnB1dENyZWRlbnRpYWwudXNlcigpOwot
ICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gaW5wdXRDcmVkZW50aWFsLnBhc3N3b3JkKCk7Ci0g
ICAgICAgICAgICB9IHdoaWxlIChpc0NvbmZpcm1lZCAmJiB1c2VybmFtZS5pc0VtcHR5KCkgJiYg
cGFzc3dvcmQuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgIGJvb2wgaXNDb25maXJtZWQgPSBtX2Zy
YW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVjdGlvblNwYWNlLCBpbnB1dENyZWRl
bnRpYWwpOworICAgICAgICAgICAgdXNlcm5hbWUgPSBpbnB1dENyZWRlbnRpYWwudXNlcigpOwor
ICAgICAgICAgICAgcGFzc3dvcmQgPSBpbnB1dENyZWRlbnRpYWwucGFzc3dvcmQoKTsKKworICAg
ICAgICAgICAgaWYgKCFpc0NvbmZpcm1lZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgIH0KIAogICAgICAgICBjcmVkZW50aWFsID0gQ3JlZGVudGlhbCh1c2VybmFtZSwg
cGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZUZvclNlc3Npb24pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5kZXggMzkxMzAwYTcyMzA0Y2M3YmM4MjMwODk1
Yjk1MWEwNmU0NmU4NWUwYS4uYTA3ZThiZmU0OWI5OTQ1ZmM0OTY1MmFhNmM2MzU1YjIxN2NkNzk0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCkBAIC0yMDI2LDcg
KzIwMjYsNyBAQCBib29sIFdlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZShj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rpb25TcAogI2lmIEVOQUJMRShCTEFDS0JFUlJZ
X0NSRURFTlRJQUxfUEVSU0lTVCkKICAgICBDcmVkZW50aWFsIGNyZWRlbnRpYWwodXNlcm5hbWUs
IHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQpOwogICAgIGlmICghbV93
ZWJTZXR0aW5ncy0+aXNQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCi0gICAgICAgIGNyZWRlbnRp
YWxNYW5hZ2VyKCkuc2F2ZUNyZWRlbnRpYWxJZkNvbmZpcm1lZCh0aGlzLCBDcmVkZW50aWFsVHJh
bnNmb3JtRGF0YSh1cmwsIHByb3RlY3Rpb25TcGFjZSwgaW5wdXRDcmVkZW50aWFsKSk7CisgICAg
ICAgIGNyZWRlbnRpYWxNYW5hZ2VyKCkuc2F2ZUNyZWRlbnRpYWxJZkNvbmZpcm1lZCh0aGlzLCBD
cmVkZW50aWFsVHJhbnNmb3JtRGF0YSh1cmwsIHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCkp
OwogI2Vsc2UKICAgICBDcmVkZW50aWFsIGNyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBD
cmVkZW50aWFsUGVyc2lzdGVuY2VOb25lKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9n
IGIvQ2hhbmdlTG9nCmluZGV4IDBjNjllZGU1MzFjMTQ5M2QzMzQ5MzQ1Y2RiZTkwYWU3N2Q3OWFi
ODYuLjE0YTM0Mzc0ZTBlYmZlNjUzNWZlY2VjOTA3NmJlNzFlMDU4NjkyYjQgMTAwNjQ0Ci0tLSBh
L0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wMy0zMSAg
Sm9uYXRoYW4gRG9uZyAgPGpvbmF0aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAg
ICAgIFtCbGFja0JlcnJ5XSBodHRwIGF1dGhlbnRpY2F0ZSBkaWFsb2cgcG9wdXAgb25seSBvbmNl
IG5vIG1hdHRlciBhdXRoZW50aWNhdGlvbiBwYXNzIG9yIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTM1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUklNIFBSOiAxNDU2NjAKKyAgICAgICAgQWRk
ZWQgbWFudWFsIHRlc3QgZm9yIHRlc3RpbmcgdGhlIGJlaGF2aW9yIG9mIGh0dHAgYXV0aGVudGlj
YXRpb24KKyAgICAgICAgY2hhbGxlbmdlIGRpYWxvZy4gQm90aCBvZiB0aGVzZSB0d28gZmlsZXMg
c2hvdWxkIGJlIHNlcnZlZCBvdmVyIGh0dHAuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy9ibGFj
a2JlcnJ5L2h0dHAtYXV0aC1jaGFsbGVuZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogTWFudWFs
VGVzdHMvYmxhY2tiZXJyeS9odHRwLWF1dGgtY2hhbGxlbmdlLnBocDogQWRkZWQuCisKIDIwMTIt
MDMtMzAgIEVsaSBGaWRsZXIgIDxlZmlkbGVyQHJpbS5jb20+CiAKICAgICAgICAgRW5hYmxlIE9w
ZW5UeXBlIFNhbml0aXplciBmb3IgQmxhY2tCZXJyeSBwb3J0LgpkaWZmIC0tZ2l0IGEvTWFudWFs
VGVzdHMvYmxhY2tiZXJyeS9odHRwLWF1dGgtY2hhbGxlbmdlLmh0bWwgYi9NYW51YWxUZXN0cy9i
bGFja2JlcnJ5L2h0dHAtYXV0aC1jaGFsbGVuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2RlMWEyMTdk
NjkyZWM5Y2RiMTU0MWFiYzg2MTIyZDRmYjg0NDNmCi0tLSAvZGV2L251bGwKKysrIGIvTWFudWFs
VGVzdHMvYmxhY2tiZXJyeS9odHRwLWF1dGgtY2hhbGxlbmdlLmh0bWwKQEAgLTAsMCArMSwyNCBA
QAorPGh0bWw+CisgIDxib2R5PgorICAgIDxwPlRvIHJ1biB0aGlzIHRlc3QsIGJvdGggaHR0cC1h
dXRoLWNoYWxsZW5nZS5odG1sIGFuZCBodHRwLWF1dGgtY2hhbGxlbmdlLnBocCBtdXN0IGJlIHNl
cnZlZCBvdmVyIGh0dHAuPC9wPgorICAgIDxwPlRoaXMgdGVzdCBjYXNlIGlzIHRvIHRlc3QgdGhl
IGJlaGF2aW9yIG9mIGh0dHAgYXV0aGVudGljYXRpb24gY2hhbGxlbmdlIGRpYWxvZy4gVGhpcyBp
cyBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
MTM1Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzU8L2E+PC9w
PgorICAgIDxwPgorICAgICAgUGxlYXNlIGZvbGxvdyB0aGUgZm9sbG93aW5nIHRlc3QgcHJvY2Vk
dXJlOgorICAgICAgPG9sPgorICAgICAgICA8bGk+VGVzdCBkaWFsb2cgYmVoYXZpb3Igd2hlbiBw
cmVzcyBDYW5jZWwgYnV0dG9uPC9saT4KKyAgICAgICAgPG9sPgorICAgICAgICAgIDxsaT5TdGFy
dCB0ZXN0IGNhc2UsIHRoZW4gcHJlc3MgQ2FuY2VsIGJ1dHRvbiB3aGVuIGF1dGhlbnRpY2F0aW9u
IGRpYWxvZyBwb3BzIHVwOzwvbGk+CisgICAgICAgIDwvb2w+CisgICAgICAgIDxsaT5UZXN0IGRp
YWxvZyBiZWhhdmlvciB3aGVuIHByZXNzIE9LIGJ1dHRvbjwvbGk+CisgICAgICAgIDxvbD4KKyAg
ICAgICAgICA8bGk+TmF2aWdhdGUgYmFjayB0byB0aGUgcHJpdmlvdXMgcGFnZTs8L2xpPgorICAg
ICAgICAgIDxsaT5TdGFydCB0ZXN0IGNhc2UgYWdhaW4sIHRoZW4gcHJlc3MgT2sgYnV0dG9uIHdp
dGhvdXQgaW5wdXQgYW55dGhpbmcgd2hlbiBhdXRoZW50aWNhdGlvbiBkaWFsb2cgcG9wcyB1cDs8
L2xpPgorICAgICAgICAgIDxsaT5XaGVuIGRpYWxvZyBwb3BzIHVwIGFnYWluLCBlbnRlciBmYWtl
IGNyZWRlbnRpYWwgYW5kIHByZXNzIE9rIGJ1dHRvbjogdXNlcm5hbWU6InFxcXEiLCBwYXNzd29y
ZDoicXFxcSI8L2xpPgorICAgICAgICAgIDxsaT5XaGVuIGRpYWxvZyBwb3BzIHVwIGFnaWFuLCBl
bnRlciByZWFsIGNyZWRlbnRpYWwgYW5kIHByZXNzIE9rIGJ1dHRvbjogdXNlcm5hbWU6ImFhYWEi
LCBwYXNzd29yZDoiYWFhYSI8L2xpPgorICAgICAgICA8L29sPgorICAgICAgPC9vbD4KKyAgICAg
IDxhIGhyZWY9Imh0dHAtYXV0aC1jaGFsbGVuZ2UucGhwIj5TdGFydCB0ZXN0IGhlcmU8L2E+Cisg
ICAgPC9wPgorICAgIAorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9NYW51YWxUZXN0
cy9ibGFja2JlcnJ5L2h0dHAtYXV0aC1jaGFsbGVuZ2UucGhwIGIvTWFudWFsVGVzdHMvYmxhY2ti
ZXJyeS9odHRwLWF1dGgtY2hhbGxlbmdlLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzYzOTZjMDQ2N2Q3MmI0
ZTk2OTA1M2JjYTgwYTRkZDg5ZWFlNjhlCi0tLSAvZGV2L251bGwKKysrIGIvTWFudWFsVGVzdHMv
YmxhY2tiZXJyeS9odHRwLWF1dGgtY2hhbGxlbmdlLnBocApAQCAtMCwwICsxLDI3IEBACis8P3Bo
cAorICAgIHNlc3Npb25fc3RhcnQoKTsKKyAgICBpZiAoaXNzZXQoJF9TRVNTSU9OWyd0cmllZFRp
bWVzJ10pKQorICAgICAgICAkX1NFU1NJT05bJ3RyaWVkVGltZXMnXSA9ICRfU0VTU0lPTlsndHJp
ZWRUaW1lcyddICsgMTsKKyAgICBlbHNlCisgICAgICAgICRfU0VTU0lPTlsndHJpZWRUaW1lcydd
ID0gMTsKKworICAgICR1c2VybmFtZSA9ICRwYXNzd29yZCA9ICJhYWFhIjsKKworICAgIGlmICgk
X1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddID09ICR1c2VybmFtZSAmJiAkX1NFUlZFUlsnUEhQX0FV
VEhfUFcnXSA9PSAkcGFzc3dvcmQpeworICAgICAgICBlY2hvICJBdXRoIGRpYWxvZyBiZWhhdmlv
ciB3aGVuIHByZXNzIE9LIGJ1dHRvbjogIjsKKyAgICAgICAgaWYgKCRfU0VTU0lPTlsndHJpZWRU
aW1lcyddID09IDUpCisgICAgICAgICAgICBlY2hvICI8c3BhbiBzdHlsZT0nY29sb3I6Z3JlZW4n
PlBBU1M8L3NwYW4+IjsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZWNobyAiPHNwYW4gc3R5
bGU9J2NvbG9yOnJlZCc+RkFJTDwvc3Bhbj4iOworICAgICAgICBleGl0OworICAgIH0gZWxzZSB7
CisgICAgICAgIGhlYWRlcignV1dXLUF1dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09Ik15IFJlYWxt
IicpOworICAgICAgICBoZWFkZXIoJ0hUVFAvMS4wIDQwMSBVbmF1dGhvcml6ZWQnKTsKKyAgICAg
ICAgZWNobyAiQXV0aCBkaWFsb2cgYmVoYXZpb3Igd2hlbiBwcmVzcyBDYW5jZWwgYnV0dG9uOiAi
OworICAgICAgICBpZiAoJF9TRVNTSU9OWyd0cmllZFRpbWVzJ10gPT0gMSkKKyAgICAgICAgICAg
IGVjaG8gIjxzcGFuIHN0eWxlPSdjb2xvcjpncmVlbic+UEFTUzwvc3Bhbj4iOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBlY2hvICI8c3BhbiBzdHlsZT0nY29sb3I6cmVkJz5GQUlMPC9zcGFu
PiI7CisgICAgICAgIGV4aXQ7CisgICAgfQorPz4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138464</attachid>
            <date>2012-04-23 17:13:37 -0700</date>
            <delta_ts>2012-04-24 08:38:17 -0700</delta_ts>
            <desc>revert patch</desc>
            <filename>0001-BlackBerry-Revert-broken-changes-to-authentication-d.patch</filename>
            <type>text/plain</type>
            <size>18888</size>
            <attacher name="Joe Mason">joenotcharles</attacher>
            
              <data encoding="base64">RnJvbSAzYzZkYmM0YzIxMThlMDBhNjAxYjU2ZWE1ZmQ2NjA4OWI3OTJmZTRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2UgTWFzb24gPGptYXNvbkByaW0uY29tPgpEYXRlOiBNb24s
IDIzIEFwciAyMDEyIDIwOjEwOjQxIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gW0JsYWNrQmVycnld
IFJldmVydCBicm9rZW4gY2hhbmdlcyB0byBhdXRoZW50aWNhdGlvbiBkaWFsb2cKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDEzNQoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgouOgoKVGhlIHByZXZpb3VzIHBhdGNoZXMgZnJvbSB0aGlzIGJ1ZyBjYXVzZWQg
YW4gaW5maW5pdGUgbG9vcCB3aGVuIHVzaW5nIGRpZ2VzdCBhdXRoOwphcHBhcmVudGx5IHRoZXkg
d2VyZSBvbmx5IHRlc3RlZCB3aXRoIGJhc2ljLgoKKiBNYW51YWxUZXN0cy9ibGFja2JlcnJ5L2h0
dHAtYXV0aC1jaGFsbGVuZ2UuaHRtbDogUmVtb3ZlZC4KKiBNYW51YWxUZXN0cy9ibGFja2JlcnJ5
L2h0dHAtYXV0aC1jaGFsbGVuZ2UucGhwOiBSZW1vdmVkLgoKU291cmNlL1dlYkNvcmU6CgpUaGUg
cHJldmlvdXMgcGF0Y2hlcyBmcm9tIHRoaXMgYnVnIGNhdXNlZCBhbiBpbmZpbml0ZSBsb29wIHdo
ZW4gdXNpbmcgZGlnZXN0IGF1dGg7CmFwcGFyZW50bHkgdGhleSB3ZXJlIG9ubHkgdGVzdGVkIHdp
dGggYmFzaWMuCgoqIHBsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaDoK
KiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CihXZWJDb3JlOjpO
ZXR3b3JrSm9iOjpoYW5kbGVBdXRoSGVhZGVyKToKKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnNlbmRS
ZXF1ZXN0V2l0aENyZWRlbnRpYWxzKToKClNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeToKClRoZSBw
cmV2aW91cyBwYXRjaGVzIGZyb20gdGhpcyBidWcgY2F1c2VkIGFuIGluZmluaXRlIGxvb3Agd2hl
biB1c2luZyBkaWdlc3QgYXV0aDsKYXBwYXJlbnRseSB0aGV5IHdlcmUgb25seSB0ZXN0ZWQgd2l0
aCBiYXNpYy4KCiogQXBpL0R1bXBSZW5kZXJUcmVlQ2xpZW50Lmg6CiogQXBpL1dlYlBhZ2UuY3Bw
OgooQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFs
bGVuZ2UpOgoqIEFwaS9XZWJQYWdlQ2xpZW50Lmg6CiogQXBpL1dlYlBhZ2VfcC5oOgooV2ViUGFn
ZVByaXZhdGUpOgoKVG9vbHM6CgpUaGUgcHJldmlvdXMgcGF0Y2hlcyBmcm9tIHRoaXMgYnVnIGNh
dXNlZCBhbiBpbmZpbml0ZSBsb29wIHdoZW4gdXNpbmcgZGlnZXN0IGF1dGg7CmFwcGFyZW50bHkg
dGhleSB3ZXJlIG9ubHkgdGVzdGVkIHdpdGggYmFzaWMuCgoqIER1bXBSZW5kZXJUcmVlL2JsYWNr
YmVycnkvRHVtcFJlbmRlclRyZWUuY3BwOgoqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVt
cFJlbmRlclRyZWVCbGFja0JlcnJ5Lmg6CihXZWJDb3JlKToKLS0tCiBDaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysrKysrKysrCiBNYW51
YWxUZXN0cy9ibGFja2JlcnJ5L2h0dHAtYXV0aC1jaGFsbGVuZ2UuaHRtbCAgICB8ICAgMjQgLS0t
LS0tLS0tLS0tLS0tLS0KIE1hbnVhbFRlc3RzL2JsYWNrYmVycnkvaHR0cC1hdXRoLWNoYWxsZW5n
ZS5waHAgICAgIHwgICAyNyAtLS0tLS0tLS0tLS0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsrKysrKysrKysrCiAuLi4v
cGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oICAgICB8ICAgIDIgKy0K
IC4uLi9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAgICAgIHwgICAx
NSArKysrKysrLS0tCiAuLi4vV2ViS2l0L2JsYWNrYmVycnkvQXBpL0R1bXBSZW5kZXJUcmVlQ2xp
ZW50LmggICB8ICAgIDIgLQogU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNw
cCAgICAgICAgICAgfCAgIDE4ICsrKystLS0tLS0tLS0KIFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9BcGkvV2ViUGFnZUNsaWVudC5oICAgICAgIHwgICAgMiArLQogU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0FwaS9XZWJQYWdlX3AuaCAgICAgICAgICAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICB8ICAgMTcgKysrKysrKysrKysr
CiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MTQgKysrKysrKysrKwogVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVy
VHJlZS5jcHAgfCAgIDIwIC0tLS0tLS0tLS0tLS0tCiAuLi4vYmxhY2tiZXJyeS9EdW1wUmVuZGVy
VHJlZUJsYWNrQmVycnkuaCAgICAgICAgICB8ICAgIDQgKy0tCiAxNCBmaWxlcyBjaGFuZ2VkLCA3
OSBpbnNlcnRpb25zKCspLCA5NiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBNYW51
YWxUZXN0cy9ibGFja2JlcnJ5L2h0dHAtYXV0aC1jaGFsbGVuZ2UuaHRtbAogZGVsZXRlIG1vZGUg
MTAwNjQ0IE1hbnVhbFRlc3RzL2JsYWNrYmVycnkvaHR0cC1hdXRoLWNoYWxsZW5nZS5waHAKCmRp
ZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZTBjNjFiMy4uZWJhNDRjZCAx
MDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDEyLTA0LTIzICBKb2UgTWFzb24gIDxqbWFzb25AcmltLmNvbT4KKworICAgICAgICBbQmxhY2tC
ZXJyeV0gUmV2ZXJ0IGJyb2tlbiBjaGFuZ2VzIHRvIGF1dGhlbnRpY2F0aW9uIGRpYWxvZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcHJldmlvdXMg
cGF0Y2hlcyBmcm9tIHRoaXMgYnVnIGNhdXNlZCBhbiBpbmZpbml0ZSBsb29wIHdoZW4gdXNpbmcg
ZGlnZXN0IGF1dGg7IAorICAgICAgICBhcHBhcmVudGx5IHRoZXkgd2VyZSBvbmx5IHRlc3RlZCB3
aXRoIGJhc2ljLgorCisgICAgICAgICogTWFudWFsVGVzdHMvYmxhY2tiZXJyeS9odHRwLWF1dGgt
Y2hhbGxlbmdlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogTWFudWFsVGVzdHMvYmxhY2tiZXJy
eS9odHRwLWF1dGgtY2hhbGxlbmdlLnBocDogUmVtb3ZlZC4KKwogMjAxMi0wNC0xMyAgSmFzb24g
TGl1ICA8amFzb24ubGl1QHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gU2lnbiBpbiBjb29raWUgZm9yIEVTUE4uY29tIGRvZXMgbm90IHJldGFpbiBsb2dpbiBhY2Nv
dW50IChmb3IgZmFudGFzeSBzcG9ydHMpLgpkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvYmxhY2ti
ZXJyeS9odHRwLWF1dGgtY2hhbGxlbmdlLmh0bWwgYi9NYW51YWxUZXN0cy9ibGFja2JlcnJ5L2h0
dHAtYXV0aC1jaGFsbGVuZ2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdk
ZTFhMi4uMDAwMDAwMAotLS0gYS9NYW51YWxUZXN0cy9ibGFja2JlcnJ5L2h0dHAtYXV0aC1jaGFs
bGVuZ2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotICA8Ym9k
eT4KLSAgICA8cD5UbyBydW4gdGhpcyB0ZXN0LCBib3RoIGh0dHAtYXV0aC1jaGFsbGVuZ2UuaHRt
bCBhbmQgaHR0cC1hdXRoLWNoYWxsZW5nZS5waHAgbXVzdCBiZSBzZXJ2ZWQgb3ZlciBodHRwLjwv
cD4KLSAgICA8cD5UaGlzIHRlc3QgY2FzZSBpcyB0byB0ZXN0IHRoZSBiZWhhdmlvciBvZiBodHRw
IGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZSBkaWFsb2cuIFRoaXMgaXMgZm9yIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDEzNSI+aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTM1PC9hPjwvcD4KLSAgICA8cD4KLSAgICAg
IFBsZWFzZSBmb2xsb3cgdGhlIGZvbGxvd2luZyB0ZXN0IHByb2NlZHVyZToKLSAgICAgIDxvbD4K
LSAgICAgICAgPGxpPlRlc3QgZGlhbG9nIGJlaGF2aW9yIHdoZW4gcHJlc3MgQ2FuY2VsIGJ1dHRv
bjwvbGk+Ci0gICAgICAgIDxvbD4KLSAgICAgICAgICA8bGk+U3RhcnQgdGVzdCBjYXNlLCB0aGVu
IHByZXNzIENhbmNlbCBidXR0b24gd2hlbiBhdXRoZW50aWNhdGlvbiBkaWFsb2cgcG9wcyB1cDs8
L2xpPgotICAgICAgICA8L29sPgotICAgICAgICA8bGk+VGVzdCBkaWFsb2cgYmVoYXZpb3Igd2hl
biBwcmVzcyBPSyBidXR0b248L2xpPgotICAgICAgICA8b2w+Ci0gICAgICAgICAgPGxpPk5hdmln
YXRlIGJhY2sgdG8gdGhlIHByaXZpb3VzIHBhZ2U7PC9saT4KLSAgICAgICAgICA8bGk+U3RhcnQg
dGVzdCBjYXNlIGFnYWluLCB0aGVuIHByZXNzIE9rIGJ1dHRvbiB3aXRob3V0IGlucHV0IGFueXRo
aW5nIHdoZW4gYXV0aGVudGljYXRpb24gZGlhbG9nIHBvcHMgdXA7PC9saT4KLSAgICAgICAgICA8
bGk+V2hlbiBkaWFsb2cgcG9wcyB1cCBhZ2FpbiwgZW50ZXIgZmFrZSBjcmVkZW50aWFsIGFuZCBw
cmVzcyBPayBidXR0b246IHVzZXJuYW1lOiJxcXFxIiwgcGFzc3dvcmQ6InFxcXEiPC9saT4KLSAg
ICAgICAgICA8bGk+V2hlbiBkaWFsb2cgcG9wcyB1cCBhZ2lhbiwgZW50ZXIgcmVhbCBjcmVkZW50
aWFsIGFuZCBwcmVzcyBPayBidXR0b246IHVzZXJuYW1lOiJhYWFhIiwgcGFzc3dvcmQ6ImFhYWEi
PC9saT4KLSAgICAgICAgPC9vbD4KLSAgICAgIDwvb2w+Ci0gICAgICA8YSBocmVmPSJodHRwLWF1
dGgtY2hhbGxlbmdlLnBocCI+U3RhcnQgdGVzdCBoZXJlPC9hPgotICAgIDwvcD4KLSAgICAKLSAg
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvYmxhY2tiZXJyeS9odHRw
LWF1dGgtY2hhbGxlbmdlLnBocCBiL01hbnVhbFRlc3RzL2JsYWNrYmVycnkvaHR0cC1hdXRoLWNo
YWxsZW5nZS5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3NjM5NmMuLjAwMDAw
MDAKLS0tIGEvTWFudWFsVGVzdHMvYmxhY2tiZXJyeS9odHRwLWF1dGgtY2hhbGxlbmdlLnBocAor
KysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi0gICAgc2Vzc2lvbl9zdGFydCgp
OwotICAgIGlmIChpc3NldCgkX1NFU1NJT05bJ3RyaWVkVGltZXMnXSkpCi0gICAgICAgICRfU0VT
U0lPTlsndHJpZWRUaW1lcyddID0gJF9TRVNTSU9OWyd0cmllZFRpbWVzJ10gKyAxOwotICAgIGVs
c2UKLSAgICAgICAgJF9TRVNTSU9OWyd0cmllZFRpbWVzJ10gPSAxOwotCi0gICAgJHVzZXJuYW1l
ID0gJHBhc3N3b3JkID0gImFhYWEiOwotCi0gICAgaWYgKCRfU0VSVkVSWydQSFBfQVVUSF9VU0VS
J10gPT0gJHVzZXJuYW1lICYmICRfU0VSVkVSWydQSFBfQVVUSF9QVyddID09ICRwYXNzd29yZCl7
Ci0gICAgICAgIGVjaG8gIkF1dGggZGlhbG9nIGJlaGF2aW9yIHdoZW4gcHJlc3MgT0sgYnV0dG9u
OiAiOwotICAgICAgICBpZiAoJF9TRVNTSU9OWyd0cmllZFRpbWVzJ10gPT0gNSkKLSAgICAgICAg
ICAgIGVjaG8gIjxzcGFuIHN0eWxlPSdjb2xvcjpncmVlbic+UEFTUzwvc3Bhbj4iOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBlY2hvICI8c3BhbiBzdHlsZT0nY29sb3I6cmVkJz5GQUlMPC9z
cGFuPiI7Ci0gICAgICAgIGV4aXQ7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaGVhZGVyKCdXV1ct
QXV0aGVudGljYXRlOiBCYXNpYyByZWFsbT0iTXkgUmVhbG0iJyk7Ci0gICAgICAgIGhlYWRlcign
SFRUUC8xLjAgNDAxIFVuYXV0aG9yaXplZCcpOwotICAgICAgICBlY2hvICJBdXRoIGRpYWxvZyBi
ZWhhdmlvciB3aGVuIHByZXNzIENhbmNlbCBidXR0b246ICI7Ci0gICAgICAgIGlmICgkX1NFU1NJ
T05bJ3RyaWVkVGltZXMnXSA9PSAxKQotICAgICAgICAgICAgZWNobyAiPHNwYW4gc3R5bGU9J2Nv
bG9yOmdyZWVuJz5QQVNTPC9zcGFuPiI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVjaG8g
IjxzcGFuIHN0eWxlPSdjb2xvcjpyZWQnPkZBSUw8L3NwYW4+IjsKLSAgICAgICAgZXhpdDsKLSAg
ICB9Ci0/PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRlNmU0YmIuLmQ2ZDMyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0wNC0yMyAgSm9lIE1hc29uICA8am1hc29uQHJpbS5jb20+CisKKyAg
ICAgICAgW0JsYWNrQmVycnldIFJldmVydCBicm9rZW4gY2hhbmdlcyB0byBhdXRoZW50aWNhdGlv
biBkaWFsb2cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgwMTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIHByZXZpb3VzIHBhdGNoZXMgZnJvbSB0aGlzIGJ1ZyBjYXVzZWQgYW4gaW5maW5pdGUgbG9v
cCB3aGVuIHVzaW5nIGRpZ2VzdCBhdXRoOyAKKyAgICAgICAgYXBwYXJlbnRseSB0aGV5IHdlcmUg
b25seSB0ZXN0ZWQgd2l0aCBiYXNpYy4KKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkv
UGFnZUNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNr
YmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpoYW5k
bGVBdXRoSGVhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0
V2l0aENyZWRlbnRpYWxzKToKKwogMjAxMi0wNC0xMyAgSmFzb24gTGl1ICA8amFzb24ubGl1QHRv
cmNobW9iaWxlLmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gU2lnbiBpbiBjb29raWUg
Zm9yIEVTUE4uY29tIGRvZXMgbm90IHJldGFpbiBsb2dpbiBhY2NvdW50IChmb3IgZmFudGFzeSBz
cG9ydHMpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Q
YWdlQ2xpZW50QmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IDM2ZGNkNWMuLjQ3NGUzZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVy
cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRC
bGFja0JlcnJ5LmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViQ29y
ZTo6SW50U2l6ZSB2aWV3cG9ydFNpemUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBpbnQgc2hv
d0FsZXJ0RGlhbG9nKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZUNsaWVudDo6QWxlcnRUeXBl
KSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1
YWwgYm9vbCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29u
c3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlhbCYpID0gMDsK
KyAgICB2aXJ0dWFsIFdlYkNvcmU6OkNyZWRlbnRpYWwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
Y29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpID0g
MDsKICAgICB2aXJ0dWFsIFNhdmVDcmVkZW50aWFsVHlwZSBub3RpZnlTaG91bGRTYXZlQ3JlZGVu
dGlhbChib29sKSA9IDA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKaW5kZXggNzg1MmRmMi4uN2Rh
MmFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L05ldHdvcmtKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcApAQCAtNzQxLDYgKzc0MSw5IEBAIGJvb2wgTmV0d29y
a0pvYjo6aGFuZGxlQXV0aEhlYWRlcihjb25zdCBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHNw
YWNlLCBjb25zdCBTCiAgICAgaWYgKCFtX2hhbmRsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdl
LmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoaGVhZGVyLmlzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC04NDksNiArODUyLDkgQEAgYm9vbCBO
ZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2
ZXJUeXBlIHR5cGUsIFByb3QKICAgICAgICAgU3RyaW5nIHVzZXJuYW1lOwogICAgICAgICBTdHJp
bmcgcGFzc3dvcmQ7CiAKKyAgICAgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5sb2FkZXIo
KSB8fCAhbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgICAgIC8vIEJlZm9yZSBhc2tpbmcgdGhlIHVzZXIgZm9yIGNyZWRlbnRpYWxz
LCB3ZSBjaGVjayBpZiB0aGUgVVJMIGNvbnRhaW5zIHRoYXQuCiAgICAgICAgIGlmICghbV9oYW5k
bGUtPmdldEludGVybmFsKCktPm1fdXNlci5pc0VtcHR5KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRl
cm5hbCgpLT5tX3Bhc3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICB1c2VybmFtZSA9IG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIudXRmOCgpLmRhdGEoKTsKQEAgLTg1OSwxNSArODY1
LDE0IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVj
dGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0
SW50ZXJuYWwoKS0+bV91c2VyID0gIiI7CiAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJu
YWwoKS0+bV9wYXNzID0gIiI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBDcmVkZW50
aWFsIGlucHV0Q3JlZGVudGlhbDsKLSAgICAgICAgICAgIGJvb2wgaXNDb25maXJtZWQgPSBtX2Zy
YW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVjdGlvblNwYWNlLCBpbnB1dENyZWRl
bnRpYWwpOworICAgICAgICAgICAgQ3JlZGVudGlhbCBpbnB1dENyZWRlbnRpYWwgPSBtX2ZyYW1l
LT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVjdGlvblNwYWNlKTsKICAgICAgICAgICAg
IHVzZXJuYW1lID0gaW5wdXRDcmVkZW50aWFsLnVzZXIoKTsKICAgICAgICAgICAgIHBhc3N3b3Jk
ID0gaW5wdXRDcmVkZW50aWFsLnBhc3N3b3JkKCk7Ci0KLSAgICAgICAgICAgIGlmICghaXNDb25m
aXJtZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAg
ICAgaWYgKHVzZXJuYW1lLmlzRW1wdHkoKSAmJiBwYXNzd29yZC5pc0VtcHR5KCkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgY3JlZGVudGlhbCA9IENyZWRlbnRpYWwodXNl
cm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VGb3JTZXNzaW9uKTsKIAogICAg
ICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UocHJvdGVjdGlvblNwYWNlLCBjcmVkZW50aWFsLCAwLCBtX3Jl
c3BvbnNlLCBSZXNvdXJjZUVycm9yKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0FwaS9EdW1wUmVuZGVyVHJlZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9EdW1wUmVuZGVyVHJlZUNsaWVudC5oCmluZGV4IGNlNmRkMjcuLjAzZWI1YmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvRHVtcFJlbmRlclRyZWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0R1bXBSZW5kZXJUcmVlQ2xp
ZW50LmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVj
dFJlZi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBDcmVkZW50aWFsOwogY2xhc3Mg
RnJhbWU7CiBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwpA
QCAtODIsNyArODEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3VsZEluc2VydE5v
ZGUoV2ViQ29yZTo6Tm9kZSosIFdlYkNvcmU6OlJhbmdlKiwgaW50IGluc2VydEFjdGlvbikgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbnNlcnRUZXh0KGNvbnN0IFdURjo6U3RyaW5nJiwg
V2ViQ29yZTo6UmFuZ2UqLCBpbnQgaW5zZXJ0QWN0aW9uKSA9IDA7CiAgICAgdmlydHVhbCBib29s
IGlzU2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0
dWFsIGJvb2wgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdlYkNvcmU6OkNyZWRl
bnRpYWwmKSA9IDA7CiAKIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdl
LmNwcAppbmRleCBlMjZlNzYyLi41OGYxMWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvV2ViUGFnZS5jcHAKQEAgLTIwMjksMzIgKzIwMjksMjYgQEAgYm9vbCBXZWJQYWdlUHJpdmF0
ZTo6aXNBY3RpdmUoKSBjb25zdAogICAgIHJldHVybiBtX2NsaWVudC0+aXNBY3RpdmUoKTsKIH0K
IAotYm9vbCBXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgS1VS
TCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSwgQ3JlZGVudGlh
bCYgaW5wdXRDcmVkZW50aWFsKQorQ3JlZGVudGlhbCBXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHBy
b3RlY3Rpb25TcGFjZSkKIHsKICAgICBXZWJTdHJpbmcgdXNlcm5hbWU7CiAgICAgV2ViU3RyaW5n
IHBhc3N3b3JkOwogCi0jaWYgRU5BQkxFX0RSVAotICAgIGlmIChtX2R1bXBSZW5kZXJUcmVlKQot
ICAgICAgICByZXR1cm4gbV9kdW1wUmVuZGVyVHJlZS0+ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKGlucHV0Q3JlZGVudGlhbCk7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShCTEFDS0JF
UlJZX0NSRURFTlRJQUxfUEVSU0lTVCkKICAgICBpZiAoIW1fd2ViU2V0dGluZ3MtPmlzUHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCgpKQogICAgICAgICBjcmVkZW50aWFsTWFuYWdlcigpLmF1dG9maWxs
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UocHJvdGVjdGlvblNwYWNlLCB1c2VybmFtZSwgcGFzc3dv
cmQpOwogI2VuZGlmCiAKLSAgICBib29sIGlzQ29uZmlybWVkID0gbV9jbGllbnQtPmF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpLmNoYXJhY3RlcnMoKSwgcHJv
dGVjdGlvblNwYWNlLnJlYWxtKCkubGVuZ3RoKCksIHVzZXJuYW1lLCBwYXNzd29yZCk7CisgICAg
bV9jbGllbnQtPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZS5yZWFsbSgp
LmNoYXJhY3RlcnMoKSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkubGVuZ3RoKCksIHVzZXJuYW1l
LCBwYXNzd29yZCk7CiAKICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1Qp
Ci0gICAgQ3JlZGVudGlhbCBjcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlh
bFBlcnNpc3RlbmNlUGVybWFuZW50KTsKKyAgICBDcmVkZW50aWFsIGlucHV0Q3JlZGVudGlhbCh1
c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7CiAgICAg
aWYgKCFtX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKLSAgICAgICAg
Y3JlZGVudGlhbE1hbmFnZXIoKS5zYXZlQ3JlZGVudGlhbElmQ29uZmlybWVkKHRoaXMsIENyZWRl
bnRpYWxUcmFuc2Zvcm1EYXRhKHVybCwgcHJvdGVjdGlvblNwYWNlLCBjcmVkZW50aWFsKSk7Cisg
ICAgICAgIGNyZWRlbnRpYWxNYW5hZ2VyKCkuc2F2ZUNyZWRlbnRpYWxJZkNvbmZpcm1lZCh0aGlz
LCBDcmVkZW50aWFsVHJhbnNmb3JtRGF0YSh1cmwsIHByb3RlY3Rpb25TcGFjZSwgaW5wdXRDcmVk
ZW50aWFsKSk7CiAjZWxzZQotICAgIENyZWRlbnRpYWwgY3JlZGVudGlhbCh1c2VybmFtZSwgcGFz
c3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZU5vbmUpOworICAgIENyZWRlbnRpYWwgaW5wdXRD
cmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlTm9uZSk7
CiAjZW5kaWYKLSAgICBpbnB1dENyZWRlbnRpYWwgPSBjcmVkZW50aWFsOwotICAgIHJldHVybiBp
c0NvbmZpcm1lZDsKKyAgICByZXR1cm4gaW5wdXRDcmVkZW50aWFsOwogfQogCiBQYWdlQ2xpZW50
QmxhY2tCZXJyeTo6U2F2ZUNyZWRlbnRpYWxUeXBlIFdlYlBhZ2VQcml2YXRlOjpub3RpZnlTaG91
bGRTYXZlQ3JlZGVudGlhbChib29sIGlzTmV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2VDbGllbnQuaAppbmRleCAwNGE1ODkzLi4zMGQxZmRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaApAQCAtMjExLDcgKzIxMSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUJsb2NrWm9vbShjb25zdCBQbGF0Zm9y
bTo6RmxvYXRQb2ludCYgZmluYWxQb2ludCwgZG91YmxlIGZpbmFsU2NhbGUpID0gMDsKIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRQcmV2ZW50c1NjcmVlbklkbGVEaW1taW5nKGJvb2wgbm9EaW1taW5n
KSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IHVu
c2lnbmVkIHNob3J0KiByZWFsbSwgdW5zaWduZWQgaW50IHJlYWxtTGVuZ3RoLCBXZWJTdHJpbmcm
IHVzZXJuYW1lLCBXZWJTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IHVuc2lnbmVkIHNob3J0KiByZWFsbSwgdW5zaWdu
ZWQgaW50IHJlYWxtTGVuZ3RoLCBXZWJTdHJpbmcmIHVzZXJuYW1lLCBXZWJTdHJpbmcmIHBhc3N3
b3JkKSA9IDA7CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxkU2F2
ZUNyZWRlbnRpYWwoYm9vbCBpc05ldykgPSAwOwogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFBs
dWdpbkVudGVyRnVsbFNjcmVlbigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvV2ViUGFnZV9wLmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2VfcC5oCmluZGV4IDQwZjBiMDQuLjIyODEyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9XZWJQYWdlX3AuaApAQCAtMTc4LDcgKzE3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGRvdWJsZSBjdXJyZW50Wm9vbUZhY3RvcigpIGNvbnN0OwogICAgIHZpcnR1YWwgaW50IHNo
b3dBbGVydERpYWxvZyhXZWJQYWdlQ2xpZW50OjpBbGVydFR5cGUgYXR5cGUpOwogICAgIHZpcnR1
YWwgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlv
blNwYWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6Q3Jl
ZGVudGlhbCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29u
c3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJik7CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlh
bFR5cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCk7CiAKICAgICAvLyBDYWxsZWQg
ZnJvbSB3aXRoaW4gV2ViS2l0IHZpYSBDaHJvbWVDbGllbnRCbGFja0JlcnJ5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggZjFkZmMyMi4uYmQ4NTU3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDQtMjMgIEpvZSBNYXNvbiAg
PGptYXNvbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBSZXZlcnQgYnJva2VuIGNo
YW5nZXMgdG8gYXV0aGVudGljYXRpb24gZGlhbG9nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDEzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcmV2aW91cyBwYXRjaGVzIGZyb20gdGhpcyBidWcg
Y2F1c2VkIGFuIGluZmluaXRlIGxvb3Agd2hlbiB1c2luZyBkaWdlc3QgYXV0aDsgCisgICAgICAg
IGFwcGFyZW50bHkgdGhleSB3ZXJlIG9ubHkgdGVzdGVkIHdpdGggYmFzaWMuCisKKyAgICAgICAg
KiBBcGkvRHVtcFJlbmRlclRyZWVDbGllbnQuaDoKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6
CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSk6CisgICAgICAgICogQXBpL1dlYlBhZ2VDbGllbnQuaDoKKyAgICAgICAg
KiBBcGkvV2ViUGFnZV9wLmg6CisgICAgICAgIChXZWJQYWdlUHJpdmF0ZSk6CisKIDIwMTItMDQt
MTcgIE1pa2UgRmVudG9uICA8bWlmZW50b25AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gUGF0dGVybiBtYXRjaGluZyBzaG91bGQgYmUgYXBwbGllZCB0byBudW1iZXJzCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGUwZGJkNC4uNGUy
NjdiNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTIzICBKb2UgTWFzb24gIDxqbWFzb25AcmltLmNvbT4K
KworICAgICAgICBbQmxhY2tCZXJyeV0gUmV2ZXJ0IGJyb2tlbiBjaGFuZ2VzIHRvIGF1dGhlbnRp
Y2F0aW9uIGRpYWxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgcHJldmlvdXMgcGF0Y2hlcyBmcm9tIHRoaXMgYnVnIGNhdXNlZCBhbiBpbmZpbml0
ZSBsb29wIHdoZW4gdXNpbmcgZGlnZXN0IGF1dGg7CisgICAgICAgIGFwcGFyZW50bHkgdGhleSB3
ZXJlIG9ubHkgdGVzdGVkIHdpdGggYmFzaWMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9i
bGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9i
bGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJyeS5oOgorICAgICAgICAoV2ViQ29yZSk6
CisKIDIwMTItMDQtMTYgIEpvbmF0aGFuIERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxl
LmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gQWRkIGFiaWxpdHkgZm9yIERSVCB0byBo
YW5kbGUgSFRUUCBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2VzLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA0MWI5OTIwLi41
YzFlOGY4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBS
ZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBS
ZW5kZXJUcmVlLmNwcApAQCAtMjMsNyArMjMsNiBAQAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdEltcGwuaCIKICNpbmNsdWRlICJD
U3RyaW5nLmgiCi0jaW5jbHVkZSAiQ3JlZGVudGlhbC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJh
Y2tlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHVtcFJlbmRl
clRyZWUvR0NDb250cm9sbGVyLmgiCkBAIC0xMjIsMTEgKzEyMSw2IEBAIHN0YXRpYyBXVEY6OlN0
cmluZyBkcnRGcmFtZURlc2NyaXB0aW9uKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSkKICAgICByZXR1
cm4gImZyYW1lIChhbm9ueW1vdXMpIjsKIH0KIAotc3RhdGljIFdURjo6U3RyaW5nIGRydENyZWRl
bnRpYWxEZXNjcmlwdGlvbihXZWJDb3JlOjpDcmVkZW50aWFsJikKLXsKLSAgICByZXR1cm4gIjx1
bmtub3duPiI7Ci19Ci0KIHN0YXRpYyBib29sIHNob3VsZExvZ0ZyYW1lTG9hZERlbGVnYXRlcyhj
b25zdCBXVEY6OlN0cmluZyYgdXJsKQogewogICAgIHJldHVybiB1cmwuY29udGFpbnMoImxvYWRp
bmcvIik7CkBAIC04MTMsMjAgKzgwNyw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OmRpZFJlY2Vp
dmVSZXNwb25zZUZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViCiAgICAg
ICAgIHByaW50ZigiJXMgaGFzIE1JTUUgdHlwZSAlc1xuIiwgcmVzcG9uc2UudXJsKCkubGFzdFBh
dGhDb21wb25lbnQoKS51dGY4KCkuZGF0YSgpLCByZXNwb25zZS5taW1lVHlwZSgpLnV0ZjgoKS5k
YXRhKCkpOwogfQogCi1ib29sIER1bXBSZW5kZXJUcmVlOjpkaWRSZWNlaXZlQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UoV2ViQ29yZTo6Q3JlZGVudGlhbCYgY3JlZGVudGlhbCkKLXsKLSAgICBpZiAo
IWdMYXlvdXRUZXN0Q29udHJvbGxlci0+aGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcygp
KSB7Ci0gICAgICAgIGNyZWRlbnRpYWwgPSBXZWJDb3JlOjpDcmVkZW50aWFsKCk7Ci0gICAgICAg
IHByaW50ZigiJXMgLSBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgLSBTaW11bGF0
aW5nIGNhbmNlbGxlZCBhdXRoZW50aWNhdGlvblxuIiwgZHJ0Q3JlZGVudGlhbERlc2NyaXB0aW9u
KGNyZWRlbnRpYWwpLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotICAgIGNvbnN0IGNoYXIqIHVzZXIgPSBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmF1dGhlbnRp
Y2F0aW9uVXNlcm5hbWUoKS5jX3N0cigpOwotICAgIGNvbnN0IGNoYXIqIHBhc3N3b3JkID0gZ0xh
eW91dFRlc3RDb250cm9sbGVyLT5hdXRoZW50aWNhdGlvblBhc3N3b3JkKCkuY19zdHIoKTsKLSAg
ICBjcmVkZW50aWFsID0gV2ViQ29yZTo6Q3JlZGVudGlhbCh1c2VyLCBwYXNzd29yZCwgV2ViQ29y
ZTo6Q3JlZGVudGlhbFBlcnNpc3RlbmNlRm9yU2Vzc2lvbik7Ci0gICAgcHJpbnRmKCIlcyAtIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAtIFJlc3BvbmRpbmcgd2l0aCAlczolc1xu
IiwgZHJ0Q3JlZGVudGlhbERlc2NyaXB0aW9uKGNyZWRlbnRpYWwpLnV0ZjgoKS5kYXRhKCksIHVz
ZXIsIHBhc3N3b3JkKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogfQogfQogCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJy
eS5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZUJsYWNr
QmVycnkuaAppbmRleCAyMmEwZmE1Li5kYjJmNjlhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJyeS5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0JlcnJ5LmgKQEAg
LTI4LDkgKzI4LDggQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKLWNsYXNzIENyZWRlbnRpYWw7Ci1jbGFzcyBET01XcmFwcGVyV29ybGQ7CiBjbGFzcyBG
cmFtZTsKK2NsYXNzIERPTVdyYXBwZXJXb3JsZDsKIGNsYXNzIFJhbmdlOwogfQogCkBAIC0xMDIs
NyArMTAxLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc1NlbGVjdFRyYWlsaW5nV2hpdGVzcGFj
ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBzX3NlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJs
ZWQ7IH0KICAgICB2b2lkIHNldFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQoYm9vbCBl
bmFibGVkKSB7IHNfc2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCA9IGVuYWJsZWQ7IH0K
LSAgICBib29sIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJDb3JlOjpDcmVk
ZW50aWFsJik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBydW5UZXN0KGNvbnN0IFdURjo6U3RyaW5n
JiB1cmwpOwotLSAKMS43LjUuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138552</attachid>
            <date>2012-04-24 07:16:12 -0700</date>
            <delta_ts>2012-04-24 08:38:17 -0700</delta_ts>
            <desc>revert all but tests</desc>
            <filename>0001-BlackBerry-Revert-broken-changes-to-authentication-d.patch</filename>
            <type>text/plain</type>
            <size>14875</size>
            <attacher name="Joe Mason">joenotcharles</attacher>
            
              <data encoding="base64">RnJvbSA2MTg5YmFiMWQ3MzEwMzRmODhkYzUwYjhhZDY0OTg0N2YzN2Y0ZjNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2UgTWFzb24gPGptYXNvbkByaW0uY29tPgpEYXRlOiBUdWUs
IDI0IEFwciAyMDEyIDEwOjE0OjI5IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gW0JsYWNrQmVycnld
IFJldmVydCBicm9rZW4gY2hhbmdlcyB0byBhdXRoZW50aWNhdGlvbiBkaWFsb2cKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDEzNQoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpTb3VyY2UvV2ViQ29yZToKClRoZSBwcmV2aW91cyBwYXRjaGVzIGZyb20gdGhp
cyBidWcgY2F1c2VkIGFuIGluZmluaXRlIGxvb3Agd2hlbiB1c2luZyBkaWdlc3QgYXV0aDsKYXBw
YXJlbnRseSB0aGV5IHdlcmUgb25seSB0ZXN0ZWQgd2l0aCBiYXNpYy4KCiogcGxhdGZvcm0vYmxh
Y2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oOgoqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9OZXR3b3JrSm9iLmNwcDoKKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmhhbmRsZUF1dGhIZWFk
ZXIpOgooV2ViQ29yZTo6TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMpOgoK
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5OgoKVGhlIHByZXZpb3VzIHBhdGNoZXMgZnJvbSB0aGlz
IGJ1ZyBjYXVzZWQgYW4gaW5maW5pdGUgbG9vcCB3aGVuIHVzaW5nIGRpZ2VzdCBhdXRoOwphcHBh
cmVudGx5IHRoZXkgd2VyZSBvbmx5IHRlc3RlZCB3aXRoIGJhc2ljLgoKKiBBcGkvRHVtcFJlbmRl
clRyZWVDbGllbnQuaDoKKiBBcGkvV2ViUGFnZS5jcHA6CihCbGFja0JlcnJ5OjpXZWJLaXQ6Oldl
YlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CiogQXBpL1dlYlBhZ2VDbGll
bnQuaDoKKiBBcGkvV2ViUGFnZV9wLmg6CihXZWJQYWdlUHJpdmF0ZSk6CgpUb29sczoKClRoZSBw
cmV2aW91cyBwYXRjaGVzIGZyb20gdGhpcyBidWcgY2F1c2VkIGFuIGluZmluaXRlIGxvb3Agd2hl
biB1c2luZyBkaWdlc3QgYXV0aDsKYXBwYXJlbnRseSB0aGV5IHdlcmUgb25seSB0ZXN0ZWQgd2l0
aCBiYXNpYy4KCiogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHA6
CiogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZUJsYWNrQmVycnkuaDoK
KFdlYkNvcmUpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAxNSArKysrKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9ibGFja2JlcnJ5
L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmggICAgIHwgICAgMiArLQogLi4uL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCAgICAgfCAgIDE1ICsrKysrKysrKystLS0tLQog
Li4uL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9EdW1wUmVuZGVyVHJlZUNsaWVudC5oICAgfCAgICAy
IC0tCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwICAgICAgICAgICB8
ICAgMTggKysrKysrLS0tLS0tLS0tLS0tCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2VDbGllbnQuaCAgICAgICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvV2ViUGFnZV9wLmggICAgICAgICAgIHwgICAgMiArLQogU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDE3ICsrKysrKysrKysrKysrKysrCiBU
b29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQg
KysrKysrKysrKysrKysKIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRl
clRyZWUuY3BwIHwgICAyMCAtLS0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL2JsYWNrYmVycnkvRHVt
cFJlbmRlclRyZWVCbGFja0JlcnJ5LmggICAgICAgICAgfCAgICA0ICstLS0KIDExIGZpbGVzIGNo
YW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTZlNGJiLi5kNmQzMjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDQtMjMg
IEpvZSBNYXNvbiAgPGptYXNvbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBSZXZl
cnQgYnJva2VuIGNoYW5nZXMgdG8gYXV0aGVudGljYXRpb24gZGlhbG9nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDEzNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcmV2aW91cyBwYXRjaGVzIGZy
b20gdGhpcyBidWcgY2F1c2VkIGFuIGluZmluaXRlIGxvb3Agd2hlbiB1c2luZyBkaWdlc3QgYXV0
aDsgCisgICAgICAgIGFwcGFyZW50bHkgdGhleSB3ZXJlIG9ubHkgdGVzdGVkIHdpdGggYmFzaWMu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5Lmg6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aGFuZGxlQXV0aEhlYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6CisKIDIw
MTItMDQtMTMgIEphc29uIExpdSAgPGphc29uLmxpdUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAg
ICAgICAgW0JsYWNrQmVycnldIFNpZ24gaW4gY29va2llIGZvciBFU1BOLmNvbSBkb2VzIG5vdCBy
ZXRhaW4gbG9naW4gYWNjb3VudCAoZm9yIGZhbnRhc3kgc3BvcnRzKS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnku
aAppbmRleCAzNmRjZDVjLi40NzRlM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oCkBAIC02OSw3ICs2
OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFNpemUgdmlld3BvcnRTaXpl
KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgaW50IHNob3dBbGVydERpYWxvZyhCbGFja0JlcnJ5
OjpXZWJLaXQ6OldlYlBhZ2VDbGllbnQ6OkFsZXJ0VHlwZSkgPSAwOwogICAgIHZpcnR1YWwgYm9v
bCBpc0FjdGl2ZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgYXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25T
cGFjZSYsIFdlYkNvcmU6OkNyZWRlbnRpYWwmKSA9IDA7CisgICAgdmlydHVhbCBXZWJDb3JlOjpD
cmVkZW50aWFsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OktVUkwmLCBj
b25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKSA9IDA7CiAgICAgdmlydHVhbCBTYXZlQ3Jl
ZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCkgPSAwOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05l
dHdvcmtKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5
L05ldHdvcmtKb2IuY3BwCmluZGV4IDc4NTJkZjIuLjdkYTJhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5j
cHAKQEAgLTc0MSw2ICs3NDEsOSBAQCBib29sIE5ldHdvcmtKb2I6OmhhbmRsZUF1dGhIZWFkZXIo
Y29uc3QgUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSBzcGFjZSwgY29uc3QgUwogICAgIGlmICgh
bV9oYW5kbGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghbV9oYW5kbGUtPmdl
dEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZS5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCiAgICAgaWYgKGhlYWRlci5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIApAQCAtODQ5LDYgKzg1Miw5IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RX
aXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAg
ICAgIFN0cmluZyB1c2VybmFtZTsKICAgICAgICAgU3RyaW5nIHBhc3N3b3JkOwogCisgICAgICAg
IGlmICghbV9mcmFtZSB8fCAhbV9mcmFtZS0+bG9hZGVyKCkgfHwgIW1fZnJhbWUtPmxvYWRlcigp
LT5jbGllbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICAvLyBCZWZv
cmUgYXNraW5nIHRoZSB1c2VyIGZvciBjcmVkZW50aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBj
b250YWlucyB0aGF0LgogICAgICAgICBpZiAoIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Vz
ZXIuaXNFbXB0eSgpICYmICFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzLmlzRW1wdHko
KSkgewogICAgICAgICAgICAgdXNlcm5hbWUgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91
c2VyLnV0ZjgoKS5kYXRhKCk7CkBAIC04NTksMTUgKzg2NSwxNCBAQCBib29sIE5ldHdvcmtKb2I6
OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgdHlw
ZSwgUHJvdAogICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlciA9ICIi
OwogICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcyA9ICIiOwogICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgQ3JlZGVudGlhbCBpbnB1dENyZWRlbnRpYWw7Ci0g
ICAgICAgICAgICBib29sIGlzQ29uZmlybWVkID0gbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+
Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShu
ZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgaW5wdXRDcmVkZW50aWFsKTsKKyAgICAgICAgICAgIENy
ZWRlbnRpYWwgaW5wdXRDcmVkZW50aWFsID0gbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xp
ZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShuZXdV
UkwsIHByb3RlY3Rpb25TcGFjZSk7CiAgICAgICAgICAgICB1c2VybmFtZSA9IGlucHV0Q3JlZGVu
dGlhbC51c2VyKCk7CiAgICAgICAgICAgICBwYXNzd29yZCA9IGlucHV0Q3JlZGVudGlhbC5wYXNz
d29yZCgpOwotCi0gICAgICAgICAgICBpZiAoIWlzQ29uZmlybWVkKQotICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICh1c2VybmFtZS5pc0VtcHR5
KCkgJiYgcGFzc3dvcmQuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgICAgIGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVu
dGlhbFBlcnNpc3RlbmNlRm9yU2Vzc2lvbik7CiAKICAgICAgICAgbV9oYW5kbGUtPmdldEludGVy
bmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHBy
b3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwgUmVzb3VyY2VFcnJvcigp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvRHVtcFJlbmRlclRy
ZWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvRHVtcFJlbmRlclRyZWVD
bGllbnQuaAppbmRleCBjZTZkZDI3Li4wM2ViNWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL0R1bXBSZW5kZXJUcmVlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0FwaS9EdW1wUmVuZGVyVHJlZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3RSZWYuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewotY2xhc3MgQ3JlZGVudGlhbDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgRE9NV3JhcHBl
cldvcmxkOwogY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKQEAgLTgyLDcgKzgxLDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbnNlcnROb2RlKFdlYkNvcmU6Ok5vZGUqLCBXZWJD
b3JlOjpSYW5nZSosIGludCBpbnNlcnRBY3Rpb24pID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkSW5zZXJ0VGV4dChjb25zdCBXVEY6OlN0cmluZyYsIFdlYkNvcmU6OlJhbmdlKiwgaW50IGlu
c2VydEFjdGlvbikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFRyYWlsaW5nV2hpdGVz
cGFjZUVuYWJsZWQoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBib29sIGRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZShXZWJDb3JlOjpDcmVkZW50aWFsJikgPSAwOwogCiB9OwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5kZXggZTI2ZTc2Mi4uNThm
MTFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCkBAIC0yMDI5
LDMyICsyMDI5LDI2IEBAIGJvb2wgV2ViUGFnZVByaXZhdGU6OmlzQWN0aXZlKCkgY29uc3QKICAg
ICByZXR1cm4gbV9jbGllbnQtPmlzQWN0aXZlKCk7CiB9CiAKLWJvb2wgV2ViUGFnZVByaXZhdGU6
OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlv
blNwYWNlJiBwcm90ZWN0aW9uU3BhY2UsIENyZWRlbnRpYWwmIGlucHV0Q3JlZGVudGlhbCkKK0Ny
ZWRlbnRpYWwgV2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCiB7CiAgICAg
V2ViU3RyaW5nIHVzZXJuYW1lOwogICAgIFdlYlN0cmluZyBwYXNzd29yZDsKIAotI2lmIEVOQUJM
RV9EUlQKLSAgICBpZiAobV9kdW1wUmVuZGVyVHJlZSkKLSAgICAgICAgcmV0dXJuIG1fZHVtcFJl
bmRlclRyZWUtPmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShpbnB1dENyZWRlbnRp
YWwpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1Qp
CiAgICAgaWYgKCFtX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKICAg
ICAgICAgY3JlZGVudGlhbE1hbmFnZXIoKS5hdXRvZmlsbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KHByb3RlY3Rpb25TcGFjZSwgdXNlcm5hbWUsIHBhc3N3b3JkKTsKICNlbmRpZgogCi0gICAgYm9v
bCBpc0NvbmZpcm1lZCA9IG1fY2xpZW50LT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0
aW9uU3BhY2UucmVhbG0oKS5jaGFyYWN0ZXJzKCksIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpLmxl
bmd0aCgpLCB1c2VybmFtZSwgcGFzc3dvcmQpOworICAgIG1fY2xpZW50LT5hdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UucmVhbG0oKS5jaGFyYWN0ZXJzKCksIHByb3RlY3Rp
b25TcGFjZS5yZWFsbSgpLmxlbmd0aCgpLCB1c2VybmFtZSwgcGFzc3dvcmQpOwogCiAjaWYgRU5B
QkxFKEJMQUNLQkVSUllfQ1JFREVOVElBTF9QRVJTSVNUKQotICAgIENyZWRlbnRpYWwgY3JlZGVu
dGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7
CisgICAgQ3JlZGVudGlhbCBpbnB1dENyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVk
ZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQpOwogICAgIGlmICghbV93ZWJTZXR0aW5ncy0+aXNQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCi0gICAgICAgIGNyZWRlbnRpYWxNYW5hZ2VyKCkuc2F2
ZUNyZWRlbnRpYWxJZkNvbmZpcm1lZCh0aGlzLCBDcmVkZW50aWFsVHJhbnNmb3JtRGF0YSh1cmws
IHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCkpOworICAgICAgICBjcmVkZW50aWFsTWFuYWdl
cigpLnNhdmVDcmVkZW50aWFsSWZDb25maXJtZWQodGhpcywgQ3JlZGVudGlhbFRyYW5zZm9ybURh
dGEodXJsLCBwcm90ZWN0aW9uU3BhY2UsIGlucHV0Q3JlZGVudGlhbCkpOwogI2Vsc2UKLSAgICBD
cmVkZW50aWFsIGNyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lz
dGVuY2VOb25lKTsKKyAgICBDcmVkZW50aWFsIGlucHV0Q3JlZGVudGlhbCh1c2VybmFtZSwgcGFz
c3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZU5vbmUpOwogI2VuZGlmCi0gICAgaW5wdXRDcmVk
ZW50aWFsID0gY3JlZGVudGlhbDsKLSAgICByZXR1cm4gaXNDb25maXJtZWQ7CisgICAgcmV0dXJu
IGlucHV0Q3JlZGVudGlhbDsKIH0KIAogUGFnZUNsaWVudEJsYWNrQmVycnk6OlNhdmVDcmVkZW50
aWFsVHlwZSBXZWJQYWdlUHJpdmF0ZTo6bm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCBp
c05ldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNs
aWVudC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmgKaW5k
ZXggMDRhNTg5My4uMzBkMWZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9X
ZWJQYWdlQ2xpZW50LmgKQEAgLTIxMSw3ICsyMTEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGFuaW1hdGVCbG9ja1pvb20oY29uc3QgUGxhdGZvcm06OkZsb2F0UG9pbnQmIGZpbmFsUG9p
bnQsIGRvdWJsZSBmaW5hbFNjYWxlKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJldmVu
dHNTY3JlZW5JZGxlRGltbWluZyhib29sIG5vRGltbWluZykgPSAwOwotICAgIHZpcnR1YWwgYm9v
bCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCB1bnNpZ25lZCBzaG9ydCogcmVhbG0sIHVu
c2lnbmVkIGludCByZWFsbUxlbmd0aCwgV2ViU3RyaW5nJiB1c2VybmFtZSwgV2ViU3RyaW5nJiBw
YXNzd29yZCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShj
b25zdCB1bnNpZ25lZCBzaG9ydCogcmVhbG0sIHVuc2lnbmVkIGludCByZWFsbUxlbmd0aCwgV2Vi
U3RyaW5nJiB1c2VybmFtZSwgV2ViU3RyaW5nJiBwYXNzd29yZCkgPSAwOwogICAgIHZpcnR1YWwg
U2F2ZUNyZWRlbnRpYWxUeXBlIG5vdGlmeVNob3VsZFNhdmVDcmVkZW50aWFsKGJvb2wgaXNOZXcp
ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRQbHVnaW5FbnRlckZ1bGxTY3JlZW4oKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5o
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaAppbmRleCA0MGYwYjA0
Li4yMjgxMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBh
Z2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKQEAg
LTE3OCw3ICsxNzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBkb3VibGUgY3VycmVudFpvb21G
YWN0b3IoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBzaG93QWxlcnREaWFsb2coV2ViUGFnZUNs
aWVudDo6QWxlcnRUeXBlIGF0eXBlKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmUoKSBjb25z
dDsKLSAgICB2aXJ0dWFsIGJvb2wgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2ViQ29y
ZTo6S1VSTCYsIGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYsIFdlYkNvcmU6OkNyZWRl
bnRpYWwmKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkNyZWRlbnRpYWwgYXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25T
cGFjZSYpOwogICAgIHZpcnR1YWwgU2F2ZUNyZWRlbnRpYWxUeXBlIG5vdGlmeVNob3VsZFNhdmVD
cmVkZW50aWFsKGJvb2wpOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gd2l0aGluIFdlYktpdCB2aWEg
Q2hyb21lQ2xpZW50QmxhY2tCZXJyeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4
IGYxZGZjMjIuLmJkODU1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDEyLTA0LTIzICBKb2UgTWFzb24gIDxqbWFzb25AcmltLmNvbT4KKworICAg
ICAgICBbQmxhY2tCZXJyeV0gUmV2ZXJ0IGJyb2tlbiBjaGFuZ2VzIHRvIGF1dGhlbnRpY2F0aW9u
IGRpYWxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgcHJldmlvdXMgcGF0Y2hlcyBmcm9tIHRoaXMgYnVnIGNhdXNlZCBhbiBpbmZpbml0ZSBsb29w
IHdoZW4gdXNpbmcgZGlnZXN0IGF1dGg7IAorICAgICAgICBhcHBhcmVudGx5IHRoZXkgd2VyZSBv
bmx5IHRlc3RlZCB3aXRoIGJhc2ljLgorCisgICAgICAgICogQXBpL0R1bXBSZW5kZXJUcmVlQ2xp
ZW50Lmg6CisgICAgICAgICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAg
ICAqIEFwaS9XZWJQYWdlQ2xpZW50Lmg6CisgICAgICAgICogQXBpL1dlYlBhZ2VfcC5oOgorICAg
ICAgICAoV2ViUGFnZVByaXZhdGUpOgorCiAyMDEyLTA0LTE3ICBNaWtlIEZlbnRvbiAgPG1pZmVu
dG9uQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFBhdHRlcm4gbWF0Y2hpbmcgc2hv
dWxkIGJlIGFwcGxpZWQgdG8gbnVtYmVycwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGRlMGRiZDQuLjRlMjY3YjYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0w
NC0yMyAgSm9lIE1hc29uICA8am1hc29uQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFJldmVydCBicm9rZW4gY2hhbmdlcyB0byBhdXRoZW50aWNhdGlvbiBkaWFsb2cKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByZXZpb3VzIHBhdGNo
ZXMgZnJvbSB0aGlzIGJ1ZyBjYXVzZWQgYW4gaW5maW5pdGUgbG9vcCB3aGVuIHVzaW5nIGRpZ2Vz
dCBhdXRoOworICAgICAgICBhcHBhcmVudGx5IHRoZXkgd2VyZSBvbmx5IHRlc3RlZCB3aXRoIGJh
c2ljLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJl
ZS5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJl
ZUJsYWNrQmVycnkuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTA0LTE2ICBKb25hdGhh
biBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIEFkZCBhYmlsaXR5IGZvciBEUlQgdG8gaGFuZGxlIEhUVFAgYXV0aGVudGljYXRp
b24gY2hhbGxlbmdlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVy
cnkvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9E
dW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggNDFiOTkyMC4uNWMxZThmOCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTIzLDcg
KzIzLDYgQEAKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJC
YWNrRm9yd2FyZExpc3RJbXBsLmgiCiAjaW5jbHVkZSAiQ1N0cmluZy5oIgotI2luY2x1ZGUgIkNy
ZWRlbnRpYWwuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJEb2N1
bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlL0dDQ29udHJvbGxlci5oIgpA
QCAtMTIyLDExICsxMjEsNiBAQCBzdGF0aWMgV1RGOjpTdHJpbmcgZHJ0RnJhbWVEZXNjcmlwdGlv
bihXZWJDb3JlOjpGcmFtZSogZnJhbWUpCiAgICAgcmV0dXJuICJmcmFtZSAoYW5vbnltb3VzKSI7
CiB9CiAKLXN0YXRpYyBXVEY6OlN0cmluZyBkcnRDcmVkZW50aWFsRGVzY3JpcHRpb24oV2ViQ29y
ZTo6Q3JlZGVudGlhbCYpCi17Ci0gICAgcmV0dXJuICI8dW5rbm93bj4iOwotfQotCiBzdGF0aWMg
Ym9vbCBzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0ZXMoY29uc3QgV1RGOjpTdHJpbmcmIHVybCkK
IHsKICAgICByZXR1cm4gdXJsLmNvbnRhaW5zKCJsb2FkaW5nLyIpOwpAQCAtODEzLDIwICs4MDcs
NiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpkaWRSZWNlaXZlUmVzcG9uc2VGb3JGcmFtZShXZWJD
b3JlOjpGcmFtZSogZnJhbWUsIGNvbnN0IFdlYgogICAgICAgICBwcmludGYoIiVzIGhhcyBNSU1F
IHR5cGUgJXNcbiIsIHJlc3BvbnNlLnVybCgpLmxhc3RQYXRoQ29tcG9uZW50KCkudXRmOCgpLmRh
dGEoKSwgcmVzcG9uc2UubWltZVR5cGUoKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotYm9vbCBEdW1w
UmVuZGVyVHJlZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdlYkNvcmU6OkNy
ZWRlbnRpYWwmIGNyZWRlbnRpYWwpCi17Ci0gICAgaWYgKCFnTGF5b3V0VGVzdENvbnRyb2xsZXIt
PmhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXMoKSkgewotICAgICAgICBjcmVkZW50aWFs
ID0gV2ViQ29yZTo6Q3JlZGVudGlhbCgpOwotICAgICAgICBwcmludGYoIiVzIC0gZGlkUmVjZWl2
ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIC0gU2ltdWxhdGluZyBjYW5jZWxsZWQgYXV0aGVudGlj
YXRpb25cbiIsIGRydENyZWRlbnRpYWxEZXNjcmlwdGlvbihjcmVkZW50aWFsKS51dGY4KCkuZGF0
YSgpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBjb25zdCBjaGFyKiB1c2Vy
ID0gZ0xheW91dFRlc3RDb250cm9sbGVyLT5hdXRoZW50aWNhdGlvblVzZXJuYW1lKCkuY19zdHIo
KTsKLSAgICBjb25zdCBjaGFyKiBwYXNzd29yZCA9IGdMYXlvdXRUZXN0Q29udHJvbGxlci0+YXV0
aGVudGljYXRpb25QYXNzd29yZCgpLmNfc3RyKCk7Ci0gICAgY3JlZGVudGlhbCA9IFdlYkNvcmU6
OkNyZWRlbnRpYWwodXNlciwgcGFzc3dvcmQsIFdlYkNvcmU6OkNyZWRlbnRpYWxQZXJzaXN0ZW5j
ZUZvclNlc3Npb24pOwotICAgIHByaW50ZigiJXMgLSBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UgLSBSZXNwb25kaW5nIHdpdGggJXM6JXNcbiIsIGRydENyZWRlbnRpYWxEZXNjcmlw
dGlvbihjcmVkZW50aWFsKS51dGY4KCkuZGF0YSgpLCB1c2VyLCBwYXNzd29yZCk7Ci0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KIH0KIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
YmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZUJsYWNrQmVycnkuaCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0JlcnJ5LmgKaW5kZXggMjJhMGZhNS4u
ZGIyZjY5YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1w
UmVuZGVyVHJlZUJsYWNrQmVycnkuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2Jl
cnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJyeS5oCkBAIC0yOCw5ICsyOCw4IEBACiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBDcmVkZW50aWFs
OwotY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogY2xhc3MgRnJhbWU7CitjbGFzcyBET01XcmFwcGVy
V29ybGQ7CiBjbGFzcyBSYW5nZTsKIH0KIApAQCAtMTAyLDcgKzEwMSw2IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaXNTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gc19zZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTZWxl
Y3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBzX3NlbGVjdFRyYWls
aW5nV2hpdGVzcGFjZUVuYWJsZWQgPSBlbmFibGVkOyB9Ci0gICAgYm9vbCBkaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwogCiBwcml2YXRlOgog
ICAgIHZvaWQgcnVuVGVzdChjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKLS0gCjEuNy41LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138570</attachid>
            <date>2012-04-24 08:38:17 -0700</date>
            <delta_ts>2012-04-24 13:53:07 -0700</delta_ts>
            <desc>revert all but the tests</desc>
            <filename>revert-no-tests.patch</filename>
            <type>text/plain</type>
            <size>14557</size>
            <attacher name="Joe Mason">joenotcharles</attacher>
            
              <data encoding="base64">RnJvbSAxMWFhZDJhZTI5ZGZkODIyOGYyMTNkNWU2OTIwNWU5NzBhNTQyMGRmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2UgTWFzb24gPGptYXNvbkByaW0uY29tPgpEYXRlOiBUdWUs
IDI0IEFwciAyMDEyIDEwOjUzOjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gW0JsYWNrQmVycnld
IFJldmVydCBicm9rZW4gY2hhbmdlcyB0byBhdXRoZW50aWNhdGlvbiBkaWFsb2cKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDEzNQoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpUaGUgcHJldmlvdXMgcGF0Y2hlcyBmcm9tIHRoaXMgYnVnIGNhdXNlZCBhbiBp
bmZpbml0ZSBsb29wIHdoZW4gdXNpbmcgZGlnZXN0IGF1dGg7CmFwcGFyZW50bHkgdGhleSB3ZXJl
IG9ubHkgdGVzdGVkIHdpdGggYmFzaWMuCgpTb3VyY2UvV2ViQ29yZToKCiogcGxhdGZvcm0vYmxh
Y2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oOgoqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9OZXR3b3JrSm9iLmNwcDoKKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmhhbmRsZUF1dGhIZWFk
ZXIpOgooV2ViQ29yZTo6TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMpOgoK
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5OgoKKiBBcGkvRHVtcFJlbmRlclRyZWVDbGllbnQuaDoK
KiBBcGkvV2ViUGFnZS5jcHA6CihCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjph
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CiogQXBpL1dlYlBhZ2VDbGllbnQuaDoKKiBBcGkvV2Vi
UGFnZV9wLmg6CihXZWJQYWdlUHJpdmF0ZSk6CgpUb29sczoKCiogRHVtcFJlbmRlclRyZWUvYmxh
Y2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHA6CiogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9E
dW1wUmVuZGVyVHJlZUJsYWNrQmVycnkuaDoKKFdlYkNvcmUpOgotLS0KIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrKysrKysr
KysKIC4uLi9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmggICAgIHwg
ICAgMiArLQogLi4uL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCAg
ICAgfCAgIDE1ICsrKysrKysrKystLS0tLQogLi4uL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9EdW1w
UmVuZGVyVHJlZUNsaWVudC5oICAgfCAgICAyIC0tCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2UuY3BwICAgICAgICAgICB8ICAgMTggKysrKysrLS0tLS0tLS0tLS0tCiBTb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaCAgICAgICB8ICAgIDIgKy0K
IFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmggICAgICAgICAgIHwgICAg
MiArLQogU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
fCAgIDE3ICsrKysrKysrKysrKysrKysrCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKysrKysKIFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwIHwgICAyMCAtLS0tLS0tLS0tLS0t
LS0tLS0tLQogLi4uL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0JlcnJ5LmggICAgICAg
ICAgfCAgICA0ICstLS0KIDExIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDQ1IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmYTlhYjc4Li4yN2RmZWM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTItMDQtMjQgIEpvZSBNYXNvbiAgPGptYXNvbkByaW0uY29tPgor
CisgICAgICAgIFtCbGFja0JlcnJ5XSBSZXZlcnQgYnJva2VuIGNoYW5nZXMgdG8gYXV0aGVudGlj
YXRpb24gZGlhbG9nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDEzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSBwcmV2aW91cyBwYXRjaGVzIGZyb20gdGhpcyBidWcgY2F1c2VkIGFuIGluZmluaXRl
IGxvb3Agd2hlbiB1c2luZyBkaWdlc3QgYXV0aDsKKyAgICAgICAgYXBwYXJlbnRseSB0aGV5IHdl
cmUgb25seSB0ZXN0ZWQgd2l0aCBiYXNpYy4KKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVy
cnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2Js
YWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpo
YW5kbGVBdXRoSGVhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnNlbmRSZXF1
ZXN0V2l0aENyZWRlbnRpYWxzKToKKwogMjAxMi0wNC0xOSAgVGF5IEdyaWdnICA8dGdyaWdnQHJp
bS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwZGF0ZSBIVFRQIGNvbm5lY3Rpb24gcGVy
IGhvc3QgbGltaXQgaW4gUmVzb3VyY2VSZXF1ZXN0QmxhY2tCZXJyeQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5o
CmluZGV4IDhhMWY4ODcuLjhmOTU5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmgKQEAgLTcwLDcgKzcw
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IHNob3dBbGVydERpYWxvZyhCbGFja0JlcnJ5
OjpXZWJLaXQ6OldlYlBhZ2VDbGllbnQ6OkFsZXJ0VHlwZSkgPSAwOwogICAgIHZpcnR1YWwgYm9v
bCBpc0FjdGl2ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaXNpYmxlKCkgY29u
c3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBX
ZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiwgV2ViQ29yZTo6
Q3JlZGVudGlhbCYpID0gMDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkNyZWRlbnRpYWwgYXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFdlYkNvcmU6OlBy
b3RlY3Rpb25TcGFjZSYpID0gMDsKICAgICB2aXJ0dWFsIFNhdmVDcmVkZW50aWFsVHlwZSBub3Rp
ZnlTaG91bGRTYXZlQ3JlZGVudGlhbChib29sKSA9IDA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAK
aW5kZXggNzg1MmRmMi4uN2RhMmFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcApAQCAtNzQxLDYgKzc0
MSw5IEBAIGJvb2wgTmV0d29ya0pvYjo6aGFuZGxlQXV0aEhlYWRlcihjb25zdCBQcm90ZWN0aW9u
U3BhY2VTZXJ2ZXJUeXBlIHNwYWNlLCBjb25zdCBTCiAgICAgaWYgKCFtX2hhbmRsZSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9j
dXJyZW50V2ViQ2hhbGxlbmdlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAg
ICBpZiAoaGVhZGVyLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC04NDks
NiArODUyLDkgQEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhQ
cm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFByb3QKICAgICAgICAgU3RyaW5nIHVzZXJu
YW1lOwogICAgICAgICBTdHJpbmcgcGFzc3dvcmQ7CiAKKyAgICAgICAgaWYgKCFtX2ZyYW1lIHx8
ICFtX2ZyYW1lLT5sb2FkZXIoKSB8fCAhbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIC8vIEJlZm9yZSBhc2tpbmcgdGhlIHVz
ZXIgZm9yIGNyZWRlbnRpYWxzLCB3ZSBjaGVjayBpZiB0aGUgVVJMIGNvbnRhaW5zIHRoYXQuCiAg
ICAgICAgIGlmICghbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlci5pc0VtcHR5KCkgJiYg
IW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAg
ICB1c2VybmFtZSA9IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIudXRmOCgpLmRhdGEo
KTsKQEAgLTg1OSwxNSArODY1LDE0IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRo
Q3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAg
ICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyID0gIiI7CiAgICAgICAgICAgICBt
X2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7CiAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICBDcmVkZW50aWFsIGlucHV0Q3JlZGVudGlhbDsKLSAgICAgICAgICAgIGJvb2wg
aXNDb25maXJtZWQgPSBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZv
cm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVjdGlv
blNwYWNlLCBpbnB1dENyZWRlbnRpYWwpOworICAgICAgICAgICAgQ3JlZGVudGlhbCBpbnB1dENy
ZWRlbnRpYWwgPSBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1Q
YWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVjdGlvblNw
YWNlKTsKICAgICAgICAgICAgIHVzZXJuYW1lID0gaW5wdXRDcmVkZW50aWFsLnVzZXIoKTsKICAg
ICAgICAgICAgIHBhc3N3b3JkID0gaW5wdXRDcmVkZW50aWFsLnBhc3N3b3JkKCk7Ci0KLSAgICAg
ICAgICAgIGlmICghaXNDb25maXJtZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICB9CiAKKyAgICAgICAgaWYgKHVzZXJuYW1lLmlzRW1wdHkoKSAmJiBwYXNzd29yZC5p
c0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgY3JlZGVudGlh
bCA9IENyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VG
b3JTZXNzaW9uKTsKIAogICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50
V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2UocHJvdGVjdGlvblNwYWNlLCBj
cmVkZW50aWFsLCAwLCBtX3Jlc3BvbnNlLCBSZXNvdXJjZUVycm9yKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9EdW1wUmVuZGVyVHJlZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9EdW1wUmVuZGVyVHJlZUNsaWVudC5oCmluZGV4IGNl
NmRkMjcuLjAzZWI1YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkv
RHVtcFJlbmRlclRyZWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBp
L0R1bXBSZW5kZXJUcmVlQ2xpZW50LmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9KU09iamVjdFJlZi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBD
cmVkZW50aWFsOwogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiBjbGFzcyBO
YXZpZ2F0aW9uQWN0aW9uOwpAQCAtODIsNyArODEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZEluc2VydE5vZGUoV2ViQ29yZTo6Tm9kZSosIFdlYkNvcmU6OlJhbmdlKiwgaW50
IGluc2VydEFjdGlvbikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbnNlcnRUZXh0KGNv
bnN0IFdURjo6U3RyaW5nJiwgV2ViQ29yZTo6UmFuZ2UqLCBpbnQgaW5zZXJ0QWN0aW9uKSA9IDA7
CiAgICAgdmlydHVhbCBib29sIGlzU2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCgpIGNv
bnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKFdlYkNvcmU6OkNyZWRlbnRpYWwmKSA9IDA7CiAKIH07CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAppbmRleCAzZDc2ODY2Li4zNzE0NDM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKQEAgLTIwNTEsMzIgKzIwNTEsMjYgQEAg
Ym9vbCBXZWJQYWdlUHJpdmF0ZTo6aXNBY3RpdmUoKSBjb25zdAogICAgIHJldHVybiBtX2NsaWVu
dC0+aXNBY3RpdmUoKTsKIH0KIAotYm9vbCBXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rp
b25TcGFjZSwgQ3JlZGVudGlhbCYgaW5wdXRDcmVkZW50aWFsKQorQ3JlZGVudGlhbCBXZWJQYWdl
UHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQ
cm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKIHsKICAgICBXZWJTdHJpbmcgdXNlcm5h
bWU7CiAgICAgV2ViU3RyaW5nIHBhc3N3b3JkOwogCi0jaWYgRU5BQkxFX0RSVAotICAgIGlmICht
X2R1bXBSZW5kZXJUcmVlKQotICAgICAgICByZXR1cm4gbV9kdW1wUmVuZGVyVHJlZS0+ZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGlucHV0Q3JlZGVudGlhbCk7Ci0jZW5kaWYKLQog
I2lmIEVOQUJMRShCTEFDS0JFUlJZX0NSRURFTlRJQUxfUEVSU0lTVCkKICAgICBpZiAoIW1fd2Vi
U2V0dGluZ3MtPmlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQogICAgICAgICBjcmVkZW50aWFs
TWFuYWdlcigpLmF1dG9maWxsQXV0aGVudGljYXRpb25DaGFsbGVuZ2UocHJvdGVjdGlvblNwYWNl
LCB1c2VybmFtZSwgcGFzc3dvcmQpOwogI2VuZGlmCiAKLSAgICBib29sIGlzQ29uZmlybWVkID0g
bV9jbGllbnQtPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZS5yZWFsbSgp
LmNoYXJhY3RlcnMoKSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkubGVuZ3RoKCksIHVzZXJuYW1l
LCBwYXNzd29yZCk7CisgICAgbV9jbGllbnQtPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHByb3Rl
Y3Rpb25TcGFjZS5yZWFsbSgpLmNoYXJhY3RlcnMoKSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCku
bGVuZ3RoKCksIHVzZXJuYW1lLCBwYXNzd29yZCk7CiAKICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9D
UkVERU5USUFMX1BFUlNJU1QpCi0gICAgQ3JlZGVudGlhbCBjcmVkZW50aWFsKHVzZXJuYW1lLCBw
YXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKKyAgICBDcmVkZW50aWFs
IGlucHV0Q3JlZGVudGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5j
ZVBlcm1hbmVudCk7CiAgICAgaWYgKCFtX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoKSkKLSAgICAgICAgY3JlZGVudGlhbE1hbmFnZXIoKS5zYXZlQ3JlZGVudGlhbElmQ29u
ZmlybWVkKHRoaXMsIENyZWRlbnRpYWxUcmFuc2Zvcm1EYXRhKHVybCwgcHJvdGVjdGlvblNwYWNl
LCBjcmVkZW50aWFsKSk7CisgICAgICAgIGNyZWRlbnRpYWxNYW5hZ2VyKCkuc2F2ZUNyZWRlbnRp
YWxJZkNvbmZpcm1lZCh0aGlzLCBDcmVkZW50aWFsVHJhbnNmb3JtRGF0YSh1cmwsIHByb3RlY3Rp
b25TcGFjZSwgaW5wdXRDcmVkZW50aWFsKSk7CiAjZWxzZQotICAgIENyZWRlbnRpYWwgY3JlZGVu
dGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZU5vbmUpOworICAg
IENyZWRlbnRpYWwgaW5wdXRDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlh
bFBlcnNpc3RlbmNlTm9uZSk7CiAjZW5kaWYKLSAgICBpbnB1dENyZWRlbnRpYWwgPSBjcmVkZW50
aWFsOwotICAgIHJldHVybiBpc0NvbmZpcm1lZDsKKyAgICByZXR1cm4gaW5wdXRDcmVkZW50aWFs
OwogfQogCiBQYWdlQ2xpZW50QmxhY2tCZXJyeTo6U2F2ZUNyZWRlbnRpYWxUeXBlIFdlYlBhZ2VQ
cml2YXRlOjpub3RpZnlTaG91bGRTYXZlQ3JlZGVudGlhbChib29sIGlzTmV3KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaAppbmRleCA5YzMzYWYwLi43YTNk
NGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaApA
QCAtMjExLDcgKzIxMSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUJsb2Nr
Wm9vbShjb25zdCBQbGF0Zm9ybTo6RmxvYXRQb2ludCYgZmluYWxQb2ludCwgZG91YmxlIGZpbmFs
U2NhbGUpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQcmV2ZW50c1NjcmVlbklkbGVEaW1t
aW5nKGJvb2wgbm9EaW1taW5nKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKGNvbnN0IHVuc2lnbmVkIHNob3J0KiByZWFsbSwgdW5zaWduZWQgaW50IHJlYWxt
TGVuZ3RoLCBXZWJTdHJpbmcmIHVzZXJuYW1lLCBXZWJTdHJpbmcmIHBhc3N3b3JkKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IHVuc2lnbmVkIHNo
b3J0KiByZWFsbSwgdW5zaWduZWQgaW50IHJlYWxtTGVuZ3RoLCBXZWJTdHJpbmcmIHVzZXJuYW1l
LCBXZWJTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlhbFR5
cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCBpc05ldykgPSAwOwogCiAgICAgdmly
dHVhbCBib29sIHNob3VsZFBsdWdpbkVudGVyRnVsbFNjcmVlbigpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmggYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCmluZGV4IGM4MzdmYTguLjgyZWNkYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaApAQCAtMTc5LDcgKzE3OSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBzaG93QWxlcnREaWFsb2coV2ViUGFnZUNsaWVudDo6
QWxlcnRUeXBlIGF0eXBlKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV92aXNpYmxlOyB9Ci0g
ICAgdmlydHVhbCBib29sIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OktV
UkwmLCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmLCBXZWJDb3JlOjpDcmVkZW50aWFs
Jik7CisgICAgdmlydHVhbCBXZWJDb3JlOjpDcmVkZW50aWFsIGF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2Um
KTsKICAgICB2aXJ0dWFsIFNhdmVDcmVkZW50aWFsVHlwZSBub3RpZnlTaG91bGRTYXZlQ3JlZGVu
dGlhbChib29sKTsKIAogICAgIC8vIENhbGxlZCBmcm9tIHdpdGhpbiBXZWJLaXQgdmlhIENocm9t
ZUNsaWVudEJsYWNrQmVycnkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBmYTk2
NzRmLi44NzEwYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MCBAQAorMjAxMi0wNC0yNCAgSm9lIE1hc29uICA8am1hc29uQHJpbS5jb20+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIFJldmVydCBicm9rZW4gY2hhbmdlcyB0byBhdXRoZW50aWNhdGlvbiBkaWFs
b2cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHBy
ZXZpb3VzIHBhdGNoZXMgZnJvbSB0aGlzIGJ1ZyBjYXVzZWQgYW4gaW5maW5pdGUgbG9vcCB3aGVu
IHVzaW5nIGRpZ2VzdCBhdXRoOworICAgICAgICBhcHBhcmVudGx5IHRoZXkgd2VyZSBvbmx5IHRl
c3RlZCB3aXRoIGJhc2ljLgorCisgICAgICAgICogQXBpL0R1bXBSZW5kZXJUcmVlQ2xpZW50Lmg6
CisgICAgICAgICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
OjpXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAgICAqIEFw
aS9XZWJQYWdlQ2xpZW50Lmg6CisgICAgICAgICogQXBpL1dlYlBhZ2VfcC5oOgorICAgICAgICAo
V2ViUGFnZVByaXZhdGUpOgorCiAyMDEyLTA0LTIwICBNaWtlIExhdHRhbnppbyAgPG1sYXR0YW56
aW9AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRXhwb3NlIFdlYlZpZXdwb3J0QXJn
dW1lbnRzIHRvIFdlYlBhZ2VDbGllbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBlYTExNzQyLi40ODM1ZDUxIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDQt
MjQgIEpvZSBNYXNvbiAgPGptYXNvbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBS
ZXZlcnQgYnJva2VuIGNoYW5nZXMgdG8gYXV0aGVudGljYXRpb24gZGlhbG9nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDEzNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcmV2aW91cyBwYXRjaGVz
IGZyb20gdGhpcyBidWcgY2F1c2VkIGFuIGluZmluaXRlIGxvb3Agd2hlbiB1c2luZyBkaWdlc3Qg
YXV0aDsKKyAgICAgICAgYXBwYXJlbnRseSB0aGV5IHdlcmUgb25seSB0ZXN0ZWQgd2l0aCBiYXNp
Yy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUu
Y3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVC
bGFja0JlcnJ5Lmg6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wNC0xNyAgSmFja3kgSmlh
bmcgIDx6aGFqaWFuZ0ByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBWaWV3cG9ydCBt
ZXRhdGFnIGRvZXNuJ3QgZGlzYWJsZSBkb3VibGUtdGFwIHpvb20KZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggYjU5ZDJmYy4u
OTE5Mzc0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1w
UmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1w
UmVuZGVyVHJlZS5jcHAKQEAgLTIzLDcgKzIzLDYgQEAKICNpbmNsdWRlICJCYWNrRm9yd2FyZENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3RJbXBsLmgiCiAjaW5jbHVkZSAi
Q1N0cmluZy5oIgotI2luY2x1ZGUgIkNyZWRlbnRpYWwuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRy
YWNrZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkR1bXBSZW5k
ZXJUcmVlL0dDQ29udHJvbGxlci5oIgpAQCAtMTIyLDExICsxMjEsNiBAQCBzdGF0aWMgV1RGOjpT
dHJpbmcgZHJ0RnJhbWVEZXNjcmlwdGlvbihXZWJDb3JlOjpGcmFtZSogZnJhbWUpCiAgICAgcmV0
dXJuICJmcmFtZSAoYW5vbnltb3VzKSI7CiB9CiAKLXN0YXRpYyBXVEY6OlN0cmluZyBkcnRDcmVk
ZW50aWFsRGVzY3JpcHRpb24oV2ViQ29yZTo6Q3JlZGVudGlhbCYpCi17Ci0gICAgcmV0dXJuICI8
dW5rbm93bj4iOwotfQotCiBzdGF0aWMgYm9vbCBzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0ZXMo
Y29uc3QgV1RGOjpTdHJpbmcmIHVybCkKIHsKICAgICByZXR1cm4gdXJsLmNvbnRhaW5zKCJsb2Fk
aW5nLyIpOwpAQCAtODEzLDIwICs4MDcsNiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpkaWRSZWNl
aXZlUmVzcG9uc2VGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSogZnJhbWUsIGNvbnN0IFdlYgogICAg
ICAgICBwcmludGYoIiVzIGhhcyBNSU1FIHR5cGUgJXNcbiIsIHJlc3BvbnNlLnVybCgpLmxhc3RQ
YXRoQ29tcG9uZW50KCkudXRmOCgpLmRhdGEoKSwgcmVzcG9uc2UubWltZVR5cGUoKS51dGY4KCku
ZGF0YSgpKTsKIH0KIAotYm9vbCBEdW1wUmVuZGVyVHJlZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKFdlYkNvcmU6OkNyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCi17Ci0gICAgaWYg
KCFnTGF5b3V0VGVzdENvbnRyb2xsZXItPmhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXMo
KSkgewotICAgICAgICBjcmVkZW50aWFsID0gV2ViQ29yZTo6Q3JlZGVudGlhbCgpOwotICAgICAg
ICBwcmludGYoIiVzIC0gZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIC0gU2ltdWxh
dGluZyBjYW5jZWxsZWQgYXV0aGVudGljYXRpb25cbiIsIGRydENyZWRlbnRpYWxEZXNjcmlwdGlv
bihjcmVkZW50aWFsKS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0KLSAgICBjb25zdCBjaGFyKiB1c2VyID0gZ0xheW91dFRlc3RDb250cm9sbGVyLT5hdXRoZW50
aWNhdGlvblVzZXJuYW1lKCkuY19zdHIoKTsKLSAgICBjb25zdCBjaGFyKiBwYXNzd29yZCA9IGdM
YXlvdXRUZXN0Q29udHJvbGxlci0+YXV0aGVudGljYXRpb25QYXNzd29yZCgpLmNfc3RyKCk7Ci0g
ICAgY3JlZGVudGlhbCA9IFdlYkNvcmU6OkNyZWRlbnRpYWwodXNlciwgcGFzc3dvcmQsIFdlYkNv
cmU6OkNyZWRlbnRpYWxQZXJzaXN0ZW5jZUZvclNlc3Npb24pOwotICAgIHByaW50ZigiJXMgLSBk
aWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgLSBSZXNwb25kaW5nIHdpdGggJXM6JXNc
biIsIGRydENyZWRlbnRpYWxEZXNjcmlwdGlvbihjcmVkZW50aWFsKS51dGY4KCkuZGF0YSgpLCB1
c2VyLCBwYXNzd29yZCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIH0KIH0KIApkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZUJsYWNrQmVy
cnkuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFj
a0JlcnJ5LmgKaW5kZXggMjJhMGZhNS4uZGIyZjY5YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZUJsYWNrQmVycnkuaAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJyeS5oCkBA
IC0yOCw5ICsyOCw4IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7Ci1jbGFzcyBDcmVkZW50aWFsOwotY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogY2xhc3Mg
RnJhbWU7CitjbGFzcyBET01XcmFwcGVyV29ybGQ7CiBjbGFzcyBSYW5nZTsKIH0KIApAQCAtMTAy
LDcgKzEwMSw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNTZWxlY3RUcmFpbGluZ1doaXRlc3Bh
Y2VFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gc19zZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFi
bGVkOyB9CiAgICAgdm9pZCBzZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGJvb2wg
ZW5hYmxlZCkgeyBzX3NlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQgPSBlbmFibGVkOyB9
Ci0gICAgYm9vbCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViQ29yZTo6Q3Jl
ZGVudGlhbCYpOwogCiBwcml2YXRlOgogICAgIHZvaWQgcnVuVGVzdChjb25zdCBXVEY6OlN0cmlu
ZyYgdXJsKTsKLS0gCjEuNy41LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144364</attachid>
            <date>2012-05-28 08:12:39 -0700</date>
            <delta_ts>2012-05-28 19:32:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80135-20120528231234.patch</filename>
            <type>text/plain</type>
            <size>13796</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTU0NjFjMmUzNjRiNDlk
ZDQxNjM5ZjcwYzg4NjU1YWUyYzZmMDdiNS4uZTkxOGE1N2RhZjMwOGEyNWRlN2VmZTk1OGFlMWI1
NTNhNTEwZDE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA1LTI4ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8g
bWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXN1Ym1pdCB0aGUgcGF0Y2ggcmV2ZXJ0ZWQgYnkg
cjExNTEwNCBhZnRlciB0aGUgZGlnZXN0IGluZmluaXRlIGxvb3AKKyAgICAgICAgaXNzdWUgZm9y
IEJsYWNrQmVycnkgcG9ydGluZyBnZXQgaWRlbnRpZmllZCBhbmQgZml4ZWQuCisKKyAgICAgICAg
SW50ZXJuYWxseSByZXZpZXdlZCBieSBKb2UgTWFzb24gPGptYXNvbkByaW0uY29tPgorCisgICAg
ICAgIE1hbnVhbCB0ZXN0OiBNYW51YWxUZXN0cy9ibGFja2JlcnJ5L2h0dHAtYXV0aC1jaGFsbGVu
Z2UucGhwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0Jl
cnJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVu
dGlhbHMpOgorCiAyMDEyLTA1LTI4ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVu
Ym9zc2Eub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciBNYWMgb24gTGlv
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IDkzNTgzYTc4YTA4MTg0MTg2YWMz
Y2MyYjRiZDY1NjUyOGVjOGMzMzUuLjE3NjYwNmY3ZjIyYzg3ZDM5NmQwZTYwNDVkM2I4NjI1M2Ex
MDg1ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDEyLTA1LTI4ICBKb25hdGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20u
Y24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1
cCBvbmx5IG9uY2Ugbm8gbWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXN1Ym1pdCB0aGUgcGF0
Y2ggcmV2ZXJ0ZWQgYnkgcjExNTEwNCBhZnRlciB0aGUgZGlnZXN0IGluZmluaXRlIGxvb3AKKyAg
ICAgICAgaXNzdWUgZm9yIEJsYWNrQmVycnkgcG9ydGluZyBnZXQgaWRlbnRpZmllZCBhbmQgZml4
ZWQuCisKKyAgICAgICAgSW50ZXJuYWxseSByZXZpZXdlZCBieSBKb2UgTWFzb24gPGptYXNvbkBy
aW0uY29tPgorCisgICAgICAgICogQXBpL0R1bXBSZW5kZXJUcmVlQ2xpZW50Lmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6CisgICAgICAgIChCbGFja0Jl
cnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6Cisg
ICAgICAgICogQXBpL1dlYlBhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBBcGkvV2ViUGFnZV9wLmg6
CisgICAgICAgIChXZWJQYWdlUHJpdmF0ZSk6CisKIDIwMTItMDUtMjcgIEFydmlkIE5pbHNzb24g
IDxhbmlsc3NvbkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBDcmFzaCB3aGVuIGRl
bGV0aW5nIFdlYlBhZ2VDb21wb3NpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmgKaW5kZXggOGY5NTlkY2Rk
ZDIxYWJkZjEwOTNjMDkwNWI5ZjBkMWY3NGNjNzYxMi4uOGExZjg4NzBmNGRhNjg1MTA5ZDA5NzMz
M2UxNTc5MTYxNDM1ZTJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaApAQCAtNzAsNyArNzAsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2hvd0FsZXJ0RGlhbG9nKEJsYWNrQmVycnk6OldlYktp
dDo6V2ViUGFnZUNsaWVudDo6QWxlcnRUeXBlKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQWN0
aXZlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc1Zpc2libGUoKSBjb25zdCA9IDA7
Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpDcmVkZW50aWFsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKSA9
IDA7CisgICAgdmlydHVhbCBib29sIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNv
cmU6OktVUkwmLCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmLCBXZWJDb3JlOjpDcmVk
ZW50aWFsJikgPSAwOwogICAgIHZpcnR1YWwgU2F2ZUNyZWRlbnRpYWxUeXBlIG5vdGlmeVNob3Vs
ZFNhdmVDcmVkZW50aWFsKGJvb2wpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCBm
YWIzYjI3ZTZjMTdhY2U2YzAzN2NiMTY1ZDI5MWI5NDg3YzRlYzNmLi5iNDU1ZDk4OGRmOGU2YzE4
M2ZhMTVhZTJmMjNiYzViZTk3NDdhOGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC03NjQsOSAr
NzY0LDYgQEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhQcm90
ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFByb3QKICAgICAgICAgU3RyaW5nIHVzZXJuYW1l
OwogICAgICAgICBTdHJpbmcgcGFzc3dvcmQ7CiAKLSAgICAgICAgaWYgKCFtX2ZyYW1lIHx8ICFt
X2ZyYW1lLT5sb2FkZXIoKSB8fCAhbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgICAgIGlmICh0eXBlID09IFByb3RlY3Rpb25TcGFj
ZVByb3h5SFRUUCkgewogICAgICAgICAgICAgdXNlcm5hbWUgPSBCbGFja0JlcnJ5OjpQbGF0Zm9y
bTo6Q2xpZW50OjpnZXQoKS0+Z2V0UHJveHlVc2VybmFtZSgpLmNfc3RyKCk7CiAgICAgICAgICAg
ICBwYXNzd29yZCA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6OmdldCgpLT5nZXRQcm94
eVBhc3N3b3JkKCkuY19zdHIoKTsKQEAgLTc4MywxNSArNzgwLDE0IEBAIGJvb2wgTmV0d29ya0pv
Yjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0
eXBlLCBQcm90CiAgICAgICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNl
ciA9ICIiOwogICAgICAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3Mg
PSAiIjsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgQ3JlZGVudGlhbCBp
bnB1dENyZWRlbnRpYWwgPSBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxh
dGZvcm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVj
dGlvblNwYWNlKTsKKyAgICAgICAgICAgICAgICBDcmVkZW50aWFsIGlucHV0Q3JlZGVudGlhbDsK
KyAgICAgICAgICAgICAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgp
LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV3VVJMLCBw
cm90ZWN0aW9uU3BhY2UsIGlucHV0Q3JlZGVudGlhbCkpCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICB1c2VybmFtZSA9IGlucHV0Q3JlZGVudGlhbC51
c2VyKCk7CiAgICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBpbnB1dENyZWRlbnRpYWwucGFzc3dv
cmQoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmICh1c2VybmFtZS5p
c0VtcHR5KCkgJiYgcGFzc3dvcmQuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotCiAgICAgICAgIGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwg
Q3JlZGVudGlhbFBlcnNpc3RlbmNlRm9yU2Vzc2lvbik7CiAKICAgICAgICAgbV9oYW5kbGUtPmdl
dEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwgUmVzb3VyY2VF
cnJvcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvRHVtcFJl
bmRlclRyZWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvRHVtcFJlbmRl
clRyZWVDbGllbnQuaAppbmRleCAwM2ViNWJiYzU5NGY3NjMyYzgyMmVkNTI5ZDY0MmQ1ODAwNmJi
ZDBmLi5jZTZkZDI3NDMxNmY1NjlkNTIxZjNkNDZhY2U2YWNjYjc1ZDM0ZDJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0R1bXBSZW5kZXJUcmVlQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9EdW1wUmVuZGVyVHJlZUNsaWVudC5oCkBA
IC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3RSZWYuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ3JlZGVudGlhbDsKIGNsYXNzIEZyYW1lOwog
Y2xhc3MgRE9NV3JhcHBlcldvcmxkOwogY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKQEAgLTgxLDYg
KzgyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbnNlcnROb2RlKFdlYkNv
cmU6Ok5vZGUqLCBXZWJDb3JlOjpSYW5nZSosIGludCBpbnNlcnRBY3Rpb24pID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkSW5zZXJ0VGV4dChjb25zdCBXVEY6OlN0cmluZyYsIFdlYkNvcmU6
OlJhbmdlKiwgaW50IGluc2VydEFjdGlvbikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVj
dFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29s
IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJDb3JlOjpDcmVkZW50aWFsJikg
PSAwOwogCiB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5k
ZXggNjg0Mjc5ZTMwNjZjYWJiNDA5OWI2MDM2NjNkMWRjZjlmOTE4OWU5ZS4uZjFlODZmNDczNzMz
ZTRiNmM4NmRkNjc2MjkzYjQ0YTJlZGFhOWZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2UuY3BwCkBAIC0yMTIwLDI2ICsyMTIwLDMyIEBAIGJvb2wgV2ViUGFnZVByaXZh
dGU6OmlzQWN0aXZlKCkgY29uc3QKICAgICByZXR1cm4gbV9jbGllbnQtPmlzQWN0aXZlKCk7CiB9
CiAKLUNyZWRlbnRpYWwgV2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNv
bnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCiti
b29sIFdlYlBhZ2VQcml2YXRlOjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlLCBDcmVkZW50aWFsJiBp
bnB1dENyZWRlbnRpYWwpCiB7CiAgICAgV2ViU3RyaW5nIHVzZXJuYW1lOwogICAgIFdlYlN0cmlu
ZyBwYXNzd29yZDsKIAorI2lmIEVOQUJMRV9EUlQKKyAgICBpZiAobV9kdW1wUmVuZGVyVHJlZSkK
KyAgICAgICAgcmV0dXJuIG1fZHVtcFJlbmRlclRyZWUtPmRpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShpbnB1dENyZWRlbnRpYWwpOworI2VuZGlmCisKICNpZiBFTkFCTEUoQkxBQ0tC
RVJSWV9DUkVERU5USUFMX1BFUlNJU1QpCiAgICAgaWYgKCFtX3dlYlNldHRpbmdzLT5pc1ByaXZh
dGVCcm93c2luZ0VuYWJsZWQoKSkKICAgICAgICAgY3JlZGVudGlhbE1hbmFnZXIoKS5hdXRvZmls
bEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZSwgdXNlcm5hbWUsIHBhc3N3
b3JkKTsKICNlbmRpZgogCi0gICAgbV9jbGllbnQtPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHBy
b3RlY3Rpb25TcGFjZS5yZWFsbSgpLmNoYXJhY3RlcnMoKSwgcHJvdGVjdGlvblNwYWNlLnJlYWxt
KCkubGVuZ3RoKCksIHVzZXJuYW1lLCBwYXNzd29yZCk7CisgICAgYm9vbCBpc0NvbmZpcm1lZCA9
IG1fY2xpZW50LT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UucmVhbG0o
KS5jaGFyYWN0ZXJzKCksIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpLmxlbmd0aCgpLCB1c2VybmFt
ZSwgcGFzc3dvcmQpOwogCiAjaWYgRU5BQkxFKEJMQUNLQkVSUllfQ1JFREVOVElBTF9QRVJTSVNU
KQotICAgIENyZWRlbnRpYWwgaW5wdXRDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3Jl
ZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKLSAgICBpZiAoIW1fd2ViU2V0dGluZ3MtPmlz
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQotICAgICAgICBjcmVkZW50aWFsTWFuYWdlcigpLnNh
dmVDcmVkZW50aWFsSWZDb25maXJtZWQodGhpcywgQ3JlZGVudGlhbFRyYW5zZm9ybURhdGEodXJs
LCBwcm90ZWN0aW9uU3BhY2UsIGlucHV0Q3JlZGVudGlhbCkpOworICAgIENyZWRlbnRpYWwgY3Jl
ZGVudGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVu
dCk7CisgICAgaWYgKCFtX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSAm
JiBpc0NvbmZpcm1lZCkKKyAgICAgICAgY3JlZGVudGlhbE1hbmFnZXIoKS5zYXZlQ3JlZGVudGlh
bElmQ29uZmlybWVkKHRoaXMsIENyZWRlbnRpYWxUcmFuc2Zvcm1EYXRhKHVybCwgcHJvdGVjdGlv
blNwYWNlLCBjcmVkZW50aWFsKSk7CiAjZWxzZQotICAgIENyZWRlbnRpYWwgaW5wdXRDcmVkZW50
aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlTm9uZSk7CisgICAg
Q3JlZGVudGlhbCBjcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNp
c3RlbmNlTm9uZSk7CiAjZW5kaWYKLSAgICByZXR1cm4gaW5wdXRDcmVkZW50aWFsOworICAgIGlu
cHV0Q3JlZGVudGlhbCA9IGNyZWRlbnRpYWw7CisgICAgcmV0dXJuIGlzQ29uZmlybWVkOwogfQog
CiBQYWdlQ2xpZW50QmxhY2tCZXJyeTo6U2F2ZUNyZWRlbnRpYWxUeXBlIFdlYlBhZ2VQcml2YXRl
Ojpub3RpZnlTaG91bGRTYXZlQ3JlZGVudGlhbChib29sIGlzTmV3KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaAppbmRleCA0YzEwMjA1NjM1YzJhYzUxOGZl
MTNhNzQ5ZmMyMGQ4ZDgxM2M3ZmM2Li5mOTkwMTNhZmE5ODlkMzc3MWViNzA1ZjlmZDgxZWJlNmIz
YTM1YzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQu
aApAQCAtMjEwLDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUJs
b2NrWm9vbShjb25zdCBQbGF0Zm9ybTo6RmxvYXRQb2ludCYgZmluYWxQb2ludCwgZG91YmxlIGZp
bmFsU2NhbGUpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQcmV2ZW50c1NjcmVlbklkbGVE
aW1taW5nKGJvb2wgbm9EaW1taW5nKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKGNvbnN0IHVuc2lnbmVkIHNob3J0KiByZWFsbSwgdW5zaWduZWQgaW50IHJl
YWxtTGVuZ3RoLCBXZWJTdHJpbmcmIHVzZXJuYW1lLCBXZWJTdHJpbmcmIHBhc3N3b3JkKSA9IDA7
CisgICAgdmlydHVhbCBib29sIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IHVuc2lnbmVk
IHNob3J0KiByZWFsbSwgdW5zaWduZWQgaW50IHJlYWxtTGVuZ3RoLCBXZWJTdHJpbmcmIHVzZXJu
YW1lLCBXZWJTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlh
bFR5cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCBpc05ldykgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlQb3B1cEF1dG9maWxsRGlhbG9nKGNvbnN0IHN0ZDo6dmVjdG9yPHN0
ZDo6c3RyaW5nPiYsIGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0JikgPSAwOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaAppbmRleCBjNjg4YzZkZTY1MmNmYWVhYzc3ZWRm
MmIwMTg2ZGIzZjA0NTExYzg5Li4yNTVkNjBlZDM5NDQ1ZjQ5NGUyMjJjZTZlM2Y2N2QxYjMyOGEx
OTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKQEAgLTE4MSw3
ICsxODEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2hvd0FsZXJ0RGlhbG9nKFdlYlBh
Z2VDbGllbnQ6OkFsZXJ0VHlwZSBhdHlwZSk7CiAgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkg
Y29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzVmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlz
aWJsZTsgfQotICAgIHZpcnR1YWwgV2ViQ29yZTo6Q3JlZGVudGlhbCBhdXRoZW50aWNhdGlvbkNo
YWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNw
YWNlJik7CisgICAgdmlydHVhbCBib29sIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdl
YkNvcmU6OktVUkwmLCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmLCBXZWJDb3JlOjpD
cmVkZW50aWFsJik7CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxk
U2F2ZUNyZWRlbnRpYWwoYm9vbCk7CiAKICAgICAvLyBDYWxsZWQgZnJvbSB3aXRoaW4gV2ViS2l0
IHZpYSBDaHJvbWVDbGllbnRCbGFja0JlcnJ5LgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGI3YWM2YTI5ZGFhMzlmNGNjMjg1YTdkNGY5YTNjMWM1
MDQyYjA1ZWUuLjgyODUzNmRmZTlkZjIzMmIzZTYwOWZiOTNhNzJjZWY1ODViMmI3M2MgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MyBAQAorMjAxMi0wNS0yOCAgSm9uYXRoYW4gRG9uZyAgPGpvbmF0aGFuLmRvbmdAdG9yY2htb2Jp
bGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBodHRwIGF1dGhlbnRpY2F0ZSBkaWFs
b2cgcG9wdXAgb25seSBvbmNlIG5vIG1hdHRlciBhdXRoZW50aWNhdGlvbiBwYXNzIG9yIGZhaWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzdWJtaXQg
dGhlIHBhdGNoIHJldmVydGVkIGJ5IHIxMTUxMDQgYWZ0ZXIgdGhlIGRpZ2VzdCBpbmZpbml0ZSBs
b29wCisgICAgICAgIGlzc3VlIGZvciBCbGFja0JlcnJ5IHBvcnRpbmcgZ2V0IGlkZW50aWZpZWQg
YW5kIGZpeGVkLgorCisgICAgICAgIEludGVybmFsbHkgcmV2aWV3ZWQgYnkgSm9lIE1hc29uIDxq
bWFzb25AcmltLmNvbT4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVt
cFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoZHJ0Q3JlZGVudGlhbERlc2NyaXB0aW9uKToKKyAg
ICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6RHVtcFJlbmRlclRyZWU6OmRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0JlcnJ5Lmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlKToKKwogMjAxMi0wNS0yOCAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIE1vdmUgYWxs
b3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFscyBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggNjIwZTZhY2Q1
ZDI5MDNjNTNlMWQxOTBhNDM0N2JjMzMyMjAyYTc4ZS4uMGI3NWI2M2Y0MTYyZWY5ZTcxZjk2MDZk
MTM0OTkwZWRkNDVjY2Q4ZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2ti
ZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2ti
ZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJCYWNr
Rm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3RJbXBsLmgiCiAj
aW5jbHVkZSAiQ1N0cmluZy5oIgorI2luY2x1ZGUgIkNyZWRlbnRpYWwuaCIKICNpbmNsdWRlICJE
YXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUg
IkR1bXBSZW5kZXJUcmVlL0dDQ29udHJvbGxlci5oIgpAQCAtMTI0LDYgKzEyNSwxMSBAQCBzdGF0
aWMgU3RyaW5nIGRydEZyYW1lRGVzY3JpcHRpb24oV2ViQ29yZTo6RnJhbWUqIGZyYW1lKQogICAg
IHJldHVybiAiZnJhbWUgKGFub255bW91cykiOwogfQogCitzdGF0aWMgV1RGOjpTdHJpbmcgZHJ0
Q3JlZGVudGlhbERlc2NyaXB0aW9uKFdlYkNvcmU6OkNyZWRlbnRpYWwmKQoreworICAgIHJldHVy
biAiPHVua25vd24+IjsKK30KKwogc3RhdGljIGJvb2wgc2hvdWxkTG9nRnJhbWVMb2FkRGVsZWdh
dGVzKGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIHJldHVybiB1cmwuY29udGFpbnMoImxvYWRp
bmcvIik7CkBAIC04NTcsNiArODYzLDIwIEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OmRpZFJlY2Vp
dmVSZXNwb25zZUZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViCiAgICAg
ICAgIHByaW50ZigiJXMgaGFzIE1JTUUgdHlwZSAlc1xuIiwgcmVzcG9uc2UudXJsKCkubGFzdFBh
dGhDb21wb25lbnQoKS51dGY4KCkuZGF0YSgpLCByZXNwb25zZS5taW1lVHlwZSgpLnV0ZjgoKS5k
YXRhKCkpOwogfQogCitib29sIER1bXBSZW5kZXJUcmVlOjpkaWRSZWNlaXZlQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UoV2ViQ29yZTo6Q3JlZGVudGlhbCYgY3JlZGVudGlhbCkKK3sKKyAgICBpZiAo
IWdMYXlvdXRUZXN0Q29udHJvbGxlci0+aGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcygp
KSB7CisgICAgICAgIGNyZWRlbnRpYWwgPSBXZWJDb3JlOjpDcmVkZW50aWFsKCk7CisgICAgICAg
IHByaW50ZigiJXMgLSBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgLSBTaW11bGF0
aW5nIGNhbmNlbGxlZCBhdXRoZW50aWNhdGlvblxuIiwgZHJ0Q3JlZGVudGlhbERlc2NyaXB0aW9u
KGNyZWRlbnRpYWwpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorICAgIGNvbnN0IGNoYXIqIHVzZXIgPSBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmF1dGhlbnRp
Y2F0aW9uVXNlcm5hbWUoKS5jX3N0cigpOworICAgIGNvbnN0IGNoYXIqIHBhc3N3b3JkID0gZ0xh
eW91dFRlc3RDb250cm9sbGVyLT5hdXRoZW50aWNhdGlvblBhc3N3b3JkKCkuY19zdHIoKTsKKyAg
ICBjcmVkZW50aWFsID0gV2ViQ29yZTo6Q3JlZGVudGlhbCh1c2VyLCBwYXNzd29yZCwgV2ViQ29y
ZTo6Q3JlZGVudGlhbFBlcnNpc3RlbmNlRm9yU2Vzc2lvbik7CisgICAgcHJpbnRmKCIlcyAtIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAtIFJlc3BvbmRpbmcgd2l0aCAlczolc1xu
IiwgZHJ0Q3JlZGVudGlhbERlc2NyaXB0aW9uKGNyZWRlbnRpYWwpLnV0ZjgoKS5kYXRhKCksIHVz
ZXIsIHBhc3N3b3JkKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQogfQogCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJy
eS5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZUJsYWNr
QmVycnkuaAppbmRleCAyZmY2OTE2MWMyMzM2YjVlZjMyZGMyZDVjNzgwZjJlOGE1Zjg0ZGVlLi5j
NmViYTlkMTk4NDQxZDA4ZDI1NmUxNDg0MmU4NjBmNWQ5ZjQ2ZDc3IDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJyeS5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0Jl
cnJ5LmgKQEAgLTI4LDggKzI4LDkgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKLWNsYXNzIEZyYW1lOworY2xhc3MgQ3JlZGVudGlhbDsKIGNsYXNzIERP
TVdyYXBwZXJXb3JsZDsKK2NsYXNzIEZyYW1lOwogY2xhc3MgUmFuZ2U7CiB9CiAKQEAgLTEwMSw2
ICsxMDIsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzU2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNl
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHNfc2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxl
ZDsgfQogICAgIHZvaWQgc2V0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZChib29sIGVu
YWJsZWQpIHsgc19zZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkID0gZW5hYmxlZDsgfQor
ICAgIGJvb2wgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdlYkNvcmU6OkNyZWRl
bnRpYWwmKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIHJ1blRlc3QoY29uc3QgU3RyaW5nJiB1cmwp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144426</attachid>
            <date>2012-05-28 19:32:44 -0700</date>
            <delta_ts>2012-05-28 20:49:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80135-20120529103241.patch</filename>
            <type>text/plain</type>
            <size>15091</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVlOGFiNzhkYmFiYWM5
Y2JiZjk0MDNlY2RjYTFmNGNmZmZiYjNmYy4uOGJlNmQxNTllMGE4MTUwNWY1MzE3YTlhZjZlMDJh
OTU4NjNlZDAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA1LTI4ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8g
bWF0dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMzUKKworICAgICAgICBSZXZpZXdlZCBieSBS
b2IgQnVpcy4KKworICAgICAgICBSSU0gUFI6IDE0NTY2MAorICAgICAgICBGaXhlZCBhIHJlZ3Jl
c3Npb24gaW50cm9kdWNlZCBieSByMTExODEwLCB3ZSBzaG91bGQgY2FuY2VsIHRoZSBuZXcKKyAg
ICAgICAgcmVxdWVzdCB3aGVuIHVzZXIgcHJlc3MgY2FuY2VsIGJ1dHRvbiBpbiBodHRwIGF1dGhl
bnRpY2F0aW9uIGNoYWxsZW5nZQorICAgICAgICBkaWFsb2csIGFuZCB3ZSBzaG91bGQgYWxzbyBh
bGxvdyBzZW5kaW5nIGVtcHR5IHVzZXJuYW1lIGFuZCBwYXNzd29yZAorICAgICAgICB3aXRoIHRo
ZSByZXF1ZXN0LgorICAgICAgICBBbHNvIHJlbW92ZWQgcmVkdW5kYW50IGNvZGVzIHdoaWNoIGNo
ZWNrZWQgdGhlIGV4aXN0ZW5jZSBvZiB0aGUKKyAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQgcG9p
bnRlciwgYXMgd2UndmUgYWxyZWFkeSBtb3ZlZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpCisg
ICAgICAgIG91dCBvZiBjbGFzcyBGcmFtZUxvYWRlckNsaWVudCwgaXQgaXMgbm90IG5lZWRlZC4K
KworICAgICAgICBNYW51YWwgdGVzdCBhZGRlZC4gVGVzdGluZyBodHRwIGF1dGhlbnRpY2F0aW9u
IGRpYWxvZyByZWxpZXMgb24gdXNlciBpbnRlcmFjdGlvbi4KKworICAgICAgICBSZXN1Ym1pdCB0
aGUgcGF0Y2ggcmV2ZXJ0ZWQgYnkgcjExNTEwNCBhZnRlciB0aGUgZGlnZXN0IGluZmluaXRlIGxv
b3AKKyAgICAgICAgaXNzdWUgZm9yIEJsYWNrQmVycnkgcG9ydGluZyBnZXQgaWRlbnRpZmllZCBh
bmQgZml4ZWQuCisKKyAgICAgICAgSW50ZXJuYWxseSByZXZpZXdlZCBieSBKb2UgTWFzb24gPGpt
YXNvbkByaW0uY29tPgorCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50
QmxhY2tCZXJyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0
aENyZWRlbnRpYWxzKToKKwogMjAxMi0wNS0yOCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBSZW5hbWUgRnJhbWVMb2FkZXJDbGllbnQ6OnNoYWRvd0RPTUFs
bG93ZWQoKSB0byBhbGxvd1NoYWRvd0RPTSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBkY2QyNzJiZmU3NjdmZGI3YWQ2YzRmM2Y1YTA1YjU3NTM0MDdiZGM2Li5jODQ5YWJiOTI3
Y2JmZDI0MTdkYTY1ZjZmZDJhNGJkNTZlMzVmYTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMi0wNS0yOCAgSm9uYXRoYW4gRG9uZyAgPGpvbmF0
aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBodHRw
IGF1dGhlbnRpY2F0ZSBkaWFsb2cgcG9wdXAgb25seSBvbmNlIG5vIG1hdHRlciBhdXRoZW50aWNh
dGlvbiBwYXNzIG9yIGZhaWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgwMTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCisKKyAgICAg
ICAgUklNIFBSOiAxNDU2NjAKKyAgICAgICAgRml4ZWQgYSByZWdyZXNzaW9uIGludHJvZHVjZWQg
YnkgcjExMTgxMCwgd2hpY2ggdXNlZCB0aGUgd3JvbmcKKyAgICAgICAgY3JlZGVudGlhbCBvYmpl
Y3QuCisKKyAgICAgICAgQWRkZWQgdGhlIGludGVyZmFjZSBmdW5jdGlvbiBkaWRSZWNlaXZlZEF1
dGhlbnRpY2FpdG9uQ2hhbGxlbmdlKCkKKyAgICAgICAgaW4gaW50ZXJmYWNlIGNsYXNzIER1bXBS
ZW5kZXJUcmVlQ2xpZW50OworICAgICAgICBDYWxsZWQgbV9kdW1wUmVuZGVyVHJlZS0+ZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkgaW4KKyAgICAgICAgV2ViUGFnZVByaXZhdGU6
OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkgd2hlbiBEUlQgaXMgZW5hYmxlZC4KKworICAgICAg
ICBUZXN0OiByZXVzZSBleGlzdGluZyB0ZXN0IGNhc2VzOgorICAgICAgICBodHRwL3Rlc3RzL2xv
YWRpbmcvYmFzaWMtY3JlZGVudGlhbHMtc2VudC1hdXRvbWF0aWNhbGx5Lmh0bWwKKyAgICAgICAg
aHR0cC90ZXN0cy9sb2FkaW5nL2Jhc2ljLWF1dGgtcmVzZW5kLXdyb25nLWNyZWRlbnRpYWxzLmh0
bWwKKworICAgICAgICBSZXN1Ym1pdCB0aGUgcGF0Y2ggcmV2ZXJ0ZWQgYnkgcjExNTEwNCBhZnRl
ciB0aGUgZGlnZXN0IGluZmluaXRlIGxvb3AKKyAgICAgICAgaXNzdWUgZm9yIEJsYWNrQmVycnkg
cG9ydGluZyBnZXQgaWRlbnRpZmllZCBhbmQgZml4ZWQuCisKKyAgICAgICAgSW50ZXJuYWxseSBy
ZXZpZXdlZCBieSBKb2UgTWFzb24gPGptYXNvbkByaW0uY29tPgorCisgICAgICAgICogQXBpL0R1
bXBSZW5kZXJUcmVlQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBBcGkv
V2ViUGFnZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRl
OjphdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAgICogQXBpL1dlYlBhZ2VDbGllbnQu
aDoKKyAgICAgICAgKiBBcGkvV2ViUGFnZV9wLmg6CisgICAgICAgIChXZWJQYWdlUHJpdmF0ZSk6
CisKIDIwMTItMDUtMjggIEFydmlkIE5pbHNzb24gIDxhbmlsc3NvbkByaW0uY29tPgogCiAgICAg
ICAgIFtCbGFja0JlcnJ5XSBBbHdheXMgY3JlYXRlIGEgY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJy
eS5oCmluZGV4IDhmOTU5ZGNkZGQyMWFiZGYxMDkzYzA5MDViOWYwZDFmNzRjYzc2MTIuLjhhMWY4
ODcwZjRkYTY4NTEwOWQwOTczMzNlMTU3OTE2MTQzNWUyYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5LmgK
QEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IHNob3dBbGVydERpYWxv
ZyhCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VDbGllbnQ6OkFsZXJ0VHlwZSkgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNW
aXNpYmxlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6Q3JlZGVudGlhbCBhdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6
UHJvdGVjdGlvblNwYWNlJikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNhdGlvbkNo
YWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNw
YWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlhbCYpID0gMDsKICAgICB2aXJ0dWFsIFNhdmVDcmVkZW50
aWFsVHlwZSBub3RpZnlTaG91bGRTYXZlQ3JlZGVudGlhbChib29sKSA9IDA7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29y
a0pvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0
d29ya0pvYi5jcHAKaW5kZXggZmFiM2IyN2U2YzE3YWNlNmMwMzdjYjE2NWQyOTFiOTQ4N2M0ZWMz
Zi4uYjQ1NWQ5ODhkZjhlNmMxODNmYTE1YWUyZjIzYmM1YmU5NzQ3YThmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3Jr
Sm9iLmNwcApAQCAtNzY0LDkgKzc2NCw2IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RX
aXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAg
ICAgIFN0cmluZyB1c2VybmFtZTsKICAgICAgICAgU3RyaW5nIHBhc3N3b3JkOwogCi0gICAgICAg
IGlmICghbV9mcmFtZSB8fCAhbV9mcmFtZS0+bG9hZGVyKCkgfHwgIW1fZnJhbWUtPmxvYWRlcigp
LT5jbGllbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgICAgICBpZiAodHlw
ZSA9PSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFApIHsKICAgICAgICAgICAgIHVzZXJuYW1lID0g
QmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaWVudDo6Z2V0KCktPmdldFByb3h5VXNlcm5hbWUoKS5j
X3N0cigpOwogICAgICAgICAgICAgcGFzc3dvcmQgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xp
ZW50OjpnZXQoKS0+Z2V0UHJveHlQYXNzd29yZCgpLmNfc3RyKCk7CkBAIC03ODMsMTUgKzc4MCwx
NCBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rp
b25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogICAgICAgICAgICAgICAgIG1faGFuZGxlLT5n
ZXRJbnRlcm5hbCgpLT5tX3VzZXIgPSAiIjsKICAgICAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0
SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIENyZWRlbnRpYWwgaW5wdXRDcmVkZW50aWFsID0gbV9mcmFtZS0+cGFnZSgpLT5jaHJv
bWUoKS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSk7CisgICAgICAgICAgICAgICAgQ3JlZGVudGlh
bCBpbnB1dENyZWRlbnRpYWw7CisgICAgICAgICAgICAgICAgaWYgKCFtX2ZyYW1lLT5wYWdlKCkt
PmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVjdGlvblNwYWNlLCBpbnB1dENyZWRlbnRpYWwpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgdXNlcm5hbWUg
PSBpbnB1dENyZWRlbnRpYWwudXNlcigpOwogICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gaW5w
dXRDcmVkZW50aWFsLnBhc3N3b3JkKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAg
ICAgICBpZiAodXNlcm5hbWUuaXNFbXB0eSgpICYmIHBhc3N3b3JkLmlzRW1wdHkoKSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgICAgICBjcmVkZW50aWFsID0gQ3JlZGVudGlhbCh1
c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZUZvclNlc3Npb24pOwogCiAg
ICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwsIDAsIG1f
cmVzcG9uc2UsIFJlc291cmNlRXJyb3IoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL0R1bXBSZW5kZXJUcmVlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQXBpL0R1bXBSZW5kZXJUcmVlQ2xpZW50LmgKaW5kZXggMDNlYjViYmM1OTRmNzYzMmM4
MjJlZDUyOWQ2NDJkNTgwMDZiYmQwZi4uY2U2ZGQyNzQzMTZmNTY5ZDUyMWYzZDQ2YWNlNmFjY2I3
NWQzNGQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9EdW1wUmVu
ZGVyVHJlZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvRHVtcFJl
bmRlclRyZWVDbGllbnQuaApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0pTT2JqZWN0UmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIENyZWRlbnRp
YWw7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIGNsYXNzIE5hdmlnYXRp
b25BY3Rpb247CkBAIC04MSw2ICs4Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkSW5zZXJ0Tm9kZShXZWJDb3JlOjpOb2RlKiwgV2ViQ29yZTo6UmFuZ2UqLCBpbnQgaW5zZXJ0
QWN0aW9uKSA9IDA7CiAgICAgdmlydHVhbCBib29sIHNob3VsZEluc2VydFRleHQoY29uc3QgV1RG
OjpTdHJpbmcmLCBXZWJDb3JlOjpSYW5nZSosIGludCBpbnNlcnRBY3Rpb24pID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKCkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgYm9vbCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2Vi
Q29yZTo6Q3JlZGVudGlhbCYpID0gMDsKIAogfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2UuY3BwCmluZGV4IGUzZDZjMTRlNWYzMmZmMjU3YmE2MmU4M2UxNzY4NWNkMzY2
Y2NmYjQuLjdiYTFhMzU0Njk3NWUzMzkwMDJhMTQxYTc0Zjk2NTRmNTIzZWI1MDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtMjEzNSwyNiArMjEzNSwzMiBA
QCBib29sIFdlYlBhZ2VQcml2YXRlOjppc0FjdGl2ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2xp
ZW50LT5pc0FjdGl2ZSgpOwogfQogCi1DcmVkZW50aWFsIFdlYlBhZ2VQcml2YXRlOjphdXRoZW50
aWNhdGlvbkNoYWxsZW5nZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYg
cHJvdGVjdGlvblNwYWNlKQorYm9vbCBXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25T
cGFjZSwgQ3JlZGVudGlhbCYgaW5wdXRDcmVkZW50aWFsKQogewogICAgIFdlYlN0cmluZyB1c2Vy
bmFtZTsKICAgICBXZWJTdHJpbmcgcGFzc3dvcmQ7CiAKKyNpZiBFTkFCTEVfRFJUCisgICAgaWYg
KG1fZHVtcFJlbmRlclRyZWUpCisgICAgICAgIHJldHVybiBtX2R1bXBSZW5kZXJUcmVlLT5kaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoaW5wdXRDcmVkZW50aWFsKTsKKyNlbmRpZgor
CiAjaWYgRU5BQkxFKEJMQUNLQkVSUllfQ1JFREVOVElBTF9QRVJTSVNUKQogICAgIGlmICghbV93
ZWJTZXR0aW5ncy0+aXNQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCiAgICAgICAgIGNyZWRlbnRp
YWxNYW5hZ2VyKCkuYXV0b2ZpbGxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3Bh
Y2UsIHVzZXJuYW1lLCBwYXNzd29yZCk7CiAjZW5kaWYKIAotICAgIG1fY2xpZW50LT5hdXRoZW50
aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UucmVhbG0oKS5jaGFyYWN0ZXJzKCksIHBy
b3RlY3Rpb25TcGFjZS5yZWFsbSgpLmxlbmd0aCgpLCB1c2VybmFtZSwgcGFzc3dvcmQpOworICAg
IGJvb2wgaXNDb25maXJtZWQgPSBtX2NsaWVudC0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UocHJv
dGVjdGlvblNwYWNlLnJlYWxtKCkuY2hhcmFjdGVycygpLCBwcm90ZWN0aW9uU3BhY2UucmVhbG0o
KS5sZW5ndGgoKSwgdXNlcm5hbWUsIHBhc3N3b3JkKTsKIAogI2lmIEVOQUJMRShCTEFDS0JFUlJZ
X0NSRURFTlRJQUxfUEVSU0lTVCkKLSAgICBDcmVkZW50aWFsIGlucHV0Q3JlZGVudGlhbCh1c2Vy
bmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7Ci0gICAgaWYg
KCFtX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKLSAgICAgICAgY3Jl
ZGVudGlhbE1hbmFnZXIoKS5zYXZlQ3JlZGVudGlhbElmQ29uZmlybWVkKHRoaXMsIENyZWRlbnRp
YWxUcmFuc2Zvcm1EYXRhKHVybCwgcHJvdGVjdGlvblNwYWNlLCBpbnB1dENyZWRlbnRpYWwpKTsK
KyAgICBDcmVkZW50aWFsIGNyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFs
UGVyc2lzdGVuY2VQZXJtYW5lbnQpOworICAgIGlmICghbV93ZWJTZXR0aW5ncy0+aXNQcml2YXRl
QnJvd3NpbmdFbmFibGVkKCkgJiYgaXNDb25maXJtZWQpCisgICAgICAgIGNyZWRlbnRpYWxNYW5h
Z2VyKCkuc2F2ZUNyZWRlbnRpYWxJZkNvbmZpcm1lZCh0aGlzLCBDcmVkZW50aWFsVHJhbnNmb3Jt
RGF0YSh1cmwsIHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCkpOwogI2Vsc2UKLSAgICBDcmVk
ZW50aWFsIGlucHV0Q3JlZGVudGlhbCh1c2VybmFtZSwgcGFzc3dvcmQsIENyZWRlbnRpYWxQZXJz
aXN0ZW5jZU5vbmUpOworICAgIENyZWRlbnRpYWwgY3JlZGVudGlhbCh1c2VybmFtZSwgcGFzc3dv
cmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZU5vbmUpOwogI2VuZGlmCi0gICAgcmV0dXJuIGlucHV0
Q3JlZGVudGlhbDsKKyAgICBpbnB1dENyZWRlbnRpYWwgPSBjcmVkZW50aWFsOworICAgIHJldHVy
biBpc0NvbmZpcm1lZDsKIH0KIAogUGFnZUNsaWVudEJsYWNrQmVycnk6OlNhdmVDcmVkZW50aWFs
VHlwZSBXZWJQYWdlUHJpdmF0ZTo6bm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCBpc05l
dykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmgKaW5kZXgg
ZmVlNGE1OTk5NmE4M2JlYmE0MTgzMmI5NDU3NDUxYWY5MDg4ZDI4Yi4uYjg5NTQwZjU2ZjVjZmEx
ZmIyYzRjMjdlMTc1MjEzM2RiMzVhZjMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0FwaS9XZWJQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJQYWdlQ2xpZW50LmgKQEAgLTIwNyw3ICsyMDcsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGFuaW1hdGVCbG9ja1pvb20oY29uc3QgUGxhdGZvcm06OkZsb2F0UG9pbnQmIGZp
bmFsUG9pbnQsIGRvdWJsZSBmaW5hbFNjYWxlKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UHJldmVudHNTY3JlZW5JZGxlRGltbWluZyhib29sIG5vRGltbWluZykgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCB1bnNpZ25lZCBzaG9ydCogcmVh
bG0sIHVuc2lnbmVkIGludCByZWFsbUxlbmd0aCwgV2ViU3RyaW5nJiB1c2VybmFtZSwgV2ViU3Ry
aW5nJiBwYXNzd29yZCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShjb25zdCB1bnNpZ25lZCBzaG9ydCogcmVhbG0sIHVuc2lnbmVkIGludCByZWFsbUxlbmd0
aCwgV2ViU3RyaW5nJiB1c2VybmFtZSwgV2ViU3RyaW5nJiBwYXNzd29yZCkgPSAwOwogICAgIHZp
cnR1YWwgU2F2ZUNyZWRlbnRpYWxUeXBlIG5vdGlmeVNob3VsZFNhdmVDcmVkZW50aWFsKGJvb2wg
aXNOZXcpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5UG9wdXBBdXRvZmlsbERpYWxvZyhj
b25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mLCBjb25zdCBQbGF0Zm9ybTo6SW50UmVjdCYp
ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdl
X3AuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKaW5kZXggOWZm
ZjIwMWMzMWVkNGNmNTU5NzgyY2U2NjcxY2ZmMDM4MjRlMDEzNy4uM2ViYzBiOGIzYjMyZDYxYWJi
MTIxNjEyMTdiZWM3MmVkNTFjZGIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9XZWJQYWdlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2VfcC5oCkBAIC0xODMsNyArMTgzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IHNo
b3dBbGVydERpYWxvZyhXZWJQYWdlQ2xpZW50OjpBbGVydFR5cGUgYXR5cGUpOwogICAgIHZpcnR1
YWwgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1Zpc2libGUoKSBj
b25zdCB7IHJldHVybiBtX3Zpc2libGU7IH0KLSAgICB2aXJ0dWFsIFdlYkNvcmU6OkNyZWRlbnRp
YWwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFdl
YkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpOworICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlv
blNwYWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwogICAgIHZpcnR1YWwgU2F2ZUNyZWRlbnRp
YWxUeXBlIG5vdGlmeVNob3VsZFNhdmVDcmVkZW50aWFsKGJvb2wpOwogCiAgICAgLy8gQ2FsbGVk
IGZyb20gd2l0aGluIFdlYktpdCB2aWEgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS4KZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2MzYyYzc0ODliMjU1
YjIzYzQ2ZGJmNGFhMGYwMzQ3OTYxM2Q2NzBkLi4zNjhhNGEyZTFiOWJjOTgzMGNmNmU1ZWYwYmY2
MDMzMDRkZGIyZGVhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDUtMjggIEpvbmF0aGFuIERvbmcgIDxqb25h
dGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0gaHR0
cCBhdXRoZW50aWNhdGUgZGlhbG9nIHBvcHVwIG9ubHkgb25jZSBubyBtYXR0ZXIgYXV0aGVudGlj
YXRpb24gcGFzcyBvciBmYWlsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MDEzNQorCisgICAgICAgIFJldmlld2VkIGJ5IFJvYiBCdWlzLgorCisgICAg
ICAgIEltcGxlbWVudGVkIGludGVyZmFjZSBmdW5jdGlvbiBkaWRSZWNlaXZlQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UgaW4gY2xhc3MKKyAgICAgICAgRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAg
UmVzdWJtaXQgdGhlIHBhdGNoIHJldmVydGVkIGJ5IHIxMTUxMDQgYWZ0ZXIgdGhlIGRpZ2VzdCBp
bmZpbml0ZSBsb29wCisgICAgICAgIGlzc3VlIGZvciBCbGFja0JlcnJ5IHBvcnRpbmcgZ2V0IGlk
ZW50aWZpZWQgYW5kIGZpeGVkLgorCisgICAgICAgIEludGVybmFsbHkgcmV2aWV3ZWQgYnkgSm9l
IE1hc29uIDxqbWFzb25AcmltLmNvbT4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNr
YmVycnkvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoZHJ0Q3JlZGVudGlhbERlc2NyaXB0
aW9uKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6RHVtcFJlbmRlclRyZWU6OmRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0JlcnJ5Lmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlKToKKwogMjAxMi0w
NS0yNSAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5v
cmc+CiAKICAgICAgICAgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyB0byBzdXBwb3J0IGxheW91dFRl
c3RDb250cm9sbGVyLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDYyMGU2
YWNkNWQyOTAzYzUzZTFkMTkwYTQzNDdiYzMzMjIwMmE3OGUuLmExOTc0MmMzMzM0NmYwOWQyYWI4
NWRjZjM0YzI1NTExNzcxOThlNmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Js
YWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Js
YWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAi
QmFja0ZvcndhcmRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0SW1wbC5o
IgogI2luY2x1ZGUgIkNTdHJpbmcuaCIKKyNpbmNsdWRlICJDcmVkZW50aWFsLmgiCiAjaW5jbHVk
ZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNs
dWRlICJEdW1wUmVuZGVyVHJlZS9HQ0NvbnRyb2xsZXIuaCIKQEAgLTEyNCw2ICsxMjUsMTIgQEAg
c3RhdGljIFN0cmluZyBkcnRGcmFtZURlc2NyaXB0aW9uKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSkK
ICAgICByZXR1cm4gImZyYW1lIChhbm9ueW1vdXMpIjsKIH0KIAorc3RhdGljIFdURjo6U3RyaW5n
IGRydENyZWRlbnRpYWxEZXNjcmlwdGlvbihXZWJDb3JlOjpDcmVkZW50aWFsJikKK3sKKyAgICAv
LyBUT0RPOiBJbXBsZW1lbnRhdGlvbiBuZWVkZWQuCisgICAgcmV0dXJuICI8dW5rbm93bj4iOwor
fQorCiBzdGF0aWMgYm9vbCBzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0ZXMoY29uc3QgU3RyaW5n
JiB1cmwpCiB7CiAgICAgcmV0dXJuIHVybC5jb250YWlucygibG9hZGluZy8iKTsKQEAgLTg1Nyw2
ICs4NjQsMjAgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlRm9yRnJh
bWUoV2ViQ29yZTo6RnJhbWUqIGZyYW1lLCBjb25zdCBXZWIKICAgICAgICAgcHJpbnRmKCIlcyBo
YXMgTUlNRSB0eXBlICVzXG4iLCByZXNwb25zZS51cmwoKS5sYXN0UGF0aENvbXBvbmVudCgpLnV0
ZjgoKS5kYXRhKCksIHJlc3BvbnNlLm1pbWVUeXBlKCkudXRmOCgpLmRhdGEoKSk7CiB9CiAKK2Jv
b2wgRHVtcFJlbmRlclRyZWU6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJD
b3JlOjpDcmVkZW50aWFsJiBjcmVkZW50aWFsKQoreworICAgIGlmICghZ0xheW91dFRlc3RDb250
cm9sbGVyLT5oYW5kbGVzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VzKCkpIHsKKyAgICAgICAgY3Jl
ZGVudGlhbCA9IFdlYkNvcmU6OkNyZWRlbnRpYWwoKTsKKyAgICAgICAgcHJpbnRmKCIlcyAtIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAtIFNpbXVsYXRpbmcgY2FuY2VsbGVkIGF1
dGhlbnRpY2F0aW9uXG4iLCBkcnRDcmVkZW50aWFsRGVzY3JpcHRpb24oY3JlZGVudGlhbCkudXRm
OCgpLmRhdGEoKSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgY29uc3QgY2hh
ciogdXNlciA9IGdMYXlvdXRUZXN0Q29udHJvbGxlci0+YXV0aGVudGljYXRpb25Vc2VybmFtZSgp
LmNfc3RyKCk7CisgICAgY29uc3QgY2hhciogcGFzc3dvcmQgPSBnTGF5b3V0VGVzdENvbnRyb2xs
ZXItPmF1dGhlbnRpY2F0aW9uUGFzc3dvcmQoKS5jX3N0cigpOworICAgIGNyZWRlbnRpYWwgPSBX
ZWJDb3JlOjpDcmVkZW50aWFsKHVzZXIsIHBhc3N3b3JkLCBXZWJDb3JlOjpDcmVkZW50aWFsUGVy
c2lzdGVuY2VGb3JTZXNzaW9uKTsKKyAgICBwcmludGYoIiVzIC0gZGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlIC0gUmVzcG9uZGluZyB3aXRoICVzOiVzXG4iLCBkcnRDcmVkZW50aWFs
RGVzY3JpcHRpb24oY3JlZGVudGlhbCkudXRmOCgpLmRhdGEoKSwgdXNlciwgcGFzc3dvcmQpOwor
ICAgIHJldHVybiB0cnVlOworfQorCiB9CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0JlcnJ5LmggYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlQmxhY2tCZXJyeS5oCmluZGV4IDJm
ZjY5MTYxYzIzMzZiNWVmMzJkYzJkNWM3ODBmMmU4YTVmODRkZWUuLmM2ZWJhOWQxOTg0NDFkMDhk
MjU2ZTE0ODQyZTg2MGY1ZDlmNDZkNzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWVCbGFja0JlcnJ5LmgKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZUJsYWNrQmVycnkuaApAQCAtMjgsOCAr
MjgsOSBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
Y2xhc3MgRnJhbWU7CitjbGFzcyBDcmVkZW50aWFsOwogY2xhc3MgRE9NV3JhcHBlcldvcmxkOwor
Y2xhc3MgRnJhbWU7CiBjbGFzcyBSYW5nZTsKIH0KIApAQCAtMTAxLDYgKzEwMiw3IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgaXNTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gc19zZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkOyB9CiAgICAgdm9pZCBz
ZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBzX3NlbGVj
dFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQgPSBlbmFibGVkOyB9CisgICAgYm9vbCBkaWRSZWNl
aXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwogCiBwcml2
YXRlOgogICAgIHZvaWQgcnVuVGVzdChjb25zdCBTdHJpbmcmIHVybCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>