<?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>108209</bug_id>
          
          <creation_ts>2013-01-29 11:32:25 -0800</creation_ts>
          <short_desc>Refactor ShadowRoot exception handling</short_desc>
          <delta_ts>2013-01-30 00:48:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>108301</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>peter+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>819132</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 11:32:25 -0800</bug_when>
    <thetext>Refactor ShadowRoot exception handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819135</commentid>
    <comment_count>1</comment_count>
      <attachid>185275</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 11:37:05 -0800</bug_when>
    <thetext>Created attachment 185275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819138</commentid>
    <comment_count>2</comment_count>
      <attachid>185275</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-29 11:41:25 -0800</bug_when>
    <thetext>Comment on attachment 185275
Patch

Attachment 185275 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16195241</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819142</commentid>
    <comment_count>3</comment_count>
      <attachid>185275</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-29 11:44:01 -0800</bug_when>
    <thetext>Comment on attachment 185275
Patch

Attachment 185275 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16187316</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819144</commentid>
    <comment_count>4</comment_count>
      <attachid>185275</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-01-29 11:47:00 -0800</bug_when>
    <thetext>Comment on attachment 185275
Patch

Attachment 185275 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16151309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819149</commentid>
    <comment_count>5</comment_count>
      <attachid>185275</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-29 11:54:23 -0800</bug_when>
    <thetext>Comment on attachment 185275
Patch

Attachment 185275 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16151315</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819156</commentid>
    <comment_count>6</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 12:00:49 -0800</bug_when>
    <thetext>Woops, it seems we do ShadowRoot::create in a bunch of places I missed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819158</commentid>
    <comment_count>7</comment_count>
      <attachid>185275</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 12:01:07 -0800</bug_when>
    <thetext>Comment on attachment 185275
Patch

Attachment 185275 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16198259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819164</commentid>
    <comment_count>8</comment_count>
      <attachid>185275</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-01-29 12:03:38 -0800</bug_when>
    <thetext>Comment on attachment 185275
Patch

Attachment 185275 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16200266</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819180</commentid>
    <comment_count>9</comment_count>
      <attachid>185275</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 12:11:19 -0800</bug_when>
    <thetext>Comment on attachment 185275
Patch

Attachment 185275 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16202258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819194</commentid>
    <comment_count>10</comment_count>
      <attachid>185283</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 12:24:53 -0800</bug_when>
    <thetext>Created attachment 185283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819196</commentid>
    <comment_count>11</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 12:26:22 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=185283) [details]
&gt; Patch

Fixed the build, should be good for review now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819232</commentid>
    <comment_count>12</comment_count>
      <attachid>185283</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 12:51:01 -0800</bug_when>
    <thetext>Comment on attachment 185283
Patch

Attachment 185283 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16183293</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819240</commentid>
    <comment_count>13</comment_count>
      <attachid>185283</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 12:56:37 -0800</bug_when>
    <thetext>Comment on attachment 185283
Patch

Attachment 185283 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16200292</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819253</commentid>
    <comment_count>14</comment_count>
      <attachid>185292</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 13:06:31 -0800</bug_when>
    <thetext>Created attachment 185292
Patch

Exports, yay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819290</commentid>
    <comment_count>15</comment_count>
      <attachid>185292</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 13:36:35 -0800</bug_when>
    <thetext>Comment on attachment 185292
Patch

Attachment 185292 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16183309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819295</commentid>
    <comment_count>16</comment_count>
      <attachid>185292</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 13:43:32 -0800</bug_when>
    <thetext>Comment on attachment 185292
Patch

Attachment 185292 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16198296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819296</commentid>
    <comment_count>17</comment_count>
      <attachid>185300</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 13:47:52 -0800</bug_when>
    <thetext>Created attachment 185300
Patch

More exporting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819317</commentid>
    <comment_count>18</comment_count>
      <attachid>185306</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 14:12:49 -0800</bug_when>
    <thetext>Created attachment 185306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819391</commentid>
    <comment_count>19</comment_count>
      <attachid>185319</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-29 15:26:20 -0800</bug_when>
    <thetext>Created attachment 185319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819433</commentid>
    <comment_count>20</comment_count>
      <attachid>185319</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-29 16:03:48 -0800</bug_when>
    <thetext>Comment on attachment 185319
Patch

Clearing flags on attachment: 185319

Committed r141175: &lt;http://trac.webkit.org/changeset/141175&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819434</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-29 16:03:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819856</commentid>
    <comment_count>22</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-30 00:00:04 -0800</bug_when>
    <thetext>Reading the code more closely it appears this patch should have broken TextFieldDecorationElement because it intended to actually create multiple user agent shadow roots!??

Unfortunately there&apos;s no layout tests for this code, in fact TextFieldDecorationElement is only used in ChromeClientImpl::addTextFieldDecorationsTo which seems really bad that we have magical elements and hacks in WebCore that are specifically for Chromium and then have no tests in WebCore for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819898</commentid>
    <comment_count>23</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-01-30 00:47:59 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Reading the code more closely it appears this patch should have broken TextFieldDecorationElement because it intended to actually create multiple user agent shadow roots!??
&gt; 
&gt; Unfortunately there&apos;s no layout tests for this code, in fact TextFieldDecorationElement is only used in ChromeClientImpl::addTextFieldDecorationsTo which seems really bad that we have magical elements and hacks in WebCore that are specifically for Chromium and then have no tests in WebCore for them.

https://bugs.webkit.org/show_bug.cgi?id=108301</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185275</attachid>
            <date>2013-01-29 11:37:05 -0800</date>
            <delta_ts>2013-01-29 12:24:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108209-20130129143350.patch</filename>
            <type>text/plain</type>
            <size>10093</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI0MmJiMTkzM2Y3NmMy
ZWY5ODdmOTU5NGUzNDVlZGZjNTlkMTZjZi4uODk3NmQ1MzMyYjg3YjkzYzgyNzM1ZjNhNWI0MGQy
MmZjZjk4NWU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEzLTAxLTI5ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJlZmFjdG9yIFNo
YWRvd1Jvb3QgZXhjZXB0aW9uIGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYW55IG9mIHRoZSBleGNlcHRpb24gY2FzZXMgZm9yIFNoYWRv
d1Jvb3QgYXJlIGFjdHVhbGx5IGltcG9zc2libGUgYW5kCisgICAgICAgIHNob3VsZCBiZSBhc3Nl
cnRzIGluc3RlYWQuIFdlIGNhbiBhbHNvIG1vdmUgdGhlIG9uZSBjYXNlIG9mIGV4Y2VwdGlvbiBs
b2dpYywKKyAgICAgICAgZm9yIGVsZW1lbnRzIHRoYXQgZG9uJ3QgYWxsb3cgYXV0aG9yIHNoYWRv
d3MsIG91dCB0byBFbGVtZW50OjpjcmVhdGVTaGFkb3dSb290CisgICAgICAgIGluc3RlYWQgb2Yg
aGF2aW5nIGl0IGFsbCBvdmVyIHRoZSBTaGFkb3dSb290IGFuZCBFbGVtZW50U2hhZG93IGNsYXNz
ZXMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgor
CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Y3JlYXRlU2hhZG93Um9vdCk6IEJlIGV4cGxpY2l0IGFib3V0IHdoYXQga2luZCBvZiBTaGFkb3dS
b290IHlvdSdyZSBjcmVhdGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVuc3VyZVVz
ZXJBZ2VudFNoYWRvd1Jvb3QpOiBObyBtb3JlIGV4Y2VwdGlvbnMuCisgICAgICAgICogZG9tL0Vs
ZW1lbnRTaGFkb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFNoYWRvdzo6YWRkU2hh
ZG93Um9vdCk6IFRoaXMgbmV2ZXIgYWN0dWFsbHkgdGhyb3dzIGV4Y2VwdGlvbnMsIHJlbW92ZSBF
eGNlcHRpb25Db2RlLgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93Lmg6CisgICAgICAgIChF
bGVtZW50U2hhZG93KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpkZXRlcm1pbmVVc2FnZVR5cGUpOiBNZXJnZSB3aXRoIEVsZW1lbnQ6OmNyZWF0ZVNo
YWRvd1Jvb3QuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpTaGFkb3dSb290KTogTW92
ZWQgSGlzdG9ncmFtIGxvZ2ljIGhlcmUgc2luY2UgaXQncyBhY3R1YWxseSBhYm91dCB0aGUgY29u
c3RydWN0b3IgYW55d2F5LgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6Y3JlYXRlKTog
UmVtb3ZlZCBvdmVybG9hZCB0aGF0IG1hZGUgdGhlIGNvZGUgbGVzcyBvYnZpb3VzLgorICAgICAg
ICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChTaGFkb3dSb290KToKKworMjAxMy0wMS0y
OSAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBNb3Zl
IEVsZW1lbnRTaGFkb3cgY3JlYXRpb24gdG8gRWxlbWVudFJhcmVEYXRhCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgxOTUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCmluZGV4IDMwN2ZlNjEzMWI5MTcwMmI1NThjN2ExNTA0OTNkYzUyNTk2M2Y3MDYuLjA3
ZmRkZTQ4OWI5MWEwZGM0NzRjZGM1ZjM2YmI3ZDlmNTgzMTExMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKQEAgLTE0NTQsNyArMTQ1NCwxOSBAQCB2b2lkIEVsZW1lbnQ6OmRpZEFmZmVjdFNlbGVj
dG9yKEFmZmVjdGVkU2VsZWN0b3JNYXNrIG1hc2spCiAKIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4g
RWxlbWVudDo6Y3JlYXRlU2hhZG93Um9vdChFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICByZXR1
cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIGVjKTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxl
bWVudEVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBT
aGFkb3dSb290OjpBdXRob3JTaGFkb3dSb290KTsKKyNlbmRpZgorCisgICAgLy8gU2luY2Ugc29t
ZSBlbGVtZW50cyByZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHksIG11bHRpcGxlIHNo
YWRvdworICAgIC8vIHN1YnRyZWVzIHdvbid0IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuIFVu
dGlsIHRoZXkgYXJlIGZpeGVkLCB3ZSBkaXNhYmxlCisgICAgLy8gYWRkaW5nIGF1dGhvciBzaGFk
b3cgcm9vdCBmb3IgdGhlbS4KKyAgICBpZiAoIWFyZUF1dGhvclNoYWRvd3NBbGxvd2VkKCkpIHsK
KyAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOwor
ICAgIH0KKyAgICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkF1
dGhvclNoYWRvd1Jvb3QpOwogfQogCiBTaGFkb3dSb290KiBFbGVtZW50OjpzaGFkb3dSb290KCkg
Y29uc3QKQEAgLTE0ODQsNyArMTQ5Niw3IEBAIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6OmVuc3VyZVVz
ZXJBZ2VudFNoYWRvd1Jvb3QoKQogewogICAgIGlmIChTaGFkb3dSb290KiBzaGFkb3dSb290ID0g
dXNlckFnZW50U2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gc2hhZG93Um9vdDsKLSAgICBT
aGFkb3dSb290KiBzaGFkb3dSb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jv
b3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pLmdldCgpOworICAg
IFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93
Um9vdDo6VXNlckFnZW50U2hhZG93Um9vdCkuZ2V0KCk7CiAgICAgZGlkQWRkVXNlckFnZW50U2hh
ZG93Um9vdChzaGFkb3dSb290KTsKICAgICByZXR1cm4gc2hhZG93Um9vdDsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50U2hhZG93LmNwcAppbmRleCBmZjBiN2I5YjI1N2RkODhhN2UyNjIzNDY1Njg5
NDY2NmVlYzRlZjkxLi4xY2M4NWYwMTMxYjg1OGFkNDY3OGU3NzYxNjYwMjEyZjRkOTA0NTU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCkBAIC0zMiwzMSArMzIsMTIgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgYm9vbCB2YWxpZGF0ZVNoYWRvd1Jvb3QoRG9j
dW1lbnQqIGRvY3VtZW50LCBTaGFkb3dSb290KiBzaGFkb3dSb290LCBFeGNlcHRpb25Db2RlJiBl
YykKLXsKLSAgICBpZiAoIXNoYWRvd1Jvb3QpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
aWYgKHNoYWRvd1Jvb3QtPmhvc3QoKSkgewotICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNU
X0VSUjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmIChzaGFkb3dSb290
LT5kb2N1bWVudCgpICE9IGRvY3VtZW50KSB7Ci0gICAgICAgIGVjID0gV1JPTkdfRE9DVU1FTlRf
RVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLXZvaWQgRWxlbWVudFNoYWRvdzo6YWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0
LCBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QsIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jv
b3RUeXBlIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBFbGVtZW50U2hhZG93OjphZGRT
aGFkb3dSb290KEVsZW1lbnQqIHNoYWRvd0hvc3QsIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gc2hh
ZG93Um9vdCwgU2hhZG93Um9vdDo6U2hhZG93Um9vdFR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQo
c2hhZG93SG9zdCk7CiAgICAgQVNTRVJUKHNoYWRvd1Jvb3QpOwotCi0gICAgaWYgKCF2YWxpZGF0
ZVNoYWRvd1Jvb3Qoc2hhZG93SG9zdC0+ZG9jdW1lbnQoKSwgc2hhZG93Um9vdC5nZXQoKSwgZWMp
KQotICAgICAgICByZXR1cm47CisgICAgQVNTRVJUKCFzaGFkb3dSb290LT5ob3N0KCkpOworICAg
IEFTU0VSVChzaGFkb3dIb3N0LT5kb2N1bWVudCgpID09IHNoYWRvd1Jvb3QtPmRvY3VtZW50KCkp
OwogCiAgICAgaWYgKHR5cGUgPT0gU2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKICAgICAg
ICAgc2hhZG93SG9zdC0+d2lsbEFkZEF1dGhvclNoYWRvd1Jvb3QoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudFNoYWRvdy5oCmluZGV4IGFiNzEyNGI3Yjc2MzhiYTk5ZTJmNjEzYjUzMGE5ODgxMmQ3OTc1
NGUuLmNhOTRiZjZjMzczM2Y1NzA2YWQ3OTExOTc5NzVlNGRkNWVjYTcyNGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRTaGFkb3cuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVu
dFNoYWRvdyogY29udGFpbmluZ1NoYWRvdygpIGNvbnN0OwogCiAgICAgdm9pZCByZW1vdmVBbGxT
aGFkb3dSb290cygpOwotICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0
LCBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0
LCBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSk7CiAK
ICAgICB2b2lkIGF0dGFjaCgpOwogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5jcHAKaW5kZXggYTJmOTZlNjFjYjU2ZjlmZWE0MDU5OWIyYWFlZTYzZWEzNTQ5MWI4OC4u
YTY5ZjA2MDFlZDAyZjhlNTgzZGRhMDQxNTMwYmUwYTAyZDRmZjcwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
aGFkb3dSb290LmNwcApAQCAtNjMsNiArNjMsMjMgQEAgc3RydWN0IFNhbWVTaXplQXNTaGFkb3dS
b290IDogcHVibGljIERvY3VtZW50RnJhZ21lbnQsIHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYwog
CiBDT01QSUxFX0FTU0VSVChzaXplb2YoU2hhZG93Um9vdCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNT
aGFkb3dSb290KSwgc2hhZG93cm9vdF9zaG91bGRfc3RheV9zbWFsbCk7CiAKK2VudW0gU2hhZG93
Um9vdFVzYWdlT3JpZ2luVHlwZSB7CisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViID0gMCwK
KyAgICBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWIsCisgICAgU2hhZG93Um9vdFVzYWdlT3Jp
Z2luVHlwZXMKK307CisKK3N0YXRpYyBpbmxpbmUgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZSBk
ZXRlcm1pbmVVc2FnZVR5cGUoRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIC8vIEVuYWJsZXMg
b25seSBvbiBDSFJPTUlVTSBzaW5jZSB0aGlzIGNvc3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBw
bGF0Zm9ybXMgd2hpY2ggZG9uJ3QgY29sbGVjdCB0aGlzIG1ldHJpY3MuCisjaWYgUExBVEZPUk0o
Q0hST01JVU0pCisgICAgcmV0dXJuIGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRo
KCJodHRwIikgPyBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmln
aW5Ob3RXZWI7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgcmV0dXJu
IFNoYWRvd1Jvb3RVc2FnZU9yaWdpbldlYjsKKyNlbmRpZgorfQorCiBTaGFkb3dSb290OjpTaGFk
b3dSb290KERvY3VtZW50KiBkb2N1bWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSkKICAgICA6IERv
Y3VtZW50RnJhZ21lbnQoZG9jdW1lbnQsIENyZWF0ZVNoYWRvd1Jvb3QpCiAgICAgLCBUcmVlU2Nv
cGUodGhpcywgZG9jdW1lbnQpCkBAIC03Niw2ICs5Myw5IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jv
b3QoRG9jdW1lbnQqIGRvY3VtZW50LCBTaGFkb3dSb290VHlwZSB0eXBlKQogewogICAgIEFTU0VS
VChkb2N1bWVudCk7CiAgICAgc2V0VHJlZVNjb3BlKHRoaXMpOworCisgICAgaWYgKHR5cGUgPT0g
U2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKKyAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6
aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuU2hhZG93Um9vdC5jb25zdHJ1Y3RvciIsIGRl
dGVybWluZVVzYWdlVHlwZShkb2N1bWVudCgpKSwgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZXMp
OwogfQogCiBTaGFkb3dSb290Ojp+U2hhZG93Um9vdCgpCkBAIC05NCw2MiArMTE0LDE2IEBAIFNo
YWRvd1Jvb3Q6On5TaGFkb3dSb290KCkKICAgICAgICAgY2xlYXJSYXJlRGF0YSgpOwogfQogCi1z
dGF0aWMgYm9vbCBhbGxvd3NBdXRob3JTaGFkb3dSb290KEVsZW1lbnQqIGVsZW1lbnQpCitQYXNz
UmVmUHRyPFNoYWRvd1Jvb3Q+IFNoYWRvd1Jvb3Q6OmNyZWF0ZShFbGVtZW50KiBlbGVtZW50LCBT
aGFkb3dSb290VHlwZSB0eXBlKQogewotI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGlmIChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjphdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxl
ZCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotICAgIHJldHVybiBlbGVtZW50LT5h
cmVBdXRob3JTaGFkb3dzQWxsb3dlZCgpOwotfQotCi1lbnVtIFNoYWRvd1Jvb3RVc2FnZU9yaWdp
blR5cGUgewotICAgIFNoYWRvd1Jvb3RVc2FnZU9yaWdpbldlYiA9IDAsCi0gICAgU2hhZG93Um9v
dFVzYWdlT3JpZ2luTm90V2ViLAotICAgIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGVzCi19Owot
Ci1zdGF0aWMgaW5saW5lIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGUgZGV0ZXJtaW5lVXNhZ2VU
eXBlKEVsZW1lbnQqIGhvc3QpCi17Ci0gICAgLy8gRW5hYmxlcyBvbmx5IG9uIENIUk9NSVVNIHNp
bmNlIHRoaXMgY29zdCB3b24ndCB3b3J0aCBwYXlpbmcgZm9yIHBsYXRmb3JtcyB3aGljaCBkb24n
dCBjb2xsZWN0IHRoaXMgbWV0cmljcy4KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBpZiAo
IWhvc3QpCi0gICAgICAgIHJldHVybiBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWI7Ci0gICAgcmV0
dXJuIGhvc3QtPmRvY3VtZW50KCktPnVybCgpLnN0cmluZygpLnN0YXJ0c1dpdGgoImh0dHAiKSA/
IFNoYWRvd1Jvb3RVc2FnZU9yaWdpbldlYiA6IFNoYWRvd1Jvb3RVc2FnZU9yaWdpbk5vdFdlYjsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGhvc3QpOwotICAgIHJldHVybiBTaGFkb3dSb290VXNh
Z2VPcmlnaW5XZWI7Ci0jZW5kaWYKLX0KLQotUGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dS
b290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAg
SGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuU2hhZG93Um9v
dC5jb25zdHJ1Y3RvciIsIGRldGVybWluZVVzYWdlVHlwZShlbGVtZW50KSwgU2hhZG93Um9vdFVz
YWdlT3JpZ2luVHlwZXMpOwotICAgIHJldHVybiBjcmVhdGUoZWxlbWVudCwgQXV0aG9yU2hhZG93
Um9vdCwgZWMpOwotfQotCi1QYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IFNoYWRvd1Jvb3Q6OmNyZWF0
ZShFbGVtZW50KiBlbGVtZW50LCBTaGFkb3dSb290VHlwZSB0eXBlLCBFeGNlcHRpb25Db2RlJiBl
YykKLXsKLSAgICBpZiAoIWVsZW1lbnQpIHsKLSAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVT
VF9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIC8vIFNpbmNlIHNvbWUgZWxl
bWVudHMgcmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LCBtdWx0aXBsZSBzaGFkb3cg
c3VidHJlZXMgd29uJ3Qgd29yayB3ZWxsIGluIHRoYXQgZWxlbWVudC4KLSAgICAvLyBVbnRpbCB0
aGV5IGFyZSBmaXhlZCwgd2UgZGlzYWJsZSBhZGRpbmcgYXV0aG9yIHNoYWRvdyByb290IGZvciB0
aGVtLgotICAgIGlmICh0eXBlID09IEF1dGhvclNoYWRvd1Jvb3QgJiYgIWFsbG93c0F1dGhvclNo
YWRvd1Jvb3QoZWxlbWVudCkpIHsKLSAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7
Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KKyAgICBBU1NFUlQoZWxlbWVudCk7CiAKICAgICBS
ZWZQdHI8U2hhZG93Um9vdD4gc2hhZG93Um9vdCA9IGFkb3B0UmVmKG5ldyBTaGFkb3dSb290KGVs
ZW1lbnQtPmRvY3VtZW50KCksIHR5cGUpKTsKIAotICAgIGVjID0gMDsKLSAgICBlbGVtZW50LT5l
bnN1cmVTaGFkb3coKS0+YWRkU2hhZG93Um9vdChlbGVtZW50LCBzaGFkb3dSb290LCB0eXBlLCBl
Yyk7Ci0gICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gMDsKKyAgICBlbGVtZW50LT5lbnN1cmVT
aGFkb3coKS0+YWRkU2hhZG93Um9vdChlbGVtZW50LCBzaGFkb3dSb290LCB0eXBlKTsKICAgICBB
U1NFUlQoZWxlbWVudCA9PSBzaGFkb3dSb290LT5ob3N0KCkpOwogICAgIEFTU0VSVChlbGVtZW50
LT5zaGFkb3coKSk7CisKICAgICByZXR1cm4gc2hhZG93Um9vdC5yZWxlYXNlKCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5oCmluZGV4IDQ3Mjc5MTdmNWUwMTMzYzFhZTFiODBhZGU2OTUwY2Ji
MzE5MWNmODEuLjE0MjljOWQ5YWVkNjIwNTk5YWIzNjk3NjhmMmI2YWJlMTA0MjI0YzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuaApAQCAtNDYsOCArNDYsNiBAQCBjbGFzcyBTY29wZUNvbnRlbnRE
aXN0cmlidXRpb247CiBjbGFzcyBTaGFkb3dSb290IDogcHVibGljIERvY3VtZW50RnJhZ21lbnQs
IHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxTaGFkb3dSb290
PiB7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6RG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9v
dD47CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRlKEVs
ZW1lbnQqLCBFeGNlcHRpb25Db2RlJik7Ci0KICAgICAvLyBGSVhNRTogV2Ugd2lsbCBzdXBwb3J0
IG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcywgaG93ZXZlciBjdXJyZW50IGltcGxlbWVudGF0aW9u
IGRvZXMgbm90IHdvcmsgd2VsbAogICAgIC8vIGlmIGEgc2hhZG93IHJvb3QgaXMgZHluYW1pY2Fs
bHkgY3JlYXRlZC4gU28gd2UgcHJvaGliaXQgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzCiAgICAg
Ly8gaW4gc2V2ZXJhbCBlbGVtZW50cyBmb3IgYSB3aGlsZS4KQEAgLTU2LDcgKzU0LDcgQEAgcHVi
bGljOgogICAgICAgICBVc2VyQWdlbnRTaGFkb3dSb290ID0gMCwKICAgICAgICAgQXV0aG9yU2hh
ZG93Um9vdAogICAgIH07Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRl
KEVsZW1lbnQqLCBTaGFkb3dSb290VHlwZSwgRXhjZXB0aW9uQ29kZSYgPSBBU1NFUlRfTk9fRVhD
RVBUSU9OKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dSb290PiBjcmVhdGUoRWxlbWVu
dCosIFNoYWRvd1Jvb3RUeXBlKTsKIAogICAgIHZvaWQgcmVjYWxjU3R5bGUoU3R5bGVDaGFuZ2Up
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185283</attachid>
            <date>2013-01-29 12:24:53 -0800</date>
            <delta_ts>2013-01-29 13:06:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108209-20130129152138.patch</filename>
            <type>text/plain</type>
            <size>13159</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI0MmJiMTkzM2Y3NmMy
