<?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>85764</bug_id>
          
          <creation_ts>2012-05-06 19:36:09 -0700</creation_ts>
          <short_desc>[Chromium] Move createMessagePortChannel to Platform.h</short_desc>
          <delta_ts>2012-06-06 19:41:04 -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 Misc.</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>
          <dependson>86559</dependson>
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>617301</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-06 19:36:09 -0700</bug_when>
    <thetext>[Chromium] Move createMessagePortChannel to Platform.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617302</commentid>
    <comment_count>1</comment_count>
      <attachid>140456</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-06 19:36:45 -0700</bug_when>
    <thetext>Created attachment 140456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617305</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-06 19:39:50 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617336</commentid>
    <comment_count>3</comment_count>
      <attachid>140456</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-06 20:38:24 -0700</bug_when>
    <thetext>Comment on attachment 140456
Patch

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

&gt; Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h:-60
&gt; -class WebMessagePortChannel; // FIXME: Does this belong in platform?

We&apos;ll also want to move WebMessagePortChannel and WebMessagePortChannelClient int Source/Platform/chromium/public as well.  They look like they&apos;ll move cleanly, so the answer to this comment seems to be &quot;yes&quot;.

&gt; Source/WebKit/chromium/src/PlatformMessagePortChannel.cpp:46
&gt;  namespace WebCore {

Once you move WebMessagePortChannel into Source/Platform/chromium/public, you can move all this code into WebCore/platform where it belongs.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624613</commentid>
    <comment_count>4</comment_count>
      <attachid>142067</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-15 14:59:57 -0700</bug_when>
    <thetext>Created attachment 142067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624615</commentid>
    <comment_count>5</comment_count>
      <attachid>142067</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-15 15:00:31 -0700</bug_when>
    <thetext>Comment on attachment 142067
Patch

Now moves WebMessagePortChannel and WebMessagePortChannelClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624629</commentid>
    <comment_count>6</comment_count>
      <attachid>142067</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-15 15:07:03 -0700</bug_when>
    <thetext>Comment on attachment 142067
Patch

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

&gt; Source/WebKit/chromium/src/PlatformMessagePortChannel.cpp:46
&gt;  namespace WebCore {

This patch is great.  Thanks!

A good followup patch might be to try to move this code in the WebCore namespace into Source/WebCore/platform/chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624876</commentid>
    <comment_count>7</comment_count>
      <attachid>142067</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 19:29:25 -0700</bug_when>
    <thetext>Comment on attachment 142067
Patch

Clearing flags on attachment: 142067

Committed r117204: &lt;http://trac.webkit.org/changeset/117204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624877</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 19:29:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624902</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 20:12:37 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 86559</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642428</commentid>
    <comment_count>10</comment_count>
      <attachid>146012</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-06-06 06:57:40 -0700</bug_when>
    <thetext>Created attachment 146012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642554</commentid>
    <comment_count>11</comment_count>
      <attachid>146012</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-06 09:52:44 -0700</bug_when>
    <thetext>Comment on attachment 146012
Patch

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

&gt; Source/WebKit/chromium/public/WebFrame.h:42
&gt; +#include &lt;public/WebMessagePortChannel.h&gt;

The #includes in Source/WebKit/chromium/public should use forwarding headers, like WebURL.h above.

&gt; Source/WebKit/chromium/src/PlatformMessagePortChannel.cpp:123
&gt;  PlatformMessagePortChannel::PlatformMessagePortChannel()

This whole class should probably move into WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642555</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-06 09:53:03 -0700</bug_when>
    <thetext>(Feel free to move PlatformMessagePortChannel in a followup patch.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642675</commentid>
    <comment_count>13</comment_count>
      <attachid>146080</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-06-06 12:02:28 -0700</bug_when>
    <thetext>Created attachment 146080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642676</commentid>
    <comment_count>14</comment_count>
      <attachid>146080</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-06-06 12:03:16 -0700</bug_when>
    <thetext>Comment on attachment 146080
Patch

reverted headers in chromium/public/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643105</commentid>
    <comment_count>15</comment_count>
      <attachid>146080</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-06 19:40:58 -0700</bug_when>
    <thetext>Comment on attachment 146080
Patch

Clearing flags on attachment: 146080

Committed r119666: &lt;http://trac.webkit.org/changeset/119666&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643106</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-06 19:41:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140456</attachid>
            <date>2012-05-06 19:36:45 -0700</date>
            <delta_ts>2012-05-15 14:59:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85764-20120506223601.patch</filename>
            <type>text/plain</type>
            <size>5096</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MjYxKQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA1LTA2ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgY3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzY0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNl
cmllcy4gU2VlIHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIGNocm9taXVtL3B1Ymxp
Yy9QbGF0Zm9ybS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFBsYXRmb3JtKToKKyAg
ICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmNyZWF0ZU1lc3NhZ2VQb3J0Q2hhbm5lbCk6CisKIDIw
MTItMDUtMDQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAg
ICAgTWVkaWFTdHJlYW0gQVBJOiBNYWtlIFBlZXJDb25uZWN0aW9uMDAncyBBUEkgZnVsbHkgY29t
cGxpYW50IHdpdGggdGhlIGRyYWZ0CkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9QbGF0Zm9ybS5oCShyZXZpc2lvbiAxMTYyNTUpCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hy
b21pdW0vcHVibGljL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJBdWRpb0J1czsKIGNsYXNzIFdlYk1lZGlhU3Ry
ZWFtQ2VudGVyOwogY2xhc3MgV2ViTWVkaWFTdHJlYW1DZW50ZXJDbGllbnQ7CitjbGFzcyBXZWJN
ZXNzYWdlUG9ydENoYW5uZWw7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3Jt
PwogY2xhc3MgV2ViTWltZVJlZ2lzdHJ5OwogY2xhc3MgV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXI7CiBjbGFzcyBXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudDsKQEAgLTExNiw2ICsx
MTcsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgc2l6ZV90IGhpZ2hVc2FnZURlbHRhTUIoKSB7
IHJldHVybiAxMjg7IH0KIAogCisgICAgLy8gTWVzc2FnZSBQb3J0cyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAvLyBDcmVhdGVz
IGEgTWVzc2FnZSBQb3J0IENoYW5uZWwuIFRoaXMgY2FuIGJlIGNhbGxlZCBvbiBhbnkgdGhyZWFk
LgorICAgIC8vIFRoZSByZXR1cm5lZCBvYmplY3Qgc2hvdWxkIG9ubHkgYmUgdXNlZCBvbiB0aGUg
dGhyZWFkIGl0IHdhcyBjcmVhdGVkIG9uLgorICAgIHZpcnR1YWwgV2ViTWVzc2FnZVBvcnRDaGFu
bmVsKiBjcmVhdGVNZXNzYWdlUG9ydENoYW5uZWwoKSB7IHJldHVybiAwOyB9CisKKwogICAgIC8v
IE5ldHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCiAgICAgLy8gUmV0dXJucyBhIG5ldyBXZWJVUkxMb2FkZXIgaW5zdGFu
Y2UuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MjYxKQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxOCBAQAorMjAxMi0wNS0wNiAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW0Nocm9taXVtXSBNb3ZlIGNyZWF0ZU1lc3NhZ2VQb3J0Q2hhbm5lbCB0byBQ
bGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NTc2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDguCisK
KyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmg6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJLaXRQbGF0Zm9ybVN1cHBvcnQ6Omlu
amVjdElEQktleUludG9TZXJpYWxpemVkVmFsdWUpOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybU1l
c3NhZ2VQb3J0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lc3NhZ2VQ
b3J0Q2hhbm5lbDo6UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwpOgorCiAyMDEyLTA1LTA2ICBL
ZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
QWRkIFdlYktpdCBBUEkgdG8gYWNjZXNzIG11bHRpcGxlIGF0dHJpYnV0ZSBvZiBpbnB1dCBlbGVt
ZW50CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQ
bGF0Zm9ybVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTE2MjU1KQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1T
dXBwb3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDYgQEAgY2xhc3MgV2ViRmlsZVN5
c3RlbTsKIGNsYXNzIFdlYkZpbGVVdGlsaXRpZXM7CiBjbGFzcyBXZWJJREJGYWN0b3J5OyAvLyBG
SVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KIGNsYXNzIFdlYklEQktleTsgLy8g
RklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/Ci1jbGFzcyBXZWJNZXNzYWdlUG9y
dENoYW5uZWw7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwogY2xhc3Mg
V2ViUGx1Z2luTGlzdEJ1aWxkZXI7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRm
b3JtPwogY2xhc3MgV2ViU2FuZGJveFN1cHBvcnQ7CiBjbGFzcyBXZWJTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5OyAvLyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KQEAgLTEzNywx
MyArMTM2LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVl
IGluamVjdElEQktleUludG9TZXJpYWxpemVkVmFsdWUoY29uc3QgV2ViSURCS2V5JiBrZXksIGNv
bnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFdlYklEQktleVBhdGgm
IGtleVBhdGgpIHsgcmV0dXJuIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSgpOyB9CiAKIAotICAg
IC8vIE1lc3NhZ2UgUG9ydHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotCi0gICAgLy8gQ3JlYXRlcyBhIE1lc3NhZ2UgUG9ydCBDaGFubmVs
LiBUaGlzIGNhbiBiZSBjYWxsZWQgb24gYW55IHRocmVhZC4KLSAgICAvLyBUaGUgcmV0dXJuZWQg
b2JqZWN0IHNob3VsZCBvbmx5IGJlIHVzZWQgb24gdGhlIHRocmVhZCBpdCB3YXMgY3JlYXRlZCBv
bi4KLSAgICB2aXJ0dWFsIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbCogY3JlYXRlTWVzc2FnZVBvcnRD
aGFubmVsKCkgeyByZXR1cm4gMDsgfQotCi0KICAgICAvLyBQbHVnaW5zIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8v
IElmIHJlZnJlc2ggaXMgdHJ1ZSwgdGhlbiBjYWNoZWQgaW5mb3JtYXRpb24gc2hvdWxkIG5vdCBi
ZSB1c2VkIHRvCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybU1lc3Nh
Z2VQb3J0Q2hhbm5lbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwCShyZXZpc2lvbiAxMTYyNTUpCisrKyBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM2LDEwICszNiwxMSBAQAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oIgogCiAjaW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0v
V2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFubmVs
LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAKKyNpbmNsdWRlIDxwdWJsaWMv
UGxhdGZvcm0uaD4KKwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMTIyLDcgKzEyMyw3IEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWw+IFAKIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpQbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbCgpCiAgICAgOiBtX2xvY2FsUG9ydCgwKQogewotICAgIG1fd2ViQ2hhbm5lbCA9IHdl
YktpdFBsYXRmb3JtU3VwcG9ydCgpLT5jcmVhdGVNZXNzYWdlUG9ydENoYW5uZWwoKTsKKyAgICBt
X3dlYkNoYW5uZWwgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmNyZWF0ZU1lc3NhZ2VQ
b3J0Q2hhbm5lbCgpOwogICAgIGlmIChtX3dlYkNoYW5uZWwpCiAgICAgICAgIG1fd2ViQ2hhbm5l
bC0+c2V0Q2xpZW50KHRoaXMpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142067</attachid>
            <date>2012-05-15 14:59:57 -0700</date>
            <delta_ts>2012-06-06 06:57:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85764-20120515175944.patch</filename>
            <type>text/plain</type>
            <size>16512</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3MTY3KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTE1ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgY3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzY0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNl
cmllcy4gU2VlIHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cGk6
CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmg6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoUGxhdGZvcm0pOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6Y3JlYXRl
TWVzc2FnZVBvcnRDaGFubmVsKToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2Fn
ZVBvcnRDaGFubmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYk1l
c3NhZ2VQb3J0Q2hhbm5lbCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5l
bDo6fldlYk1lc3NhZ2VQb3J0Q2hhbm5lbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQ6On5XZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQp
OgorCiAyMDEyLTA1LTE1ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBNb3ZlIGNyZWF0ZU9mZnNjcmVlbkdyYXBoaWNzQ29udGV4dDNE
KCkgZnJvbSBXZWJLaXRQbGF0Zm9ybVN1cHBvcnQgdG8gUGxhdGZvcm0KSW5kZXg6IFNvdXJjZS9Q
bGF0Zm9ybS9QbGF0Zm9ybS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9QbGF0Zm9ybS9QbGF0
Zm9ybS5neXBpCShyZXZpc2lvbiAxMTcxNjEpCisrKyBTb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0u
Z3lwaQkod29ya2luZyBjb3B5KQpAQCAtNzAsNiArNzAsOCBAQAogICAgICAgICAgICAgJ2Nocm9t
aXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCcsCiAgICAgICAgICAgICAnY2hy
b21pdW0vcHVibGljL1dlYk1lZGlhU3RyZWFtU291cmNlLmgnLAogICAgICAgICAgICAgJ2Nocm9t
aXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbVNvdXJjZXNSZXF1ZXN0LmgnLAorICAgICAgICAgICAg
J2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaCcsCisgICAgICAgICAgICAn
Y2hyb21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oJywKICAgICAgICAg
ICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViTWltZVJlZ2lzdHJ5LmgnLAogICAgICAgICAgICAgJ2No
cm9taXVtL3B1YmxpYy9XZWJOb25Db3B5YWJsZS5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9w
dWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIuaCcsCkluZGV4OiBTb3VyY2UvUGxhdGZv
cm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCShyZXZpc2lvbiAxMTcxNjEpCisrKyBTb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDYgKzQ0LDcgQEAgY2xhc3MgV2ViQ2xpcGJvYXJkOwogY2xhc3MgV2ViRmlsZVN5c3RlbTsK
IGNsYXNzIFdlYk1lZGlhU3RyZWFtQ2VudGVyOwogY2xhc3MgV2ViTWVkaWFTdHJlYW1DZW50ZXJD
bGllbnQ7CitjbGFzcyBXZWJNZXNzYWdlUG9ydENoYW5uZWw7CiBjbGFzcyBXZWJNaW1lUmVnaXN0
cnk7CiBjbGFzcyBXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjsKIGNsYXNzIFdlYlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyQ2xpZW50OwpAQCAtMTI2LDYgKzEyNywxMyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBzaXplX3QgaGlnaFVzYWdlRGVsdGFNQigpIHsgcmV0dXJuIDEyODsgfQogCiAKKyAg
ICAvLyBNZXNzYWdlIFBvcnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIENyZWF0ZXMgYSBNZXNzYWdlIFBvcnQgQ2hhbm5l
bC4gVGhpcyBjYW4gYmUgY2FsbGVkIG9uIGFueSB0aHJlYWQuCisgICAgLy8gVGhlIHJldHVybmVk
IG9iamVjdCBzaG91bGQgb25seSBiZSB1c2VkIG9uIHRoZSB0aHJlYWQgaXQgd2FzIGNyZWF0ZWQg
b24uCisgICAgdmlydHVhbCBXZWJNZXNzYWdlUG9ydENoYW5uZWwqIGNyZWF0ZU1lc3NhZ2VQb3J0
Q2hhbm5lbCgpIHsgcmV0dXJuIDA7IH0KKworCiAgICAgLy8gTmV0d29yayAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAv
LyBSZXR1cm5zIGEgbmV3IFdlYlVSTExvYWRlciBpbnN0YW5jZS4KSW5kZXg6IFNvdXJjZS9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwu
aAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVz
c2FnZVBvcnRDaGFubmVsLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbF9oCisjZGVmaW5lIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbF9oCisK
KyNpbmNsdWRlICJXZWJDb21tb24uaCIKKyNpbmNsdWRlICJXZWJWZWN0b3IuaCIKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudDsKK2NsYXNz
IFdlYlN0cmluZzsKKwordHlwZWRlZiBXZWJWZWN0b3I8Y2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFu
bmVsKj4gV2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXk7CisKKy8vIFByb3ZpZGVzIGFuIGludGVy
ZmFjZSB0byBhIE1lc3NhZ2UgUG9ydCBDaGFubmVsIGltcGxlbWVudGF0aW9uLiBUaGUgb2JqZWN0
IG93bnMgaXRzZWxmIGFuZAorLy8gaXMgc2lnbmFsbGVkIHRoYXQgaXRzIG5vdCBuZWVkZWQgYW55
bW9yZSB3aXRoIHRoZSBkZXN0cm95KCkgY2FsbC4KK2NsYXNzIFdlYk1lc3NhZ2VQb3J0Q2hhbm5l
bCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lkIHNldENsaWVudChXZWJNZXNzYWdlUG9ydENo
YW5uZWxDbGllbnQqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3koKSA9IDA7CisgICAg
Ly8gV2ViS2l0IHZlcnNpb25zIG9mIFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Q2hhbm5lbC4KKyAgICB2
aXJ0dWFsIHZvaWQgZW50YW5nbGUoV2ViTWVzc2FnZVBvcnRDaGFubmVsKikgPSAwOworICAgIC8v
IENhbGxlZSByZWNlaXZlcyBvd25lcnNoaXAgb2YgdGhlIHBhc3NlZCB2ZWN0b3IuCisgICAgdmly
dHVhbCB2b2lkIHBvc3RNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYsIFdlYk1lc3NhZ2VQb3J0Q2hh
bm5lbEFycmF5KikgPSAwOworICAgIHZpcnR1YWwgYm9vbCB0cnlHZXRNZXNzYWdlKFdlYlN0cmlu
ZyosIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5JikgPSAwOworCitwcm90ZWN0ZWQ6CisgICAg
fldlYk1lc3NhZ2VQb3J0Q2hhbm5lbCgpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZgpJbmRleDogU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZXNz
YWdlUG9ydENoYW5uZWxDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hy
b21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWxD
bGllbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViTWVzc2FnZVBv
cnRDaGFubmVsQ2xpZW50X2gKKyNkZWZpbmUgV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50X2gK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgdXNl
cnMgb2YgV2ViTWVzc2FnZVBvcnRDaGFubmVsIHRvIGJlIG5vdGlmaWVkCisvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBhdmFpbGFibGUuCitjbGFzcyBXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQgewor
cHVibGljOgorICAgIC8vIEFsZXJ0cyB0aGF0IG5ldyBtZXNzYWdlcyBoYXZlIGFycml2ZWQsIHdo
aWNoIGFyZSByZXRyaWV2ZWQgYnkgY2FsbGluZworICAgIC8vIFdlYk1lc3NhZ2VQb3J0Q2hhbm5l
bDo6dHJ5R2V0TWVzc2FnZS4gTm90ZSB0aGF0IHRoaXMgbWF5IGJlIGNhbGxlZAorICAgIC8vIG9u
IGFueSB0aHJlYWQuCisgICAgdmlydHVhbCB2b2lkIG1lc3NhZ2VBdmFpbGFibGUoKSA9IDA7CisK
K3Byb3RlY3RlZDoKKyAgICB+V2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50KCkgeyB9Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkocmV2aXNpb24gMTE3MTY3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wNS0xNSAgTWFyayBQ
aWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBNb3Zl
IGNyZWF0ZU1lc3NhZ2VQb3J0Q2hhbm5lbCB0byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTc2NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJp
ZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAg
ICAgICAqIHB1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaDoKKyAgICAgICAgKiBwdWJsaWMv
cGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJLaXRQbGF0Zm9ybVN1cHBvcnQ6OmluamVjdElEQktleUludG9TZXJp
YWxpemVkVmFsdWUpOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6UGxhdGZv
cm1NZXNzYWdlUG9ydENoYW5uZWwpOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbC5oOgorICAgICAgICAqIHNyYy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcDoKKyAg
ICAgICAgKiBzcmMvV2ViU2hhcmVkV29ya2VySW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYldv
cmtlckNsaWVudEltcGwuY3BwOgorCiAyMDEyLTA1LTE1ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVz
ckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNb3ZlIGNyZWF0ZU9mZnNjcmVl
bkdyYXBoaWNzQ29udGV4dDNEKCkgZnJvbSBXZWJLaXRQbGF0Zm9ybVN1cHBvcnQgdG8gUGxhdGZv
cm0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDExNzE2MSkKKysr
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAtMTk5
LDggKzE5OSw2IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVu
dC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYk1lZGlhU3RyZWFtUmVnaXN0cnkuaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJNZW51SXRlbUluZm8uaCcsCi0gICAgICAgICAg
ICAgICAgJ3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaCcsCi0gICAgICAgICAgICAgICAg
J3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQuaCcsCiAgICAgICAgICAgICAgICAg
J3B1YmxpYy9XZWJOYXZpZ2F0aW9uVHlwZS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dl
Yk5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViTm9k
ZS5oJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0
Q2hhbm5lbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbC5oCShyZXZpc2lvbiAxMTcxNjEpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsMzUgKzI4LDQgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBXZWJNZXNz
YWdlUG9ydENoYW5uZWxfaAotI2RlZmluZSBXZWJNZXNzYWdlUG9ydENoYW5uZWxfaAotCi0jaW5j
bHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViVmVjdG9y
LmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJNZXNzYWdlUG9ydENoYW5uZWxD
bGllbnQ7Ci1jbGFzcyBXZWJTdHJpbmc7Ci0KLXR5cGVkZWYgV2ViVmVjdG9yPGNsYXNzIFdlYk1l
c3NhZ2VQb3J0Q2hhbm5lbCo+IFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5OwotCi0vLyBQcm92
aWRlcyBhbiBpbnRlcmZhY2UgdG8gYSBNZXNzYWdlIFBvcnQgQ2hhbm5lbCBpbXBsZW1lbnRhdGlv
bi4gIFRoZSBvYmplY3Qgb3ducyBpdHNlbGYgYW5kCi0vLyBpcyBzaWduYWxsZWQgdGhhdCBpdHMg
bm90IG5lZWRlZCBhbnltb3JlIHdpdGggdGhlIGRlc3Ryb3koKSBjYWxsLgotY2xhc3MgV2ViTWVz
c2FnZVBvcnRDaGFubmVsIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpZW50KFdl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudCopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGVzdHJv
eSgpID0gMDsKLSAgICAvLyBXZWJLaXQgdmVyc2lvbnMgb2YgV2ViQ29yZTo6TWVzc2FnZVBvcnRD
aGFubmVsLgotICAgIHZpcnR1YWwgdm9pZCBlbnRhbmdsZShXZWJNZXNzYWdlUG9ydENoYW5uZWwq
KSA9IDA7Ci0gICAgLy8gQ2FsbGVlIHJlY2VpdmVzIG93bmVyc2hpcCBvZiB0aGUgcGFzc2VkIHZl
Y3Rvci4KLSAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiwgV2Vi
TWVzc2FnZVBvcnRDaGFubmVsQXJyYXkqKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHRyeUdldE1l
c3NhZ2UoV2ViU3RyaW5nKiwgV2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkmKSA9IDA7Ci0KLXBy
b3RlY3RlZDoKLSAgICB+V2ViTWVzc2FnZVBvcnRDaGFubmVsKCkgeyB9Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCisjaW5jbHVkZSAiLi4vLi4vUGxhdGZvcm0vY2hyb21p
dW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZv
cm1TdXBwb3J0LmgJKHJldmlzaW9uIDExNzE2MSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NSw3ICs1NSw2IEBAIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkZpbGVVdGlsaXRp
ZXM7CiBjbGFzcyBXZWJJREJGYWN0b3J5OyAvLyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBw
bGF0Zm9ybT8KIGNsYXNzIFdlYklEQktleTsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4g
cGxhdGZvcm0/Ci1jbGFzcyBXZWJNZXNzYWdlUG9ydENoYW5uZWw7IC8vIEZJWE1FOiBEb2VzIHRo
aXMgYmVsb25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViUGx1Z2luTGlzdEJ1aWxkZXI7IC8vIEZJ
WE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViU2FuZGJveFN1cHBv
cnQ7CiBjbGFzcyBXZWJTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OyAvLyBGSVhNRTogRG9lcyB0aGlz
IGJlbG9uZyBpbiBwbGF0Zm9ybT8KQEAgLTEzMiwxMyArMTMxLDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIGluamVjdElEQktleUludG9TZXJpYWxpemVk
VmFsdWUoY29uc3QgV2ViSURCS2V5JiBrZXksIGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSYgdmFsdWUsIGNvbnN0IFdlYklEQktleVBhdGgmIGtleVBhdGgpIHsgcmV0dXJuIFdlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSgpOyB9CiAKIAotICAgIC8vIE1lc3NhZ2UgUG9ydHMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gICAgLy8g
Q3JlYXRlcyBhIE1lc3NhZ2UgUG9ydCBDaGFubmVsLiBUaGlzIGNhbiBiZSBjYWxsZWQgb24gYW55
IHRocmVhZC4KLSAgICAvLyBUaGUgcmV0dXJuZWQgb2JqZWN0IHNob3VsZCBvbmx5IGJlIHVzZWQg
b24gdGhlIHRocmVhZCBpdCB3YXMgY3JlYXRlZCBvbi4KLSAgICB2aXJ0dWFsIFdlYk1lc3NhZ2VQ
b3J0Q2hhbm5lbCogY3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsKCkgeyByZXR1cm4gMDsgfQotCi0K
ICAgICAvLyBQbHVnaW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIElmIHJlZnJlc2ggaXMgdHJ1ZSwgdGhlbiBj
YWNoZWQgaW5mb3JtYXRpb24gc2hvdWxkIG5vdCBiZSB1c2VkIHRvCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5u
ZWwuY3BwCShyZXZpc2lvbiAxMTcxNjEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Q
bGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDEwICsz
NiwxMSBAQAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogCiAjaW5jbHVkZSAi
V2ViS2l0LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCi0j
aW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFubmVsLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2Vi
U3RyaW5nLmgiCiAKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJs
aWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg+CisKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEyMiw3ICsxMjMsNyBAQCBQYXNzUmVmUHRyPFBsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsPiBQCiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6UGxh
dGZvcm1NZXNzYWdlUG9ydENoYW5uZWwoKQogICAgIDogbV9sb2NhbFBvcnQoMCkKIHsKLSAgICBt
X3dlYkNoYW5uZWwgPSB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+Y3JlYXRlTWVzc2FnZVBvcnRD
aGFubmVsKCk7CisgICAgbV93ZWJDaGFubmVsID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgp
LT5jcmVhdGVNZXNzYWdlUG9ydENoYW5uZWwoKTsKICAgICBpZiAobV93ZWJDaGFubmVsKQogICAg
ICAgICBtX3dlYkNoYW5uZWwtPnNldENsaWVudCh0aGlzKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwu
aAkocmV2aXNpb24gMTE3MTYxKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZv
cm1NZXNzYWdlUG9ydENoYW5uZWwuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsOSArMzEsOSBAQAog
I2lmbmRlZiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbF9oCiAjZGVmaW5lIFBsYXRmb3JtTWVz
c2FnZVBvcnRDaGFubmVsX2gKIAotI2luY2x1ZGUgIldlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVu
dC5oIgogCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnRDaGFubmVsLmgiCisjaW5jbHVkZSA8cHVibGlj
L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAkocmV2aXNp
b24gMTE3MTYxKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDYgQEAKICNpbmNsdWRlICJX
ZWJGcmFtZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldl
YktpdC5oIgotI2luY2x1ZGUgIldlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgogI2luY2x1ZGUgIldl
YlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCIK
ICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaCIKQEAgLTU1LDYgKzU0
LDcgQEAKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKICNpbmNsdWRlICJXb3JrZXJTY3Jp
cHRMb2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKKyNpbmNs
dWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1w
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVk
V29ya2VySW1wbC5jcHAJKHJldmlzaW9uIDExNzE2MSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0
Niw2IEBACiAjaW5jbHVkZSAiV2ViRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVDbGll
bnQuaCIKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKLSNpbmNsdWRlICJXZWJNZXNzYWdlUG9y
dENoYW5uZWwuaCIKICNpbmNsdWRlICJXZWJSdW50aW1lRmVhdHVyZXMuaCIKICNpbmNsdWRlICJX
ZWJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlckNsaWVudC5oIgpAQCAtNTgs
NiArNTcsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYlN0cmluZy5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5o
PgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCShyZXZpc2lvbiAxMTcxNjEp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTgsMTIgKzU4LDEzIEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBs
LmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZv
cm1TdXBwb3J0LmgiCi0jaW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFubmVsLmgiCiAjaW5jbHVk
ZSAiV2ViUGVybWlzc2lvbkNsaWVudC5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlN0cmluZy5o
IgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogI2luY2x1ZGUgIldlYlZpZXdJbXBsLmgi
CiAKKyNpbmNsdWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg+CisKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146012</attachid>
            <date>2012-06-06 06:57:40 -0700</date>
            <delta_ts>2012-06-06 12:02:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85764-20120606095652.patch</filename>
            <type>text/plain</type>
            <size>20843</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE5NTg4KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTA2ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgY3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzY0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNl
cmllcy4gU2VlIHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cGk6
CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmg6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoUGxhdGZvcm0pOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6Y3JlYXRl
TWVzc2FnZVBvcnRDaGFubmVsKToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2Fn
ZVBvcnRDaGFubmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYk1l
c3NhZ2VQb3J0Q2hhbm5lbCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5l
bDo6fldlYk1lc3NhZ2VQb3J0Q2hhbm5lbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQ6On5XZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQp
OgorCiAyMDEyLTA2LTA1ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbQ2hyb21pdW1dIE1vdmUgY3JlYXRlTG9jYWxTdG9yYWdlTmFtZXNwYWNlIHRvIFBs
YXRmb3JtLmgKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCShyZXZpc2lvbiAxMTk1ODcpCisrKyBT
b3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcs
OCBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbURlc2NyaXB0
b3IuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYk1lZGlhU3RyZWFtU291cmNl
LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbVNvdXJjZXNS
ZXF1ZXN0LmgnLAorICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENo
YW5uZWwuaCcsCisgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hh
bm5lbENsaWVudC5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViTWltZVJlZ2lz
dHJ5LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJOb25Db3B5YWJsZS5oJywK
ICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIu
aCcsCkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCShy
ZXZpc2lvbiAxMTk1ODcpCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRm
b3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgY2xhc3MgV2ViRmlsZVN5c3Rl
bTsKIGNsYXNzIFdlYkZpbGVVdGlsaXRpZXM7CiBjbGFzcyBXZWJNZWRpYVN0cmVhbUNlbnRlcjsK
IGNsYXNzIFdlYk1lZGlhU3RyZWFtQ2VudGVyQ2xpZW50OworY2xhc3MgV2ViTWVzc2FnZVBvcnRD
aGFubmVsOwogY2xhc3MgV2ViTWltZVJlZ2lzdHJ5OwogY2xhc3MgV2ViUGVlckNvbm5lY3Rpb24w
MEhhbmRsZXI7CiBjbGFzcyBXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudDsKQEAgLTE2
NSw2ICsxNjYsMTQgQEAgcHVibGljOgogICAgIC8vIGZhbHNlIG9uIHBsYXRmb3JtIHNwZWNpZmlj
IGVycm9yIGNvbmRpdGlvbnMuCiAgICAgdmlydHVhbCBib29sIHByb2Nlc3NNZW1vcnlTaXplc0lu
Qnl0ZXMoc2l6ZV90KiBwcml2YXRlQnl0ZXMsIHNpemVfdCogc2hhcmVkQnl0ZXMpIHsgcmV0dXJu
IGZhbHNlOyB9CiAKKworICAgIC8vIE1lc3NhZ2UgUG9ydHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgLy8gQ3JlYXRlcyBhIE1l
c3NhZ2UgUG9ydCBDaGFubmVsLiBUaGlzIGNhbiBiZSBjYWxsZWQgb24gYW55IHRocmVhZC4KKyAg
ICAvLyBUaGUgcmV0dXJuZWQgb2JqZWN0IHNob3VsZCBvbmx5IGJlIHVzZWQgb24gdGhlIHRocmVh
ZCBpdCB3YXMgY3JlYXRlZCBvbi4KKyAgICB2aXJ0dWFsIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbCog
Y3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsKCkgeyByZXR1cm4gMDsgfQorCisKICAgICAvLyBOZXR3
b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAogICAgIC8vIFJldHVybnMgYSBuZXcgV2ViVVJMTG9hZGVyIGluc3RhbmNlLgpJ
bmRleDogU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5u
ZWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYk1l
c3NhZ2VQb3J0Q2hhbm5lbC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgV2ViTWVzc2FnZVBvcnRDaGFubmVsX2gKKyNkZWZpbmUgV2ViTWVzc2Fn
ZVBvcnRDaGFubmVsX2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorI2luY2x1ZGUgIldlYlZl
Y3Rvci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFu
bmVsQ2xpZW50OworY2xhc3MgV2ViU3RyaW5nOworCit0eXBlZGVmIFdlYlZlY3RvcjxjbGFzcyBX
ZWJNZXNzYWdlUG9ydENoYW5uZWwqPiBXZWJNZXNzYWdlUG9ydENoYW5uZWxBcnJheTsKKworLy8g
UHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRvIGEgTWVzc2FnZSBQb3J0IENoYW5uZWwgaW1wbGVtZW50
YXRpb24uIFRoZSBvYmplY3Qgb3ducyBpdHNlbGYgYW5kCisvLyBpcyBzaWduYWxsZWQgdGhhdCBp
dHMgbm90IG5lZWRlZCBhbnltb3JlIHdpdGggdGhlIGRlc3Ryb3koKSBjYWxsLgorY2xhc3MgV2Vi
TWVzc2FnZVBvcnRDaGFubmVsIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpZW50
KFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGVz
dHJveSgpID0gMDsKKyAgICAvLyBXZWJLaXQgdmVyc2lvbnMgb2YgV2ViQ29yZTo6TWVzc2FnZVBv
cnRDaGFubmVsLgorICAgIHZpcnR1YWwgdm9pZCBlbnRhbmdsZShXZWJNZXNzYWdlUG9ydENoYW5u
ZWwqKSA9IDA7CisgICAgLy8gQ2FsbGVlIHJlY2VpdmVzIG93bmVyc2hpcCBvZiB0aGUgcGFzc2Vk
IHZlY3Rvci4KKyAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiwg
V2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkqKSA9IDA7CisgICAgdmlydHVhbCBib29sIHRyeUdl
dE1lc3NhZ2UoV2ViU3RyaW5nKiwgV2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkmKSA9IDA7CisK
K3Byb3RlY3RlZDoKKyAgICB+V2ViTWVzc2FnZVBvcnRDaGFubmVsKCkgeyB9Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21p
dW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50
LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYk1l
c3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnRfaAorI2RlZmluZSBXZWJNZXNzYWdlUG9y
dENoYW5uZWxDbGllbnRfaAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworLy8gUHJvdmlkZXMgYW4g
aW50ZXJmYWNlIGZvciB1c2VycyBvZiBXZWJNZXNzYWdlUG9ydENoYW5uZWwgdG8gYmUgbm90aWZp
ZWQKKy8vIHdoZW4gbWVzc2FnZXMgYXJlIGF2YWlsYWJsZS4KK2NsYXNzIFdlYk1lc3NhZ2VQb3J0
Q2hhbm5lbENsaWVudCB7CitwdWJsaWM6CisgICAgLy8gQWxlcnRzIHRoYXQgbmV3IG1lc3NhZ2Vz
IGhhdmUgYXJyaXZlZCwgd2hpY2ggYXJlIHJldHJpZXZlZCBieSBjYWxsaW5nCisgICAgLy8gV2Vi
TWVzc2FnZVBvcnRDaGFubmVsOjp0cnlHZXRNZXNzYWdlLiBOb3RlIHRoYXQgdGhpcyBtYXkgYmUg
Y2FsbGVkCisgICAgLy8gb24gYW55IHRocmVhZC4KKyAgICB2aXJ0dWFsIHZvaWQgbWVzc2FnZUF2
YWlsYWJsZSgpID0gMDsKKworcHJvdGVjdGVkOgorICAgIH5XZWJNZXNzYWdlUG9ydENoYW5uZWxD
bGllbnQoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTk1ODgpCisrKyBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisy
MDEyLTA2LTA2ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBbQ2hyb21pdW1dIE1vdmUgY3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsIHRvIFBsYXRmb3JtLmgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzY0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBQ
YXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisg
ICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50
Lmg6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgIChXZWJGcmFtZSk6Cisg
ICAgICAgICogcHVibGljL1dlYkludGVudC5oOgorICAgICAgICAqIHB1YmxpYy9XZWJNZXNzYWdl
UG9ydENoYW5uZWwuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xp
ZW50Lmg6CisgICAgICAgICogcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5oOgorICAgICAg
ICAoV2ViU2hhcmVkV29ya2VyQ2xpZW50KToKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2Vi
S2l0UGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJLaXRQbGF0Zm9ybVN1cHBvcnQ6OmluamVjdElEQktleUludG9TZXJpYWxpemVkVmFsdWUp
OgorICAgICAgICAqIHNyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6UGxhdGZvcm1NZXNzYWdlUG9y
dENoYW5uZWwpOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oOgor
ICAgICAgICAqIHNyYy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKiBzcmMv
V2ViU2hhcmVkV29ya2VySW1wbC5jcHA6CisKIDIwMTItMDYtMDYgIEtpbnVrbyBZYXN1ZGEgIDxr
aW51a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJvbGwgQ2hyb21pdW0gREVQUyBmcm9tIHIx
NDA3MDAgdG8gcjE0MDcxMS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlz
aW9uIDExOTU4NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk5LDggKzE5OSw2IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJN
ZWRpYVBsYXllckNsaWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYk1lZGlhU3Ry
ZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJNZW51SXRlbUluZm8u
aCcsCi0gICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaCcsCi0g
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJOYXZpZ2F0aW9uVHlwZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYk5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgnLAogICAgICAgICAgICAgICAg
ICdwdWJsaWMvV2ViTm9kZS5oJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkRPTU1lc3NhZ2VFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkRPTU1lc3NhZ2VFdmVudC5oCShyZXZpc2lvbiAxMTk1ODcpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01NZXNzYWdlRXZlbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsOSArMzEsMTAgQEAKICNkZWZpbmUgV2ViRE9NTWVzc2FnZUV2ZW50X2gKIAog
I2luY2x1ZGUgIldlYkRPTUV2ZW50LmgiCi0jaW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFubmVs
LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAKKyNp
bmNsdWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg+CisKICNpZiBXRUJLSVRfSU1Q
TEVNRU5UQVRJT04KICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5o
IgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCShyZXZpc2lv
biAxMTk1ODcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFdlYkZyYW1lX2gKIAogI2lu
Y2x1ZGUgIldlYkljb25VUkwuaCIKLSNpbmNsdWRlICJXZWJNZXNzYWdlUG9ydENoYW5uZWwuaCIK
ICNpbmNsdWRlICJXZWJOb2RlLmgiCiAjaW5jbHVkZSAiV2ViVVJMTG9hZGVyT3B0aW9ucy5oIgog
I2luY2x1ZGUgInBsYXRmb3JtL1dlYkNhbnZhcy5oIgpAQCAtNDAsNiArMzksOCBAQAogI2luY2x1
ZGUgInBsYXRmb3JtL1dlYlJlZmVycmVyUG9saWN5LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2Vi
VVJMLmgiCiAKKyNpbmNsdWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg+CisKIHN0
cnVjdCBOUE9iamVjdDsKIAogI2lmIFdFQktJVF9VU0lOR19WOApAQCAtMTYzLDcgKzE2NCw3IEBA
IHB1YmxpYzoKICAgICAvLyBUaGUgbWluaW11bSBhbmQgbWF4aXVtIHNjcm9sbCBwb3NpdGlvbnMg
aW4gcGl4ZWxzLgogICAgIHZpcnR1YWwgV2ViU2l6ZSBtaW5pbXVtU2Nyb2xsT2Zmc2V0KCkgY29u
c3QgPSAwOwogICAgIHZpcnR1YWwgV2ViU2l6ZSBtYXhpbXVtU2Nyb2xsT2Zmc2V0KCkgY29uc3Qg
PSAwOwotIAorCiAgICAgLy8gVGhlIHNpemUgb2YgdGhlIGNvbnRlbnRzIGFyZWEuCiAgICAgdmly
dHVhbCBXZWJTaXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0ID0gMDsKIApAQCAtNjQwLDcgKzY0MSw3
IEBAIHB1YmxpYzoKICAgICAvLyBlbXB0eSAoKDAsMCksICgwLDApKS4KICAgICB2aXJ0dWFsIFdl
YlJlY3Qgc2VsZWN0aW9uQm91bmRzUmVjdCgpIGNvbnN0ID0gMDsKIAotICAgIC8vIE9ubHkgZm9y
IHRlc3RpbmcgcHVycG9zZTogCisgICAgLy8gT25seSBmb3IgdGVzdGluZyBwdXJwb3NlOgogICAg
IC8vIFJldHVybnMgdHJ1ZSBpZiBzZWxlY3Rpb24uYW5jaG9yTm9kZSBoYXMgYSBtYXJrZXIgb24g
cmFuZ2UgZnJvbSB8ZnJvbXwgd2l0aCB8bGVuZ3RofC4KICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0
aW9uU3RhcnRIYXNTcGVsbGluZ01hcmtlckZvcihpbnQgZnJvbSwgaW50IGxlbmd0aCkgY29uc3Qg
PSAwOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnRlbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnRlbnQuaAko
cmV2aXNpb24gMTE5NTg3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW50
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDEzICszMSwxNCBAQAogI2lmbmRlZiBXZWJJbnRl
bnRfaAogI2RlZmluZSBXZWJJbnRlbnRfaAogCi0jaW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFu
bmVsLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSAicGxhdGZv
cm0vV2ViUHJpdmF0ZVB0ci5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlN0cmluZy5oIgogI2lu
Y2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlZlY3Rvci5o
IgogCisjaW5jbHVkZSA8cHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oPgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7IGNsYXNzIEludGVudDsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0
Q2hhbm5lbC5oCShyZXZpc2lvbiAxMTk1ODcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMzUgKzI4
LDQgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBXZWJNZXNzYWdlUG9ydENoYW5u
ZWxfaAotI2RlZmluZSBXZWJNZXNzYWdlUG9ydENoYW5uZWxfaAotCi0jaW5jbHVkZSAicGxhdGZv
cm0vV2ViQ29tbW9uLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViVmVjdG9yLmgiCi0KLW5hbWVz
cGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQ7Ci1jbGFz
cyBXZWJTdHJpbmc7Ci0KLXR5cGVkZWYgV2ViVmVjdG9yPGNsYXNzIFdlYk1lc3NhZ2VQb3J0Q2hh
bm5lbCo+IFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5OwotCi0vLyBQcm92aWRlcyBhbiBpbnRl
cmZhY2UgdG8gYSBNZXNzYWdlIFBvcnQgQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbi4gIFRoZSBvYmpl
Y3Qgb3ducyBpdHNlbGYgYW5kCi0vLyBpcyBzaWduYWxsZWQgdGhhdCBpdHMgbm90IG5lZWRlZCBh
bnltb3JlIHdpdGggdGhlIGRlc3Ryb3koKSBjYWxsLgotY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFu
bmVsIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpZW50KFdlYk1lc3NhZ2VQb3J0
Q2hhbm5lbENsaWVudCopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveSgpID0gMDsKLSAg
ICAvLyBXZWJLaXQgdmVyc2lvbnMgb2YgV2ViQ29yZTo6TWVzc2FnZVBvcnRDaGFubmVsLgotICAg
IHZpcnR1YWwgdm9pZCBlbnRhbmdsZShXZWJNZXNzYWdlUG9ydENoYW5uZWwqKSA9IDA7Ci0gICAg
Ly8gQ2FsbGVlIHJlY2VpdmVzIG93bmVyc2hpcCBvZiB0aGUgcGFzc2VkIHZlY3Rvci4KLSAgICB2
aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiwgV2ViTWVzc2FnZVBvcnRD
aGFubmVsQXJyYXkqKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHRyeUdldE1lc3NhZ2UoV2ViU3Ry
aW5nKiwgV2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkmKSA9IDA7Ci0KLXByb3RlY3RlZDoKLSAg
ICB+V2ViTWVzc2FnZVBvcnRDaGFubmVsKCkgeyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKLQotI2VuZGlmCisjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50LmgJKHJl
dmlzaW9uIDExOTU4NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lc3Nh
Z2VQb3J0Q2hhbm5lbENsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwyNCArMjgsNCBAQAog
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVu
dF9oCi0jZGVmaW5lIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudF9oCi0KLW5hbWVzcGFjZSBX
ZWJLaXQgewotCi0vLyBQcm92aWRlcyBhbiBpbnRlcmZhY2UgZm9yIHVzZXJzIG9mIFdlYk1lc3Nh
Z2VQb3J0Q2hhbm5lbCB0byBiZSBub3RpZmllZAotLy8gd2hlbiBtZXNzYWdlcyBhcmUgYXZhaWxh
YmxlLgotY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50IHsKLXB1YmxpYzoKLSAgICAv
LyBBbGVydHMgdGhhdCBuZXcgbWVzc2FnZXMgaGF2ZSBhcnJpdmVkLCB3aGljaCBhcmUgcmV0cmll
dmVkIGJ5IGNhbGxpbmcKLSAgICAvLyBXZWJNZXNzYWdlUG9ydENoYW5uZWw6OnRyeUdldE1lc3Nh
Z2UuICBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgY2FsbGVkCi0gICAgLy8gb24gYW55IHRocmVhZC4K
LSAgICB2aXJ0dWFsIHZvaWQgbWVzc2FnZUF2YWlsYWJsZSgpID0gMDsKLQotcHJvdGVjdGVkOgot
ICAgIH5XZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQoKSB7IH0KLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYktpdAotCi0jZW5kaWYKKyNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1
bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50LmgiCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaAko
cmV2aXNpb24gMTE5NTg3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2hh
cmVkV29ya2VyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDggQEAKICNkZWZp
bmUgV2ViU2hhcmVkV29ya2VyQ2xpZW50X2gKIAogI2luY2x1ZGUgIldlYkNvbW1vbldvcmtlckNs
aWVudC5oIgotI2luY2x1ZGUgIldlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgorCisjaW5jbHVkZSA8
cHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApA
QCAtNTYsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZXJyb3JT
dHJpbmcsIGludCBsaW5lTnVtYmVyLAogICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHNvdXJjZVVS
TCkgPSAwOwogCi0gICAgLy8gRklYTUU6IHRoZSBiZWxvdyBpcyBmb3IgY29tcGF0aWJpbGl0eSBv
bmx5IGFuZCBzaG91bGQgYmUgICAKKyAgICAvLyBGSVhNRTogdGhlIGJlbG93IGlzIGZvciBjb21w
YXRpYmlsaXR5IG9ubHkgYW5kIHNob3VsZCBiZQogICAgIC8vIHJlbW92ZWQgb25jZSBDaHJvbWl1
bSBpcyB1cGRhdGVkIHRvIHJlbW92ZSBtZXNzYWdlCiAgICAgLy8gZGVzdGluYXRpb24gcGFyYW1l
dGVyIDxodHRwOi8vd2Via2l0Lm9yZy9iLzM3MTU1Pi4KICAgICB2aXJ0dWFsIHZvaWQgcG9zdENv
bnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoaW50LCBpbnQgc291cmNlSWRlbnRpZmllciwgaW50
IG1lc3NhZ2VUeXBlLCBpbnQgbWVzc2FnZUxldmVsLApJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1T
dXBwb3J0LmgJKHJldmlzaW9uIDExOTU4NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC01
MSw3ICs1MSw2IEBAIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50OyAvLwogY2xh
c3MgV2ViSURCRmFjdG9yeTsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/
CiBjbGFzcyBXZWJJREJLZXk7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3Jt
PwogY2xhc3MgV2ViSURCS2V5UGF0aDsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxh
dGZvcm0/Ci1jbGFzcyBXZWJNZXNzYWdlUG9ydENoYW5uZWw7IC8vIEZJWE1FOiBEb2VzIHRoaXMg
YmVsb25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViUGx1Z2luTGlzdEJ1aWxkZXI7IC8vIEZJWE1F
OiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViU2hhcmVkV29ya2VyUmVw
b3NpdG9yeTsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/CiAKQEAgLTkw
LDEzICs4OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSBpbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKGNvbnN0IFdlYklEQktleSYga2V5LCBj
b25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBXZWJJREJLZXlQYXRo
JiBrZXlQYXRoKSB7IHJldHVybiBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUoKTsgfQogCiAKLSAg
ICAvLyBNZXNzYWdlIFBvcnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLQotICAgIC8vIENyZWF0ZXMgYSBNZXNzYWdlIFBvcnQgQ2hhbm5l
bC4gVGhpcyBjYW4gYmUgY2FsbGVkIG9uIGFueSB0aHJlYWQuCi0gICAgLy8gVGhlIHJldHVybmVk
IG9iamVjdCBzaG91bGQgb25seSBiZSB1c2VkIG9uIHRoZSB0aHJlYWQgaXQgd2FzIGNyZWF0ZWQg
b24uCi0gICAgdmlydHVhbCBXZWJNZXNzYWdlUG9ydENoYW5uZWwqIGNyZWF0ZU1lc3NhZ2VQb3J0
Q2hhbm5lbCgpIHsgcmV0dXJuIDA7IH0KLQotCiAgICAgLy8gUGx1Z2lucyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAv
LyBJZiByZWZyZXNoIGlzIHRydWUsIHRoZW4gY2FjaGVkIGluZm9ybWF0aW9uIHNob3VsZCBub3Qg
YmUgdXNlZCB0bwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNz
YWdlUG9ydENoYW5uZWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcAkocmV2aXNpb24gMTE5NTg3KQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw5ICszNiwxMCBAQAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oIgogCiAjaW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0v
V2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCi0jaW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFubmVs
LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCisKKyNpbmNsdWRlIDxwdWJsaWMv
UGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg+Cisj
aW5jbHVkZSA8cHVibGljL1dlYlN0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
CkBAIC0xMjIsNyArMTIzLDcgQEAgUGFzc1JlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bD4gUAogUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFu
bmVsKCkKICAgICA6IG1fbG9jYWxQb3J0KDApCiB7Ci0gICAgbV93ZWJDaGFubmVsID0gd2ViS2l0
UGxhdGZvcm1TdXBwb3J0KCktPmNyZWF0ZU1lc3NhZ2VQb3J0Q2hhbm5lbCgpOworICAgIG1fd2Vi
Q2hhbm5lbCA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlTWVzc2FnZVBvcnRD
aGFubmVsKCk7CiAgICAgaWYgKG1fd2ViQ2hhbm5lbCkKICAgICAgICAgbV93ZWJDaGFubmVsLT5z
ZXRDbGllbnQodGhpcyk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0
Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmgJKHJldmlzaW9uIDExOTU4NykK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDkgKzMxLDkgQEAKICNpZm5kZWYgUGxhdGZvcm1NZXNz
YWdlUG9ydENoYW5uZWxfaAogI2RlZmluZSBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbF9oCiAK
LSNpbmNsdWRlICJXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQuaCIKIAogI2luY2x1ZGUgIk1l
c3NhZ2VQb3J0Q2hhbm5lbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5u
ZWxDbGllbnQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU2hhcmVkV29y
a2VyUmVwb3NpdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAJKHJldmlzaW9uIDExOTU4NykKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NywxNSArNDcsMTcgQEAKICNpbmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgog
I2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldlYktpdC5oIgotI2luY2x1ZGUg
IldlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlci5oIgog
I2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJwbGF0Zm9y
bS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcu
aCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRM
b2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKIAorI2luY2x1
ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJNZXNzYWdlUG9ydENo
YW5uZWwuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU3RyaW5nLmg+CisjaW5jbHVkZSA8cHVibGlj
L1dlYlVSTC5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1w
bC5jcHAJKHJldmlzaW9uIDExOTU4NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNoYXJlZFdvcmtlckltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw2IEBACiAj
aW5jbHVkZSAiV2ViRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIKICNp
bmNsdWRlICJXZWJGcmFtZUltcGwuaCIKLSNpbmNsdWRlICJXZWJNZXNzYWdlUG9ydENoYW5uZWwu
aCIKICNpbmNsdWRlICJXZWJSdW50aW1lRmVhdHVyZXMuaCIKICNpbmNsdWRlICJXZWJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlckNsaWVudC5oIgpAQCAtNTYsOCArNTUsOSBA
QAogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3Jr
ZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgotI2luY2x1ZGUgInBs
YXRmb3JtL1dlYlN0cmluZy5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgorI2luY2x1
ZGUgPHB1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
U3RyaW5nLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlVSTC5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146080</attachid>
            <date>2012-06-06 12:02:28 -0700</date>
            <delta_ts>2012-06-06 19:40:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85764-20120606150141.patch</filename>
            <type>text/plain</type>
            <size>19074</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE5NjAzKQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTA2ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgY3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzY0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNl
cmllcy4gU2VlIHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cGk6
CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmg6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoUGxhdGZvcm0pOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6Y3JlYXRl
TWVzc2FnZVBvcnRDaGFubmVsKToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2Fn
ZVBvcnRDaGFubmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYk1l
c3NhZ2VQb3J0Q2hhbm5lbCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5l
bDo6fldlYk1lc3NhZ2VQb3J0Q2hhbm5lbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQ6On5XZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQp
OgorCiAyMDEyLTA2LTA1ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbQ2hyb21pdW1dIE1vdmUgY3JlYXRlTG9jYWxTdG9yYWdlTmFtZXNwYWNlIHRvIFBs
YXRmb3JtLmgKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCShyZXZpc2lvbiAxMTk1ODcpCisrKyBT
b3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcs
OCBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbURlc2NyaXB0
b3IuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYk1lZGlhU3RyZWFtU291cmNl
LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbVNvdXJjZXNS
ZXF1ZXN0LmgnLAorICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENo
YW5uZWwuaCcsCisgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hh
bm5lbENsaWVudC5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViTWltZVJlZ2lz
dHJ5LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJOb25Db3B5YWJsZS5oJywK
ICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIu
aCcsCkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCShy
ZXZpc2lvbiAxMTk1ODcpCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRm
b3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgY2xhc3MgV2ViRmlsZVN5c3Rl
bTsKIGNsYXNzIFdlYkZpbGVVdGlsaXRpZXM7CiBjbGFzcyBXZWJNZWRpYVN0cmVhbUNlbnRlcjsK
IGNsYXNzIFdlYk1lZGlhU3RyZWFtQ2VudGVyQ2xpZW50OworY2xhc3MgV2ViTWVzc2FnZVBvcnRD
aGFubmVsOwogY2xhc3MgV2ViTWltZVJlZ2lzdHJ5OwogY2xhc3MgV2ViUGVlckNvbm5lY3Rpb24w
MEhhbmRsZXI7CiBjbGFzcyBXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudDsKQEAgLTE2
NSw2ICsxNjYsMTQgQEAgcHVibGljOgogICAgIC8vIGZhbHNlIG9uIHBsYXRmb3JtIHNwZWNpZmlj
IGVycm9yIGNvbmRpdGlvbnMuCiAgICAgdmlydHVhbCBib29sIHByb2Nlc3NNZW1vcnlTaXplc0lu
Qnl0ZXMoc2l6ZV90KiBwcml2YXRlQnl0ZXMsIHNpemVfdCogc2hhcmVkQnl0ZXMpIHsgcmV0dXJu
IGZhbHNlOyB9CiAKKworICAgIC8vIE1lc3NhZ2UgUG9ydHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgLy8gQ3JlYXRlcyBhIE1l
c3NhZ2UgUG9ydCBDaGFubmVsLiBUaGlzIGNhbiBiZSBjYWxsZWQgb24gYW55IHRocmVhZC4KKyAg
ICAvLyBUaGUgcmV0dXJuZWQgb2JqZWN0IHNob3VsZCBvbmx5IGJlIHVzZWQgb24gdGhlIHRocmVh
ZCBpdCB3YXMgY3JlYXRlZCBvbi4KKyAgICB2aXJ0dWFsIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbCog
Y3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsKCkgeyByZXR1cm4gMDsgfQorCisKICAgICAvLyBOZXR3
b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAogICAgIC8vIFJldHVybnMgYSBuZXcgV2ViVVJMTG9hZGVyIGluc3RhbmNlLgpJ
bmRleDogU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5u
ZWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYk1l
c3NhZ2VQb3J0Q2hhbm5lbC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgV2ViTWVzc2FnZVBvcnRDaGFubmVsX2gKKyNkZWZpbmUgV2ViTWVzc2Fn
ZVBvcnRDaGFubmVsX2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorI2luY2x1ZGUgIldlYlZl
Y3Rvci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFu
bmVsQ2xpZW50OworY2xhc3MgV2ViU3RyaW5nOworCit0eXBlZGVmIFdlYlZlY3RvcjxjbGFzcyBX
ZWJNZXNzYWdlUG9ydENoYW5uZWwqPiBXZWJNZXNzYWdlUG9ydENoYW5uZWxBcnJheTsKKworLy8g
UHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRvIGEgTWVzc2FnZSBQb3J0IENoYW5uZWwgaW1wbGVtZW50
YXRpb24uIFRoZSBvYmplY3Qgb3ducyBpdHNlbGYgYW5kCisvLyBpcyBzaWduYWxsZWQgdGhhdCBp
dHMgbm90IG5lZWRlZCBhbnltb3JlIHdpdGggdGhlIGRlc3Ryb3koKSBjYWxsLgorY2xhc3MgV2Vi
TWVzc2FnZVBvcnRDaGFubmVsIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpZW50
KFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGVz
dHJveSgpID0gMDsKKyAgICAvLyBXZWJLaXQgdmVyc2lvbnMgb2YgV2ViQ29yZTo6TWVzc2FnZVBv
cnRDaGFubmVsLgorICAgIHZpcnR1YWwgdm9pZCBlbnRhbmdsZShXZWJNZXNzYWdlUG9ydENoYW5u
ZWwqKSA9IDA7CisgICAgLy8gQ2FsbGVlIHJlY2VpdmVzIG93bmVyc2hpcCBvZiB0aGUgcGFzc2Vk
IHZlY3Rvci4KKyAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiwg
V2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkqKSA9IDA7CisgICAgdmlydHVhbCBib29sIHRyeUdl
dE1lc3NhZ2UoV2ViU3RyaW5nKiwgV2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkmKSA9IDA7CisK
K3Byb3RlY3RlZDoKKyAgICB+V2ViTWVzc2FnZVBvcnRDaGFubmVsKCkgeyB9Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21p
dW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50
LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYk1l
c3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnRfaAorI2RlZmluZSBXZWJNZXNzYWdlUG9y
dENoYW5uZWxDbGllbnRfaAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworLy8gUHJvdmlkZXMgYW4g
aW50ZXJmYWNlIGZvciB1c2VycyBvZiBXZWJNZXNzYWdlUG9ydENoYW5uZWwgdG8gYmUgbm90aWZp
ZWQKKy8vIHdoZW4gbWVzc2FnZXMgYXJlIGF2YWlsYWJsZS4KK2NsYXNzIFdlYk1lc3NhZ2VQb3J0
Q2hhbm5lbENsaWVudCB7CitwdWJsaWM6CisgICAgLy8gQWxlcnRzIHRoYXQgbmV3IG1lc3NhZ2Vz
IGhhdmUgYXJyaXZlZCwgd2hpY2ggYXJlIHJldHJpZXZlZCBieSBjYWxsaW5nCisgICAgLy8gV2Vi
TWVzc2FnZVBvcnRDaGFubmVsOjp0cnlHZXRNZXNzYWdlLiBOb3RlIHRoYXQgdGhpcyBtYXkgYmUg
Y2FsbGVkCisgICAgLy8gb24gYW55IHRocmVhZC4KKyAgICB2aXJ0dWFsIHZvaWQgbWVzc2FnZUF2
YWlsYWJsZSgpID0gMDsKKworcHJvdGVjdGVkOgorICAgIH5XZWJNZXNzYWdlUG9ydENoYW5uZWxD
bGllbnQoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTk2MDMpCisrKyBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisy
MDEyLTA2LTA2ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBbQ2hyb21pdW1dIE1vdmUgY3JlYXRlTWVzc2FnZVBvcnRDaGFubmVsIHRvIFBsYXRmb3JtLmgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzY0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBQ
YXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisg
ICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoKKyAgICAg
ICAgKFdlYkZyYW1lKToKKyAgICAgICAgKiBwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg6
CisgICAgICAgICogcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oOgorICAgICAg
ICAqIHB1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYlNoYXJlZFdv
cmtlckNsaWVudCk6CisgICAgICAgICogcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3Vw
cG9ydC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0UGxhdGZv
cm1TdXBwb3J0OjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKToKKyAgICAgICAgKiBz
cmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKToKKyAg
ICAgICAgKiBzcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaDoKKyAgICAgICAgKiBzcmMv
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA6CisgICAgICAgICogc3JjL1dlYlNoYXJlZFdvcmtl
ckltcGwuY3BwOgorCiAyMDEyLTA2LTA2ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbY2hyb21pdW1dIEV4cG9zZSBzZXRQaWN0b2dyYXBoRm9udEZhbWlseSB0
aHJvdWdoIHRoZSBjaHJvbWl1bSB3ZWJraXQgYXBpLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cAkocmV2aXNpb24gMTE5NTg3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksOCArMTk5LDYgQEAKICAgICAgICAgICAgICAg
ICAncHVibGljL1dlYk1lZGlhUGxheWVyQ2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJs
aWMvV2ViTWVkaWFTdHJlYW1SZWdpc3RyeS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dl
Yk1lbnVJdGVtSW5mby5oJywKLSAgICAgICAgICAgICAgICAncHVibGljL1dlYk1lc3NhZ2VQb3J0
Q2hhbm5lbC5oJywKLSAgICAgICAgICAgICAgICAncHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5l
bENsaWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYk5hdmlnYXRpb25UeXBlLmgn
LAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViTmV0d29ya1N0YXRlTm90aWZpZXIuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJOb2RlLmgnLApJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCShyZXZpc2lvbiAxMTk1ODcpCisrKyBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNyAr
MTYzLDcgQEAgcHVibGljOgogICAgIC8vIFRoZSBtaW5pbXVtIGFuZCBtYXhpdW0gc2Nyb2xsIHBv
c2l0aW9ucyBpbiBwaXhlbHMuCiAgICAgdmlydHVhbCBXZWJTaXplIG1pbmltdW1TY3JvbGxPZmZz
ZXQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBXZWJTaXplIG1heGltdW1TY3JvbGxPZmZzZXQo
KSBjb25zdCA9IDA7Ci0gCisKICAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgY29udGVudHMgYXJlYS4K
ICAgICB2aXJ0dWFsIFdlYlNpemUgY29udGVudHNTaXplKCkgY29uc3QgPSAwOwogCkBAIC02NDAs
NyArNjQwLDcgQEAgcHVibGljOgogICAgIC8vIGVtcHR5ICgoMCwwKSwgKDAsMCkpLgogICAgIHZp
cnR1YWwgV2ViUmVjdCBzZWxlY3Rpb25Cb3VuZHNSZWN0KCkgY29uc3QgPSAwOwogCi0gICAgLy8g
T25seSBmb3IgdGVzdGluZyBwdXJwb3NlOiAKKyAgICAvLyBPbmx5IGZvciB0ZXN0aW5nIHB1cnBv
c2U6CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHNlbGVjdGlvbi5hbmNob3JOb2RlIGhhcyBhIG1h
cmtlciBvbiByYW5nZSBmcm9tIHxmcm9tfCB3aXRoIHxsZW5ndGh8LgogICAgIHZpcnR1YWwgYm9v
bCBzZWxlY3Rpb25TdGFydEhhc1NwZWxsaW5nTWFya2VyRm9yKGludCBmcm9tLCBpbnQgbGVuZ3Ro
KSBjb25zdCA9IDA7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1l
c3NhZ2VQb3J0Q2hhbm5lbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oCShyZXZpc2lvbiAxMTk1ODcpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsMzUgKzI4LDQgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRl
ZiBXZWJNZXNzYWdlUG9ydENoYW5uZWxfaAotI2RlZmluZSBXZWJNZXNzYWdlUG9ydENoYW5uZWxf
aAotCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0v
V2ViVmVjdG9yLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJNZXNzYWdlUG9y
dENoYW5uZWxDbGllbnQ7Ci1jbGFzcyBXZWJTdHJpbmc7Ci0KLXR5cGVkZWYgV2ViVmVjdG9yPGNs
YXNzIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbCo+IFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Owot
Ci0vLyBQcm92aWRlcyBhbiBpbnRlcmZhY2UgdG8gYSBNZXNzYWdlIFBvcnQgQ2hhbm5lbCBpbXBs
ZW1lbnRhdGlvbi4gIFRoZSBvYmplY3Qgb3ducyBpdHNlbGYgYW5kCi0vLyBpcyBzaWduYWxsZWQg
dGhhdCBpdHMgbm90IG5lZWRlZCBhbnltb3JlIHdpdGggdGhlIGRlc3Ryb3koKSBjYWxsLgotY2xh
c3MgV2ViTWVzc2FnZVBvcnRDaGFubmVsIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
Q2xpZW50KFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudCopID0gMDsKLSAgICB2aXJ0dWFsIHZv
aWQgZGVzdHJveSgpID0gMDsKLSAgICAvLyBXZWJLaXQgdmVyc2lvbnMgb2YgV2ViQ29yZTo6TWVz
c2FnZVBvcnRDaGFubmVsLgotICAgIHZpcnR1YWwgdm9pZCBlbnRhbmdsZShXZWJNZXNzYWdlUG9y
dENoYW5uZWwqKSA9IDA7Ci0gICAgLy8gQ2FsbGVlIHJlY2VpdmVzIG93bmVyc2hpcCBvZiB0aGUg
cGFzc2VkIHZlY3Rvci4KLSAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgV2ViU3Ry
aW5nJiwgV2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkqKSA9IDA7Ci0gICAgdmlydHVhbCBib29s
IHRyeUdldE1lc3NhZ2UoV2ViU3RyaW5nKiwgV2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkmKSA9
IDA7Ci0KLXByb3RlY3RlZDoKLSAgICB+V2ViTWVzc2FnZVBvcnRDaGFubmVsKCkgeyB9Ci19Owot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCisjaW5jbHVkZSAiLi4vLi4vLi4vUGxh
dGZvcm0vY2hyb21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgpJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBv
cnRDaGFubmVsQ2xpZW50LmgJKHJldmlzaW9uIDExOTU4NykKKysrIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCwyNCArMjgsNCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIFdlYk1l
c3NhZ2VQb3J0Q2hhbm5lbENsaWVudF9oCi0jZGVmaW5lIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbENs
aWVudF9oCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi0vLyBQcm92aWRlcyBhbiBpbnRlcmZhY2Ug
Zm9yIHVzZXJzIG9mIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbCB0byBiZSBub3RpZmllZAotLy8gd2hl
biBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlLgotY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xp
ZW50IHsKLXB1YmxpYzoKLSAgICAvLyBBbGVydHMgdGhhdCBuZXcgbWVzc2FnZXMgaGF2ZSBhcnJp
dmVkLCB3aGljaCBhcmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcKLSAgICAvLyBXZWJNZXNzYWdlUG9y
dENoYW5uZWw6OnRyeUdldE1lc3NhZ2UuICBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgY2FsbGVkCi0g
ICAgLy8gb24gYW55IHRocmVhZC4KLSAgICB2aXJ0dWFsIHZvaWQgbWVzc2FnZUF2YWlsYWJsZSgp
ID0gMDsKLQotcHJvdGVjdGVkOgotICAgIH5XZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQoKSB7
IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYKKyNpbmNsdWRlICIuLi8u
Li8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50
LmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJT
aGFyZWRXb3JrZXJDbGllbnQuaAkocmV2aXNpb24gMTE5NTg3KQorKysgU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGVycm9yU3Ry
aW5nLCBpbnQgbGluZU51bWJlciwKICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwp
ID0gMDsKIAotICAgIC8vIEZJWE1FOiB0aGUgYmVsb3cgaXMgZm9yIGNvbXBhdGliaWxpdHkgb25s
eSBhbmQgc2hvdWxkIGJlICAgCisgICAgLy8gRklYTUU6IHRoZSBiZWxvdyBpcyBmb3IgY29tcGF0
aWJpbGl0eSBvbmx5IGFuZCBzaG91bGQgYmUKICAgICAvLyByZW1vdmVkIG9uY2UgQ2hyb21pdW0g
aXMgdXBkYXRlZCB0byByZW1vdmUgbWVzc2FnZQogICAgIC8vIGRlc3RpbmF0aW9uIHBhcmFtZXRl
ciA8aHR0cDovL3dlYmtpdC5vcmcvYi8zNzE1NT4uCiAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25z
b2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCwgaW50IHNvdXJjZUlkZW50aWZpZXIsIGludCBt
ZXNzYWdlVHlwZSwgaW50IG1lc3NhZ2VMZXZlbCwKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3Vw
cG9ydC5oCShyZXZpc2lvbiAxMTk1ODcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTEs
NyArNTEsNiBAQCBjbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudDsgLy8KIGNsYXNz
IFdlYklEQkZhY3Rvcnk7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwog
Y2xhc3MgV2ViSURCS2V5OyAvLyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8K
IGNsYXNzIFdlYklEQktleVBhdGg7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRm
b3JtPwotY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFubmVsOyAvLyBGSVhNRTogRG9lcyB0aGlzIGJl
bG9uZyBpbiBwbGF0Zm9ybT8KIGNsYXNzIFdlYlBsdWdpbkxpc3RCdWlsZGVyOyAvLyBGSVhNRTog
RG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KIGNsYXNzIFdlYlNoYXJlZFdvcmtlclJlcG9z
aXRvcnk7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwogCkBAIC05MCwx
MyArODksNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUg
aW5qZWN0SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShjb25zdCBXZWJJREJLZXkmIGtleSwgY29u
c3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgV2ViSURCS2V5UGF0aCYg
a2V5UGF0aCkgeyByZXR1cm4gV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlKCk7IH0KIAogCi0gICAg
Ly8gTWVzc2FnZSBQb3J0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0KLSAgICAvLyBDcmVhdGVzIGEgTWVzc2FnZSBQb3J0IENoYW5uZWwu
IFRoaXMgY2FuIGJlIGNhbGxlZCBvbiBhbnkgdGhyZWFkLgotICAgIC8vIFRoZSByZXR1cm5lZCBv
YmplY3Qgc2hvdWxkIG9ubHkgYmUgdXNlZCBvbiB0aGUgdGhyZWFkIGl0IHdhcyBjcmVhdGVkIG9u
LgotICAgIHZpcnR1YWwgV2ViTWVzc2FnZVBvcnRDaGFubmVsKiBjcmVhdGVNZXNzYWdlUG9ydENo
YW5uZWwoKSB7IHJldHVybiAwOyB9Ci0KLQogICAgIC8vIFBsdWdpbnMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8g
SWYgcmVmcmVzaCBpcyB0cnVlLCB0aGVuIGNhY2hlZCBpbmZvcm1hdGlvbiBzaG91bGQgbm90IGJl
IHVzZWQgdG8KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAJKHJldmlzaW9uIDExOTU4NykKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzYsOSArMzYsMTAgQEAKICNpbmNsdWRlICJTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuaCIKIAogI2luY2x1ZGUgIldlYktpdC5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dl
YktpdFBsYXRmb3JtU3VwcG9ydC5oIgotI2luY2x1ZGUgIldlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5o
IgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYlN0cmluZy5oIgorCisjaW5jbHVkZSA8cHVibGljL1Bs
YXRmb3JtLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oPgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApA
QCAtMTIyLDcgKzEyMyw3IEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw+
IFAKIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bCgpCiAgICAgOiBtX2xvY2FsUG9ydCgwKQogewotICAgIG1fd2ViQ2hhbm5lbCA9IHdlYktpdFBs
YXRmb3JtU3VwcG9ydCgpLT5jcmVhdGVNZXNzYWdlUG9ydENoYW5uZWwoKTsKKyAgICBtX3dlYkNo
YW5uZWwgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmNyZWF0ZU1lc3NhZ2VQb3J0Q2hh
bm5lbCgpOwogICAgIGlmIChtX3dlYkNoYW5uZWwpCiAgICAgICAgIG1fd2ViQ2hhbm5lbC0+c2V0
Q2xpZW50KHRoaXMpOwogfQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZv
cm1NZXNzYWdlUG9ydENoYW5uZWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oCShyZXZpc2lvbiAxMTk1ODcpCisr
KyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5ICszMSw5IEBACiAjaWZuZGVmIFBsYXRmb3JtTWVzc2Fn
ZVBvcnRDaGFubmVsX2gKICNkZWZpbmUgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWxfaAogCi0j
aW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50LmgiCiAKICNpbmNsdWRlICJNZXNz
YWdlUG9ydENoYW5uZWwuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVs
Q2xpZW50Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NoYXJlZFdvcmtl
clJlcG9zaXRvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCShyZXZpc2lvbiAxMTk1ODcpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDcsMTUgKzQ3LDE3IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIKICNp
bmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlICJX
ZWJNZXNzYWdlUG9ydENoYW5uZWwuaCIKICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXIuaCIKICNp
bmNsdWRlICJXZWJTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0v
V2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgi
Ci0jaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAKKyNpbmNsdWRl
IDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFu
bmVsLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlN0cmluZy5oPgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJVUkwuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwu
Y3BwCShyZXZpc2lvbiAxMTk1ODcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
aGFyZWRXb3JrZXJJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNiBAQAogI2lu
Y2x1ZGUgIldlYkZpbGVFcnJvci5oIgogI2luY2x1ZGUgIldlYkZyYW1lQ2xpZW50LmgiCiAjaW5j
bHVkZSAiV2ViRnJhbWVJbXBsLmgiCi0jaW5jbHVkZSAiV2ViTWVzc2FnZVBvcnRDaGFubmVsLmgi
CiAjaW5jbHVkZSAiV2ViUnVudGltZUZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiV2ViU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXJDbGllbnQuaCIKQEAgLTU2LDggKzU1LDkgQEAK
ICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2Vy
TG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKLSNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJTdHJpbmcuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKKyNpbmNsdWRl
IDxwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlN0
cmluZy5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJVUkwuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>