ZWY5ODdmOTU5NGUzNDVlZGZjNTlkMTZjZi4uN2IzZjZhZmJmYTk4YmRhZjgzMDM3ZGM5OWYwZmI1
Yzg5OTMxZGNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEzLTAxLTI5ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJlZmFjdG9yIFNo
YWRvd1Jvb3QgZXhjZXB0aW9uIGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYW55IG9mIHRoZSBleGNlcHRpb24gY2FzZXMgZm9yIFNoYWRv
d1Jvb3QgYXJlIGFjdHVhbGx5IGltcG9zc2libGUgYW5kCisgICAgICAgIHNob3VsZCBiZSBhc3Nl
cnRzIGluc3RlYWQuIFdlIGNhbiBhbHNvIG1vdmUgdGhlIG9uZSBjYXNlIG9mIGV4Y2VwdGlvbiBs
b2dpYywKKyAgICAgICAgZm9yIGVsZW1lbnRzIHRoYXQgZG9uJ3QgYWxsb3cgYXV0aG9yIHNoYWRv
d3MgaW50byBFbGVtZW50OjpjcmVhdGVTaGFkb3dSb290CisgICAgICAgIGluc3RlYWQgb2YgaGF2
aW5nIGl0IGFsbCBvdmVyIHRoZSBTaGFkb3dSb290IGFuZCBFbGVtZW50U2hhZG93IGNsYXNzZXMu
IFRoaXMKKyAgICAgICAgaXMgdGhlIGZpcnN0IHN0ZXAgaW4gY2VudHJhbGl6aW5nIGFsbCBTaGFk
b3dSb290IGNyZWF0aW9uIGluc2lkZSBFbGVtZW50U2hhZG93LgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1Jvb3QpOiBCZSBl
eHBsaWNpdCBhYm91dCB3aGF0IGtpbmQgb2YgU2hhZG93Um9vdCB5b3UncmUgY3JlYXRpbmcuCisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KTogTm8g
bW9yZSBleGNlcHRpb25zLgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnRTaGFkb3c6OmFkZFNoYWRvd1Jvb3QpOiBUaGlzIG5ldmVyIGFj
dHVhbGx5IHRocm93cyBleGNlcHRpb25zLCByZW1vdmUgRXhjZXB0aW9uQ29kZS4KKyAgICAgICAg
KiBkb20vRWxlbWVudFNoYWRvdy5oOgorICAgICAgICAoRWxlbWVudFNoYWRvdyk6CisgICAgICAg
ICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGV0ZXJtaW5lVXNhZ2VU
eXBlKTogTWVyZ2Ugd2l0aCBFbGVtZW50OjpjcmVhdGVTaGFkb3dSb290LgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpTaGFkb3dSb290KTogTW92ZWQg
SGlzdG9ncmFtIGxvZ2ljIGhlcmUgc2luY2UgaXQncyBhY3R1YWxseSBhYm91dCB0aGUgY29uc3Ry
dWN0b3IgYW55d2F5LgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6Y3JlYXRlKTogUmVt
b3ZlZCBvdmVybG9hZCB0aGF0IG1hZGUgdGhlIGNvZGUgbGVzcyBvYnZpb3VzLgorICAgICAgICAq
IGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChTaGFkb3dSb290KToKKyAgICAgICAgKiBodG1s
L0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxLZXlnZW5FbGVt
ZW50OjpIVE1MS2V5Z2VuRWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxk
RGVjb3JhdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RGVjb3JhdGlvblJv
b3RBbmREZWNvcmF0ZWRSb290KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dSb290KToKKworMjAxMy0wMS0yOSAgRWxs
aW90dCBTcHJlaG4gIDxlc3ByZWhuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBNb3ZlIEVsZW1l
bnRTaGFkb3cgY3JlYXRpb24gdG8gRWxlbWVudFJhcmVEYXRhCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgxOTUKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IDMwN2ZlNjEzMWI5MTcwMmI1NThjN2ExNTA0OTNkYzUyNTk2M2Y3MDYuLjA3ZmRkZTQ4
OWI5MWEwZGM0NzRjZGM1ZjM2YmI3ZDlmNTgzMTExMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
QEAgLTE0NTQsNyArMTQ1NCwxOSBAQCB2b2lkIEVsZW1lbnQ6OmRpZEFmZmVjdFNlbGVjdG9yKEFm
ZmVjdGVkU2VsZWN0b3JNYXNrIG1hc2spCiAKIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gRWxlbWVu
dDo6Y3JlYXRlU2hhZG93Um9vdChFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICByZXR1cm4gU2hh
ZG93Um9vdDo6Y3JlYXRlKHRoaXMsIGVjKTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBp
ZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVu
YWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dS
b290OjpBdXRob3JTaGFkb3dSb290KTsKKyNlbmRpZgorCisgICAgLy8gU2luY2Ugc29tZSBlbGVt
ZW50cyByZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHksIG11bHRpcGxlIHNoYWRvdwor
ICAgIC8vIHN1YnRyZWVzIHdvbid0IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuIFVudGlsIHRo
ZXkgYXJlIGZpeGVkLCB3ZSBkaXNhYmxlCisgICAgLy8gYWRkaW5nIGF1dGhvciBzaGFkb3cgcm9v
dCBmb3IgdGhlbS4KKyAgICBpZiAoIWFyZUF1dGhvclNoYWRvd3NBbGxvd2VkKCkpIHsKKyAgICAg
ICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0K
KyAgICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkF1dGhvclNo
YWRvd1Jvb3QpOwogfQogCiBTaGFkb3dSb290KiBFbGVtZW50OjpzaGFkb3dSb290KCkgY29uc3QK
QEAgLTE0ODQsNyArMTQ5Niw3IEBAIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6OmVuc3VyZVVzZXJBZ2Vu
dFNoYWRvd1Jvb3QoKQogewogICAgIGlmIChTaGFkb3dSb290KiBzaGFkb3dSb290ID0gdXNlckFn
ZW50U2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gc2hhZG93Um9vdDsKLSAgICBTaGFkb3dS
b290KiBzaGFkb3dSb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OlVz
ZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pLmdldCgpOworICAgIFNoYWRv
d1Jvb3QqIHNoYWRvd1Jvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6
VXNlckFnZW50U2hhZG93Um9vdCkuZ2V0KCk7CiAgICAgZGlkQWRkVXNlckFnZW50U2hhZG93Um9v
dChzaGFkb3dSb290KTsKICAgICByZXR1cm4gc2hhZG93Um9vdDsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50U2hhZG93LmNwcAppbmRleCBmZjBiN2I5YjI1N2RkODhhN2UyNjIzNDY1Njg5NDY2NmVl
YzRlZjkxLi4xY2M4NWYwMTMxYjg1OGFkNDY3OGU3NzYxNjYwMjEyZjRkOTA0NTU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCkBAIC0zMiwzMSArMzIsMTIgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgYm9vbCB2YWxpZGF0ZVNoYWRvd1Jvb3QoRG9jdW1lbnQq
IGRvY3VtZW50LCBTaGFkb3dSb290KiBzaGFkb3dSb290LCBFeGNlcHRpb25Db2RlJiBlYykKLXsK
LSAgICBpZiAoIXNoYWRvd1Jvb3QpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKHNo
YWRvd1Jvb3QtPmhvc3QoKSkgewotICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmIChzaGFkb3dSb290LT5kb2N1
bWVudCgpICE9IGRvY3VtZW50KSB7Ci0gICAgICAgIGVjID0gV1JPTkdfRE9DVU1FTlRfRVJSOwot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZv
aWQgRWxlbWVudFNoYWRvdzo6YWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNz
UmVmUHRyPFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QsIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3RUeXBl
IHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBFbGVtZW50U2hhZG93OjphZGRTaGFkb3dS
b290KEVsZW1lbnQqIHNoYWRvd0hvc3QsIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gc2hhZG93Um9v
dCwgU2hhZG93Um9vdDo6U2hhZG93Um9vdFR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQoc2hhZG93
SG9zdCk7CiAgICAgQVNTRVJUKHNoYWRvd1Jvb3QpOwotCi0gICAgaWYgKCF2YWxpZGF0ZVNoYWRv
d1Jvb3Qoc2hhZG93SG9zdC0+ZG9jdW1lbnQoKSwgc2hhZG93Um9vdC5nZXQoKSwgZWMpKQotICAg
ICAgICByZXR1cm47CisgICAgQVNTRVJUKCFzaGFkb3dSb290LT5ob3N0KCkpOworICAgIEFTU0VS
VChzaGFkb3dIb3N0LT5kb2N1bWVudCgpID09IHNoYWRvd1Jvb3QtPmRvY3VtZW50KCkpOwogCiAg
ICAgaWYgKHR5cGUgPT0gU2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKICAgICAgICAgc2hh
ZG93SG9zdC0+d2lsbEFkZEF1dGhvclNoYWRvd1Jvb3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNo
YWRvdy5oCmluZGV4IGFiNzEyNGI3Yjc2MzhiYTk5ZTJmNjEzYjUzMGE5ODgxMmQ3OTc1NGUuLmNh
OTRiZjZjMzczM2Y1NzA2YWQ3OTExOTc5NzVlNGRkNWVjYTcyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRTaGFkb3cuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudFNoYWRv
dyogY29udGFpbmluZ1NoYWRvdygpIGNvbnN0OwogCiAgICAgdm9pZCByZW1vdmVBbGxTaGFkb3dS
b290cygpOwotICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNz
UmVmUHRyPFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSwgRXhjZXB0aW9u
Q29kZSYpOworICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNz
UmVmUHRyPFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSk7CiAKICAgICB2
b2lkIGF0dGFjaCgpOwogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5j
cHAKaW5kZXggYTJmOTZlNjFjYjU2ZjlmZWE0MDU5OWIyYWFlZTYzZWEzNTQ5MWI4OC4uMWQ3OTcw
NTlhYTc3ZjRlZDM1M2M5MzYwNmQ5ZDY3NDE4NTJkY2ZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmNwcApAQCAtNjMsNiArNjMsMjMgQEAgc3RydWN0IFNhbWVTaXplQXNTaGFkb3dSb290IDog
cHVibGljIERvY3VtZW50RnJhZ21lbnQsIHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYwogCiBDT01Q
SUxFX0FTU0VSVChzaXplb2YoU2hhZG93Um9vdCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTaGFkb3dS
b290KSwgc2hhZG93cm9vdF9zaG91bGRfc3RheV9zbWFsbCk7CiAKK2VudW0gU2hhZG93Um9vdFVz
YWdlT3JpZ2luVHlwZSB7CisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViID0gMCwKKyAgICBT
aGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWIsCisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlw
ZXMKK307CisKK3N0YXRpYyBpbmxpbmUgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZSBkZXRlcm1p
bmVVc2FnZVR5cGUoRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIC8vIEVuYWJsZXMgb25seSBv
biBDSFJPTUlVTSBzaW5jZSB0aGlzIGNvc3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0Zm9y
bXMgd2hpY2ggZG9uJ3QgY29sbGVjdCB0aGlzIG1ldHJpY3MuCisjaWYgUExBVEZPUk0oQ0hST01J
VU0pCisgICAgcmV0dXJuIGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJodHRw
IikgPyBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RX
ZWI7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgcmV0dXJuIFNoYWRv
d1Jvb3RVc2FnZU9yaWdpbldlYjsKKyNlbmRpZgorfQorCiBTaGFkb3dSb290OjpTaGFkb3dSb290
KERvY3VtZW50KiBkb2N1bWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSkKICAgICA6IERvY3VtZW50
RnJhZ21lbnQoZG9jdW1lbnQsIENyZWF0ZVNoYWRvd1Jvb3QpCiAgICAgLCBUcmVlU2NvcGUodGhp
cywgZG9jdW1lbnQpCkBAIC03Niw2ICs5Myw5IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QoRG9j
dW1lbnQqIGRvY3VtZW50LCBTaGFkb3dSb290VHlwZSB0eXBlKQogewogICAgIEFTU0VSVChkb2N1
bWVudCk7CiAgICAgc2V0VHJlZVNjb3BlKHRoaXMpOworCisgICAgaWYgKHR5cGUgPT0gU2hhZG93
Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKKyAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9n
cmFtRW51bWVyYXRpb24oIldlYkNvcmUuU2hhZG93Um9vdC5jb25zdHJ1Y3RvciIsIGRldGVybWlu
ZVVzYWdlVHlwZShkb2N1bWVudCksIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGVzKTsKIH0KIAog
U2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQpAQCAtOTQsNjIgKzExNCwxNiBAQCBTaGFkb3dSb290
Ojp+U2hhZG93Um9vdCgpCiAgICAgICAgIGNsZWFyUmFyZURhdGEoKTsKIH0KIAotc3RhdGljIGJv
b2wgYWxsb3dzQXV0aG9yU2hhZG93Um9vdChFbGVtZW50KiBlbGVtZW50KQorUGFzc1JlZlB0cjxT
aGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgU2hhZG93Um9v
dFR5cGUgdHlwZSkKIHsKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICBpZiAoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQoKSkKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLSAgICByZXR1cm4gZWxlbWVudC0+YXJlQXV0aG9y
U2hhZG93c0FsbG93ZWQoKTsKLX0KLQotZW51bSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlIHsK
LSAgICBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgPSAwLAotICAgIFNoYWRvd1Jvb3RVc2FnZU9y
aWdpbk5vdFdlYiwKLSAgICBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlcwotfTsKLQotc3RhdGlj
IGlubGluZSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlIGRldGVybWluZVVzYWdlVHlwZShFbGVt
ZW50KiBob3N0KQotewotICAgIC8vIEVuYWJsZXMgb25seSBvbiBDSFJPTUlVTSBzaW5jZSB0aGlz
IGNvc3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0Zm9ybXMgd2hpY2ggZG9uJ3QgY29sbGVj
dCB0aGlzIG1ldHJpY3MuCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgaWYgKCFob3N0KQot
ICAgICAgICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViOwotICAgIHJldHVybiBob3N0
LT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJodHRwIikgPyBTaGFkb3dS
b290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWI7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShob3N0KTsKLSAgICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3JpZ2lu
V2ViOwotI2VuZGlmCi19Ci0KLVBhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6Y3Jl
YXRlKEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIEhpc3RvZ3Jh
bVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlNoYWRvd1Jvb3QuY29uc3Ry
dWN0b3IiLCBkZXRlcm1pbmVVc2FnZVR5cGUoZWxlbWVudCksIFNoYWRvd1Jvb3RVc2FnZU9yaWdp
blR5cGVzKTsKLSAgICByZXR1cm4gY3JlYXRlKGVsZW1lbnQsIEF1dGhvclNoYWRvd1Jvb3QsIGVj
KTsKLX0KLQotUGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVu
dCogZWxlbWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0g
ICAgaWYgKCFlbGVtZW50KSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwot
ICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvLyBTaW5jZSBzb21lIGVsZW1lbnRzIHJl
Y3JlYXRlcyBzaGFkb3cgcm9vdCBkeW5hbWljYWxseSwgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVz
IHdvbid0IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuCi0gICAgLy8gVW50aWwgdGhleSBhcmUg
Zml4ZWQsIHdlIGRpc2FibGUgYWRkaW5nIGF1dGhvciBzaGFkb3cgcm9vdCBmb3IgdGhlbS4KLSAg
ICBpZiAodHlwZSA9PSBBdXRob3JTaGFkb3dSb290ICYmICFhbGxvd3NBdXRob3JTaGFkb3dSb290
KGVsZW1lbnQpKSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwotICAgICAg
ICByZXR1cm4gMDsKLSAgICB9CisgICAgQVNTRVJUKGVsZW1lbnQpOwogCiAgICAgUmVmUHRyPFNo
YWRvd1Jvb3Q+IHNoYWRvd1Jvb3QgPSBhZG9wdFJlZihuZXcgU2hhZG93Um9vdChlbGVtZW50LT5k
b2N1bWVudCgpLCB0eXBlKSk7CiAKLSAgICBlYyA9IDA7Ci0gICAgZWxlbWVudC0+ZW5zdXJlU2hh
ZG93KCktPmFkZFNoYWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSwgZWMpOwotICAg
IGlmIChlYykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgZWxlbWVudC0+ZW5zdXJlU2hhZG93KCkt
PmFkZFNoYWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSk7CiAgICAgQVNTRVJUKGVs
ZW1lbnQgPT0gc2hhZG93Um9vdC0+aG9zdCgpKTsKICAgICBBU1NFUlQoZWxlbWVudC0+c2hhZG93
KCkpOworCiAgICAgcmV0dXJuIHNoYWRvd1Jvb3QucmVsZWFzZSgpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuaAppbmRleCA0NzI3OTE3ZjVlMDEzM2MxYWUxYjgwYWRlNjk1MGNiYjMxOTFjZjgx
Li4xNDI5YzlkOWFlZDYyMDU5OWFiMzY5NzY4ZjJiNmFiZTEwNDIyNGM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
aGFkb3dSb290LmgKQEAgLTQ2LDggKzQ2LDYgQEAgY2xhc3MgU2NvcGVDb250ZW50RGlzdHJpYnV0
aW9uOwogY2xhc3MgU2hhZG93Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJsaWMg
VHJlZVNjb3BlLCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9vdD4gewogICAg
IGZyaWVuZCBjbGFzcyBXVEY6OkRvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+OwogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpOwotCiAgICAgLy8gRklYTUU6IFdlIHdpbGwgc3VwcG9ydCBtdWx0aXBs
ZSBzaGFkb3cgc3VidHJlZXMsIGhvd2V2ZXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5v
dCB3b3JrIHdlbGwKICAgICAvLyBpZiBhIHNoYWRvdyByb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0
ZWQuIFNvIHdlIHByb2hpYml0IG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcwogICAgIC8vIGluIHNl
dmVyYWwgZWxlbWVudHMgZm9yIGEgd2hpbGUuCkBAIC01Niw3ICs1NCw3IEBAIHB1YmxpYzoKICAg
ICAgICAgVXNlckFnZW50U2hhZG93Um9vdCA9IDAsCiAgICAgICAgIEF1dGhvclNoYWRvd1Jvb3QK
ICAgICB9OwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50
KiwgU2hhZG93Um9vdFR5cGUsIEV4Y2VwdGlvbkNvZGUmID0gQVNTRVJUX05PX0VYQ0VQVElPTik7
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRlKEVsZW1lbnQqLCBTaGFk
b3dSb290VHlwZSk7CiAKICAgICB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAppbmRleCAxZTRlYzA2ZmYxMDNk
MzlhNzU4NmNmYWMyMWZhYWQyMjEzNjk4ZDc3Li44OTQ3NDZhNjY4ZTUwOWI2ZGM0M2M5YmZhYjNl
M2Y2MGY3ZTBiY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5F
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNw
cApAQCAtODIsOSArODIsNyBAQCBpbmxpbmUgSFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5F
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZQogICAgICAgICBvcHRp
b24tPmFwcGVuZENoaWxkKFRleHQ6OmNyZWF0ZShkb2N1bWVudCwga2V5c1tpXSksIGVjKTsKICAg
ICB9CiAKLSAgICBBU1NFUlQoIXNoYWRvdygpKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9v
dCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpVc2VyQWdlbnRTaGFkb3dS
b290KTsKLSAgICByb290LT5hcHBlbmRDaGlsZChzZWxlY3QsIGVjKTsKKyAgICBlbnN1cmVVc2Vy
QWdlbnRTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKHNlbGVjdCwgZWMpOwogfQogCiBQYXNzUmVm
UHRyPEhUTUxLZXlnZW5FbGVtZW50PiBIVE1MS2V5Z2VuRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50
KiBmb3JtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxk
RGVjb3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZp
ZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJh
N2Y3YmQyYjRkOTE2ZjMuLjllYzU0M2FmNTZmMzY3ODY0NDZjNTJmZjgzN2I0ODhiYTM4M2EyYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRp
b25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGRE
ZWNvcmF0aW9uRWxlbWVudC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgc3RhdGljIGlubGluZSB2b2lk
IGdldERlY29yYXRpb25Sb290QW5kRGVjb3JhdGVkUm9vdChIVE1MSW5wdXRFbGVtZW50KiBpbnB1
dCwgU2gKICAgICBpZiAobmV3Um9vdCkKICAgICAgICAgbmV3Um9vdC0+cmVtb3ZlQ2hpbGQobmV3
Um9vdC0+Zmlyc3RDaGlsZCgpKTsKICAgICBlbHNlCi0gICAgICAgIG5ld1Jvb3QgPSBTaGFkb3dS
b290OjpjcmVhdGUoaW5wdXQsIFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VS
VF9OT19FWENFUFRJT04pLmdldCgpOworICAgICAgICBuZXdSb290ID0gaW5wdXQtPmVuc3VyZVVz
ZXJBZ2VudFNoYWRvd1Jvb3QoKTsKICAgICBkZWNvcmF0aW9uUm9vdCA9IG5ld1Jvb3Q7CiAgICAg
ZGVjb3JhdGVkUm9vdCA9IGV4aXN0aW5nUm9vdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBjY2YxNDA2MGVhY2U5MmIyMjgxZmMxYWI0OTMxYjBjZmZmM2MwNjgwLi5i
Mjc2NTg3MWM3ZWFlODRjZDBiNmFhNDEyYjhiOTJjNmQwMzk2ZTI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NzEsNyArNTcxLDcgQEAgSW50ZXJuYWxzOjpTaGFkb3dS
b290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3Qo
RWxlbWUKICAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0gaG9zdC0+c2hhZG93KCkpCiAg
ICAgICAgIHJldHVybiBzaGFkb3ctPnlvdW5nZXN0U2hhZG93Um9vdCgpOwogCi0gICAgcmV0dXJu
IFNoYWRvd1Jvb3Q6OmNyZWF0ZShob3N0LCBlYykuZ2V0KCk7CisgICAgcmV0dXJuIGhvc3QtPmNy
ZWF0ZVNoYWRvd1Jvb3QoZWMpLmdldCgpOwogfQogCiBJbnRlcm5hbHM6OlNoYWRvd1Jvb3RJZlNo
YWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRlU2hhZG93Um9vdChFbGVtZW50
KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTU4MCw3ICs1ODAsNyBAQCBJbnRlcm5hbHM6
OlNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRlU2hh
ZG93Um9vdChFbGVtZQogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKICAgICAgICAg
cmV0dXJuIDA7CiAgICAgfQotICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUoaG9zdCwgZWMp
LmdldCgpOworICAgIHJldHVybiBob3N0LT5jcmVhdGVTaGFkb3dSb290KGVjKS5nZXQoKTsKIH0K
IAogSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5h
bHM6OnNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185292</attachid>
            <date>2013-01-29 13:06:31 -0800</date>
            <delta_ts>2013-01-29 13:47:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108209-20130129160315.patch</filename>
            <type>text/plain</type>
            <size>19054</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTcyNTJhMTE2NWI1NGQ5
MjE4NjMyOWExODAzMDExMTlkOWY0OGRmNS4uNTEzZWVlM2Y2ZmZkMWViNzcwMzQ2MzNhZjI3NGI0
ZDVlYzkzN2ZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAxLTI5ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlZmFjdG9yIFNo
YWRvd1Jvb3QgZXhjZXB0aW9uIGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYW55IG9mIHRoZSBleGNlcHRpb24gY2FzZXMgZm9yIFNoYWRv
d1Jvb3QgYXJlIGFjdHVhbGx5IGltcG9zc2libGUgYW5kCisgICAgICAgIHNob3VsZCBiZSBhc3Nl
cnRzIGluc3RlYWQuIFdlIGNhbiBhbHNvIG1vdmUgdGhlIG9uZSBjYXNlIG9mIGV4Y2VwdGlvbiBs
b2dpYywKKyAgICAgICAgZm9yIGVsZW1lbnRzIHRoYXQgZG9uJ3QgYWxsb3cgYXV0aG9yIHNoYWRv
d3MgaW50byBFbGVtZW50OjpjcmVhdGVTaGFkb3dSb290CisgICAgICAgIGluc3RlYWQgb2YgaGF2
aW5nIGl0IGFsbCBvdmVyIHRoZSBTaGFkb3dSb290IGFuZCBFbGVtZW50U2hhZG93IGNsYXNzZXMu
IFRoaXMKKyAgICAgICAgaXMgdGhlIGZpcnN0IHN0ZXAgaW4gY2VudHJhbGl6aW5nIGFsbCBTaGFk
b3dSb290IGNyZWF0aW9uIGluc2lkZSBFbGVtZW50U2hhZG93LgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OmNyZWF0ZVNoYWRvd1Jvb3QpOiBCZSBleHBsaWNpdCBhYm91dCB3aGF0IGtpbmQgb2YgU2hh
ZG93Um9vdCB5b3UncmUgY3JlYXRpbmcuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1
cmVVc2VyQWdlbnRTaGFkb3dSb290KTogTm8gbW9yZSBleGNlcHRpb25zLgorICAgICAgICAqIGRv
bS9FbGVtZW50U2hhZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRTaGFkb3c6OmFk
ZFNoYWRvd1Jvb3QpOiBUaGlzIG5ldmVyIGFjdHVhbGx5IHRocm93cyBleGNlcHRpb25zLCByZW1v
dmUgRXhjZXB0aW9uQ29kZS4KKyAgICAgICAgKiBkb20vRWxlbWVudFNoYWRvdy5oOgorICAgICAg
ICAoRWxlbWVudFNoYWRvdyk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6ZGV0ZXJtaW5lVXNhZ2VUeXBlKTogTWVyZ2Ugd2l0aCBFbGVtZW50OjpjcmVh
dGVTaGFkb3dSb290LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFk
b3dSb290OjpTaGFkb3dSb290KTogTW92ZWQgSGlzdG9ncmFtIGxvZ2ljIGhlcmUgc2luY2UgaXQn
cyBhY3R1YWxseSBhYm91dCB0aGUgY29uc3RydWN0b3IgYW55d2F5LgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93Um9vdDo6Y3JlYXRlKTogUmVtb3ZlZCBvdmVybG9hZCB0aGF0IG1hZGUgdGhlIGNv
ZGUgbGVzcyBvYnZpb3VzLgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChT
aGFkb3dSb290KToKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxLZXlnZW5FbGVtZW50OjpIVE1MS2V5Z2VuRWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Z2V0RGVjb3JhdGlvblJvb3RBbmREZWNvcmF0ZWRSb290KToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmVu
c3VyZVNoYWRvd1Jvb3QpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjcmVhdGVTaGFk
b3dSb290KToKKwogMjAxMy0wMS0yOSAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBQYXNzIG1ldGFkYXRhIGluIHRvIElEQk9wZW5EQlJl
cXVlc3Qub25VcGdyYWRlTmVlZGVkL29uU3VjY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGVkY2I2
MmI1NDA2MjliMDMyZjE1MzQ4NzMyZDlhZjBhNThkNzA1YmEuLmY2YTljMzZkNmJjMDZhOWY2MjRm
Njg1MWVhYWMwNjFiNGVmNWExYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxMy0wMS0yOSAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZWZhY3RvciBTaGFkb3dSb290IGV4Y2VwdGlvbiBoYW5kbGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MjA5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmNwcm9qL1dlYktp
dEV4cG9ydHMuZGVmLmluOiBSZW1vdmUgU2hhZG93Um9vdDo6Y3JlYXRlIGV4cG9ydCBzaW5jZSB3
ZSBubyBsb25nZXIgbmVlZCBpdC4KKwogMjAxMy0wMS0yOSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVuYWJsZSByZXVzZSBvZiBjYWNoZWQgbWFpbiByZXNv
dXJjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZDE0YmY5OTY1M2M4N2NiOWZiZDJlMDZlMjFk
YTljMGZhOWUwM2YzNS4uY2I1MjFjM2QxYWI1Yjc1MWMzZGJlNjFjZjgxNTEwMTAxMzBiZjIzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTgzLDcgKzgzLDYgQEAgX19aTjdXZWJDb3JlMTBTY3Jv
bGxWaWV3MjNzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEViYgogX19aTjdXZWJDb3JlMTBTY3JvbGxW
aWV3MjR3aW5kb3dSZXNpemVyUmVjdENoYW5nZWRFdgogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3
OGFkZENoaWxkRU4zV1RGMTBQYXNzUmVmUHRySU5TXzZXaWRnZXRFRUUKIF9fWk5LN1dlYkNvcmUx
NFNjcm9sbGFibGVBcmVhMTdyZXBvcnRNZW1vcnlVc2FnZUVQTjNXVEYxNk1lbW9yeU9iamVjdElu
Zm9FCi1fX1pON1dlYkNvcmUxMFNoYWRvd1Jvb3Q2Y3JlYXRlRVBOU183RWxlbWVudEVSaQogX19a
TjdXZWJDb3JlMTBkZWxldGVGaWxlRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTBzZXRD
b29raWVzRVBOU184RG9jdW1lbnRFUktOU180S1VSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2Vi
Q29yZTEwdG9Eb2N1bWVudEVOM0pTQzdKU1ZhbHVlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4
IDMwN2ZlNjEzMWI5MTcwMmI1NThjN2ExNTA0OTNkYzUyNTk2M2Y3MDYuLjA3ZmRkZTQ4OWI5MWEw
ZGM0NzRjZGM1ZjM2YmI3ZDlmNTgzMTExMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE0
NTQsNyArMTQ1NCwxOSBAQCB2b2lkIEVsZW1lbnQ6OmRpZEFmZmVjdFNlbGVjdG9yKEFmZmVjdGVk
U2VsZWN0b3JNYXNrIG1hc2spCiAKIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gRWxlbWVudDo6Y3Jl
YXRlU2hhZG93Um9vdChFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICByZXR1cm4gU2hhZG93Um9v
dDo6Y3JlYXRlKHRoaXMsIGVjKTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBpZiAoUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQo
KSkKKyAgICAgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpB
dXRob3JTaGFkb3dSb290KTsKKyNlbmRpZgorCisgICAgLy8gU2luY2Ugc29tZSBlbGVtZW50cyBy
ZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHksIG11bHRpcGxlIHNoYWRvdworICAgIC8v
IHN1YnRyZWVzIHdvbid0IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuIFVudGlsIHRoZXkgYXJl
IGZpeGVkLCB3ZSBkaXNhYmxlCisgICAgLy8gYWRkaW5nIGF1dGhvciBzaGFkb3cgcm9vdCBmb3Ig
dGhlbS4KKyAgICBpZiAoIWFyZUF1dGhvclNoYWRvd3NBbGxvd2VkKCkpIHsKKyAgICAgICAgZWMg
PSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBy
ZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkF1dGhvclNoYWRvd1Jv
b3QpOwogfQogCiBTaGFkb3dSb290KiBFbGVtZW50OjpzaGFkb3dSb290KCkgY29uc3QKQEAgLTE0
ODQsNyArMTQ5Niw3IEBAIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6OmVuc3VyZVVzZXJBZ2VudFNoYWRv
d1Jvb3QoKQogewogICAgIGlmIChTaGFkb3dSb290KiBzaGFkb3dSb290ID0gdXNlckFnZW50U2hh
ZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gc2hhZG93Um9vdDsKLSAgICBTaGFkb3dSb290KiBz
aGFkb3dSb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OlVzZXJBZ2Vu
dFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pLmdldCgpOworICAgIFNoYWRvd1Jvb3Qq
IHNoYWRvd1Jvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6VXNlckFn
ZW50U2hhZG93Um9vdCkuZ2V0KCk7CiAgICAgZGlkQWRkVXNlckFnZW50U2hhZG93Um9vdChzaGFk
b3dSb290KTsKICAgICByZXR1cm4gc2hhZG93Um9vdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
U2hhZG93LmNwcAppbmRleCBmZjBiN2I5YjI1N2RkODhhN2UyNjIzNDY1Njg5NDY2NmVlYzRlZjkx
Li4xY2M4NWYwMTMxYjg1OGFkNDY3OGU3NzYxNjYwMjEyZjRkOTA0NTU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRTaGFkb3cuY3BwCkBAIC0zMiwzMSArMzIsMTIgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgYm9vbCB2YWxpZGF0ZVNoYWRvd1Jvb3QoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBTaGFkb3dSb290KiBzaGFkb3dSb290LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBp
ZiAoIXNoYWRvd1Jvb3QpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKHNoYWRvd1Jv
b3QtPmhvc3QoKSkgewotICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmIChzaGFkb3dSb290LT5kb2N1bWVudCgp
ICE9IGRvY3VtZW50KSB7Ci0gICAgICAgIGVjID0gV1JPTkdfRE9DVU1FTlRfRVJSOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgRWxl
bWVudFNoYWRvdzo6YWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNzUmVmUHRy
PFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QsIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3RUeXBlIHR5cGUs
IEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBFbGVtZW50U2hhZG93OjphZGRTaGFkb3dSb290KEVs
ZW1lbnQqIHNoYWRvd0hvc3QsIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gc2hhZG93Um9vdCwgU2hh
ZG93Um9vdDo6U2hhZG93Um9vdFR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQoc2hhZG93SG9zdCk7
CiAgICAgQVNTRVJUKHNoYWRvd1Jvb3QpOwotCi0gICAgaWYgKCF2YWxpZGF0ZVNoYWRvd1Jvb3Qo
c2hhZG93SG9zdC0+ZG9jdW1lbnQoKSwgc2hhZG93Um9vdC5nZXQoKSwgZWMpKQotICAgICAgICBy
ZXR1cm47CisgICAgQVNTRVJUKCFzaGFkb3dSb290LT5ob3N0KCkpOworICAgIEFTU0VSVChzaGFk
b3dIb3N0LT5kb2N1bWVudCgpID09IHNoYWRvd1Jvb3QtPmRvY3VtZW50KCkpOwogCiAgICAgaWYg
KHR5cGUgPT0gU2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKICAgICAgICAgc2hhZG93SG9z
dC0+d2lsbEFkZEF1dGhvclNoYWRvd1Jvb3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50U2hhZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5o
CmluZGV4IGFiNzEyNGI3Yjc2MzhiYTk5ZTJmNjEzYjUzMGE5ODgxMmQ3OTc1NGUuLmNhOTRiZjZj
MzczM2Y1NzA2YWQ3OTExOTc5NzVlNGRkNWVjYTcyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50U2hhZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRT
aGFkb3cuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudFNoYWRvdyogY29u
dGFpbmluZ1NoYWRvdygpIGNvbnN0OwogCiAgICAgdm9pZCByZW1vdmVBbGxTaGFkb3dSb290cygp
OwotICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNzUmVmUHRy
PFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSwgRXhjZXB0aW9uQ29kZSYp
OworICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNzUmVmUHRy
PFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSk7CiAKICAgICB2b2lkIGF0
dGFjaCgpOwogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5k
ZXggYTJmOTZlNjFjYjU2ZjlmZWE0MDU5OWIyYWFlZTYzZWEzNTQ5MWI4OC4uMWQ3OTcwNTlhYTc3
ZjRlZDM1M2M5MzYwNmQ5ZDY3NDE4NTJkY2ZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNw
cApAQCAtNjMsNiArNjMsMjMgQEAgc3RydWN0IFNhbWVTaXplQXNTaGFkb3dSb290IDogcHVibGlj
IERvY3VtZW50RnJhZ21lbnQsIHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYwogCiBDT01QSUxFX0FT
U0VSVChzaXplb2YoU2hhZG93Um9vdCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTaGFkb3dSb290KSwg
c2hhZG93cm9vdF9zaG91bGRfc3RheV9zbWFsbCk7CiAKK2VudW0gU2hhZG93Um9vdFVzYWdlT3Jp
Z2luVHlwZSB7CisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViID0gMCwKKyAgICBTaGFkb3dS
b290VXNhZ2VPcmlnaW5Ob3RXZWIsCisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZXMKK307
CisKK3N0YXRpYyBpbmxpbmUgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZSBkZXRlcm1pbmVVc2Fn
ZVR5cGUoRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIC8vIEVuYWJsZXMgb25seSBvbiBDSFJP
TUlVTSBzaW5jZSB0aGlzIGNvc3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0Zm9ybXMgd2hp
Y2ggZG9uJ3QgY29sbGVjdCB0aGlzIG1ldHJpY3MuCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisg
ICAgcmV0dXJuIGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJodHRwIikgPyBT
aGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWI7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgcmV0dXJuIFNoYWRvd1Jvb3RV
c2FnZU9yaWdpbldlYjsKKyNlbmRpZgorfQorCiBTaGFkb3dSb290OjpTaGFkb3dSb290KERvY3Vt
ZW50KiBkb2N1bWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSkKICAgICA6IERvY3VtZW50RnJhZ21l
bnQoZG9jdW1lbnQsIENyZWF0ZVNoYWRvd1Jvb3QpCiAgICAgLCBUcmVlU2NvcGUodGhpcywgZG9j
dW1lbnQpCkBAIC03Niw2ICs5Myw5IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QoRG9jdW1lbnQq
IGRvY3VtZW50LCBTaGFkb3dSb290VHlwZSB0eXBlKQogewogICAgIEFTU0VSVChkb2N1bWVudCk7
CiAgICAgc2V0VHJlZVNjb3BlKHRoaXMpOworCisgICAgaWYgKHR5cGUgPT0gU2hhZG93Um9vdDo6
QXV0aG9yU2hhZG93Um9vdCkKKyAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51
bWVyYXRpb24oIldlYkNvcmUuU2hhZG93Um9vdC5jb25zdHJ1Y3RvciIsIGRldGVybWluZVVzYWdl
VHlwZShkb2N1bWVudCksIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGVzKTsKIH0KIAogU2hhZG93
Um9vdDo6flNoYWRvd1Jvb3QoKQpAQCAtOTQsNjIgKzExNCwxNiBAQCBTaGFkb3dSb290Ojp+U2hh
ZG93Um9vdCgpCiAgICAgICAgIGNsZWFyUmFyZURhdGEoKTsKIH0KIAotc3RhdGljIGJvb2wgYWxs
b3dzQXV0aG9yU2hhZG93Um9vdChFbGVtZW50KiBlbGVtZW50KQorUGFzc1JlZlB0cjxTaGFkb3dS
b290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgU2hhZG93Um9vdFR5cGUg
dHlwZSkKIHsKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICBpZiAoUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0jZW5kaWYKLSAgICByZXR1cm4gZWxlbWVudC0+YXJlQXV0aG9yU2hhZG93
c0FsbG93ZWQoKTsKLX0KLQotZW51bSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlIHsKLSAgICBT
aGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgPSAwLAotICAgIFNoYWRvd1Jvb3RVc2FnZU9yaWdpbk5v
dFdlYiwKLSAgICBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlcwotfTsKLQotc3RhdGljIGlubGlu
ZSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlIGRldGVybWluZVVzYWdlVHlwZShFbGVtZW50KiBo
b3N0KQotewotICAgIC8vIEVuYWJsZXMgb25seSBvbiBDSFJPTUlVTSBzaW5jZSB0aGlzIGNvc3Qg
d29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0Zm9ybXMgd2hpY2ggZG9uJ3QgY29sbGVjdCB0aGlz
IG1ldHJpY3MuCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgaWYgKCFob3N0KQotICAgICAg
ICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViOwotICAgIHJldHVybiBob3N0LT5kb2N1
bWVudCgpLT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJodHRwIikgPyBTaGFkb3dSb290VXNh
Z2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWI7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShob3N0KTsKLSAgICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViOwot
I2VuZGlmCi19Ci0KLVBhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6Y3JlYXRlKEVs
ZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIEhpc3RvZ3JhbVN1cHBv
cnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlNoYWRvd1Jvb3QuY29uc3RydWN0b3Ii
LCBkZXRlcm1pbmVVc2FnZVR5cGUoZWxlbWVudCksIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGVz
KTsKLSAgICByZXR1cm4gY3JlYXRlKGVsZW1lbnQsIEF1dGhvclNoYWRvd1Jvb3QsIGVjKTsKLX0K
LQotUGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxl
bWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYg
KCFlbGVtZW50KSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwotICAgICAg
ICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvLyBTaW5jZSBzb21lIGVsZW1lbnRzIHJlY3JlYXRl
cyBzaGFkb3cgcm9vdCBkeW5hbWljYWxseSwgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzIHdvbid0
IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuCi0gICAgLy8gVW50aWwgdGhleSBhcmUgZml4ZWQs
IHdlIGRpc2FibGUgYWRkaW5nIGF1dGhvciBzaGFkb3cgcm9vdCBmb3IgdGhlbS4KLSAgICBpZiAo
dHlwZSA9PSBBdXRob3JTaGFkb3dSb290ICYmICFhbGxvd3NBdXRob3JTaGFkb3dSb290KGVsZW1l
bnQpKSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwotICAgICAgICByZXR1
cm4gMDsKLSAgICB9CisgICAgQVNTRVJUKGVsZW1lbnQpOwogCiAgICAgUmVmUHRyPFNoYWRvd1Jv
b3Q+IHNoYWRvd1Jvb3QgPSBhZG9wdFJlZihuZXcgU2hhZG93Um9vdChlbGVtZW50LT5kb2N1bWVu
dCgpLCB0eXBlKSk7CiAKLSAgICBlYyA9IDA7Ci0gICAgZWxlbWVudC0+ZW5zdXJlU2hhZG93KCkt
PmFkZFNoYWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSwgZWMpOwotICAgIGlmIChl
YykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgZWxlbWVudC0+ZW5zdXJlU2hhZG93KCktPmFkZFNo
YWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSk7CiAgICAgQVNTRVJUKGVsZW1lbnQg
PT0gc2hhZG93Um9vdC0+aG9zdCgpKTsKICAgICBBU1NFUlQoZWxlbWVudC0+c2hhZG93KCkpOwor
CiAgICAgcmV0dXJuIHNoYWRvd1Jvb3QucmVsZWFzZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaAppbmRleCA0NzI3OTE3ZjVlMDEzM2MxYWUxYjgwYWRlNjk1MGNiYjMxOTFjZjgxLi4xNDI5
YzlkOWFlZDYyMDU5OWFiMzY5NzY4ZjJiNmFiZTEwNDIyNGM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmgKQEAgLTQ2LDggKzQ2LDYgQEAgY2xhc3MgU2NvcGVDb250ZW50RGlzdHJpYnV0aW9uOwog
Y2xhc3MgU2hhZG93Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJsaWMgVHJlZVNj
b3BlLCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9vdD4gewogICAgIGZyaWVu
ZCBjbGFzcyBXVEY6OkRvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+OwogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50KiwgRXhjZXB0
aW9uQ29kZSYpOwotCiAgICAgLy8gRklYTUU6IFdlIHdpbGwgc3VwcG9ydCBtdWx0aXBsZSBzaGFk
b3cgc3VidHJlZXMsIGhvd2V2ZXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCB3b3Jr
IHdlbGwKICAgICAvLyBpZiBhIHNoYWRvdyByb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQuIFNv
IHdlIHByb2hpYml0IG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcwogICAgIC8vIGluIHNldmVyYWwg
ZWxlbWVudHMgZm9yIGEgd2hpbGUuCkBAIC01Niw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICAgICAg
VXNlckFnZW50U2hhZG93Um9vdCA9IDAsCiAgICAgICAgIEF1dGhvclNoYWRvd1Jvb3QKICAgICB9
OwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50KiwgU2hh
ZG93Um9vdFR5cGUsIEV4Y2VwdGlvbkNvZGUmID0gQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRlKEVsZW1lbnQqLCBTaGFkb3dSb290
VHlwZSk7CiAKICAgICB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAppbmRleCAxZTRlYzA2ZmYxMDNkMzlhNzU4
NmNmYWMyMWZhYWQyMjEzNjk4ZDc3Li44OTQ3NDZhNjY4ZTUwOWI2ZGM0M2M5YmZhYjNlM2Y2MGY3
ZTBiY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcApAQCAt
ODIsOSArODIsNyBAQCBpbmxpbmUgSFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZQogICAgICAgICBvcHRpb24tPmFw
cGVuZENoaWxkKFRleHQ6OmNyZWF0ZShkb2N1bWVudCwga2V5c1tpXSksIGVjKTsKICAgICB9CiAK
LSAgICBBU1NFUlQoIXNoYWRvdygpKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNo
YWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpVc2VyQWdlbnRTaGFkb3dSb290KTsK
LSAgICByb290LT5hcHBlbmRDaGlsZChzZWxlY3QsIGVjKTsKKyAgICBlbnN1cmVVc2VyQWdlbnRT
aGFkb3dSb290KCktPmFwcGVuZENoaWxkKHNlbGVjdCwgZWMpOwogfQogCiBQYXNzUmVmUHRyPEhU
TUxLZXlnZW5FbGVtZW50PiBIVE1MS2V5Z2VuRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBmb3Jt
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3Jh
dGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVj
b3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJhN2Y3YmQy
YjRkOTE2ZjMuLjllYzU0M2FmNTZmMzY3ODY0NDZjNTJmZjgzN2I0ODhiYTM4M2EyYWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0
aW9uRWxlbWVudC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGdldERl
Y29yYXRpb25Sb290QW5kRGVjb3JhdGVkUm9vdChIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCwgU2gK
ICAgICBpZiAobmV3Um9vdCkKICAgICAgICAgbmV3Um9vdC0+cmVtb3ZlQ2hpbGQobmV3Um9vdC0+
Zmlyc3RDaGlsZCgpKTsKICAgICBlbHNlCi0gICAgICAgIG5ld1Jvb3QgPSBTaGFkb3dSb290Ojpj
cmVhdGUoaW5wdXQsIFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19F
WENFUFRJT04pLmdldCgpOworICAgICAgICBuZXdSb290ID0gaW5wdXQtPmVuc3VyZVVzZXJBZ2Vu
dFNoYWRvd1Jvb3QoKTsKICAgICBkZWNvcmF0aW9uUm9vdCA9IG5ld1Jvb3Q7CiAgICAgZGVjb3Jh
dGVkUm9vdCA9IGV4aXN0aW5nUm9vdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAppbmRleCBmYzYyYzRlNjBmZTY1YjM5NGM5MDZjNGRiMThkOGJiYTAxNDIyN2UxLi44ZWNiODcy
NjJiZDExN2M4ODk3ZmUyNmY2Mjk3ZTk1YzJiMjk4MzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC01ODAsNyArNTgwLDcgQEAgSW50ZXJuYWxzOjpTaGFkb3dSb290SWZT
aGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QoRWxlbWUK
ICAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0gaG9zdC0+c2hhZG93KCkpCiAgICAgICAg
IHJldHVybiBzaGFkb3ctPnlvdW5nZXN0U2hhZG93Um9vdCgpOwogCi0gICAgcmV0dXJuIFNoYWRv
d1Jvb3Q6OmNyZWF0ZShob3N0LCBlYykuZ2V0KCk7CisgICAgcmV0dXJuIGhvc3QtPmNyZWF0ZVNo
YWRvd1Jvb3QoZWMpLmdldCgpOwogfQogCiBJbnRlcm5hbHM6OlNoYWRvd1Jvb3RJZlNoYWRvd0RP
TUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRlU2hhZG93Um9vdChFbGVtZW50KiBob3N0
LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTU4OSw3ICs1ODksNyBAQCBJbnRlcm5hbHM6OlNoYWRv
d1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRlU2hhZG93Um9v
dChFbGVtZQogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgfQotICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUoaG9zdCwgZWMpLmdldCgp
OworICAgIHJldHVybiBob3N0LT5jcmVhdGVTaGFkb3dSb290KGVjKS5nZXQoKTsKIH0KIAogSW50
ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OnNo
YWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluIGIvU291
cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgppbmRleCAx
ZGRhNDUyMGY0Njc1Njc1ZWM3ZDA4MTY4ODFkZGFiZjQ1MTRjOGFkLi43Nzc2OTU1ZjIyYmMwZjdl
ZTZmMmI0NzhkMWRiYTNhMzRkYzNhZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KQEAgLTE3Niw3ICsxNzYsNiBAQCBF
WFBPUlRTCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0
QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2NyZWF0ZUBT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/Y3Jl
YXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2Vy
aWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1Zh
bHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAk
MDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRA
VzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKLSAgICAgICAgP2NyZWF0ZUBTaGFkb3dSb290
QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVAQEBXVEZAQFBB
VkVsZW1lbnRAMkBBQUhAWgogICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpT
VmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVA
MUBAWgogICAgICAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVA
QFFBRT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9iamVjdEA0QFBB
Vj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQFdURkBA
VzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAgICAgP2RvY3VtZW50U3RhdGVASGlz
dG9yeUl0ZW1AV2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBY
WgpAQCAtNTY0LDcgKzU2Myw2IEBAIEVYUE9SVFMKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJD
b3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0
ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBI
MUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9B
Vj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0
cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVA
QFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBA
UEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3Nh
Z2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlC
dWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgotICAg
ICAgICA/Y3JlYXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNoYWRv
d1Jvb3RAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCiAgICAgICAgID9jcmVhdGVX
cmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9N
R2xvYmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxp
emVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0
QFBBVkpTR2xvYmFsT2JqZWN0QDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBX
ZWJDb3JlQEBAV1RGQEAkMDBAV1RGQEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAg
ICAgICA/ZG9jdW1lbnRTdGF0ZUBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBW
U3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCkBAIC05NTAsNyArOTQ4LDYgQEAgRVhQT1JUUwogICAg
ICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJD
b3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVm
UHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNj
cmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFs
dWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxp
emVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8k
VmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRW
ZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXph
dGlvbkVycm9yTW9kZUAyQEBaCi0gICAgICAgID9jcmVhdGVAU2hhZG93Um9vdEBXZWJDb3JlQEBT
QT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJA
QUFIQFoKICAgICAgICAgP2NyZWF0ZVdyYXBwZXJAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BA
UEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlQDFAQFoKICAgICAg
ICAgP2Rlc2VyaWFsaXplQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBRQUU/QVZKU1Zh
bHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDRAUEFWSlNHbG9iYWxPYmplY3RANEBQQVY/JFZlY3RvckBW
PyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEBXVEZAQFc0U2VyaWFsaXph
dGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9kb2N1bWVudFN0YXRlQEhpc3RvcnlJdGVtQFdl
YkNvcmVAQFFCRUFCVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAWFoKQEAgLTEzMzYs
NyArMTMzMyw2IEBAIEVYUE9SVFMKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBTQT9B
Vj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9jdW1l
bnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgogICAg
ICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1Jl
ZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBa
CiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0
YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdl
YkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RG
QEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgotICAgICAgICA/Y3Jl
YXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jvb3RAV2Vi
Q29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdl
YkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2Jq
ZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0
VmFsdWVAV2ViQ29yZUBAUUFFP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xv
YmFsT2JqZWN0QDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBA
V1RGQEAkMDBAV1RGQEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9j
dW1lbnRTdGF0ZUBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdU
RkBAJDBBQEBXVEZAQFhaCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185300</attachid>
            <date>2013-01-29 13:47:52 -0800</date>
            <delta_ts>2013-01-29 14:12:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108209-20130129164437.patch</filename>
            <type>text/plain</type>
            <size>19783</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNjZGNhNDg0NDI3MjFl
MzAxNTVlMmM3NjgyZjczZTZiODcwZWJhMi4uMGYwNjhiNmJjOTljNzcxZGUzYTYzNDNmOTAxNDhm
N2M3NmQyZjZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAxLTI5ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlZmFjdG9yIFNo
YWRvd1Jvb3QgZXhjZXB0aW9uIGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDkKKworICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJp
IEdsYXprb3YuCisKKyAgICAgICAgTWFueSBvZiB0aGUgZXhjZXB0aW9uIGNhc2VzIGZvciBTaGFk
b3dSb290IGFyZSBhY3R1YWxseSBpbXBvc3NpYmxlIGFuZAorICAgICAgICBzaG91bGQgYmUgYXNz
ZXJ0cyBpbnN0ZWFkLiBXZSBjYW4gYWxzbyBtb3ZlIHRoZSBvbmUgY2FzZSBvZiBleGNlcHRpb24g
bG9naWMsCisgICAgICAgIGZvciBlbGVtZW50cyB0aGF0IGRvbid0IGFsbG93IGF1dGhvciBzaGFk
b3dzIGludG8gRWxlbWVudDo6Y3JlYXRlU2hhZG93Um9vdAorICAgICAgICBpbnN0ZWFkIG9mIGhh
dmluZyBpdCBhbGwgb3ZlciB0aGUgU2hhZG93Um9vdCBhbmQgRWxlbWVudFNoYWRvdyBjbGFzc2Vz
LiBUaGlzCisgICAgICAgIGlzIHRoZSBmaXJzdCBzdGVwIGluIGNlbnRyYWxpemluZyBhbGwgU2hh
ZG93Um9vdCBjcmVhdGlvbiBpbnNpZGUgRWxlbWVudFNoYWRvdy4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjpjcmVhdGVTaGFkb3dSb290KTogQmUgZXhwbGljaXQgYWJvdXQgd2hhdCBraW5kIG9mIFNo
YWRvd1Jvb3QgeW91J3JlIGNyZWF0aW5nLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5z
dXJlVXNlckFnZW50U2hhZG93Um9vdCk6IE5vIG1vcmUgZXhjZXB0aW9ucy4KKyAgICAgICAgKiBk
b20vRWxlbWVudFNoYWRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50U2hhZG93Ojph
ZGRTaGFkb3dSb290KTogVGhpcyBuZXZlciBhY3R1YWxseSB0aHJvd3MgZXhjZXB0aW9ucywgcmVt
b3ZlIEV4Y2VwdGlvbkNvZGUuCisgICAgICAgICogZG9tL0VsZW1lbnRTaGFkb3cuaDoKKyAgICAg
ICAgKEVsZW1lbnRTaGFkb3cpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmRldGVybWluZVVzYWdlVHlwZSk6IE1lcmdlIHdpdGggRWxlbWVudDo6Y3Jl
YXRlU2hhZG93Um9vdC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2hh
ZG93Um9vdDo6U2hhZG93Um9vdCk6IE1vdmVkIEhpc3RvZ3JhbSBsb2dpYyBoZXJlIHNpbmNlIGl0
J3MgYWN0dWFsbHkgYWJvdXQgdGhlIGNvbnN0cnVjdG9yIGFueXdheS4KKyAgICAgICAgKFdlYkNv
cmU6OlNoYWRvd1Jvb3Q6OmNyZWF0ZSk6IFJlbW92ZWQgb3ZlcmxvYWQgdGhhdCBtYWRlIHRoZSBj
b2RlIGxlc3Mgb2J2aW91cy4KKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAgICAo
U2hhZG93Um9vdCk6CisgICAgICAgICogaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MS2V5Z2VuRWxlbWVudDo6SFRNTEtleWdlbkVsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmdldERlY29yYXRpb25Sb290QW5kRGVjb3JhdGVkUm9vdCk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpl
bnN1cmVTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlU2hh
ZG93Um9vdCk6CisKIDIwMTMtMDEtMjkgIEp1c3RpbiBOb3Zvc2FkICA8anVub3ZAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTM1NjI4LTEzNTYzMik6IERvdWJsZSBib3ggc2hh
ZG93IGZhaWx1cmUgdG8gcmVuZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZWRjYjYyYjU0MDYyOWIw
MzJmMTUzNDg3MzJkOWFmMGE1OGQ3MDViYS4uZDI4NzY2NTM0Y2JkZDRiZDRmMzZiZjlkNzg4ZTQx
NmQ4ZmQyZmQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTAxLTI5
ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlZmFj
dG9yIFNoYWRvd1Jvb3QgZXhjZXB0aW9uIGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgyMDkKKworICAgICAgICBSZXZpZXdlZCBieSBE
aW1pdHJpIEdsYXprb3YuCisKKyAgICAgICAgKiBXZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMu
ZGVmLmluOiBTd2FwIFNoYWRvd1Jvb3Q6OmNyZWF0ZSBleHBvcnQgd2l0aCBFbGVtZW50OjpjcmVh
dGVTaGFkb3dSb290LgorCiAyMDEzLTAxLTI5ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIHJldXNlIG9mIGNhY2hlZCBtYWluIHJlc291cmNlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgppbmRleCBkMTRiZjk5NjUzYzg3Y2I5ZmJkMmUwNmUyMWRhOWMwZmE5
ZTAzZjM1Li5hNDY5MTU0ZWQzNTM4OTcyY2IwOWU4MmZmNmJlZGQ5NDVlZDkyYmMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtODMsNyArODMsNiBAQCBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcy
M3NldFNjcm9sbGJhcnNTdXBwcmVzc2VkRWJiCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyNHdp
bmRvd1Jlc2l6ZXJSZWN0Q2hhbmdlZEV2CiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXc4YWRkQ2hp
bGRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNldpZGdldEVFRQogX19aTks3V2ViQ29yZTE0U2Nyb2xs
YWJsZUFyZWExN3JlcG9ydE1lbW9yeVVzYWdlRVBOM1dURjE2TWVtb3J5T2JqZWN0SW5mb0UKLV9f
Wk43V2ViQ29yZTEwU2hhZG93Um9vdDZjcmVhdGVFUE5TXzdFbGVtZW50RVJpCiBfX1pON1dlYkNv
cmUxMGRlbGV0ZUZpbGVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxMHNldENvb2tpZXNF
UE5TXzhEb2N1bWVudEVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTB0
b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCkBAIC04OTgsNiArODk3LDcgQEAgX19aTjdXZWJDb3Jl
N0VsZW1lbnQyMWJvdW5kc0luUm9vdFZpZXdTcGFjZUV2CiBfX1pON1dlYkNvcmU3RWxlbWVudDlp
bm5lclRleHRFdgogX19aTjdXZWJDb3JlN0VsZW1lbnQ5c2V0UHNldWRvRVJLTjNXVEYxMkF0b21p
Y1N0cmluZ0UKIF9fWk5LN1dlYkNvcmU3RWxlbWVudDEzcHNldWRvRWxlbWVudEVOU184UHNldWRv
SWRFCitfX1pON1dlYkNvcmU3RWxlbWVudDE2Y3JlYXRlU2hhZG93Um9vdEVSaQogX19aTjdXZWJD
b3JlN0ludFJlY3Q1c2NhbGVFZgogX19aTjdXZWJDb3JlN0ludFJlY3Q1dW5pdGVFUktTMF8KIF9f
Wk43V2ViQ29yZTdJbnRSZWN0OWludGVyc2VjdEVSS1MwXwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmlu
ZGV4IDMwN2ZlNjEzMWI5MTcwMmI1NThjN2ExNTA0OTNkYzUyNTk2M2Y3MDYuLjA3ZmRkZTQ4OWI5
MWEwZGM0NzRjZGM1ZjM2YmI3ZDlmNTgzMTExMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAg
LTE0NTQsNyArMTQ1NCwxOSBAQCB2b2lkIEVsZW1lbnQ6OmRpZEFmZmVjdFNlbGVjdG9yKEFmZmVj
dGVkU2VsZWN0b3JNYXNrIG1hc2spCiAKIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gRWxlbWVudDo6
Y3JlYXRlU2hhZG93Um9vdChFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICByZXR1cm4gU2hhZG93
Um9vdDo6Y3JlYXRlKHRoaXMsIGVjKTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBpZiAo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJs
ZWQoKSkKKyAgICAgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290
OjpBdXRob3JTaGFkb3dSb290KTsKKyNlbmRpZgorCisgICAgLy8gU2luY2Ugc29tZSBlbGVtZW50
cyByZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHksIG11bHRpcGxlIHNoYWRvdworICAg
IC8vIHN1YnRyZWVzIHdvbid0IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuIFVudGlsIHRoZXkg
YXJlIGZpeGVkLCB3ZSBkaXNhYmxlCisgICAgLy8gYWRkaW5nIGF1dGhvciBzaGFkb3cgcm9vdCBm
b3IgdGhlbS4KKyAgICBpZiAoIWFyZUF1dGhvclNoYWRvd3NBbGxvd2VkKCkpIHsKKyAgICAgICAg
ZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAg
ICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkF1dGhvclNoYWRv
d1Jvb3QpOwogfQogCiBTaGFkb3dSb290KiBFbGVtZW50OjpzaGFkb3dSb290KCkgY29uc3QKQEAg
LTE0ODQsNyArMTQ5Niw3IEBAIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6OmVuc3VyZVVzZXJBZ2VudFNo
YWRvd1Jvb3QoKQogewogICAgIGlmIChTaGFkb3dSb290KiBzaGFkb3dSb290ID0gdXNlckFnZW50
U2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gc2hhZG93Um9vdDsKLSAgICBTaGFkb3dSb290
KiBzaGFkb3dSb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OlVzZXJB
Z2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pLmdldCgpOworICAgIFNoYWRvd1Jv
b3QqIHNoYWRvd1Jvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6VXNl
ckFnZW50U2hhZG93Um9vdCkuZ2V0KCk7CiAgICAgZGlkQWRkVXNlckFnZW50U2hhZG93Um9vdChz
aGFkb3dSb290KTsKICAgICByZXR1cm4gc2hhZG93Um9vdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50U2hhZG93LmNwcAppbmRleCBmZjBiN2I5YjI1N2RkODhhN2UyNjIzNDY1Njg5NDY2NmVlYzRl
ZjkxLi4xY2M4NWYwMTMxYjg1OGFkNDY3OGU3NzYxNjYwMjEyZjRkOTA0NTU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCkBAIC0zMiwzMSArMzIsMTIgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgYm9vbCB2YWxpZGF0ZVNoYWRvd1Jvb3QoRG9jdW1lbnQqIGRv
Y3VtZW50LCBTaGFkb3dSb290KiBzaGFkb3dSb290LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAg
ICBpZiAoIXNoYWRvd1Jvb3QpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKHNoYWRv
d1Jvb3QtPmhvc3QoKSkgewotICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmIChzaGFkb3dSb290LT5kb2N1bWVu
dCgpICE9IGRvY3VtZW50KSB7Ci0gICAgICAgIGVjID0gV1JPTkdfRE9DVU1FTlRfRVJSOwotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQg
RWxlbWVudFNoYWRvdzo6YWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNzUmVm
UHRyPFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QsIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3RUeXBlIHR5
cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBFbGVtZW50U2hhZG93OjphZGRTaGFkb3dSb290
KEVsZW1lbnQqIHNoYWRvd0hvc3QsIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gc2hhZG93Um9vdCwg
U2hhZG93Um9vdDo6U2hhZG93Um9vdFR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQoc2hhZG93SG9z
dCk7CiAgICAgQVNTRVJUKHNoYWRvd1Jvb3QpOwotCi0gICAgaWYgKCF2YWxpZGF0ZVNoYWRvd1Jv
b3Qoc2hhZG93SG9zdC0+ZG9jdW1lbnQoKSwgc2hhZG93Um9vdC5nZXQoKSwgZWMpKQotICAgICAg
ICByZXR1cm47CisgICAgQVNTRVJUKCFzaGFkb3dSb290LT5ob3N0KCkpOworICAgIEFTU0VSVChz
aGFkb3dIb3N0LT5kb2N1bWVudCgpID09IHNoYWRvd1Jvb3QtPmRvY3VtZW50KCkpOwogCiAgICAg
aWYgKHR5cGUgPT0gU2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKICAgICAgICAgc2hhZG93
SG9zdC0+d2lsbEFkZEF1dGhvclNoYWRvd1Jvb3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50U2hhZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRv
dy5oCmluZGV4IGFiNzEyNGI3Yjc2MzhiYTk5ZTJmNjEzYjUzMGE5ODgxMmQ3OTc1NGUuLmNhOTRi
ZjZjMzczM2Y1NzA2YWQ3OTExOTc5NzVlNGRkNWVjYTcyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRTaGFkb3cuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudFNoYWRvdyog
Y29udGFpbmluZ1NoYWRvdygpIGNvbnN0OwogCiAgICAgdm9pZCByZW1vdmVBbGxTaGFkb3dSb290
cygpOwotICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNzUmVm
UHRyPFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSwgRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZvaWQgYWRkU2hhZG93Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNzUmVm
UHRyPFNoYWRvd1Jvb3Q+LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlwZSk7CiAKICAgICB2b2lk
IGF0dGFjaCgpOwogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAK
aW5kZXggYTJmOTZlNjFjYjU2ZjlmZWE0MDU5OWIyYWFlZTYzZWEzNTQ5MWI4OC4uMWQ3OTcwNTlh
YTc3ZjRlZDM1M2M5MzYwNmQ5ZDY3NDE4NTJkY2ZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290
LmNwcApAQCAtNjMsNiArNjMsMjMgQEAgc3RydWN0IFNhbWVTaXplQXNTaGFkb3dSb290IDogcHVi
bGljIERvY3VtZW50RnJhZ21lbnQsIHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYwogCiBDT01QSUxF
X0FTU0VSVChzaXplb2YoU2hhZG93Um9vdCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTaGFkb3dSb290
KSwgc2hhZG93cm9vdF9zaG91bGRfc3RheV9zbWFsbCk7CiAKK2VudW0gU2hhZG93Um9vdFVzYWdl
T3JpZ2luVHlwZSB7CisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViID0gMCwKKyAgICBTaGFk
b3dSb290VXNhZ2VPcmlnaW5Ob3RXZWIsCisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZXMK
K307CisKK3N0YXRpYyBpbmxpbmUgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZSBkZXRlcm1pbmVV
c2FnZVR5cGUoRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIC8vIEVuYWJsZXMgb25seSBvbiBD
SFJPTUlVTSBzaW5jZSB0aGlzIGNvc3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0Zm9ybXMg
d2hpY2ggZG9uJ3QgY29sbGVjdCB0aGlzIG1ldHJpY3MuCisjaWYgUExBVEZPUk0oQ0hST01JVU0p
CisgICAgcmV0dXJuIGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJodHRwIikg
PyBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWI7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgcmV0dXJuIFNoYWRvd1Jv
b3RVc2FnZU9yaWdpbldlYjsKKyNlbmRpZgorfQorCiBTaGFkb3dSb290OjpTaGFkb3dSb290KERv
Y3VtZW50KiBkb2N1bWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSkKICAgICA6IERvY3VtZW50RnJh
Z21lbnQoZG9jdW1lbnQsIENyZWF0ZVNoYWRvd1Jvb3QpCiAgICAgLCBUcmVlU2NvcGUodGhpcywg
ZG9jdW1lbnQpCkBAIC03Niw2ICs5Myw5IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QoRG9jdW1l
bnQqIGRvY3VtZW50LCBTaGFkb3dSb290VHlwZSB0eXBlKQogewogICAgIEFTU0VSVChkb2N1bWVu
dCk7CiAgICAgc2V0VHJlZVNjb3BlKHRoaXMpOworCisgICAgaWYgKHR5cGUgPT0gU2hhZG93Um9v
dDo6QXV0aG9yU2hhZG93Um9vdCkKKyAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFt
RW51bWVyYXRpb24oIldlYkNvcmUuU2hhZG93Um9vdC5jb25zdHJ1Y3RvciIsIGRldGVybWluZVVz
YWdlVHlwZShkb2N1bWVudCksIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGVzKTsKIH0KIAogU2hh
ZG93Um9vdDo6flNoYWRvd1Jvb3QoKQpAQCAtOTQsNjIgKzExNCwxNiBAQCBTaGFkb3dSb290Ojp+
U2hhZG93Um9vdCgpCiAgICAgICAgIGNsZWFyUmFyZURhdGEoKTsKIH0KIAotc3RhdGljIGJvb2wg
YWxsb3dzQXV0aG9yU2hhZG93Um9vdChFbGVtZW50KiBlbGVtZW50KQorUGFzc1JlZlB0cjxTaGFk
b3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgU2hhZG93Um9vdFR5
cGUgdHlwZSkKIHsKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICBpZiAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQoKSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLSAgICByZXR1cm4gZWxlbWVudC0+YXJlQXV0aG9yU2hh
ZG93c0FsbG93ZWQoKTsKLX0KLQotZW51bSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlIHsKLSAg
ICBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgPSAwLAotICAgIFNoYWRvd1Jvb3RVc2FnZU9yaWdp
bk5vdFdlYiwKLSAgICBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlcwotfTsKLQotc3RhdGljIGlu
bGluZSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlIGRldGVybWluZVVzYWdlVHlwZShFbGVtZW50
KiBob3N0KQotewotICAgIC8vIEVuYWJsZXMgb25seSBvbiBDSFJPTUlVTSBzaW5jZSB0aGlzIGNv
c3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0Zm9ybXMgd2hpY2ggZG9uJ3QgY29sbGVjdCB0
aGlzIG1ldHJpY3MuCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgaWYgKCFob3N0KQotICAg
ICAgICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViOwotICAgIHJldHVybiBob3N0LT5k
b2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJodHRwIikgPyBTaGFkb3dSb290
VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWI7Ci0jZWxzZQotICAg
IFVOVVNFRF9QQVJBTShob3N0KTsKLSAgICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2Vi
OwotI2VuZGlmCi19Ci0KLVBhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6Y3JlYXRl
KEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIEhpc3RvZ3JhbVN1
cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlNoYWRvd1Jvb3QuY29uc3RydWN0
b3IiLCBkZXRlcm1pbmVVc2FnZVR5cGUoZWxlbWVudCksIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5
cGVzKTsKLSAgICByZXR1cm4gY3JlYXRlKGVsZW1lbnQsIEF1dGhvclNoYWRvd1Jvb3QsIGVjKTsK
LX0KLQotUGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCog
ZWxlbWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAg
aWYgKCFlbGVtZW50KSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwotICAg
ICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvLyBTaW5jZSBzb21lIGVsZW1lbnRzIHJlY3Jl
YXRlcyBzaGFkb3cgcm9vdCBkeW5hbWljYWxseSwgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzIHdv
bid0IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuCi0gICAgLy8gVW50aWwgdGhleSBhcmUgZml4
ZWQsIHdlIGRpc2FibGUgYWRkaW5nIGF1dGhvciBzaGFkb3cgcm9vdCBmb3IgdGhlbS4KLSAgICBp
ZiAodHlwZSA9PSBBdXRob3JTaGFkb3dSb290ICYmICFhbGxvd3NBdXRob3JTaGFkb3dSb290KGVs
ZW1lbnQpKSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwotICAgICAgICBy
ZXR1cm4gMDsKLSAgICB9CisgICAgQVNTRVJUKGVsZW1lbnQpOwogCiAgICAgUmVmUHRyPFNoYWRv
d1Jvb3Q+IHNoYWRvd1Jvb3QgPSBhZG9wdFJlZihuZXcgU2hhZG93Um9vdChlbGVtZW50LT5kb2N1
bWVudCgpLCB0eXBlKSk7CiAKLSAgICBlYyA9IDA7Ci0gICAgZWxlbWVudC0+ZW5zdXJlU2hhZG93
KCktPmFkZFNoYWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSwgZWMpOwotICAgIGlm
IChlYykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgZWxlbWVudC0+ZW5zdXJlU2hhZG93KCktPmFk
ZFNoYWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSk7CiAgICAgQVNTRVJUKGVsZW1l
bnQgPT0gc2hhZG93Um9vdC0+aG9zdCgpKTsKICAgICBBU1NFUlQoZWxlbWVudC0+c2hhZG93KCkp
OworCiAgICAgcmV0dXJuIHNoYWRvd1Jvb3QucmVsZWFzZSgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuaAppbmRleCA0NzI3OTE3ZjVlMDEzM2MxYWUxYjgwYWRlNjk1MGNiYjMxOTFjZjgxLi4x
NDI5YzlkOWFlZDYyMDU5OWFiMzY5NzY4ZjJiNmFiZTEwNDIyNGM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dSb290LmgKQEAgLTQ2LDggKzQ2LDYgQEAgY2xhc3MgU2NvcGVDb250ZW50RGlzdHJpYnV0aW9u
OwogY2xhc3MgU2hhZG93Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJsaWMgVHJl
ZVNjb3BlLCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9vdD4gewogICAgIGZy
aWVuZCBjbGFzcyBXVEY6OkRvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+OwogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50KiwgRXhj
ZXB0aW9uQ29kZSYpOwotCiAgICAgLy8gRklYTUU6IFdlIHdpbGwgc3VwcG9ydCBtdWx0aXBsZSBz
aGFkb3cgc3VidHJlZXMsIGhvd2V2ZXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCB3
b3JrIHdlbGwKICAgICAvLyBpZiBhIHNoYWRvdyByb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQu
IFNvIHdlIHByb2hpYml0IG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcwogICAgIC8vIGluIHNldmVy
YWwgZWxlbWVudHMgZm9yIGEgd2hpbGUuCkBAIC01Niw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICAg
ICAgVXNlckFnZW50U2hhZG93Um9vdCA9IDAsCiAgICAgICAgIEF1dGhvclNoYWRvd1Jvb3QKICAg
ICB9OwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50Kiwg
U2hhZG93Um9vdFR5cGUsIEV4Y2VwdGlvbkNvZGUmID0gQVNTRVJUX05PX0VYQ0VQVElPTik7Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRlKEVsZW1lbnQqLCBTaGFkb3dS
b290VHlwZSk7CiAKICAgICB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAppbmRleCAxZTRlYzA2ZmYxMDNkMzlh
NzU4NmNmYWMyMWZhYWQyMjEzNjk4ZDc3Li44OTQ3NDZhNjY4ZTUwOWI2ZGM0M2M5YmZhYjNlM2Y2
MGY3ZTBiY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcApA
QCAtODIsOSArODIsNyBAQCBpbmxpbmUgSFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZQogICAgICAgICBvcHRpb24t
PmFwcGVuZENoaWxkKFRleHQ6OmNyZWF0ZShkb2N1bWVudCwga2V5c1tpXSksIGVjKTsKICAgICB9
CiAKLSAgICBBU1NFUlQoIXNoYWRvdygpKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9
IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpVc2VyQWdlbnRTaGFkb3dSb290
KTsKLSAgICByb290LT5hcHBlbmRDaGlsZChzZWxlY3QsIGVjKTsKKyAgICBlbnN1cmVVc2VyQWdl
bnRTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKHNlbGVjdCwgZWMpOwogfQogCiBQYXNzUmVmUHRy
PEhUTUxLZXlnZW5FbGVtZW50PiBIVE1MS2V5Z2VuRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBm
b3JtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVj
b3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxk
RGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJhN2Y3
YmQyYjRkOTE2ZjMuLjllYzU0M2FmNTZmMzY3ODY0NDZjNTJmZjgzN2I0ODhiYTM4M2EyYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25F
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNv
cmF0aW9uRWxlbWVudC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGdl
dERlY29yYXRpb25Sb290QW5kRGVjb3JhdGVkUm9vdChIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCwg
U2gKICAgICBpZiAobmV3Um9vdCkKICAgICAgICAgbmV3Um9vdC0+cmVtb3ZlQ2hpbGQobmV3Um9v
dC0+Zmlyc3RDaGlsZCgpKTsKICAgICBlbHNlCi0gICAgICAgIG5ld1Jvb3QgPSBTaGFkb3dSb290
OjpjcmVhdGUoaW5wdXQsIFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9O
T19FWENFUFRJT04pLmdldCgpOworICAgICAgICBuZXdSb290ID0gaW5wdXQtPmVuc3VyZVVzZXJB
Z2VudFNoYWRvd1Jvb3QoKTsKICAgICBkZWNvcmF0aW9uUm9vdCA9IG5ld1Jvb3Q7CiAgICAgZGVj
b3JhdGVkUm9vdCA9IGV4aXN0aW5nUm9vdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAppbmRleCBmYzYyYzRlNjBmZTY1YjM5NGM5MDZjNGRiMThkOGJiYTAxNDIyN2UxLi44ZWNi
ODcyNjJiZDExN2M4ODk3ZmUyNmY2Mjk3ZTk1YzJiMjk4MzJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCkBAIC01ODAsNyArNTgwLDcgQEAgSW50ZXJuYWxzOjpTaGFkb3dSb290
SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QoRWxl
bWUKICAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0gaG9zdC0+c2hhZG93KCkpCiAgICAg
ICAgIHJldHVybiBzaGFkb3ctPnlvdW5nZXN0U2hhZG93Um9vdCgpOwogCi0gICAgcmV0dXJuIFNo
YWRvd1Jvb3Q6OmNyZWF0ZShob3N0LCBlYykuZ2V0KCk7CisgICAgcmV0dXJuIGhvc3QtPmNyZWF0
ZVNoYWRvd1Jvb3QoZWMpLmdldCgpOwogfQogCiBJbnRlcm5hbHM6OlNoYWRvd1Jvb3RJZlNoYWRv
d0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRlU2hhZG93Um9vdChFbGVtZW50KiBo
b3N0LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTU4OSw3ICs1ODksNyBAQCBJbnRlcm5hbHM6OlNo
YWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRlU2hhZG93
Um9vdChFbGVtZQogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgfQotICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUoaG9zdCwgZWMpLmdl
dCgpOworICAgIHJldHVybiBob3N0LT5jcmVhdGVTaGFkb3dSb290KGVjKS5nZXQoKTsKIH0KIAog
SW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6
OnNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluIGIv
U291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgppbmRl
eCAxZGRhNDUyMGY0Njc1Njc1ZWM3ZDA4MTY4ODFkZGFiZjQ1MTRjOGFkLi5mZTJmYjZlZjg3OTU0
OGEzNWIwYzk3MjAyZjJlMDQyMzkzNTMwNGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KQEAgLTE3Niw3ICsxNzYsNyBA
QCBFWFBPUlRTCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQ
dHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVA
QEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2NyZWF0
ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/
Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBW
U2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZK
U1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RG
QEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAw
QDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKLSAgICAgICAgP2NyZWF0ZUBTaGFkb3dS
b290QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVAQEBXVEZA
QFBBVkVsZW1lbnRAMkBBQUhAWgorICAgICAgICA/Y3JlYXRlU2hhZG93Um9vdEBFbGVtZW50QFdl
YkNvcmVAQFFBRT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBBQUhA
WgogICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZF
eGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgogICAgICAgICA/
ZGVzZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVkpTVmFsdWVA
SlNDQEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9iamVjdEA0QFBBVj8kVmVjdG9yQFY/JFJl
ZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQFdURkBAVzRTZXJpYWxpemF0aW9u
RXJyb3JNb2RlQDJAQFoKICAgICAgICAgP2RvY3VtZW50U3RhdGVASGlzdG9yeUl0ZW1AV2ViQ29y
ZUBAUUJFQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpAQCAtNTY0LDcgKzU2
NCw3IEBAIEVYUE9SVFMKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBTQT9BVj8kUGFz
c1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9jdW1lbnRAV2Vi
Q29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgogICAgICAgICA/
Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBW
U2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAgICAg
ICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpT
Q0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVA
QEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RG
QEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgotICAgICAgICA/Y3JlYXRlQFNo
YWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jvb3RAV2ViQ29yZUBA
QFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCisgICAgICAgID9jcmVhdGVTaGFkb3dSb290QEVsZW1l
bnRAV2ViQ29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVAQEBXVEZA
QEFBSEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NA
QFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAg
ICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWSlNW
YWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xvYmFsT2JqZWN0QDRAUEFWPyRWZWN0b3JA
Vj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBAV1RGQEBXNFNlcmlhbGl6
YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9jdW1lbnRTdGF0ZUBIaXN0b3J5SXRlbUBX
ZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCkBAIC05NTAs
NyArOTUwLDcgQEAgRVhQT1JUUwogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVu
dEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAg
ICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoK
ICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3Rh
dGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2Vi
Q29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZA
QEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCi0gICAgICAgID9jcmVh
dGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJD
b3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKKyAgICAgICAgP2NyZWF0ZVNoYWRvd1Jvb3RA
RWxlbWVudEBXZWJDb3JlQEBRQUU/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jvb3RAV2ViQ29yZUBA
QFdURkBAQUFIQFoKICAgICAgICAgP2NyZWF0ZVdyYXBwZXJAV2ViQ29yZUBAWUE/QVZKU1ZhbHVl
QEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlQDFAQFoK
ICAgICAgICAgP2Rlc2VyaWFsaXplQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBRQUU/
QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDRAUEFWSlNHbG9iYWxPYmplY3RANEBQQVY/JFZl
Y3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEBXVEZAQFc0U2Vy
aWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9kb2N1bWVudFN0YXRlQEhpc3RvcnlJ
dGVtQFdlYkNvcmVAQFFCRUFCVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAWFoKQEAg
LTEzMzYsNyArMTMzNiw3IEBAIEVYUE9SVFMKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3Jl
QEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBW
RG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhA
WgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8k
UGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmlu
Z0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNB
P0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFW
RXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQ
b3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZm
ZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgotICAgICAg
ICA/Y3JlYXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jv
b3RAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCisgICAgICAgID9jcmVhdGVTaGFk
b3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdl
YkNvcmVAQEBXVEZAQEFBSEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FW
SlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9k
ZUAxQEBaCiAgICAgICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29y
ZUBAUUFFP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xvYmFsT2JqZWN0QDRA
UEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBAV1RG
QEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9jdW1lbnRTdGF0ZUBI
aXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZA
QFhaCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185306</attachid>
            <date>2013-01-29 14:12:49 -0800</date>
            <delta_ts>2013-01-29 15:26:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108209-20130129170934.patch</filename>
            <type>text/plain</type>
            <size>20017</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNlMWNiMjg0MDMyNTNk
YWE5YTZkNmZhNDJkYmI3ZDBiNzczZTllYS4uMzZlOGQyZjhhYjdkNWVhMGE0MDViNjcyMjkyNzM5
NTU3ZTU4OTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDYyIEBACiAyMDEzLTAxLTI5ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorICAgICAgICBSZWZhY3RvciBTaGFk
b3dSb290IGV4Y2VwdGlvbiBoYW5kbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBH
bGF6a292LgorCisgICAgICAgIE1hbnkgb2YgdGhlIGV4Y2VwdGlvbiBjYXNlcyBmb3IgU2hhZG93
Um9vdCBhcmUgYWN0dWFsbHkgaW1wb3NzaWJsZSBhbmQKKyAgICAgICAgc2hvdWxkIGJlIGFzc2Vy
dHMgaW5zdGVhZC4gV2UgY2FuIGFsc28gbW92ZSB0aGUgb25lIGNhc2Ugb2YgZXhjZXB0aW9uIGxv
Z2ljLAorICAgICAgICBmb3IgZWxlbWVudHMgdGhhdCBkb24ndCBhbGxvdyBhdXRob3Igc2hhZG93
cyBpbnRvIEVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1Jvb3QKKyAgICAgICAgaW5zdGVhZCBvZiBoYXZp
bmcgaXQgYWxsIG92ZXIgdGhlIFNoYWRvd1Jvb3QgYW5kIEVsZW1lbnRTaGFkb3cgY2xhc3Nlcy4g
VGhpcworICAgICAgICBpcyB0aGUgZmlyc3Qgc3RlcCBpbiBjZW50cmFsaXppbmcgYWxsIFNoYWRv
d1Jvb3QgY3JlYXRpb24gaW5zaWRlIEVsZW1lbnRTaGFkb3cuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogV2ViQ29yZS5leHAu
aW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Y3JlYXRlU2hhZG93Um9vdCk6IEJlIGV4cGxpY2l0IGFib3V0IHdoYXQga2luZCBvZiBTaGFk
b3dSb290IHlvdSdyZSBjcmVhdGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVuc3Vy
ZVVzZXJBZ2VudFNoYWRvd1Jvb3QpOiBObyBtb3JlIGV4Y2VwdGlvbnMuCisgICAgICAgICogZG9t
L0VsZW1lbnRTaGFkb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFNoYWRvdzo6YWRk
U2hhZG93Um9vdCk6IFRoaXMgbmV2ZXIgYWN0dWFsbHkgdGhyb3dzIGV4Y2VwdGlvbnMsIHJlbW92
ZSBFeGNlcHRpb25Db2RlLgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93Lmg6CisgICAgICAg
IChFbGVtZW50U2hhZG93KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpkZXRlcm1pbmVVc2FnZVR5cGUpOiBNZXJnZSB3aXRoIEVsZW1lbnQ6OmNyZWF0
ZVNoYWRvd1Jvb3QuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6OlNoYWRvd1Jvb3QpOiBNb3ZlZCBIaXN0b2dyYW0gbG9naWMgaGVyZSBzaW5jZSBpdCdz
IGFjdHVhbGx5IGFib3V0IHRoZSBjb25zdHJ1Y3RvciBhbnl3YXkuCisgICAgICAgIChXZWJDb3Jl
OjpTaGFkb3dSb290OjpjcmVhdGUpOiBSZW1vdmVkIG92ZXJsb2FkIHRoYXQgbWFkZSB0aGUgY29k
ZSBsZXNzIG9idmlvdXMuCisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFNo
YWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpnZXREZWNvcmF0aW9uUm9vdEFuZERlY29yYXRlZFJvb3QpOgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZW5z
dXJlU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNyZWF0ZVNoYWRv
d1Jvb3QpOgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y3JlYXRlU2hhZG93Um9vdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KToKKyAg
ICAgICAgKiBkb20vRWxlbWVudFNoYWRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
U2hhZG93OjphZGRTaGFkb3dSb290KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkZXRlcm1pbmVVc2FnZVR5cGUpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpTaGFkb3dSb290KToKKyAgICAgICAgKFdl
YkNvcmU6OlNoYWRvd1Jvb3Q6OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoK
KyAgICAgICAgKFNoYWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpnZXREZWNvcmF0aW9uUm9vdEFuZERlY29yYXRlZFJvb3Qp
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6ZW5zdXJlU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6
OmNyZWF0ZVNoYWRvd1Jvb3QpOgorCisyMDEzLTAxLTI5ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJl
aG5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBhbGwgU2hhZG93Um9vdHMgZHVyaW5n
IEVsZW1lbnRTaGFkb3cgZGVzdHJ1Y3Rpb24KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwODIwNwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGVkY2I2MmI1NDA2
MjliMDMyZjE1MzQ4NzMyZDlhZjBhNThkNzA1YmEuLmQyODc2NjUzNGNiZGQ0YmQ0ZjM2YmY5ZDc4
OGU0MTZkOGZkMmZkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0w
MS0yOSAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZWZhY3RvciBTaGFkb3dSb290IGV4Y2VwdGlvbiBoYW5kbGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MjA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGltaXRyaSBHbGF6a292LgorCisgICAgICAgICogV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBv
cnRzLmRlZi5pbjogU3dhcCBTaGFkb3dSb290OjpjcmVhdGUgZXhwb3J0IHdpdGggRWxlbWVudDo6
Y3JlYXRlU2hhZG93Um9vdC4KKwogMjAxMy0wMS0yOSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEVuYWJsZSByZXVzZSBvZiBjYWNoZWQgbWFpbiByZXNvdXJj
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZDE0YmY5OTY1M2M4N2NiOWZiZDJlMDZlMjFkYTlj
MGZhOWUwM2YzNS4uYTQ2OTE1NGVkMzUzODk3MmNiMDllODJmZjZiZWRkOTQ1ZWQ5MmJjMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTgzLDcgKzgzLDYgQEAgX19aTjdXZWJDb3JlMTBTY3JvbGxW
aWV3MjNzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEViYgogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3
MjR3aW5kb3dSZXNpemVyUmVjdENoYW5nZWRFdgogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3OGFk
ZENoaWxkRU4zV1RGMTBQYXNzUmVmUHRySU5TXzZXaWRnZXRFRUUKIF9fWk5LN1dlYkNvcmUxNFNj
cm9sbGFibGVBcmVhMTdyZXBvcnRNZW1vcnlVc2FnZUVQTjNXVEYxNk1lbW9yeU9iamVjdEluZm9F
Ci1fX1pON1dlYkNvcmUxMFNoYWRvd1Jvb3Q2Y3JlYXRlRVBOU183RWxlbWVudEVSaQogX19aTjdX
ZWJDb3JlMTBkZWxldGVGaWxlRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTBzZXRDb29r
aWVzRVBOU184RG9jdW1lbnRFUktOU180S1VSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29y
ZTEwdG9Eb2N1bWVudEVOM0pTQzdKU1ZhbHVlRQpAQCAtODk4LDYgKzg5Nyw3IEBAIF9fWk43V2Vi
Q29yZTdFbGVtZW50MjFib3VuZHNJblJvb3RWaWV3U3BhY2VFdgogX19aTjdXZWJDb3JlN0VsZW1l
bnQ5aW5uZXJUZXh0RXYKIF9fWk43V2ViQ29yZTdFbGVtZW50OXNldFBzZXVkb0VSS04zV1RGMTJB
dG9taWNTdHJpbmdFCiBfX1pOSzdXZWJDb3JlN0VsZW1lbnQxM3BzZXVkb0VsZW1lbnRFTlNfOFBz
ZXVkb0lkRQorX19aTjdXZWJDb3JlN0VsZW1lbnQxNmNyZWF0ZVNoYWRvd1Jvb3RFUmkKIF9fWk43
V2ViQ29yZTdJbnRSZWN0NXNjYWxlRWYKIF9fWk43V2ViQ29yZTdJbnRSZWN0NXVuaXRlRVJLUzBf
CiBfX1pON1dlYkNvcmU3SW50UmVjdDlpbnRlcnNlY3RFUktTMF8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAppbmRleCA1YzQwYjRkZmM3M2QzNzNjZmYwYzFkYjNkZDUyMWQ1NDdjMDgxMWFjLi41ZmUzZjkx
YmRhZmU1NjljNzMxNjZkNDViNDcwN2M0MWU0YmMyMjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CkBAIC0xNDUwLDcgKzE0NTAsMTkgQEAgdm9pZCBFbGVtZW50OjpkaWRBZmZlY3RTZWxlY3RvcihB
ZmZlY3RlZFNlbGVjdG9yTWFzayBtYXNrKQogCiBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IEVsZW1l
bnQ6OmNyZWF0ZVNoYWRvd1Jvb3QoRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgcmV0dXJuIFNo
YWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBlYyk7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAg
aWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRF
bmFibGVkKCkpCisgICAgICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93
Um9vdDo6QXV0aG9yU2hhZG93Um9vdCk7CisjZW5kaWYKKworICAgIC8vIFNpbmNlIHNvbWUgZWxl
bWVudHMgcmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LCBtdWx0aXBsZSBzaGFkb3cK
KyAgICAvLyBzdWJ0cmVlcyB3b24ndCB3b3JrIHdlbGwgaW4gdGhhdCBlbGVtZW50LiBVbnRpbCB0
aGV5IGFyZSBmaXhlZCwgd2UgZGlzYWJsZQorICAgIC8vIGFkZGluZyBhdXRob3Igc2hhZG93IHJv
b3QgZm9yIHRoZW0uCisgICAgaWYgKCFhcmVBdXRob3JTaGFkb3dzQWxsb3dlZCgpKSB7CisgICAg
ICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpBdXRob3JT
aGFkb3dSb290KTsKIH0KIAogU2hhZG93Um9vdCogRWxlbWVudDo6c2hhZG93Um9vdCgpIGNvbnN0
CkBAIC0xNDgwLDcgKzE0OTIsNyBAQCBTaGFkb3dSb290KiBFbGVtZW50OjplbnN1cmVVc2VyQWdl
bnRTaGFkb3dSb290KCkKIHsKICAgICBpZiAoU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IHVzZXJB
Z2VudFNoYWRvd1Jvb3QoKSkKICAgICAgICAgcmV0dXJuIHNoYWRvd1Jvb3Q7Ci0gICAgU2hhZG93
Um9vdCogc2hhZG93Um9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpV
c2VyQWdlbnRTaGFkb3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKS5nZXQoKTsKKyAgICBTaGFk
b3dSb290KiBzaGFkb3dSb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6
OlVzZXJBZ2VudFNoYWRvd1Jvb3QpLmdldCgpOwogICAgIGRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jv
b3Qoc2hhZG93Um9vdCk7CiAgICAgcmV0dXJuIHNoYWRvd1Jvb3Q7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudFNoYWRvdy5jcHAKaW5kZXggZmYwYjdiOWIyNTdkZDg4YTdlMjYyMzQ2NTY4OTQ2NjZl
ZWM0ZWY5MS4uMWNjODVmMDEzMWI4NThhZDQ2NzhlNzc2MTY2MDIxMmY0ZDkwNDU1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcApAQCAtMzIsMzEgKzMyLDEyIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGJvb2wgdmFsaWRhdGVTaGFkb3dSb290KERvY3VtZW50
KiBkb2N1bWVudCwgU2hhZG93Um9vdCogc2hhZG93Um9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17
Ci0gICAgaWYgKCFzaGFkb3dSb290KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChz
aGFkb3dSb290LT5ob3N0KCkpIHsKLSAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBpZiAoc2hhZG93Um9vdC0+ZG9j
dW1lbnQoKSAhPSBkb2N1bWVudCkgewotICAgICAgICBlYyA9IFdST05HX0RPQ1VNRU5UX0VSUjsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCi12
b2lkIEVsZW1lbnRTaGFkb3c6OmFkZFNoYWRvd1Jvb3QoRWxlbWVudCogc2hhZG93SG9zdCwgUGFz
c1JlZlB0cjxTaGFkb3dSb290PiBzaGFkb3dSb290LCBTaGFkb3dSb290OjpTaGFkb3dSb290VHlw
ZSB0eXBlLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgRWxlbWVudFNoYWRvdzo6YWRkU2hhZG93
Um9vdChFbGVtZW50KiBzaGFkb3dIb3N0LCBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IHNoYWRvd1Jv
b3QsIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3RUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKHNoYWRv
d0hvc3QpOwogICAgIEFTU0VSVChzaGFkb3dSb290KTsKLQotICAgIGlmICghdmFsaWRhdGVTaGFk
b3dSb290KHNoYWRvd0hvc3QtPmRvY3VtZW50KCksIHNoYWRvd1Jvb3QuZ2V0KCksIGVjKSkKLSAg
ICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghc2hhZG93Um9vdC0+aG9zdCgpKTsKKyAgICBBU1NF
UlQoc2hhZG93SG9zdC0+ZG9jdW1lbnQoKSA9PSBzaGFkb3dSb290LT5kb2N1bWVudCgpKTsKIAog
ICAgIGlmICh0eXBlID09IFNoYWRvd1Jvb3Q6OkF1dGhvclNoYWRvd1Jvb3QpCiAgICAgICAgIHNo
YWRvd0hvc3QtPndpbGxBZGRBdXRob3JTaGFkb3dSb290KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5jcHAKaW5kZXggYTJmOTZlNjFjYjU2ZjlmZWE0MDU5OWIyYWFlZTYzZWEzNTQ5MWI4OC4uMWQ3
OTcwNTlhYTc3ZjRlZDM1M2M5MzYwNmQ5ZDY3NDE4NTJkY2ZiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dSb290LmNwcApAQCAtNjMsNiArNjMsMjMgQEAgc3RydWN0IFNhbWVTaXplQXNTaGFkb3dSb290
IDogcHVibGljIERvY3VtZW50RnJhZ21lbnQsIHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYwogCiBD
T01QSUxFX0FTU0VSVChzaXplb2YoU2hhZG93Um9vdCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTaGFk
b3dSb290KSwgc2hhZG93cm9vdF9zaG91bGRfc3RheV9zbWFsbCk7CiAKK2VudW0gU2hhZG93Um9v
dFVzYWdlT3JpZ2luVHlwZSB7CisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViID0gMCwKKyAg
ICBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWIsCisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2lu
VHlwZXMKK307CisKK3N0YXRpYyBpbmxpbmUgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZSBkZXRl
cm1pbmVVc2FnZVR5cGUoRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIC8vIEVuYWJsZXMgb25s
eSBvbiBDSFJPTUlVTSBzaW5jZSB0aGlzIGNvc3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0
Zm9ybXMgd2hpY2ggZG9uJ3QgY29sbGVjdCB0aGlzIG1ldHJpY3MuCisjaWYgUExBVEZPUk0oQ0hS
T01JVU0pCisgICAgcmV0dXJuIGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJo
dHRwIikgPyBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5O
b3RXZWI7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgcmV0dXJuIFNo
YWRvd1Jvb3RVc2FnZU9yaWdpbldlYjsKKyNlbmRpZgorfQorCiBTaGFkb3dSb290OjpTaGFkb3dS
b290KERvY3VtZW50KiBkb2N1bWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSkKICAgICA6IERvY3Vt
ZW50RnJhZ21lbnQoZG9jdW1lbnQsIENyZWF0ZVNoYWRvd1Jvb3QpCiAgICAgLCBUcmVlU2NvcGUo
dGhpcywgZG9jdW1lbnQpCkBAIC03Niw2ICs5Myw5IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3Qo
RG9jdW1lbnQqIGRvY3VtZW50LCBTaGFkb3dSb290VHlwZSB0eXBlKQogewogICAgIEFTU0VSVChk
b2N1bWVudCk7CiAgICAgc2V0VHJlZVNjb3BlKHRoaXMpOworCisgICAgaWYgKHR5cGUgPT0gU2hh
ZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkKKyAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlz
dG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuU2hhZG93Um9vdC5jb25zdHJ1Y3RvciIsIGRldGVy
bWluZVVzYWdlVHlwZShkb2N1bWVudCksIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGVzKTsKIH0K
IAogU2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQpAQCAtOTQsNjIgKzExNCwxNiBAQCBTaGFkb3dS
b290Ojp+U2hhZG93Um9vdCgpCiAgICAgICAgIGNsZWFyUmFyZURhdGEoKTsKIH0KIAotc3RhdGlj
IGJvb2wgYWxsb3dzQXV0aG9yU2hhZG93Um9vdChFbGVtZW50KiBlbGVtZW50KQorUGFzc1JlZlB0
cjxTaGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgU2hhZG93
Um9vdFR5cGUgdHlwZSkKIHsKLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6YXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQoKSkK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLSAgICByZXR1cm4gZWxlbWVudC0+YXJlQXV0
aG9yU2hhZG93c0FsbG93ZWQoKTsKLX0KLQotZW51bSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBl
IHsKLSAgICBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgPSAwLAotICAgIFNoYWRvd1Jvb3RVc2Fn
ZU9yaWdpbk5vdFdlYiwKLSAgICBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlcwotfTsKLQotc3Rh
dGljIGlubGluZSBTaGFkb3dSb290VXNhZ2VPcmlnaW5UeXBlIGRldGVybWluZVVzYWdlVHlwZShF
bGVtZW50KiBob3N0KQotewotICAgIC8vIEVuYWJsZXMgb25seSBvbiBDSFJPTUlVTSBzaW5jZSB0
aGlzIGNvc3Qgd29uJ3Qgd29ydGggcGF5aW5nIGZvciBwbGF0Zm9ybXMgd2hpY2ggZG9uJ3QgY29s
bGVjdCB0aGlzIG1ldHJpY3MuCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgaWYgKCFob3N0
KQotICAgICAgICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViOwotICAgIHJldHVybiBo
b3N0LT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKS5zdGFydHNXaXRoKCJodHRwIikgPyBTaGFk
b3dSb290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWI7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShob3N0KTsKLSAgICByZXR1cm4gU2hhZG93Um9vdFVzYWdlT3Jp
Z2luV2ViOwotI2VuZGlmCi19Ci0KLVBhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6
Y3JlYXRlKEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIEhpc3Rv
Z3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlNoYWRvd1Jvb3QuY29u
c3RydWN0b3IiLCBkZXRlcm1pbmVVc2FnZVR5cGUoZWxlbWVudCksIFNoYWRvd1Jvb3RVc2FnZU9y
aWdpblR5cGVzKTsKLSAgICByZXR1cm4gY3JlYXRlKGVsZW1lbnQsIEF1dGhvclNoYWRvd1Jvb3Qs
IGVjKTsKLX0KLQotUGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxl
bWVudCogZWxlbWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17
Ci0gICAgaWYgKCFlbGVtZW50KSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJS
OwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvLyBTaW5jZSBzb21lIGVsZW1lbnRz
IHJlY3JlYXRlcyBzaGFkb3cgcm9vdCBkeW5hbWljYWxseSwgbXVsdGlwbGUgc2hhZG93IHN1YnRy
ZWVzIHdvbid0IHdvcmsgd2VsbCBpbiB0aGF0IGVsZW1lbnQuCi0gICAgLy8gVW50aWwgdGhleSBh
cmUgZml4ZWQsIHdlIGRpc2FibGUgYWRkaW5nIGF1dGhvciBzaGFkb3cgcm9vdCBmb3IgdGhlbS4K
LSAgICBpZiAodHlwZSA9PSBBdXRob3JTaGFkb3dSb290ICYmICFhbGxvd3NBdXRob3JTaGFkb3dS
b290KGVsZW1lbnQpKSB7Ci0gICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwotICAg
ICAgICByZXR1cm4gMDsKLSAgICB9CisgICAgQVNTRVJUKGVsZW1lbnQpOwogCiAgICAgUmVmUHRy
PFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QgPSBhZG9wdFJlZihuZXcgU2hhZG93Um9vdChlbGVtZW50
LT5kb2N1bWVudCgpLCB0eXBlKSk7CiAKLSAgICBlYyA9IDA7Ci0gICAgZWxlbWVudC0+ZW5zdXJl
U2hhZG93KCktPmFkZFNoYWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSwgZWMpOwot
ICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgZWxlbWVudC0+ZW5zdXJlU2hhZG93
KCktPmFkZFNoYWRvd1Jvb3QoZWxlbWVudCwgc2hhZG93Um9vdCwgdHlwZSk7CiAgICAgQVNTRVJU
KGVsZW1lbnQgPT0gc2hhZG93Um9vdC0+aG9zdCgpKTsKICAgICBBU1NFUlQoZWxlbWVudC0+c2hh
ZG93KCkpOworCiAgICAgcmV0dXJuIHNoYWRvd1Jvb3QucmVsZWFzZSgpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NoYWRvd1Jvb3QuaAppbmRleCA0NzI3OTE3ZjVlMDEzM2MxYWUxYjgwYWRlNjk1MGNiYjMxOTFj
ZjgxLi4xNDI5YzlkOWFlZDYyMDU5OWFiMzY5NzY4ZjJiNmFiZTEwNDIyNGM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TaGFkb3dSb290LmgKQEAgLTQ2LDggKzQ2LDYgQEAgY2xhc3MgU2NvcGVDb250ZW50RGlzdHJp
YnV0aW9uOwogY2xhc3MgU2hhZG93Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJs
aWMgVHJlZVNjb3BlLCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9vdD4gewog
ICAgIGZyaWVuZCBjbGFzcyBXVEY6OkRvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+Owog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50
KiwgRXhjZXB0aW9uQ29kZSYpOwotCiAgICAgLy8gRklYTUU6IFdlIHdpbGwgc3VwcG9ydCBtdWx0
aXBsZSBzaGFkb3cgc3VidHJlZXMsIGhvd2V2ZXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2Vz
IG5vdCB3b3JrIHdlbGwKICAgICAvLyBpZiBhIHNoYWRvdyByb290IGlzIGR5bmFtaWNhbGx5IGNy
ZWF0ZWQuIFNvIHdlIHByb2hpYml0IG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcwogICAgIC8vIGlu
IHNldmVyYWwgZWxlbWVudHMgZm9yIGEgd2hpbGUuCkBAIC01Niw3ICs1NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgVXNlckFnZW50U2hhZG93Um9vdCA9IDAsCiAgICAgICAgIEF1dGhvclNoYWRvd1Jv
b3QKICAgICB9OwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVt
ZW50KiwgU2hhZG93Um9vdFR5cGUsIEV4Y2VwdGlvbkNvZGUmID0gQVNTRVJUX05PX0VYQ0VQVElP
Tik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRlKEVsZW1lbnQqLCBT
aGFkb3dSb290VHlwZSk7CiAKICAgICB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAppbmRleCAxZTRlYzA2ZmYx
MDNkMzlhNzU4NmNmYWMyMWZhYWQyMjEzNjk4ZDc3Li44OTQ3NDZhNjY4ZTUwOWI2ZGM0M2M5YmZh
YjNlM2Y2MGY3ZTBiY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXln
ZW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50
LmNwcApAQCAtODIsOSArODIsNyBAQCBpbmxpbmUgSFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXln
ZW5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZQogICAgICAgICBv
cHRpb24tPmFwcGVuZENoaWxkKFRleHQ6OmNyZWF0ZShkb2N1bWVudCwga2V5c1tpXSksIGVjKTsK
ICAgICB9CiAKLSAgICBBU1NFUlQoIXNoYWRvdygpKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4g
cm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpVc2VyQWdlbnRTaGFk
b3dSb290KTsKLSAgICByb290LT5hcHBlbmRDaGlsZChzZWxlY3QsIGVjKTsKKyAgICBlbnN1cmVV
c2VyQWdlbnRTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKHNlbGVjdCwgZWMpOwogfQogCiBQYXNz
UmVmUHRyPEhUTUxLZXlnZW5FbGVtZW50PiBIVE1MS2V5Z2VuRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVt
ZW50KiBmb3JtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZp
ZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4
dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDc5YTFkMjJiODFlOTNiNTViMmNlNmNj
MWJhN2Y3YmQyYjRkOTE2ZjMuLjllYzU0M2FmNTZmMzY3ODY0NDZjNTJmZjgzN2I0ODhiYTM4M2Ey
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29y
YXRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Rmll
bGREZWNvcmF0aW9uRWxlbWVudC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgc3RhdGljIGlubGluZSB2
b2lkIGdldERlY29yYXRpb25Sb290QW5kRGVjb3JhdGVkUm9vdChIVE1MSW5wdXRFbGVtZW50KiBp
bnB1dCwgU2gKICAgICBpZiAobmV3Um9vdCkKICAgICAgICAgbmV3Um9vdC0+cmVtb3ZlQ2hpbGQo
bmV3Um9vdC0+Zmlyc3RDaGlsZCgpKTsKICAgICBlbHNlCi0gICAgICAgIG5ld1Jvb3QgPSBTaGFk
b3dSb290OjpjcmVhdGUoaW5wdXQsIFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3QsIEFT
U0VSVF9OT19FWENFUFRJT04pLmdldCgpOworICAgICAgICBuZXdSb290ID0gaW5wdXQtPmVuc3Vy
ZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKICAgICBkZWNvcmF0aW9uUm9vdCA9IG5ld1Jvb3Q7CiAg
ICAgZGVjb3JhdGVkUm9vdCA9IGV4aXN0aW5nUm9vdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAppbmRleCBmYzYyYzRlNjBmZTY1YjM5NGM5MDZjNGRiMThkOGJiYTAxNDIyN2Ux
Li44ZWNiODcyNjJiZDExN2M4ODk3ZmUyNmY2Mjk3ZTk1YzJiMjk4MzJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01ODAsNyArNTgwLDcgQEAgSW50ZXJuYWxzOjpTaGFk
b3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jv
b3QoRWxlbWUKICAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0gaG9zdC0+c2hhZG93KCkp
CiAgICAgICAgIHJldHVybiBzaGFkb3ctPnlvdW5nZXN0U2hhZG93Um9vdCgpOwogCi0gICAgcmV0
dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0ZShob3N0LCBlYykuZ2V0KCk7CisgICAgcmV0dXJuIGhvc3Qt
PmNyZWF0ZVNoYWRvd1Jvb3QoZWMpLmdldCgpOwogfQogCiBJbnRlcm5hbHM6OlNoYWRvd1Jvb3RJ
ZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRlU2hhZG93Um9vdChFbGVt
ZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTU4OSw3ICs1ODksNyBAQCBJbnRlcm5h
bHM6OlNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRl
U2hhZG93Um9vdChFbGVtZQogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQotICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUoaG9zdCwg
ZWMpLmdldCgpOworICAgIHJldHVybiBob3N0LT5jcmVhdGVTaGFkb3dSb290KGVjKS5nZXQoKTsK
IH0KIAogSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRl
cm5hbHM6OnNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVm
LmluIGIvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5p
bgppbmRleCAxZGRhNDUyMGY0Njc1Njc1ZWM3ZDA4MTY4ODFkZGFiZjQ1MTRjOGFkLi5mZTJmYjZl
Zjg3OTU0OGEzNWIwYzk3MjAyZjJlMDQyMzkzNTMwNGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KQEAgLTE3Niw3ICsx
NzYsNyBAQCBFWFBPUlRTCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdl
YkNvcmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAg
P2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAg
ICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1Jl
ZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBK
U0NAQFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3Jl
QEBAV1RGQEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdU
RkBAJDAwQDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKLSAgICAgICAgP2NyZWF0ZUBT
aGFkb3dSb290QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVA
QEBXVEZAQFBBVkVsZW1lbnRAMkBBQUhAWgorICAgICAgICA/Y3JlYXRlU2hhZG93Um9vdEBFbGVt
ZW50QFdlYkNvcmVAQFFBRT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RG
QEBBQUhAWgogICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlND
QEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgogICAg
ICAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVkpT
VmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9iamVjdEA0QFBBVj8kVmVjdG9y
QFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQFdURkBAVzRTZXJpYWxp
emF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAgICAgP2RvY3VtZW50U3RhdGVASGlzdG9yeUl0ZW1A
V2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpAQCAtNTY0
LDcgKzU2NCw3IEBAIEVYUE9SVFMKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBTQT9B
Vj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9jdW1l
bnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgogICAg
ICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1Jl
ZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBa
CiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0
YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdl
YkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RG
QEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgotICAgICAgICA/Y3Jl
YXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jvb3RAV2Vi
Q29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCisgICAgICAgID9jcmVhdGVTaGFkb3dSb290
QEVsZW1lbnRAV2ViQ29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVA
QEBXVEZAQEFBSEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1
ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBa
CiAgICAgICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFF
P0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xvYmFsT2JqZWN0QDRAUEFWPyRW
ZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBAV1RGQEBXNFNl
cmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9jdW1lbnRTdGF0ZUBIaXN0b3J5
SXRlbUBXZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCkBA
IC05NTAsNyArOTUwLDcgQEAgRVhQT1JUUwogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVA
QFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZE
b2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBa
CiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5n
QDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/
QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZF
eGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBv
cnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZl
ckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCi0gICAgICAg
ID9jcmVhdGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9v
dEBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKKyAgICAgICAgP2NyZWF0ZVNoYWRv
d1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUU/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jvb3RAV2Vi
Q29yZUBAQFdURkBAQUFIQFoKICAgICAgICAgP2NyZWF0ZVdyYXBwZXJAV2ViQ29yZUBAWUE/QVZK
U1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2Rl
QDFAQFoKICAgICAgICAgP2Rlc2VyaWFsaXplQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3Jl
QEBRQUU/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDRAUEFWSlNHbG9iYWxPYmplY3RANEBQ
QVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEBXVEZA
QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9kb2N1bWVudFN0YXRlQEhp
c3RvcnlJdGVtQFdlYkNvcmVAQFFCRUFCVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBA
WFoKQEAgLTEzMzYsNyArMTMzNiw3IEBAIEVYUE9SVFMKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBX
ZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1Jl
ZlB0ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBA
NEBIMUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBT
QT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFC
VlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdU
RkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1l
c3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJy
YXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgot
ICAgICAgICA/Y3JlYXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNo
YWRvd1Jvb3RAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCisgICAgICAgID9jcmVh
dGVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dS
b290QFdlYkNvcmVAQEBXVEZAQEFBSEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdlYkNvcmVA
QFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFA
UEFWTm9kZUAxQEBaCiAgICAgICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVA
V2ViQ29yZUBAUUFFP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xvYmFsT2Jq
ZWN0QDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAk
MDBAV1RGQEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9jdW1lbnRT
dGF0ZUBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBB
QEBXVEZAQFhaCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185319</attachid>
            <date>2013-01-29 15:26:20 -0800</date>
            <delta_ts>2013-01-29 16:03:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108209-20130129182305.patch</filename>
            <type>text/plain</type>
            <size>19802</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjMyZTdiNzdlNTdmY2Jh
NDIwMWE5ZDhhMzVmMWYyNWQzMDY3ZmI0NS4uYTU5MDViZTA1YWU4YTQ5MGY1MDc5NWI0MDA3NTE5
Y2Y4NTliOGYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTI5ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorICAgICAgICBSZWZhY3RvciBTaGFk
b3dSb290IGV4Y2VwdGlvbiBoYW5kbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBH
bGF6a292LgorCisgICAgICAgIE1hbnkgb2YgdGhlIGV4Y2VwdGlvbiBjYXNlcyBmb3IgU2hhZG93
Um9vdCBhcmUgYWN0dWFsbHkgaW1wb3NzaWJsZSBhbmQKKyAgICAgICAgc2hvdWxkIGJlIGFzc2Vy
dHMgaW5zdGVhZC4gV2UgY2FuIGFsc28gbW92ZSB0aGUgb25lIGNhc2Ugb2YgZXhjZXB0aW9uIGxv
Z2ljLAorICAgICAgICBmb3IgZWxlbWVudHMgdGhhdCBkb24ndCBhbGxvdyBhdXRob3Igc2hhZG93
cyBpbnRvIEVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1Jvb3QKKyAgICAgICAgaW5zdGVhZCBvZiBoYXZp
bmcgaXQgYWxsIG92ZXIgdGhlIFNoYWRvd1Jvb3QgYW5kIEVsZW1lbnRTaGFkb3cgY2xhc3Nlcy4g
VGhpcworICAgICAgICBpcyB0aGUgZmlyc3Qgc3RlcCBpbiBjZW50cmFsaXppbmcgYWxsIFNoYWRv
d1Jvb3QgY3JlYXRpb24gaW5zaWRlIEVsZW1lbnRTaGFkb3cuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogV2ViQ29yZS5leHAu
aW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Y3JlYXRlU2hhZG93Um9vdCk6IEJlIGV4cGxpY2l0IGFib3V0IHdoYXQga2luZCBvZiBTaGFk
b3dSb290IHlvdSdyZSBjcmVhdGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVuc3Vy
ZVVzZXJBZ2VudFNoYWRvd1Jvb3QpOiBObyBtb3JlIGV4Y2VwdGlvbnMuCisgICAgICAgICogZG9t
L0VsZW1lbnRTaGFkb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFNoYWRvdzo6YWRk
U2hhZG93Um9vdCk6IFRoaXMgbmV2ZXIgYWN0dWFsbHkgdGhyb3dzIGV4Y2VwdGlvbnMsIHJlbW92
ZSBFeGNlcHRpb25Db2RlLgorICAgICAgICAqIGRvbS9FbGVtZW50U2hhZG93Lmg6CisgICAgICAg
IChFbGVtZW50U2hhZG93KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpkZXRlcm1pbmVVc2FnZVR5cGUpOiBNZXJnZSB3aXRoIEVsZW1lbnQ6OmNyZWF0
ZVNoYWRvd1Jvb3QuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6OlNoYWRvd1Jvb3QpOiBNb3ZlZCBIaXN0b2dyYW0gbG9naWMgaGVyZSBzaW5jZSBpdCdz
IGFjdHVhbGx5IGFib3V0IHRoZSBjb25zdHJ1Y3RvciBhbnl3YXkuCisgICAgICAgIChXZWJDb3Jl
OjpTaGFkb3dSb290OjpjcmVhdGUpOiBSZW1vdmVkIG92ZXJsb2FkIHRoYXQgbWFkZSB0aGUgY29k
ZSBsZXNzIG9idmlvdXMuCisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFNo
YWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpnZXREZWNvcmF0aW9uUm9vdEFuZERlY29yYXRlZFJvb3QpOgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZW5z
dXJlU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNyZWF0ZVNoYWRv
d1Jvb3QpOgorCiAyMDEzLTAxLTI5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDaGFuZ2UgRGF0YWJhc2VDb250ZXh0IGxvb2t1cCB0byBiZSB0aHJlYWQtc2FmZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwppbmRleCBlZGNiNjJiNTQwNjI5YjAzMmYxNTM0ODczMmQ5YWYwYTU4ZDcw
NWJhLi5kMjg3NjY1MzRjYmRkNGJkNGYzNmJmOWQ3ODhlNDE2ZDhmZDJmZDMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDEtMjkgIEVsbGlvdHQgU3ByZWhuICA8ZXNw
cmVobkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVmYWN0b3IgU2hhZG93Um9vdCBleGNlcHRp
b24gaGFuZGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwODIwOQorCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAg
ICAgICAqIFdlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW46IFN3YXAgU2hhZG93Um9v
dDo6Y3JlYXRlIGV4cG9ydCB3aXRoIEVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1Jvb3QuCisKIDIwMTMt
MDEtMjkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBFbmFi
bGUgcmV1c2Ugb2YgY2FjaGVkIG1haW4gcmVzb3VyY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGQxNGJmOTk2NTNjODdjYjlmYmQyZTA2ZTIxZGE5YzBmYTllMDNmMzUuLmE0NjkxNTRlZDM1Mzg5
NzJjYjA5ZTgyZmY2YmVkZDk0NWVkOTJiYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC04Myw3
ICs4Myw2IEBAIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNz
ZWRFYmIKIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzI0d2luZG93UmVzaXplclJlY3RDaGFuZ2Vk
RXYKIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzhhZGRDaGlsZEVOM1dURjEwUGFzc1JlZlB0cklO
U182V2lkZ2V0RUVFCiBfX1pOSzdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTE3cmVwb3J0TWVtb3J5
VXNhZ2VFUE4zV1RGMTZNZW1vcnlPYmplY3RJbmZvRQotX19aTjdXZWJDb3JlMTBTaGFkb3dSb290
NmNyZWF0ZUVQTlNfN0VsZW1lbnRFUmkKIF9fWk43V2ViQ29yZTEwZGVsZXRlRmlsZUVSS04zV1RG
NlN0cmluZ0UKIF9fWk43V2ViQ29yZTEwc2V0Q29va2llc0VQTlNfOERvY3VtZW50RVJLTlNfNEtV
UkxFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxMHRvRG9jdW1lbnRFTjNKU0M3SlNWYWx1
ZUUKQEAgLTg5OCw2ICs4OTcsNyBAQCBfX1pON1dlYkNvcmU3RWxlbWVudDIxYm91bmRzSW5Sb290
Vmlld1NwYWNlRXYKIF9fWk43V2ViQ29yZTdFbGVtZW50OWlubmVyVGV4dEV2CiBfX1pON1dlYkNv
cmU3RWxlbWVudDlzZXRQc2V1ZG9FUktOM1dURjEyQXRvbWljU3RyaW5nRQogX19aTks3V2ViQ29y
ZTdFbGVtZW50MTNwc2V1ZG9FbGVtZW50RU5TXzhQc2V1ZG9JZEUKK19fWk43V2ViQ29yZTdFbGVt
ZW50MTZjcmVhdGVTaGFkb3dSb290RVJpCiBfX1pON1dlYkNvcmU3SW50UmVjdDVzY2FsZUVmCiBf
X1pON1dlYkNvcmU3SW50UmVjdDV1bml0ZUVSS1MwXwogX19aTjdXZWJDb3JlN0ludFJlY3Q5aW50
ZXJzZWN0RVJLUzBfCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggNWM0MGI0ZGZjNzNkMzczY2Zm
MGMxZGIzZGQ1MjFkNTQ3YzA4MTFhYy4uNWZlM2Y5MWJkYWZlNTY5YzczMTY2ZDQ1YjQ3MDdjNDFl
NGJjMjI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTQ1MCw3ICsxNDUwLDE5IEBAIHZv
aWQgRWxlbWVudDo6ZGlkQWZmZWN0U2VsZWN0b3IoQWZmZWN0ZWRTZWxlY3Rvck1hc2sgbWFzaykK
IAogUGFzc1JlZlB0cjxTaGFkb3dSb290PiBFbGVtZW50OjpjcmVhdGVTaGFkb3dSb290KEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewotICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgZWMp
OworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjphdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCgpKQorICAgICAgICByZXR1cm4g
U2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkF1dGhvclNoYWRvd1Jvb3QpOwor
I2VuZGlmCisKKyAgICAvLyBTaW5jZSBzb21lIGVsZW1lbnRzIHJlY3JlYXRlcyBzaGFkb3cgcm9v
dCBkeW5hbWljYWxseSwgbXVsdGlwbGUgc2hhZG93CisgICAgLy8gc3VidHJlZXMgd29uJ3Qgd29y
ayB3ZWxsIGluIHRoYXQgZWxlbWVudC4gVW50aWwgdGhleSBhcmUgZml4ZWQsIHdlIGRpc2FibGUK
KyAgICAvLyBhZGRpbmcgYXV0aG9yIHNoYWRvdyByb290IGZvciB0aGVtLgorICAgIGlmICghYXJl
QXV0aG9yU2hhZG93c0FsbG93ZWQoKSkgeworICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNU
X0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiBTaGFkb3dSb290Ojpj
cmVhdGUodGhpcywgU2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCk7CiB9CiAKIFNoYWRvd1Jv
b3QqIEVsZW1lbnQ6OnNoYWRvd1Jvb3QoKSBjb25zdApAQCAtMTQ4MCw3ICsxNDkyLDcgQEAgU2hh
ZG93Um9vdCogRWxlbWVudDo6ZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpCiB7CiAgICAgaWYg
KFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSB1c2VyQWdlbnRTaGFkb3dSb290KCkpCiAgICAgICAg
IHJldHVybiBzaGFkb3dSb290OwotICAgIFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSBTaGFkb3dS
b290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6VXNlckFnZW50U2hhZG93Um9vdCwgQVNTRVJU
X05PX0VYQ0VQVElPTikuZ2V0KCk7CisgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCA9IFNoYWRv
d1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpVc2VyQWdlbnRTaGFkb3dSb290KS5nZXQo
KTsKICAgICBkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KHNoYWRvd1Jvb3QpOwogICAgIHJldHVy
biBzaGFkb3dSb290OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRT
aGFkb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuY3BwCmluZGV4IGZm
MGI3YjliMjU3ZGQ4OGE3ZTI2MjM0NjU2ODk0NjY2ZWVjNGVmOTEuLjFjYzg1ZjAxMzFiODU4YWQ0
Njc4ZTc3NjE2NjAyMTJmNGQ5MDQ1NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50U2hhZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5j
cHAKQEAgLTMyLDMxICszMiwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBi
b29sIHZhbGlkYXRlU2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQsIFNoYWRvd1Jvb3QqIHNo
YWRvd1Jvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghc2hhZG93Um9vdCkKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoc2hhZG93Um9vdC0+aG9zdCgpKSB7Ci0gICAg
ICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotCi0gICAgaWYgKHNoYWRvd1Jvb3QtPmRvY3VtZW50KCkgIT0gZG9jdW1lbnQpIHsKLSAg
ICAgICAgZWMgPSBXUk9OR19ET0NVTUVOVF9FUlI7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBFbGVtZW50U2hhZG93OjphZGRTaGFk
b3dSb290KEVsZW1lbnQqIHNoYWRvd0hvc3QsIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gc2hhZG93
Um9vdCwgU2hhZG93Um9vdDo6U2hhZG93Um9vdFR5cGUgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit2b2lkIEVsZW1lbnRTaGFkb3c6OmFkZFNoYWRvd1Jvb3QoRWxlbWVudCogc2hhZG93SG9zdCwg
UGFzc1JlZlB0cjxTaGFkb3dSb290PiBzaGFkb3dSb290LCBTaGFkb3dSb290OjpTaGFkb3dSb290
VHlwZSB0eXBlKQogewogICAgIEFTU0VSVChzaGFkb3dIb3N0KTsKICAgICBBU1NFUlQoc2hhZG93
Um9vdCk7Ci0KLSAgICBpZiAoIXZhbGlkYXRlU2hhZG93Um9vdChzaGFkb3dIb3N0LT5kb2N1bWVu
dCgpLCBzaGFkb3dSb290LmdldCgpLCBlYykpCi0gICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQo
IXNoYWRvd1Jvb3QtPmhvc3QoKSk7CisgICAgQVNTRVJUKHNoYWRvd0hvc3QtPmRvY3VtZW50KCkg
PT0gc2hhZG93Um9vdC0+ZG9jdW1lbnQoKSk7CiAKICAgICBpZiAodHlwZSA9PSBTaGFkb3dSb290
OjpBdXRob3JTaGFkb3dSb290KQogICAgICAgICBzaGFkb3dIb3N0LT53aWxsQWRkQXV0aG9yU2hh
ZG93Um9vdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmgKaW5kZXggNWVjM2Q1MzNkOTYw
ZjNkNTRlM2FmZDVjMzc0NDViN2JmMThkMjM2NC4uNWZmYzA4MDAwNDQ2OWUyZmVjMDQ4Y2I5Njc3
Mjg0ZTQzM2YwNzE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFk
b3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5oCkBAIC01Niw3ICs1
Niw3IEBAIHB1YmxpYzoKICAgICBTaGFkb3dSb290KiBvbGRlc3RTaGFkb3dSb290KCkgY29uc3Qg
eyByZXR1cm4gbV9zaGFkb3dSb290cy50YWlsKCk7IH0KICAgICBFbGVtZW50U2hhZG93KiBjb250
YWluaW5nU2hhZG93KCkgY29uc3Q7CiAKLSAgICB2b2lkIGFkZFNoYWRvd1Jvb3QoRWxlbWVudCog
c2hhZG93SG9zdCwgUGFzc1JlZlB0cjxTaGFkb3dSb290PiwgU2hhZG93Um9vdDo6U2hhZG93Um9v
dFR5cGUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFkZFNoYWRvd1Jvb3QoRWxlbWVudCog
c2hhZG93SG9zdCwgUGFzc1JlZlB0cjxTaGFkb3dSb290PiwgU2hhZG93Um9vdDo6U2hhZG93Um9v
dFR5cGUpOwogCiAgICAgdm9pZCBhdHRhY2goKTsKICAgICB2b2lkIGRldGFjaCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IGEyZjk2ZTYxY2I1NmY5ZmVhNDA1OTliMmFhZWU2M2Vh
MzU0OTFiODguLjFkNzk3MDU5YWE3N2Y0ZWQzNTNjOTM2MDZkOWQ2NzQxODUyZGNmYjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTYzLDYgKzYzLDIzIEBAIHN0cnVjdCBTYW1lU2l6
ZUFzU2hhZG93Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJsaWMgVHJlZVNjb3Bl
LCBwdWJsaWMKIAogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFNoYWRvd1Jvb3QpID09IHNpemVvZihT
YW1lU2l6ZUFzU2hhZG93Um9vdCksIHNoYWRvd3Jvb3Rfc2hvdWxkX3N0YXlfc21hbGwpOwogCitl
bnVtIFNoYWRvd1Jvb3RVc2FnZU9yaWdpblR5cGUgeworICAgIFNoYWRvd1Jvb3RVc2FnZU9yaWdp
bldlYiA9IDAsCisgICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luTm90V2ViLAorICAgIFNoYWRvd1Jv
b3RVc2FnZU9yaWdpblR5cGVzCit9OworCitzdGF0aWMgaW5saW5lIFNoYWRvd1Jvb3RVc2FnZU9y
aWdpblR5cGUgZGV0ZXJtaW5lVXNhZ2VUeXBlKERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICAv
LyBFbmFibGVzIG9ubHkgb24gQ0hST01JVU0gc2luY2UgdGhpcyBjb3N0IHdvbid0IHdvcnRoIHBh
eWluZyBmb3IgcGxhdGZvcm1zIHdoaWNoIGRvbid0IGNvbGxlY3QgdGhpcyBtZXRyaWNzLgorI2lm
IFBMQVRGT1JNKENIUk9NSVVNKQorICAgIHJldHVybiBkb2N1bWVudC0+dXJsKCkuc3RyaW5nKCku
c3RhcnRzV2l0aCgiaHR0cCIpID8gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViIDogU2hhZG93Um9v
dFVzYWdlT3JpZ2luTm90V2ViOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwor
ICAgIHJldHVybiBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWI7CisjZW5kaWYKK30KKwogU2hhZG93
Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQsIFNoYWRvd1Jvb3RUeXBlIHR5cGUp
CiAgICAgOiBEb2N1bWVudEZyYWdtZW50KGRvY3VtZW50LCBDcmVhdGVTaGFkb3dSb290KQogICAg
ICwgVHJlZVNjb3BlKHRoaXMsIGRvY3VtZW50KQpAQCAtNzYsNiArOTMsOSBAQCBTaGFkb3dSb290
OjpTaGFkb3dSb290KERvY3VtZW50KiBkb2N1bWVudCwgU2hhZG93Um9vdFR5cGUgdHlwZSkKIHsK
ICAgICBBU1NFUlQoZG9jdW1lbnQpOwogICAgIHNldFRyZWVTY29wZSh0aGlzKTsKKworICAgIGlm
ICh0eXBlID09IFNoYWRvd1Jvb3Q6OkF1dGhvclNoYWRvd1Jvb3QpCisgICAgICAgIEhpc3RvZ3Jh
bVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlNoYWRvd1Jvb3QuY29uc3Ry
dWN0b3IiLCBkZXRlcm1pbmVVc2FnZVR5cGUoZG9jdW1lbnQpLCBTaGFkb3dSb290VXNhZ2VPcmln
aW5UeXBlcyk7CiB9CiAKIFNoYWRvd1Jvb3Q6On5TaGFkb3dSb290KCkKQEAgLTk0LDYyICsxMTQs
MTYgQEAgU2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQogICAgICAgICBjbGVhclJhcmVEYXRhKCk7
CiB9CiAKLXN0YXRpYyBib29sIGFsbG93c0F1dGhvclNoYWRvd1Jvb3QoRWxlbWVudCogZWxlbWVu
dCkKK1Bhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6Y3JlYXRlKEVsZW1lbnQqIGVs
ZW1lbnQsIFNoYWRvd1Jvb3RUeXBlIHR5cGUpCiB7Ci0jaWYgRU5BQkxFKFNIQURPV19ET00pCi0g
ICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1l
bnRFbmFibGVkKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi0gICAgcmV0dXJuIGVs
ZW1lbnQtPmFyZUF1dGhvclNoYWRvd3NBbGxvd2VkKCk7Ci19Ci0KLWVudW0gU2hhZG93Um9vdFVz
YWdlT3JpZ2luVHlwZSB7Ci0gICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViID0gMCwKLSAgICBT
aGFkb3dSb290VXNhZ2VPcmlnaW5Ob3RXZWIsCi0gICAgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlw
ZXMKLX07Ci0KLXN0YXRpYyBpbmxpbmUgU2hhZG93Um9vdFVzYWdlT3JpZ2luVHlwZSBkZXRlcm1p
bmVVc2FnZVR5cGUoRWxlbWVudCogaG9zdCkKLXsKLSAgICAvLyBFbmFibGVzIG9ubHkgb24gQ0hS
T01JVU0gc2luY2UgdGhpcyBjb3N0IHdvbid0IHdvcnRoIHBheWluZyBmb3IgcGxhdGZvcm1zIHdo
aWNoIGRvbid0IGNvbGxlY3QgdGhpcyBtZXRyaWNzLgotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQot
ICAgIGlmICghaG9zdCkKLSAgICAgICAgcmV0dXJuIFNoYWRvd1Jvb3RVc2FnZU9yaWdpbldlYjsK
LSAgICByZXR1cm4gaG9zdC0+ZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCkuc3RhcnRzV2l0aCgi
aHR0cCIpID8gU2hhZG93Um9vdFVzYWdlT3JpZ2luV2ViIDogU2hhZG93Um9vdFVzYWdlT3JpZ2lu
Tm90V2ViOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaG9zdCk7Ci0gICAgcmV0dXJuIFNoYWRv
d1Jvb3RVc2FnZU9yaWdpbldlYjsKLSNlbmRpZgotfQotCi1QYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+
IFNoYWRvd1Jvb3Q6OmNyZWF0ZShFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykK
LXsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5T
aGFkb3dSb290LmNvbnN0cnVjdG9yIiwgZGV0ZXJtaW5lVXNhZ2VUeXBlKGVsZW1lbnQpLCBTaGFk
b3dSb290VXNhZ2VPcmlnaW5UeXBlcyk7Ci0gICAgcmV0dXJuIGNyZWF0ZShlbGVtZW50LCBBdXRo
b3JTaGFkb3dSb290LCBlYyk7Ci19Ci0KLVBhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9v
dDo6Y3JlYXRlKEVsZW1lbnQqIGVsZW1lbnQsIFNoYWRvd1Jvb3RUeXBlIHR5cGUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQotewotICAgIGlmICghZWxlbWVudCkgewotICAgICAgICBlYyA9IEhJRVJBUkNI
WV9SRVFVRVNUX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgLy8gU2luY2Ug
c29tZSBlbGVtZW50cyByZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHksIG11bHRpcGxl
IHNoYWRvdyBzdWJ0cmVlcyB3b24ndCB3b3JrIHdlbGwgaW4gdGhhdCBlbGVtZW50LgotICAgIC8v
IFVudGlsIHRoZXkgYXJlIGZpeGVkLCB3ZSBkaXNhYmxlIGFkZGluZyBhdXRob3Igc2hhZG93IHJv
b3QgZm9yIHRoZW0uCi0gICAgaWYgKHR5cGUgPT0gQXV0aG9yU2hhZG93Um9vdCAmJiAhYWxsb3dz
QXV0aG9yU2hhZG93Um9vdChlbGVtZW50KSkgewotICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFV
RVNUX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorICAgIEFTU0VSVChlbGVtZW50KTsK
IAogICAgIFJlZlB0cjxTaGFkb3dSb290PiBzaGFkb3dSb290ID0gYWRvcHRSZWYobmV3IFNoYWRv
d1Jvb3QoZWxlbWVudC0+ZG9jdW1lbnQoKSwgdHlwZSkpOwogCi0gICAgZWMgPSAwOwotICAgIGVs
ZW1lbnQtPmVuc3VyZVNoYWRvdygpLT5hZGRTaGFkb3dSb290KGVsZW1lbnQsIHNoYWRvd1Jvb3Qs
IHR5cGUsIGVjKTsKLSAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiAwOworICAgIGVsZW1lbnQt
PmVuc3VyZVNoYWRvdygpLT5hZGRTaGFkb3dSb290KGVsZW1lbnQsIHNoYWRvd1Jvb3QsIHR5cGUp
OwogICAgIEFTU0VSVChlbGVtZW50ID09IHNoYWRvd1Jvb3QtPmhvc3QoKSk7CiAgICAgQVNTRVJU
KGVsZW1lbnQtPnNoYWRvdygpKTsKKwogICAgIHJldHVybiBzaGFkb3dSb290LnJlbGVhc2UoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggNDcyNzkxN2Y1ZTAxMzNjMWFlMWI4MGFk
ZTY5NTBjYmIzMTkxY2Y4MS4uMTQyOWM5ZDlhZWQ2MjA1OTlhYjM2OTc2OGYyYjZhYmUxMDQyMjRj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC00Niw4ICs0Niw2IEBAIGNsYXNzIFNjb3Bl
Q29udGVudERpc3RyaWJ1dGlvbjsKIGNsYXNzIFNoYWRvd1Jvb3QgOiBwdWJsaWMgRG9jdW1lbnRG
cmFnbWVudCwgcHVibGljIFRyZWVTY29wZSwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFNo
YWRvd1Jvb3Q+IHsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpEb3VibHlMaW5rZWRMaXN0Tm9kZTxT
aGFkb3dSb290PjsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dSb290PiBj
cmVhdGUoRWxlbWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKLQogICAgIC8vIEZJWE1FOiBXZSB3aWxs
IHN1cHBvcnQgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzLCBob3dldmVyIGN1cnJlbnQgaW1wbGVt
ZW50YXRpb24gZG9lcyBub3Qgd29yayB3ZWxsCiAgICAgLy8gaWYgYSBzaGFkb3cgcm9vdCBpcyBk
eW5hbWljYWxseSBjcmVhdGVkLiBTbyB3ZSBwcm9oaWJpdCBtdWx0aXBsZSBzaGFkb3cgc3VidHJl
ZXMKICAgICAvLyBpbiBzZXZlcmFsIGVsZW1lbnRzIGZvciBhIHdoaWxlLgpAQCAtNTYsNyArNTQs
NyBAQCBwdWJsaWM6CiAgICAgICAgIFVzZXJBZ2VudFNoYWRvd1Jvb3QgPSAwLAogICAgICAgICBB
dXRob3JTaGFkb3dSb290CiAgICAgfTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dSb290
PiBjcmVhdGUoRWxlbWVudCosIFNoYWRvd1Jvb3RUeXBlLCBFeGNlcHRpb25Db2RlJiA9IEFTU0VS
VF9OT19FWENFUFRJT04pOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0
ZShFbGVtZW50KiwgU2hhZG93Um9vdFR5cGUpOwogCiAgICAgdm9pZCByZWNhbGNTdHlsZShTdHls
ZUNoYW5nZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKaW5k
ZXggMWU0ZWMwNmZmMTAzZDM5YTc1ODZjZmFjMjFmYWFkMjIxMzY5OGQ3Ny4uODk0NzQ2YTY2OGU1
MDliNmRjNDNjOWJmYWIzZTNmNjBmN2UwYmNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
S2V5Z2VuRWxlbWVudC5jcHAKQEAgLTgyLDkgKzgyLDcgQEAgaW5saW5lIEhUTUxLZXlnZW5FbGVt
ZW50OjpIVE1MS2V5Z2VuRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWUKICAgICAgICAgb3B0aW9uLT5hcHBlbmRDaGlsZChUZXh0OjpjcmVhdGUoZG9jdW1lbnQsIGtl
eXNbaV0pLCBlYyk7CiAgICAgfQogCi0gICAgQVNTRVJUKCFzaGFkb3coKSk7Ci0gICAgUmVmUHRy
PFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6
VXNlckFnZW50U2hhZG93Um9vdCk7Ci0gICAgcm9vdC0+YXBwZW5kQ2hpbGQoc2VsZWN0LCBlYyk7
CisgICAgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZChzZWxlY3QsIGVj
KTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MS2V5Z2VuRWxlbWVudD4gSFRNTEtleWdlbkVsZW1lbnQ6
OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQs
IEhUTUxGb3JtRWxlbWVudCogZm9ybSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcAppbmRleCA3OWExZDIyYjgx
ZTkzYjU1YjJjZTZjYzFiYTdmN2JkMmI0ZDkxNmYzLi45ZWM1NDNhZjU2ZjM2Nzg2NDQ2YzUyZmY4
MzdiNDg4YmEzODNhMmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9U
ZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCkBAIC05MCw3ICs5MCw3IEBAIHN0
YXRpYyBpbmxpbmUgdm9pZCBnZXREZWNvcmF0aW9uUm9vdEFuZERlY29yYXRlZFJvb3QoSFRNTElu
cHV0RWxlbWVudCogaW5wdXQsIFNoCiAgICAgaWYgKG5ld1Jvb3QpCiAgICAgICAgIG5ld1Jvb3Qt
PnJlbW92ZUNoaWxkKG5ld1Jvb3QtPmZpcnN0Q2hpbGQoKSk7CiAgICAgZWxzZQotICAgICAgICBu
ZXdSb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKGlucHV0LCBTaGFkb3dSb290OjpVc2VyQWdlbnRT
aGFkb3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKS5nZXQoKTsKKyAgICAgICAgbmV3Um9vdCA9
IGlucHV0LT5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CiAgICAgZGVjb3JhdGlvblJvb3Qg
PSBuZXdSb290OwogICAgIGRlY29yYXRlZFJvb3QgPSBleGlzdGluZ1Jvb3Q7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZmM2MmM0ZTYwZmU2NWIzOTRjOTA2YzRkYjE4
ZDhiYmEwMTQyMjdlMS4uOGVjYjg3MjYyYmQxMTdjODg5N2ZlMjZmNjI5N2U5NWMyYjI5ODMyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTgwLDcgKzU4MCw3IEBAIElu
dGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJuYWxzOjpl
bnN1cmVTaGFkb3dSb290KEVsZW1lCiAgICAgaWYgKEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IGhv
c3QtPnNoYWRvdygpKQogICAgICAgICByZXR1cm4gc2hhZG93LT55b3VuZ2VzdFNoYWRvd1Jvb3Qo
KTsKIAotICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUoaG9zdCwgZWMpLmdldCgpOworICAg
IHJldHVybiBob3N0LT5jcmVhdGVTaGFkb3dSb290KGVjKS5nZXQoKTsKIH0KIAogSW50ZXJuYWxz
OjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmNyZWF0ZVNo
YWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC01ODksNyArNTg5
LDcgQEAgSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRl
cm5hbHM6OmNyZWF0ZVNoYWRvd1Jvb3QoRWxlbWUKICAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VT
U19FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICByZXR1cm4gU2hhZG93Um9vdDo6
Y3JlYXRlKGhvc3QsIGVjKS5nZXQoKTsKKyAgICByZXR1cm4gaG9zdC0+Y3JlYXRlU2hhZG93Um9v
dChlYykuZ2V0KCk7CiB9CiAKIEludGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxl
ZE9yTm9kZSogSW50ZXJuYWxzOjpzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJL
aXRFeHBvcnRzLmRlZi5pbiBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0
RXhwb3J0cy5kZWYuaW4KaW5kZXggMWRkYTQ1MjBmNDY3NTY3NWVjN2QwODE2ODgxZGRhYmY0NTE0
YzhhZC4uZmUyZmI2ZWY4Nzk1NDhhMzViMGM5NzIwMmYyZTA0MjM5MzUzMDRhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmlu
CkBAIC0xNzYsNyArMTc2LDcgQEAgRVhQT1JUUwogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNv
cmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRy
QFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgx
SEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3Ry
aW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBA
U0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQ
QVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2Fn
ZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1
ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCi0gICAg
ICAgID9jcmVhdGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93
Um9vdEBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKKyAgICAgICAgP2NyZWF0ZVNo
YWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUU/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jvb3RA
V2ViQ29yZUBAQFdURkBAQUFIQFoKICAgICAgICAgP2NyZWF0ZVdyYXBwZXJAV2ViQ29yZUBAWUE/
QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZO
b2RlQDFAQFoKICAgICAgICAgP2Rlc2VyaWFsaXplQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBRQUU/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDRAUEFWSlNHbG9iYWxPYmplY3RA
NEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEBX
VEZAQFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9kb2N1bWVudFN0YXRl
QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRUFCVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdU
RkBAWFoKQEAgLTU2NCw3ICs1NjQsNyBAQCBFWFBPUlRTCiAgICAgICAgID9jcmVhdGVAUmFuZ2VA
V2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NS
ZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBA
QDRASDFIQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBA
U0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBB
QlZTdHJpbmdANEBAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBX
VEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZN
ZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFy
cmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoK
LSAgICAgICAgP2NyZWF0ZUBTaGFkb3dSb290QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZT
aGFkb3dSb290QFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBBQUhAWgorICAgICAgICA/Y3Jl
YXRlU2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFBRT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93
Um9vdEBXZWJDb3JlQEBAV1RGQEBBQUhAWgogICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3Jl
QEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAx
QFBBVk5vZGVAMUBAWgogICAgICAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQFFBRT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9i
amVjdEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBA
JDAwQFdURkBAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAgICAgP2RvY3VtZW50
U3RhdGVASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQw
QUBAV1RGQEBYWgpAQCAtOTUwLDcgKzk1MCw3IEBAIEVYUE9SVFMKICAgICAgICAgP2NyZWF0ZUBS
YW5nZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8k
UGFzc1JlZlB0ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJD
b3JlQEBANEBIMUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBX
VEZAQEFCVlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29y
ZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQ
dHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0
ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVA
MkBAWgotICAgICAgICA/Y3JlYXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQ
dHJAVlNoYWRvd1Jvb3RAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCisgICAgICAg
ID9jcmVhdGVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZT
aGFkb3dSb290QFdlYkNvcmVAQEBXVEZAQEFBSEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdl
YkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2Jq
ZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0
VmFsdWVAV2ViQ29yZUBAUUFFP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xv
YmFsT2JqZWN0QDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBA
V1RGQEAkMDBAV1RGQEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9j
dW1lbnRTdGF0ZUBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdU
RkBAJDBBQEBXVEZAQFhaCkBAIC0xMzM2LDcgKzEzMzYsNyBAQCBFWFBPUlRTCiAgICAgICAgID9j
cmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBX
VEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5v
ZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFs
dWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JA
Vj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBANEBQQVY/JFZlY3RvckBW
PyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRAVzRTZXJpYWxpemF0aW9uRXJy
b3JNb2RlQDJAQFoKLSAgICAgICAgP2NyZWF0ZUBTaGFkb3dSb290QFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBBQUhAWgor
ICAgICAgICA/Y3JlYXRlU2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFBRT9BVj8kUGFzc1Jl
ZlB0ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBBQUhAWgogICAgICAgICA/Y3JlYXRlV3Jh
cHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUds
b2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgogICAgICAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQ
QVZKU0dsb2JhbE9iamVjdEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2Vi
Q29yZUBAQFdURkBAJDAwQFdURkBAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAg
ICAgP2RvY3VtZW50U3RhdGVASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JAVlN0
cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>