<?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>73721</bug_id>
          
          <creation_ts>2011-12-02 16:52:11 -0800</creation_ts>
          <short_desc>Add WebKit preferences for text track settings</short_desc>
          <delta_ts>2011-12-05 17:22:42 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>43668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jeffm</cc>
    
    <cc>sullivan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>514276</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-02 16:52:11 -0800</bug_when>
    <thetext>r101674 added WebCore settings to enable and disable subtitle, caption, and description text tracks. Add web preferences for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514277</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-12-02 16:52:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/10522425&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514362</commentid>
    <comment_count>2</comment_count>
      <attachid>117732</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-02 18:48:12 -0800</bug_when>
    <thetext>Created attachment 117732
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514378</commentid>
    <comment_count>3</comment_count>
      <attachid>117732</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 19:32:42 -0800</bug_when>
    <thetext>Comment on attachment 117732
Proposed patch

Attachment 117732 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10733219</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514395</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-02 20:41:40 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 117732 [details])
&gt; Attachment 117732 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10733219

Blah blah, blah blah, blah blah.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514396</commentid>
    <comment_count>5</comment_count>
      <attachid>117738</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-02 20:42:32 -0800</bug_when>
    <thetext>Created attachment 117738
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514498</commentid>
    <comment_count>6</comment_count>
      <attachid>117757</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-03 07:27:18 -0800</bug_when>
    <thetext>Created attachment 117757
Updated again

Don&apos;t export the settings from the Mac version of WebCore, it does&apos;t build with ENABLE_VIDEO_TRACK defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514503</commentid>
    <comment_count>7</comment_count>
      <attachid>117757</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-03 08:16:58 -0800</bug_when>
    <thetext>Comment on attachment 117757
Updated again

Attachment 117757 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10690474

New failing tests:
svg/custom/linking-uri-01-b.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514514</commentid>
    <comment_count>8</comment_count>
      <attachid>117757</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-12-03 09:33:56 -0800</bug_when>
    <thetext>Comment on attachment 117757
Updated again

Are you intentionally not exposing these settings via WebKit1 on Windows?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514682</commentid>
    <comment_count>9</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2011-12-04 07:16:30 -0800</bug_when>
    <thetext>Note that I reviewed this before I saw Jeff’s comment about WebKit1 on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514757</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-04 14:11:08 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Note that I reviewed this before I saw Jeff’s comment about WebKit1 on Windows.

Thanks, I will fix that oversight before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514758</commentid>
    <comment_count>11</comment_count>
      <attachid>117757</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-04 14:11:29 -0800</bug_when>
    <thetext>Comment on attachment 117757
Updated again

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

&gt; Source/WebCore/page/Settings.cpp:854
&gt; +#if ENABLE(VIDEO_TRACK)
&gt; +void Settings::setShouldDisplaySubtitles(bool flag)
&gt; +{
&gt; +    m_shouldDisplaySubtitles = flag;
&gt; +}
&gt; +
&gt; +void Settings::setShouldDisplayCaptions(bool flag)
&gt; +{
&gt; +    m_shouldDisplayCaptions = flag;
&gt; +}
&gt; +
&gt; +void Settings::setShouldDisplayTextDescriptions(bool flag)
&gt; +{
&gt; +    m_shouldDisplayTextDescriptions = flag;
&gt; +}
&gt; +#endif

Why this change? You moved these into the cpp file, but they are the same as what was in the .h file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514764</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-04 14:20:48 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 117757 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=117757&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Settings.cpp:854
&gt; &gt; +#if ENABLE(VIDEO_TRACK)
&gt; &gt; +void Settings::setShouldDisplaySubtitles(bool flag)
&gt; &gt; +{
&gt; &gt; +    m_shouldDisplaySubtitles = flag;
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +void Settings::setShouldDisplayCaptions(bool flag)
&gt; &gt; +{
&gt; &gt; +    m_shouldDisplayCaptions = flag;
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +void Settings::setShouldDisplayTextDescriptions(bool flag)
&gt; &gt; +{
&gt; &gt; +    m_shouldDisplayTextDescriptions = flag;
&gt; &gt; +}
&gt; &gt; +#endif
&gt; 
&gt; Why this change? You moved these into the cpp file, but they are the same as what was in the .h file?

The functions were inlined when they were in the .h file (noted in the ChangeLog), so the symbols couldn&apos;t be exported from WebCore . I can move them back if you would rather.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514787</commentid>
    <comment_count>13</comment_count>
      <attachid>117815</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-04 16:17:54 -0800</bug_when>
    <thetext>Created attachment 117815
Updated patch

Updated to include Windows so the EWS bot can check it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514790</commentid>
    <comment_count>14</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2011-12-04 16:34:28 -0800</bug_when>
    <thetext>The new patch doesn’t have review? set. (If it did, I would review+ it.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514807</commentid>
    <comment_count>15</comment_count>
      <attachid>117818</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-04 18:19:25 -0800</bug_when>
    <thetext>Created attachment 117818
Yet another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514808</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-04 18:21:06 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; The new patch doesn’t have review? set. (If it did, I would review+ it.)

I remembered this time, and this one should actually compile!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514843</commentid>
    <comment_count>17</comment_count>
      <attachid>117818</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2011-12-04 20:00:08 -0800</bug_when>
    <thetext>Comment on attachment 117818
Yet another patch.

r+ if you’re right!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514960</commentid>
    <comment_count>18</comment_count>
      <attachid>117818</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 00:42:45 -0800</bug_when>
    <thetext>Comment on attachment 117818
Yet another patch.

Clearing flags on attachment: 117818

Committed r101977: &lt;http://trac.webkit.org/changeset/101977&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514961</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 00:42:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515254</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-05 11:59:33 -0800</bug_when>
    <thetext>(In reply to comment #12)
=&gt; The functions were inlined when they were in the .h file (noted in the ChangeLog), so the symbols couldn&apos;t be exported from WebCore.

For functions in the header with the inline keyword, you shouldn’t need to export them from WebCore. So I think that would have been a better way to god.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515255</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-05 11:59:40 -0800</bug_when>
    <thetext>to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515268</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-05 12:08:47 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #12)
&gt; =&gt; The functions were inlined when they were in the .h file (noted in the ChangeLog), so the symbols couldn&apos;t be exported from WebCore.
&gt; 
&gt; For functions in the header with the inline keyword, you shouldn’t need to export them from WebCore. So I think that would have been a better way to go.

Thanks, I will change it in a follow up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515528</commentid>
    <comment_count>23</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-12-05 17:22:42 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #20)
&gt; &gt; (In reply to comment #12)
&gt; &gt; =&gt; The functions were inlined when they were in the .h file (noted in the ChangeLog), so the symbols couldn&apos;t be exported from WebCore.
&gt; &gt; 
&gt; &gt; For functions in the header with the inline keyword, you shouldn’t need to export them from WebCore. So I think that would have been a better way to go.
&gt; 
&gt; Thanks, I will change it in a follow up patch.

https://bugs.webkit.org/show_bug.cgi?id=73879 is for the revert.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117732</attachid>
            <date>2011-12-02 18:48:12 -0800</date>
            <delta_ts>2011-12-02 20:42:32 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_preferences_1.txt</filename>
            <type>text/plain</type>
            <size>18361</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDExLTEyLTAyICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBXZWJLaXQgcHJl
ZmVyZW5jZXMgZm9yIHRleHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHlldCwgc3RpbGwgbm90aGluZyB0
byB0ZXN0LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4cG9ydCB0aGUgbmV3IGZ1bmN0
aW9ucy4KKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMpOiBNb3ZlIHRoZSBzZXR0ZXJzIHRv
IHRoZSAuY3BwIGZpbGUgc28gdGhleQorICAgICAgICAgICAgYXJlbid0IGlubGluZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlw
dGlvbnMpOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisKIDIwMTEtMTItMDIg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDE3MzEuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgko
cmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTk2MCwxMiArOTYwLDE0IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczIzc2V0
VXNlc0VuY29kaW5nRGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0QXBwbGljYXRpb25DaHJv
bWVNb2RlRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0RE5TUHJlZmV0Y2hpbmdFbmFibGVk
RWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkRWIKK19f
Wk43V2ViQ29yZThTZXR0aW5nczI0c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zRWIKIF9fWk43V2Vi
Q29yZThTZXR0aW5nczI0c2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlRWIKIF9fWk43V2ViQ29yZThT
ZXR0aW5nczI1c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGlu
Z3MyNXNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjVz
ZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplRWkKIF9fWk43V2ViQ29yZThTZXR0aW5nczI1c2V0TmVl
ZHNMZW9wYXJkTWFpbFF1aXJrc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyNXNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWRFYgorX19aTjdXZWJDb3JlOFNldHRpbmdzMjVzZXRTaG91bGREaXNwbGF5
U3VidGl0bGVzRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI1c2V0U2hvdWxkUHJpbnRCYWNrZ3Jv
dW5kc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyNXNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb25F
UktOU180S1VSTEUKIF9fWk43V2ViQ29yZThTZXR0aW5nczI2ZGVmYXVsdE1pbkRPTVRpbWVySW50
ZXJ2YWxFdgpAQCAtOTg2LDYgKzk4OCw3IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczMxc2V0SmF2
YVNjcmlwdENhbkEKIF9fWk43V2ViQ29yZThTZXR0aW5nczMxc2V0U2hyaW5rc1N0YW5kYWxvbmVJ
bWFnZXNUb0ZpdEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzMnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczMyc2V0TmVlZHNBZG9iZUZyYW1l
UmVsb2FkaW5nUXVpcmtFYgorX19aTjdXZWJDb3JlOFNldHRpbmdzMzJzZXRTaG91bGREaXNwbGF5
VGV4dERlc2NyaXB0aW9uc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzMnNldFNob3dzVG9vbFRp
cE92ZXJUcnVuY2F0ZWRUZXh0RWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczMzc2V0RG93bmxvYWRh
YmxlQmluYXJ5Rm9udHNFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczM0c2V0TG9jYWxG
aWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZEViCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgzNiw0ICs4MzYsMjEgQEAgYm9vbCBTZXR0aW5nczo6bW9ja1Nj
cm9sbGJhcnNFbmFibGVkKCkKICAgICByZXR1cm4gZ01vY2tTY3JvbGxiYXJzRW5hYmxlZDsKIH0K
IAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKK3ZvaWQgU2V0dGluZ3M6OnNldFNob3VsZERpc3Bs
YXlTdWJ0aXRsZXMoYm9vbCBmbGFnKQoreworICAgIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlcyA9
IGZsYWc7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlDYXB0aW9ucyhib29s
IGZsYWcpCit7CisgICAgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnMgPSBmbGFnOworfQorCit2b2lk
IFNldHRpbmdzOjpzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhib29sIGZsYWcpCit7
CisgICAgbV9zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyA9IGZsYWc7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2
aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5n
IGNvcHkpCkBAIC00ODcsMTMgKzQ4NywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgdmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzdWFs
V29yZE1vdmVtZW50RW5hYmxlZDsgfQogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgICAg
ICB2b2lkIHNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoYm9vbCBmbGFnKSB7IG1fc2hvdWxkRGlz
cGxheVN1YnRpdGxlcyA9IGZsYWc7IH0KKyAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5U3Vi
dGl0bGVzKGJvb2wpOwogICAgICAgICBib29sIHNob3VsZERpc3BsYXlTdWJ0aXRsZXMoKSBjb25z
dCB7IHJldHVybiBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7IH0KIAotICAgICAgICB2b2lkIHNl
dFNob3VsZERpc3BsYXlDYXB0aW9ucyhib29sIGZsYWcpIHsgbV9zaG91bGREaXNwbGF5Q2FwdGlv
bnMgPSBmbGFnOyB9CisgICAgICAgIHZvaWQgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKGJvb2wp
OwogICAgICAgICBib29sIHNob3VsZERpc3BsYXlDYXB0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1f
c2hvdWxkRGlzcGxheUNhcHRpb25zOyB9CiAKLSAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5
VGV4dERlc2NyaXB0aW9ucyhib29sIGZsYWcpIHsgbV9zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0
aW9ucyA9IGZsYWc7IH0KKyAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0
aW9ucyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucygp
IGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnM7IH0KICNlbmRp
ZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE4NzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0xMi0wMiAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgV2ViS2l0
IHByZWZlcmVuY2VzIGZvciB0ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aDogRGVjbGFyZWQgc2hvdWxkRGlzcGxheVN1YnRpdGxlcywgc2hvdWxkRGlzcGxheUNhcHRpb25z
LCBhbmQKKyAgICAgICAgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMgcHJvcGVydGllcyB3
aXRoIG1hY3Jvcy4gQWxsIGRlZmF1bHQgdG8gZmFsc2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0U2hvdWxk
RGlzcGxheVN1YnRpdGxlcyk6IEFkZGVkLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFNob3Vs
ZERpc3BsYXlTdWJ0aXRsZXMpOiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91
bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV0tQcmVmZXJlbmNl
c0dldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMpOiBVcGRhdGVzIFdlYkNvcmUgc2V0dGluZ3MgZnJvbSBXZWJLaXQyIHByZWZzLgorCiAy
MDExLTEyLTAyICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdoZW4gcGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0
IHJlc3VsdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3Rv
cmUuaAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsOSBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKICAgICBtYWNybyhTdXBwcmVzc0luY3JlbWVudGFsUmVuZGVyaW5nLCBzdXBwcmVz
c0luY3JlbWVudGFsUmVuZGVyaW5nLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEJh
Y2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkLCBiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKENhcmV0QnJvd3NpbmdFbmFibGVkLCBj
YXJldEJyb3dzaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhTaG91
bGREaXNwbGF5U3VidGl0bGVzLCBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBCb29sLCBib29sLCBm
YWxzZSkgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlDYXB0aW9ucywgc2hvdWxkRGlzcGxheUNh
cHRpb25zLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zLCBzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucywgQm9vbCwgYm9vbCwg
ZmFsc2UpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJF
TkNFKG1hY3JvKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3MSwz
ICs2NzEsMzMgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Q2FyZXRCcm93c2luZ0VuYWJsZQogewog
ICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5jYXJldEJyb3dzaW5nRW5hYmxlZCgp
OwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGVuYWJsZWQpOworfQor
Citib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNob3VsZERpc3BsYXlTdWJ0aXRsZXMoKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0
U2hvdWxkRGlzcGxheUNhcHRpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJv
b2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGREaXNw
bGF5Q2FwdGlvbnMoZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERp
c3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJl
dHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zaG91bGREaXNwbGF5Q2FwdGlvbnMoKTsKK30K
Kwordm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKGVuYWJs
ZWQpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0
aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucygpOworfQpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5o
CShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNiArMTgxLDE4IEBAIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRCYWNrc3BhY2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRDYXJldEJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENhcmV0
QnJvd3NpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCisvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERp
c3BsYXlTdWJ0aXRsZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFi
bGVkKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5U3VidGl0
bGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBm
YWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlDYXB0aW9u
cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRp
ZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEzLDYgKzE4MTMsMTIgQEAgdm9pZCBX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZQogICAgIHNldHRpbmdzLT5zZXRCYWNr
c3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkS2V5KCkpKTsKICAgICBz
ZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpjYXJldEJyb3dzaW5nRW5hYmxlZEtleSgpKSk7CiAKKyNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCisgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlTdWJ0aXRs
ZXMoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNw
bGF5U3VidGl0bGVzS2V5KCkpKTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheUNhcHRp
b25zKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2hvdWxkRGlz
cGxheUNhcHRpb25zS2V5KCkpKTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHRE
ZXNjcmlwdGlvbnMoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpz
aG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc0tleSgpKSk7CisjZW5kaWYKKwogICAgIHBsYXRm
b3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RvcmUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkocmV2aXNpb24gMTAxODc5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0wMiAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgV2ViS2l0
IHByZWZlcmVuY2VzIGZvciB0ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3VsZERpc3BsYXlD
YXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogc3JjL1dlYlNldHRp
bmdzSW1wbC5oOgorCiAyMDExLTEyLTAyICBLYXJsIEtvc2NoZXIgIDxzdXBlcnNhdEBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBhZGQgc2V0T3BlbmVyIG1ldGhvZCB0byBXZWJG
cmFtZQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuY3BwCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjUsNCArNDY1LDM1IEBAIHZv
aWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRWaXN1YWxXb3JkTW92ZW0KICAgICBtX3NldHRpbmdzLT5z
ZXRWaXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKGVuYWJsZWQpOwogfQogCit2b2lkIFdlYlNldHRp
bmdzSW1wbDo6c2hvdWxkRGlzcGxheVN1YnRpdGxlcyhib29sIGVuYWJsZWQpCit7CisjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKQorICAgIG1fc2V0dGluZ3MtPnNob3VsZERpc3BsYXlTdWJ0aXRsZXMo
ZW5hYmxlZCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorCit9
CisKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzaG91bGREaXNwbGF5Q2FwdGlvbnMoYm9vbCBlbmFi
bGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBtX3NldHRpbmdzLT5zaG91bGRE
aXNwbGF5Q2FwdGlvbnMoZW5hYmxlZCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVk
KTsKKyNlbmRpZgorCit9CisKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9ucyhib29sIGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQor
ICAgIG1fc2V0dGluZ3MtPnNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKGVuYWJsZWQpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKKworfQorCisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNiArMTI0LDkg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRFbmFibGVTY3JvbGxBbmltYXRvcihib29s
KTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChi
b29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZChib29s
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhib29sKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKGJvb2wpOworICAgIHZpcnR1
YWwgdm9pZCBzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhib29sKTsKIAogcHJpdmF0
ZToKICAgICBXZWJDb3JlOjpTZXR0aW5ncyogbV9zZXR0aW5nczsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTAyICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBXZWJLaXQgcHJlZmVyZW5jZXMg
Zm9yIHRleHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOiBBZGRl
ZCAjZGVmaW5lIGZvciBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBzaG91bGREaXNwbGF5Q2FwdGlv
bnMsIAorICAgICAgICBhbmQgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMgcHJvcGVydGll
cy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dl
YlByZWZlcmVuY2VzIGluaXRpYWxpemVdKTogSW5pdGlhbGl6ZSBuZXcgcHJlZmVyZW5jZXMgdG8g
Tk8uCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXM6
XSk6IEFkZGVkLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzaG91bGREaXNwbGF5U3VidGl0
bGVzXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRTaG91bGREaXNwbGF5
Q2FwdGlvbnM6XSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzaG91bGREaXNw
bGF5Q2FwdGlvbnNdKTogRGl0dG8uCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNdKTogRGl0dG8uCisgICAgICAgICog
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKworICAgICAgICAqIFdlYlZpZXcvV2Vi
Vmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorICAg
ICAgICBVcGRhdGVzIFdlYkNvcmUgc2V0dGluZ3MgZnJvbSBXZWJLaXQgcHJlZnMuCisKIDIwMTEt
MTItMDIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzEwNDIzNjI3PiBMYXllcnMgYXJlIGZsaXBwZWQgaW4gV2ViS2l0MSB2
aWV3cwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTEsNiArMTExLDkgQEAKICNkZWZpbmUgV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUiCiAjZGVmaW5lIFdlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZSIKICNkZWZpbmUgV2ViS2l0TW9ja1Nj
cm9sbGJhcnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vY2tTY3JvbGxiYXJzRW5hYmxl
ZCIKKyNkZWZpbmUgV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzIgorI2RlZmluZSBXZWJLaXRTaG91bGREaXNwbGF5
Q2FwdGlvbnNQcmVmZXJlbmNlS2V5IEAiV2ViS2l0U2hvdWxkRGlzcGxheUNhcHRpb25zIgorI2Rl
ZmluZSBXZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyIKIAogLy8gVGhlc2UgYXJlIHByaXZh
dGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2Rz
IGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBwcml2YXRl
LgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShy
ZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zODcsNiArMzg3LDkgQEAgKyAodm9pZClpbml0aWFs
aXplCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0V2ViQXVk
aW9FbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
Ok5PXSwgICBXZWJLaXRTdXBwcmVzc0luY3JlbWVudGFsUmVuZGVyaW5nS2V5LAogICAgICAgICBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEJhY2tzcGFjZUtleU5hdmlnYXRp
b25FbmFibGVkS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdl
YktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZl
cmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0
U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNlS2V5LAogCiAgICAgICAgIFtO
U051bWJlciBudW1iZXJXaXRoTG9uZ0xvbmc6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6Om5vUXVv
dGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3RhLAogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpub1F1b3RhKCld
LCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhLApAQCAtMTU3NCw2ICsx
NTc3LDM4IEBAIC0gKEJPT0wpYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQKICAgICByZXR1
cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5h
YmxlZEtleV07CiB9CiAKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlczooQk9PTClm
bGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRTaG91bGRE
aXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKEJPT0wpc2hvdWxkRGlzcGxh
eVN1YnRpdGxlcworeworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFNo
b3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRTaG91
bGREaXNwbGF5Q2FwdGlvbnM6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZmxhZyBmb3JLZXk6V2ViS2l0U2hvdWxkRGlzcGxheUNhcHRpb25zUHJlZmVyZW5jZUtleV07Cit9
CisKKy0gKEJPT0wpc2hvdWxkRGlzcGxheUNhcHRpb25zCit7CisgICAgcmV0dXJuIFtzZWxmIF9i
b29sVmFsdWVGb3JLZXk6V2ViS2l0U2hvdWxkRGlzcGxheUNhcHRpb25zUHJlZmVyZW5jZUtleV07
Cit9CisKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnM6KEJPT0wpZmxh
ZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0U2hvdWxkRGlz
cGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNlS2V5XTsKK30KKworLSAoQk9PTClzaG91bGRE
aXNwbGF5VGV4dERlc2NyaXB0aW9ucworeworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zUHJlZmVyZW5jZUtleV07Cit9
CisKKworCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViSW50ZXJu
YWwpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3MSw0ICsyNzEs
MTMgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKHZvaWQpc2V0
QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpYmFja3Nw
YWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVN1YnRp
dGxlczooQk9PTClmbGFnOworLSAoQk9PTClzaG91bGREaXNwbGF5U3VidGl0bGVzOworCistICh2
b2lkKXNldFNob3VsZERpc3BsYXlDYXB0aW9uczooQk9PTClmbGFnOworLSAoQk9PTClzaG91bGRE
aXNwbGF5Q2FwdGlvbnM7CisKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnM6KEJPT0wpZmxhZzsKKy0gKEJPT0wpc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnM7CisK
IEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDEw
MTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTQ5Niw2ICsxNDk2LDEyIEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDoo
V2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy0+c2V0U3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmlu
ZyhbcHJlZmVyZW5jZXMgc3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZ10pOwogICAgIHNldHRp
bmdzLT5zZXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgYmFja3Nw
YWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAg
ICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhbcHJlZmVyZW5jZXMgc2hvdWxk
RGlzcGxheVN1YnRpdGxlc10pOworICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5Q2FwdGlv
bnMoW3ByZWZlcmVuY2VzIHNob3VsZERpc3BsYXlDYXB0aW9uc10pOworICAgIHNldHRpbmdzLT5z
ZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhbcHJlZmVyZW5jZXMgc2hvdWxkRGlzcGxh
eVRleHREZXNjcmlwdGlvbnNdKTsKKyNlbmRpZgorCiAgICAgLy8gQXBwbGljYXRpb24gQ2FjaGUg
UHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2UgbWFuYWdl
ciwgbm90IGluIFNldHRpbmdzLgogICAgIFtXZWJBcHBsaWNhdGlvbkNhY2hlIHNldERlZmF1bHRP
cmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90
YV1dOwogCg==
</data>
<flag name="commit-queue"
          id="117276"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117738</attachid>
            <date>2011-12-02 20:42:32 -0800</date>
            <delta_ts>2011-12-03 07:27:18 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>patch_preferences_2.txt</filename>
            <type>text/plain</type>
            <size>18373</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDExLTEyLTAyICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBXZWJLaXQgcHJl
ZmVyZW5jZXMgZm9yIHRleHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHlldCwgc3RpbGwgbm90aGluZyB0
byB0ZXN0LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4cG9ydCB0aGUgbmV3IGZ1bmN0
aW9ucy4KKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMpOiBNb3ZlIHRoZSBzZXR0ZXJzIHRv
IHRoZSAuY3BwIGZpbGUgc28gdGhleQorICAgICAgICAgICAgYXJlbid0IGlubGluZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlw
dGlvbnMpOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisKIDIwMTEtMTItMDIg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDE3MzEuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgko
cmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTk2MCwxMiArOTYwLDE0IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczIzc2V0
VXNlc0VuY29kaW5nRGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0QXBwbGljYXRpb25DaHJv
bWVNb2RlRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0RE5TUHJlZmV0Y2hpbmdFbmFibGVk
RWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkRWIKK19f
Wk43V2ViQ29yZThTZXR0aW5nczI0c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zRWIKIF9fWk43V2Vi
Q29yZThTZXR0aW5nczI0c2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlRWIKIF9fWk43V2ViQ29yZThT
ZXR0aW5nczI1c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGlu
Z3MyNXNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjVz
ZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplRWkKIF9fWk43V2ViQ29yZThTZXR0aW5nczI1c2V0TmVl
ZHNMZW9wYXJkTWFpbFF1aXJrc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyNXNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWRFYgorX19aTjdXZWJDb3JlOFNldHRpbmdzMjVzZXRTaG91bGREaXNwbGF5
U3VidGl0bGVzRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI1c2V0U2hvdWxkUHJpbnRCYWNrZ3Jv
dW5kc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyNXNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb25F
UktOU180S1VSTEUKIF9fWk43V2ViQ29yZThTZXR0aW5nczI2ZGVmYXVsdE1pbkRPTVRpbWVySW50
ZXJ2YWxFdgpAQCAtOTg2LDYgKzk4OCw3IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczMxc2V0SmF2
YVNjcmlwdENhbkEKIF9fWk43V2ViQ29yZThTZXR0aW5nczMxc2V0U2hyaW5rc1N0YW5kYWxvbmVJ
bWFnZXNUb0ZpdEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzMnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczMyc2V0TmVlZHNBZG9iZUZyYW1l
UmVsb2FkaW5nUXVpcmtFYgorX19aTjdXZWJDb3JlOFNldHRpbmdzMzJzZXRTaG91bGREaXNwbGF5
VGV4dERlc2NyaXB0aW9uc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzMnNldFNob3dzVG9vbFRp
cE92ZXJUcnVuY2F0ZWRUZXh0RWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczMzc2V0RG93bmxvYWRh
YmxlQmluYXJ5Rm9udHNFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczM0c2V0TG9jYWxG
aWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZEViCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAkocmV2aXNpb24gMTAxODk4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgzNiw0ICs4MzYsMjEgQEAgYm9vbCBTZXR0aW5nczo6bW9ja1Nj
cm9sbGJhcnNFbmFibGVkKCkKICAgICByZXR1cm4gZ01vY2tTY3JvbGxiYXJzRW5hYmxlZDsKIH0K
IAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKK3ZvaWQgU2V0dGluZ3M6OnNldFNob3VsZERpc3Bs
YXlTdWJ0aXRsZXMoYm9vbCBmbGFnKQoreworICAgIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlcyA9
IGZsYWc7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlDYXB0aW9ucyhib29s
IGZsYWcpCit7CisgICAgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnMgPSBmbGFnOworfQorCit2b2lk
IFNldHRpbmdzOjpzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhib29sIGZsYWcpCit7
CisgICAgbV9zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyA9IGZsYWc7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2
aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5n
IGNvcHkpCkBAIC00ODcsMTMgKzQ4NywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgdmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzdWFs
V29yZE1vdmVtZW50RW5hYmxlZDsgfQogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgICAg
ICB2b2lkIHNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoYm9vbCBmbGFnKSB7IG1fc2hvdWxkRGlz
cGxheVN1YnRpdGxlcyA9IGZsYWc7IH0KKyAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5U3Vi
dGl0bGVzKGJvb2wpOwogICAgICAgICBib29sIHNob3VsZERpc3BsYXlTdWJ0aXRsZXMoKSBjb25z
dCB7IHJldHVybiBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7IH0KIAotICAgICAgICB2b2lkIHNl
dFNob3VsZERpc3BsYXlDYXB0aW9ucyhib29sIGZsYWcpIHsgbV9zaG91bGREaXNwbGF5Q2FwdGlv
bnMgPSBmbGFnOyB9CisgICAgICAgIHZvaWQgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKGJvb2wp
OwogICAgICAgICBib29sIHNob3VsZERpc3BsYXlDYXB0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1f
c2hvdWxkRGlzcGxheUNhcHRpb25zOyB9CiAKLSAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5
VGV4dERlc2NyaXB0aW9ucyhib29sIGZsYWcpIHsgbV9zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0
aW9ucyA9IGZsYWc7IH0KKyAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0
aW9ucyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucygp
IGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnM7IH0KICNlbmRp
ZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE4NzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0xMi0wMiAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgV2ViS2l0
IHByZWZlcmVuY2VzIGZvciB0ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aDogRGVjbGFyZWQgc2hvdWxkRGlzcGxheVN1YnRpdGxlcywgc2hvdWxkRGlzcGxheUNhcHRpb25z
LCBhbmQKKyAgICAgICAgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMgcHJvcGVydGllcyB3
aXRoIG1hY3Jvcy4gQWxsIGRlZmF1bHQgdG8gZmFsc2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0U2hvdWxk
RGlzcGxheVN1YnRpdGxlcyk6IEFkZGVkLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFNob3Vs
ZERpc3BsYXlTdWJ0aXRsZXMpOiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91
bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV0tQcmVmZXJlbmNl
c0dldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMpOiBVcGRhdGVzIFdlYkNvcmUgc2V0dGluZ3MgZnJvbSBXZWJLaXQyIHByZWZzLgorCiAy
MDExLTEyLTAyICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdoZW4gcGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0
IHJlc3VsdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3Rv
cmUuaAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsOSBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKICAgICBtYWNybyhTdXBwcmVzc0luY3JlbWVudGFsUmVuZGVyaW5nLCBzdXBwcmVz
c0luY3JlbWVudGFsUmVuZGVyaW5nLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEJh
Y2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkLCBiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKENhcmV0QnJvd3NpbmdFbmFibGVkLCBj
YXJldEJyb3dzaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhTaG91
bGREaXNwbGF5U3VidGl0bGVzLCBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBCb29sLCBib29sLCBm
YWxzZSkgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlDYXB0aW9ucywgc2hvdWxkRGlzcGxheUNh
cHRpb25zLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zLCBzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucywgQm9vbCwgYm9vbCwg
ZmFsc2UpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJF
TkNFKG1hY3JvKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3MSwz
ICs2NzEsMzMgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Q2FyZXRCcm93c2luZ0VuYWJsZQogewog
ICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5jYXJldEJyb3dzaW5nRW5hYmxlZCgp
OwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGVuYWJsZWQpOworfQor
Citib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNob3VsZERpc3BsYXlTdWJ0aXRsZXMoKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0
U2hvdWxkRGlzcGxheUNhcHRpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJv
b2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGREaXNw
bGF5Q2FwdGlvbnMoZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERp
c3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJl
dHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zaG91bGREaXNwbGF5Q2FwdGlvbnMoKTsKK30K
Kwordm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKGVuYWJs
ZWQpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0
aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucygpOworfQpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5o
CShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNiArMTgxLDE4IEBAIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRCYWNrc3BhY2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRDYXJldEJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENhcmV0
QnJvd3NpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCisvLyBE
ZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERp
c3BsYXlTdWJ0aXRsZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFi
bGVkKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5U3VidGl0
bGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBm
YWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlDYXB0aW9u
cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRp
ZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEzLDYgKzE4MTMsMTIgQEAgdm9pZCBX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZQogICAgIHNldHRpbmdzLT5zZXRCYWNr
c3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkS2V5KCkpKTsKICAgICBz
ZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpjYXJldEJyb3dzaW5nRW5hYmxlZEtleSgpKSk7CiAKKyNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCisgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlTdWJ0aXRs
ZXMoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNw
bGF5U3VidGl0bGVzS2V5KCkpKTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheUNhcHRp
b25zKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2hvdWxkRGlz
cGxheUNhcHRpb25zS2V5KCkpKTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHRE
ZXNjcmlwdGlvbnMoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpz
aG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc0tleSgpKSk7CisjZW5kaWYKKwogICAgIHBsYXRm
b3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RvcmUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkocmV2aXNpb24gMTAxODc5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0wMiAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgV2ViS2l0
IHByZWZlcmVuY2VzIGZvciB0ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3VsZERpc3BsYXlD
YXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogc3JjL1dlYlNldHRp
bmdzSW1wbC5oOgorCiAyMDExLTEyLTAyICBLYXJsIEtvc2NoZXIgIDxzdXBlcnNhdEBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBhZGQgc2V0T3BlbmVyIG1ldGhvZCB0byBXZWJG
cmFtZQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuY3BwCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjUsNCArNDY1LDMyIEBAIHZv
aWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRWaXN1YWxXb3JkTW92ZW0KICAgICBtX3NldHRpbmdzLT5z
ZXRWaXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKGVuYWJsZWQpOwogfQogCit2b2lkIFdlYlNldHRp
bmdzSW1wbDo6c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhib29sIGVuYWJsZWQpCit7CisjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKQorICAgIG1fc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlTdWJ0
aXRsZXMoZW5hYmxlZCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRp
ZgorfQorCit2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKGJv
b2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgbV9zZXR0aW5ncy0+
c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oZW5hYmxlZCk7CisjZW5kaWYKK30KKwordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKGJvb2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVklE
RU9fVFJBQ0spCisgICAgbV9zZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMoZW5hYmxlZCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgor
fQorCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjQsNiArMTI0LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRFbmFibGVTY3JvbGxB
bmltYXRvcihib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzdWFsV29yZE1vdmVtZW50
RW5hYmxlZChib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxl
cyhib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKGJvb2wp
OworICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhib29s
KTsKIAogcHJpdmF0ZToKICAgICBXZWJDb3JlOjpTZXR0aW5ncyogbV9zZXR0aW5nczsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTAyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBXZWJLaXQg
cHJlZmVyZW5jZXMgZm9yIHRleHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oOiBBZGRlZCAjZGVmaW5lIGZvciBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBzaG91bGRE
aXNwbGF5Q2FwdGlvbnMsIAorICAgICAgICBhbmQgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMgcHJvcGVydGllcy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06Cisg
ICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKTogSW5pdGlhbGl6ZSBuZXcgcHJl
ZmVyZW5jZXMgdG8gTk8uCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFNob3VsZERpc3Bs
YXlTdWJ0aXRsZXM6XSk6IEFkZGVkLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzaG91bGRE
aXNwbGF5U3VidGl0bGVzXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRT
aG91bGREaXNwbGF5Q2FwdGlvbnM6XSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNl
cyBzaG91bGREaXNwbGF5Q2FwdGlvbnNdKTogRGl0dG8uCisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zOl0pOiBEaXR0by4KKyAgICAgICAg
KC1bV2ViUHJlZmVyZW5jZXMgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNdKTogRGl0dG8u
CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKworICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOgorICAgICAgICBVcGRhdGVzIFdlYkNvcmUgc2V0dGluZ3MgZnJvbSBXZWJLaXQgcHJl
ZnMuCisKIDIwMTEtMTItMDIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwNDIzNjI3PiBMYXllcnMgYXJlIGZsaXBwZWQg
aW4gV2ViS2l0MSB2aWV3cwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTEsNiArMTExLDkgQEAKICNkZWZpbmUgV2ViS2l0TWVkaWFQbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUiCiAjZGVmaW5lIFdlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZSIKICNkZWZpbmUg
V2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vY2tTY3Jv
bGxiYXJzRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZl
cmVuY2VLZXkgQCJXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzIgorI2RlZmluZSBXZWJLaXRT
aG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJlbmNlS2V5IEAiV2ViS2l0U2hvdWxkRGlzcGxheUNh
cHRpb25zIgorI2RlZmluZSBXZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZl
cmVuY2VLZXkgQCJXZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyIKIAogLy8gVGhl
c2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBj
b3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVz
IGFyZSBwcml2YXRlLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zODcsNiArMzg3LDkgQEAgKyAo
dm9pZClpbml0aWFsaXplCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAg
V2ViS2l0V2ViQXVkaW9FbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTdXBwcmVzc0luY3JlbWVudGFsUmVuZGVyaW5nS2V5
LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEJhY2tzcGFj
ZUtleU5hdmlnYXRpb25FbmFibGVkS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJv
b2w6Tk9dLCAgIFdlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVmZXJlbmNlS2V5LAorICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFNob3VsZERpc3BsYXlD
YXB0aW9uc1ByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpO
T10sICAgV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNlS2V5LAog
CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoTG9uZ0xvbmc6QXBwbGljYXRpb25DYWNoZVN0
b3JhZ2U6Om5vUXVvdGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3RhLAogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
Ojpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhLApA
QCAtMTU3NCw2ICsxNTc3LDM4IEBAIC0gKEJPT0wpYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJs
ZWQKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRCYWNrc3BhY2VLZXlO
YXZpZ2F0aW9uRW5hYmxlZEtleV07CiB9CiAKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVN1YnRp
dGxlczooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpX
ZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKEJPT0wp
c2hvdWxkRGlzcGxheVN1YnRpdGxlcworeworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVmZXJlbmNlS2V5XTsKK30KKworLSAo
dm9pZClzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnM6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9z
ZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0U2hvdWxkRGlzcGxheUNhcHRpb25zUHJlZmVy
ZW5jZUtleV07Cit9CisKKy0gKEJPT0wpc2hvdWxkRGlzcGxheUNhcHRpb25zCit7CisgICAgcmV0
dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0U2hvdWxkRGlzcGxheUNhcHRpb25zUHJl
ZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnM6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNlS2V5XTsKK30KKworLSAo
Qk9PTClzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucworeworICAgIHJldHVybiBbc2VsZiBf
Ym9vbFZhbHVlRm9yS2V5OldlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zUHJlZmVy
ZW5jZUtleV07Cit9CisKKworCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNl
cyAoV2ViSW50ZXJuYWwpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3MSw0ICsyNzEsMTMgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkK
IC0gKHZvaWQpc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0g
KEJPT0wpYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0U2hvdWxk
RGlzcGxheVN1YnRpdGxlczooQk9PTClmbGFnOworLSAoQk9PTClzaG91bGREaXNwbGF5U3VidGl0
bGVzOworCistICh2b2lkKXNldFNob3VsZERpc3BsYXlDYXB0aW9uczooQk9PTClmbGFnOworLSAo
Qk9PTClzaG91bGREaXNwbGF5Q2FwdGlvbnM7CisKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVRl
eHREZXNjcmlwdGlvbnM6KEJPT0wpZmxhZzsKKy0gKEJPT0wpc2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnM7CisKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0J
KHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTQ5Niw2ICsxNDk2LDEyIEBAIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy0+c2V0U3VwcHJlc3NJbmNyZW1l
bnRhbFJlbmRlcmluZyhbcHJlZmVyZW5jZXMgc3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZ10p
OwogICAgIHNldHRpbmdzLT5zZXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChbcHJlZmVy
ZW5jZXMgYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShWSURF
T19UUkFDSykKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhbcHJlZmVy
ZW5jZXMgc2hvdWxkRGlzcGxheVN1YnRpdGxlc10pOworICAgIHNldHRpbmdzLT5zZXRTaG91bGRE
aXNwbGF5Q2FwdGlvbnMoW3ByZWZlcmVuY2VzIHNob3VsZERpc3BsYXlDYXB0aW9uc10pOworICAg
IHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhbcHJlZmVyZW5jZXMg
c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNdKTsKKyNlbmRpZgorCiAgICAgLy8gQXBwbGlj
YXRpb24gQ2FjaGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0aGUgZ2xvYmFsIGNhY2hlIHN0
b3JhZ2UgbWFuYWdlciwgbm90IGluIFNldHRpbmdzLgogICAgIFtXZWJBcHBsaWNhdGlvbkNhY2hl
IHNldERlZmF1bHRPcmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBwbGljYXRpb25DYWNoZURlZmF1
bHRPcmlnaW5RdW90YV1dOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117757</attachid>
            <date>2011-12-03 07:27:18 -0800</date>
            <delta_ts>2011-12-04 18:19:25 -0800</delta_ts>
            <desc>Updated again</desc>
            <filename>patch_preferences_3.txt</filename>
            <type>text/plain</type>
            <size>16835</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTAzICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBXZWJLaXQgcHJl
ZmVyZW5jZXMgZm9yIHRleHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHlldCwgc3RpbGwgbm90aGluZyB0
byB0ZXN0LgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6IE1vdmUgdGhlIHNldHRlcnMg
dG8gdGhlIC5jcHAgZmlsZSBzbyB0aGV5CisgICAgICAgICAgICBhcmVuJ3QgaW5saW5lZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9ucyk6IERpdHRvLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKwogMjAxMS0xMi0w
MiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwMTczMS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuY3BwCShyZXZpc2lvbiAxMDE4OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODM2LDQgKzgzNiwyMSBAQCBib29sIFNldHRpbmdzOjpt
b2NrU2Nyb2xsYmFyc0VuYWJsZWQoKQogICAgIHJldHVybiBnTW9ja1Njcm9sbGJhcnNFbmFibGVk
OwogfQogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQordm9pZCBTZXR0aW5nczo6c2V0U2hvdWxk
RGlzcGxheVN1YnRpdGxlcyhib29sIGZsYWcpCit7CisgICAgbV9zaG91bGREaXNwbGF5U3VidGl0
bGVzID0gZmxhZzsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheUNhcHRpb25z
KGJvb2wgZmxhZykKK3sKKyAgICBtX3Nob3VsZERpc3BsYXlDYXB0aW9ucyA9IGZsYWc7Cit9CisK
K3ZvaWQgU2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKGJvb2wgZmxh
ZykKK3sKKyAgICBtX3Nob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zID0gZmxhZzsKK30KKyNl
bmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ4NywxMyArNDg3LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCB2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV92
aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkOyB9CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0g
ICAgICAgIHZvaWQgc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhib29sIGZsYWcpIHsgbV9zaG91
bGREaXNwbGF5U3VidGl0bGVzID0gZmxhZzsgfQorICAgICAgICB2b2lkIHNldFNob3VsZERpc3Bs
YXlTdWJ0aXRsZXMoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkRGlzcGxheVN1YnRpdGxlcygp
IGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsgfQogCi0gICAgICAgIHZv
aWQgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKGJvb2wgZmxhZykgeyBtX3Nob3VsZERpc3BsYXlD
YXB0aW9ucyA9IGZsYWc7IH0KKyAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMo
Ym9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkRGlzcGxheUNhcHRpb25zKCkgY29uc3QgeyByZXR1
cm4gbV9zaG91bGREaXNwbGF5Q2FwdGlvbnM7IH0KIAotICAgICAgICB2b2lkIHNldFNob3VsZERp
c3BsYXlUZXh0RGVzY3JpcHRpb25zKGJvb2wgZmxhZykgeyBtX3Nob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zID0gZmxhZzsgfQorICAgICAgICB2b2lkIHNldFNob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zKGJvb2wpOwogICAgICAgICBib29sIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRp
b25zKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uczsgfQog
I2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDExLTEyLTAz
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBX
ZWJLaXQgcHJlZmVyZW5jZXMgZm9yIHRleHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5oOiBEZWNsYXJlZCBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBzaG91bGREaXNwbGF5Q2Fw
dGlvbnMsIGFuZAorICAgICAgICBzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyBwcm9wZXJ0
aWVzIHdpdGggbWFjcm9zLiBBbGwgZGVmYXVsdCB0byBmYWxzZS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRT
aG91bGREaXNwbGF5U3VidGl0bGVzKTogQWRkZWQuCisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
U2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6IERpdHRvLgorICAgICAgICAoV0tQcmVmZXJlbmNlc1Nl
dFNob3VsZERpc3BsYXlDYXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dl
dFNob3VsZERpc3BsYXlDYXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV0tQcmVmZXJlbmNlc1Nl
dFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgIChXS1ByZWZl
cmVuY2VzR2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMpOiBEaXR0by4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oOgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQ
cmVmZXJlbmNlcyk6IFVwZGF0ZXMgV2ViQ29yZSBzZXR0aW5ncyBmcm9tIFdlYktpdDIgcHJlZnMu
CisKIDIwMTEtMTItMDIgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2hlbiBwYWdlIHNjYWxpbmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNv
cnJlY3QgcmVzdWx0cwpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
U3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5oCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05OCw2ICs5OCw5IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogICAgIG1hY3JvKFN1cHByZXNzSW5jcmVtZW50YWxSZW5kZXJpbmcsIHN1
cHByZXNzSW5jcmVtZW50YWxSZW5kZXJpbmcsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFj
cm8oQmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQsIGJhY2tzcGFjZUtleU5hdmlnYXRpb25F
bmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAgbWFjcm8oQ2FyZXRCcm93c2luZ0VuYWJs
ZWQsIGNhcmV0QnJvd3NpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3Jv
KFNob3VsZERpc3BsYXlTdWJ0aXRsZXMsIHNob3VsZERpc3BsYXlTdWJ0aXRsZXMsIEJvb2wsIGJv
b2wsIGZhbHNlKSBcCisgICAgbWFjcm8oU2hvdWxkRGlzcGxheUNhcHRpb25zLCBzaG91bGREaXNw
bGF5Q2FwdGlvbnMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCisgICAgbWFjcm8oU2hvdWxkRGlzcGxh
eVRleHREZXNjcmlwdGlvbnMsIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zLCBCb29sLCBi
b29sLCBmYWxzZSkgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfRE9VQkxFX1BS
RUZFUkVOQ0UobWFjcm8pIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjcxLDMgKzY3MSwzMyBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRDYXJldEJyb3dzaW5nRW5hYmxl
CiB7CiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmNhcmV0QnJvd3NpbmdFbmFi
bGVkKCk7CiB9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoZW5hYmxlZCk7
Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVu
Y2VzUmVmKS0+c2hvdWxkRGlzcGxheVN1YnRpdGxlcygpOworfQorCit2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFNob3Vs
ZERpc3BsYXlDYXB0aW9ucyhlbmFibGVkKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hv
dWxkRGlzcGxheUNhcHRpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7Cisg
ICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZERpc3BsYXlDYXB0aW9ucygp
OworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9u
cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCit7CisgICAg
dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMo
ZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJu
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKCk7
Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MSw2ICsxODEsMTggQEAgV0tf
RVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEJhY2tzcGFjZQogV0tfRVhQT1JUIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldENhcmV0QnJvd3NpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
Q2FyZXRCcm93c2luZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAK
Ky8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hv
dWxkRGlzcGxheVN1YnRpdGxlcyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29s
IGVuYWJsZWQpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlT
dWJ0aXRsZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRz
IHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkRGlzcGxheUNh
cHRpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MTMsNiArMTgxMywxMiBAQCB2
b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlCiAgICAgc2V0dGluZ3MtPnNl
dEJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRLZXkoKSkpOwog
ICAgIHNldHRpbmdzLT5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhcmV0QnJvd3NpbmdFbmFibGVkS2V5KCkpKTsKIAor
I2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVN1
YnRpdGxlcyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnNob3Vs
ZERpc3BsYXlTdWJ0aXRsZXNLZXkoKSkpOworICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5
Q2FwdGlvbnMoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91
bGREaXNwbGF5Q2FwdGlvbnNLZXkoKSkpOworICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5
VGV4dERlc2NyaXB0aW9ucyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OnNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zS2V5KCkpKTsKKyNlbmRpZgorCiAgICAg
cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE4NzkpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTEyLTAz
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBX
ZWJLaXQgcHJlZmVyZW5jZXMgZm9yIHRleHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzaG91bGREaXNwbGF5U3VidGl0
bGVzKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2hvdWxkRGlz
cGxheUNhcHRpb25zKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6
c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKiBzcmMvV2Vi
U2V0dGluZ3NJbXBsLmg6CisKIDIwMTEtMTItMDIgIEthcmwgS29zY2hlciAgPHN1cGVyc2F0QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIGFkZCBzZXRPcGVuZXIgbWV0aG9kIHRv
IFdlYkZyYW1lCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRp
bmdzSW1wbC5jcHAJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2NSw0ICs0NjUsMzIg
QEAgdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFZpc3VhbFdvcmRNb3ZlbQogICAgIG1fc2V0dGlu
Z3MtPnNldFZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKK3ZvaWQgV2Vi
U2V0dGluZ3NJbXBsOjpzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGJvb2wgZW5hYmxlZCkKK3sK
KyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgbV9zZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxh
eVN1YnRpdGxlcyhlbmFibGVkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwor
I2VuZGlmCit9CisKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRTaG91bGREaXNwbGF5Q2FwdGlv
bnMoYm9vbCBlbmFibGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBtX3NldHRp
bmdzLT5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMoZW5hYmxlZCk7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0
U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoYm9vbCBlbmFibGVkKQoreworI2lmIEVOQUJM
RShWSURFT19UUkFDSykKKyAgICBtX3NldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9ucyhlbmFibGVkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOworI2Vu
ZGlmCit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkocmV2aXNpb24gMTAxNzg4KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyNCw2ICsxMjQsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZVNj
cm9sbEFuaW1hdG9yKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIaXhpZTc2V2ViU29ja2V0
UHJvdG9jb2xFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXN1YWxXb3JkTW92
ZW1lbnRFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGREaXNwbGF5U3Vi
dGl0bGVzKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMo
Ym9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
KGJvb2wpOwogCiBwcml2YXRlOgogICAgIFdlYkNvcmU6OlNldHRpbmdzKiBtX3NldHRpbmdzOwpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTAxODc5KQorKysgU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTItMDMg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFdl
YktpdCBwcmVmZXJlbmNlcyBmb3IgdGV4dCB0cmFjayBzZXR0aW5ncworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MjEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmg6IEFkZGVkICNkZWZpbmUgZm9yIHNob3VsZERpc3BsYXlTdWJ0aXRsZXMsIHNo
b3VsZERpc3BsYXlDYXB0aW9ucywgCisgICAgICAgIGFuZCBzaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9ucyBwcm9wZXJ0aWVzLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOiBJbml0aWFsaXplIG5l
dyBwcmVmZXJlbmNlcyB0byBOTy4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0U2hvdWxk
RGlzcGxheVN1YnRpdGxlczpdKTogQWRkZWQuCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNo
b3VsZERpc3BsYXlTdWJ0aXRsZXNdKTogRGl0dG8uCisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IHNldFNob3VsZERpc3BsYXlDYXB0aW9uczpdKTogRGl0dG8uCisgICAgICAgICgtW1dlYlByZWZl
cmVuY2VzIHNob3VsZERpc3BsYXlDYXB0aW9uc10pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnM6XSk6IERpdHRvLgorICAg
ICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc10pOiBE
aXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNl
c0NoYW5nZWQ6XSk6CisgICAgICAgIFVwZGF0ZXMgV2ViQ29yZSBzZXR0aW5ncyBmcm9tIFdlYktp
dCBwcmVmcy4KKwogMjAxMS0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA0MjM2Mjc+IExheWVycyBhcmUgZmxp
cHBlZCBpbiBXZWJLaXQxIHZpZXdzCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDEwMTc4OCkKKysr
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsOSBAQAogI2RlZmluZSBXZWJLaXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZVByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNr
UmVxdWlyZXNVc2VyR2VzdHVyZSIKICNkZWZpbmUgV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lu
bGluZVByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lIgogI2Rl
ZmluZSBXZWJLaXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TW9j
a1Njcm9sbGJhcnNFbmFibGVkIgorI2RlZmluZSBXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVz
UHJlZmVyZW5jZUtleSBAIldlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXMiCisjZGVmaW5lIFdl
YktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRTaG91bGREaXNw
bGF5Q2FwdGlvbnMiCisjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
UHJlZmVyZW5jZUtleSBAIldlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zIgogCiAv
LyBUaGVzZSBhcmUgcHJpdmF0ZSBib3RoIGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUgdXNpbmcg
dGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJlY2F1c2UgdGhlCiAvLyBjb3ZlciBtZXRob2RzIHRoZW1z
ZWx2ZXMgYXJlIHByaXZhdGUuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4Nyw2ICszODcsOSBA
QCArICh2b2lkKWluaXRpYWxpemUKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgICBXZWJLaXRXZWJBdWRpb0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFN1cHByZXNzSW5jcmVtZW50YWxSZW5kZXJp
bmdLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QmFj
a3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpOT10sICAgV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VLZXks
CisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U2hvdWxkRGlz
cGxheUNhcHRpb25zUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhC
b29sOk5PXSwgICBXZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVuY2VL
ZXksCiAKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZTo6bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZVRvdGFsUXVvdGEs
CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoTG9uZ0xvbmc6QXBwbGljYXRpb25DYWNoZVN0
b3JhZ2U6Om5vUXVvdGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVv
dGEsCkBAIC0xNTc0LDYgKzE1NzcsMzYgQEAgLSAoQk9PTCliYWNrc3BhY2VLZXlOYXZpZ2F0aW9u
RW5hYmxlZAogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEJhY2tzcGFj
ZUtleU5hdmlnYXRpb25FbmFibGVkS2V5XTsKIH0KIAorLSAodm9pZClzZXRTaG91bGREaXNwbGF5
U3VidGl0bGVzOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9y
S2V5OldlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVmZXJlbmNlS2V5XTsKK30KKworLSAo
Qk9PTClzaG91bGREaXNwbGF5U3VidGl0bGVzCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFs
dWVGb3JLZXk6V2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VLZXldOworfQor
CistICh2b2lkKXNldFNob3VsZERpc3BsYXlDYXB0aW9uczooQk9PTClmbGFnCit7CisgICAgW3Nl
bGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQ
cmVmZXJlbmNlS2V5XTsKK30KKworLSAoQk9PTClzaG91bGREaXNwbGF5Q2FwdGlvbnMKK3sKKyAg
ICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlv
bnNQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRTaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9uczooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktl
eTpXZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVuY2VLZXldOworfQor
CistIChCT09MKXNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zCit7CisgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQ
cmVmZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5j
ZXMgKFdlYkludGVybmFsKQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNzEsNCArMjcxLDEzIEBAIEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUp
CiAtICh2b2lkKXNldEJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkOihCT09MKWZsYWc7CiAt
IChCT09MKWJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkOwogCistICh2b2lkKXNldFNob3Vs
ZERpc3BsYXlTdWJ0aXRsZXM6KEJPT0wpZmxhZzsKKy0gKEJPT0wpc2hvdWxkRGlzcGxheVN1YnRp
dGxlczsKKworLSAodm9pZClzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnM6KEJPT0wpZmxhZzsKKy0g
KEJPT0wpc2hvdWxkRGlzcGxheUNhcHRpb25zOworCistICh2b2lkKXNldFNob3VsZERpc3BsYXlU
ZXh0RGVzY3JpcHRpb25zOihCT09MKWZsYWc7CistIChCT09MKXNob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zOworCiBAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTE0OTYsNiArMTQ5NiwxMiBAQCAtICh2b2lkKV9wcmVmZXJl
bmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0dGluZ3MtPnNldFN1cHByZXNzSW5jcmVt
ZW50YWxSZW5kZXJpbmcoW3ByZWZlcmVuY2VzIHN1cHByZXNzSW5jcmVtZW50YWxSZW5kZXJpbmdd
KTsKICAgICBzZXR0aW5ncy0+c2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQoW3ByZWZl
cmVuY2VzIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkXSk7CiAKKyNpZiBFTkFCTEUoVklE
RU9fVFJBQ0spCisgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoW3ByZWZl
cmVuY2VzIHNob3VsZERpc3BsYXlTdWJ0aXRsZXNdKTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxk
RGlzcGxheUNhcHRpb25zKFtwcmVmZXJlbmNlcyBzaG91bGREaXNwbGF5Q2FwdGlvbnNdKTsKKyAg
ICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoW3ByZWZlcmVuY2Vz
IHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zXSk7CisjZW5kaWYKKwogICAgIC8vIEFwcGxp
Y2F0aW9uIENhY2hlIFByZWZlcmVuY2VzIGFyZSBzdG9yZWQgb24gdGhlIGdsb2JhbCBjYWNoZSBz
dG9yYWdlIG1hbmFnZXIsIG5vdCBpbiBTZXR0aW5ncy4KICAgICBbV2ViQXBwbGljYXRpb25DYWNo
ZSBzZXREZWZhdWx0T3JpZ2luUXVvdGE6W3ByZWZlcmVuY2VzIGFwcGxpY2F0aW9uQ2FjaGVEZWZh
dWx0T3JpZ2luUXVvdGFdXTsKIAo=
</data>
<flag name="review"
          id="117304"
          type_id="1"
          status="+"
          setter="sullivan"
    />
    <flag name="commit-queue"
          id="117306"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117815</attachid>
            <date>2011-12-04 16:17:54 -0800</date>
            <delta_ts>2011-12-04 18:19:25 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>patch_preferences_4.txt</filename>
            <type>text/plain</type>
            <size>25004</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTA0ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFdlYkNvcmUgcGFydCBv
ZjogQWRkIFdlYktpdCBwcmVmZXJlbmNlcyBmb3IgdGV4dCB0cmFjayBzZXR0aW5ncworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MjEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgeWV0
LCBzdGlsbCBub3RoaW5nIHRvIHRlc3QuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKTog
TW92ZSB0aGUgc2V0dGVycyB0byB0aGUgLmNwcCBmaWxlIHNvIHRoZXkKKyAgICAgICAgICAgIGFy
ZW4ndCBpbmxpbmVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNob3VsZERpc3Bs
YXlDYXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgorCiAyMDExLTEyLTAyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTAxNzMxLgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDEwMTg5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzYsNCArODM2LDIxIEBA
IGJvb2wgU2V0dGluZ3M6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpCiAgICAgcmV0dXJuIGdNb2Nr
U2Nyb2xsYmFyc0VuYWJsZWQ7CiB9CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCit2b2lkIFNl
dHRpbmdzOjpzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGJvb2wgZmxhZykKK3sKKyAgICBtX3No
b3VsZERpc3BsYXlTdWJ0aXRsZXMgPSBmbGFnOworfQorCit2b2lkIFNldHRpbmdzOjpzZXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMoYm9vbCBmbGFnKQoreworICAgIG1fc2hvdWxkRGlzcGxheUNhcHRp
b25zID0gZmxhZzsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnMoYm9vbCBmbGFnKQoreworICAgIG1fc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMgPSBmbGFnOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNDg3LDEzICs0ODcsMTMgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX3Zpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQ7IH0KIAogI2lmIEVOQUJM
RShWSURFT19UUkFDSykKLSAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGJv
b2wgZmxhZykgeyBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXMgPSBmbGFnOyB9CisgICAgICAgIHZv
aWQgc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRE
aXNwbGF5U3VidGl0bGVzKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGREaXNwbGF5U3VidGl0bGVz
OyB9CiAKLSAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMoYm9vbCBmbGFnKSB7
IG1fc2hvdWxkRGlzcGxheUNhcHRpb25zID0gZmxhZzsgfQorICAgICAgICB2b2lkIHNldFNob3Vs
ZERpc3BsYXlDYXB0aW9ucyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGREaXNwbGF5Q2FwdGlv
bnMoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZERpc3BsYXlDYXB0aW9uczsgfQogCi0gICAgICAg
IHZvaWQgc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoYm9vbCBmbGFnKSB7IG1fc2hv
dWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMgPSBmbGFnOyB9CisgICAgICAgIHZvaWQgc2V0U2hv
dWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkRGlz
cGxheVRleHREZXNjcmlwdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zOyB9CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTAxODc5
KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTEtMTItMDQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViS2l0MiBwYXJ0IG9mOiBBZGQgV2ViS2l0IHByZWZlcmVuY2VzIGZvciB0
ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDogRGVjbGFyZWQgc2hvdWxk
RGlzcGxheVN1YnRpdGxlcywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCBhbmQKKyAgICAgICAgc2hv
dWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMgcHJvcGVydGllcyB3aXRoIG1hY3Jvcy4gQWxsIGRl
ZmF1bHQgdG8gZmFsc2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6
IEFkZGVkLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMp
OiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlU
ZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOiBVcGRhdGVzIFdl
YkNvcmUgc2V0dGluZ3MgZnJvbSBXZWJLaXQyIHByZWZzLgorCiAyMDExLTEyLTAyICBGYWR5IFNh
bXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdoZW4gcGFnZSBzY2FsaW5n
IGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0IHJlc3VsdHMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkocmV2aXNpb24gMTAx
Nzg4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTgsNiArOTgsOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICBtYWNy
byhTdXBwcmVzc0luY3JlbWVudGFsUmVuZGVyaW5nLCBzdXBwcmVzc0luY3JlbWVudGFsUmVuZGVy
aW5nLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEJhY2tzcGFjZUtleU5hdmlnYXRp
b25FbmFibGVkLCBiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSkgXAogICAgIG1hY3JvKENhcmV0QnJvd3NpbmdFbmFibGVkLCBjYXJldEJyb3dzaW5nRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhTaG91bGREaXNwbGF5U3VidGl0bGVz
LCBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3Jv
KFNob3VsZERpc3BsYXlDYXB0aW9ucywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCBCb29sLCBib29s
LCBmYWxzZSkgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zLCBzaG91
bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBcCiAK
ICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3MSwzICs2NzEsMzMgQEAgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0Q2FyZXRCcm93c2luZ0VuYWJsZQogewogICAgIHJldHVybiB0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5jYXJldEJyb3dzaW5nRW5hYmxlZCgpOwogfQorCit2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5z
ZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGVuYWJsZWQpOworfQorCitib29sIFdLUHJlZmVyZW5j
ZXNHZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZERpc3BsYXlT
dWJ0aXRsZXMoKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkRGlzcGxheUNhcHRp
b25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMoZW5hYmxl
ZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zaG91bGREaXNwbGF5Q2FwdGlvbnMoKTsKK30KKwordm9pZCBXS1ByZWZlcmVu
Y2VzU2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKGVuYWJsZWQpOworfQorCitib29sIFdL
UHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucygpOworfQpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAxMDE3ODgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODEsNiArMTgxLDE4IEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRCYWNrc3BhY2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRDYXJldEJyb3dz
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQp
OwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENhcmV0QnJvd3NpbmdFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCisvLyBEZWZhdWx0cyB0byBmYWxzZQor
V0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKK1dLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dl
dFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMTAxNzg4
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODEzLDYgKzE4MTMsMTIgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyhjb25zdCBXZQogICAgIHNldHRpbmdzLT5zZXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9u
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmJhY2tz
cGFjZUtleU5hdmlnYXRpb25FbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Q2FyZXRC
cm93c2luZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpjYXJldEJyb3dzaW5nRW5hYmxlZEtleSgpKSk7CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0sp
CisgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5U3VidGl0bGVzS2V5KCkp
KTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2hvdWxkRGlzcGxheUNhcHRpb25zS2V5KCkp
KTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5VGV4dERl
c2NyaXB0aW9uc0tleSgpKSk7CisjZW5kaWYKKwogICAgIHBsYXRmb3JtUHJlZmVyZW5jZXNEaWRD
aGFuZ2Uoc3RvcmUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNp
b24gMTAxODc5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0wNCAgRXJpYyBDYXJsc29uICA8ZXJpYy5j
YXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQvY2hyb21pdW0gcGFydCBvZjogQWRk
IFdlYktpdCBwcmVmZXJlbmNlcyBmb3IgdGV4dCB0cmFjayBzZXR0aW5ncworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3VsZERpc3BsYXlTdWJ0
aXRsZXMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzaG91bGRE
aXNwbGF5Q2FwdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBs
OjpzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyk6IERpdHRvLgorICAgICAgICAqIHNyYy9X
ZWJTZXR0aW5nc0ltcGwuaDoKKwogMjAxMS0xMi0wMiAgS2FybCBLb3NjaGVyICA8c3VwZXJzYXRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gYWRkIHNldE9wZW5lciBtZXRob2Qg
dG8gV2ViRnJhbWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdz
SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmNwcAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDY1LDQgKzQ2NSwz
MiBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0VmlzdWFsV29yZE1vdmVtCiAgICAgbV9zZXR0
aW5ncy0+c2V0VmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZChlbmFibGVkKTsKIH0KIAordm9pZCBX
ZWJTZXR0aW5nc0ltcGw6OnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoYm9vbCBlbmFibGVkKQor
eworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBtX3NldHRpbmdzLT5zZXRTaG91bGREaXNw
bGF5U3VidGl0bGVzKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7
CisjZW5kaWYKK30KKwordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFNob3VsZERpc3BsYXlDYXB0
aW9ucyhib29sIGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorICAgIG1fc2V0
dGluZ3MtPnNldFNob3VsZERpc3BsYXlDYXB0aW9ucyhlbmFibGVkKTsKKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKGVuYWJsZWQpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpz
ZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhib29sIGVuYWJsZWQpCit7CisjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKQorICAgIG1fc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Cisj
ZW5kaWYKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCShyZXZpc2lvbiAxMDE3ODgpCisrKyBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5
KQpAQCAtMTI0LDYgKzEyNCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxl
U2Nyb2xsQW5pbWF0b3IoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbEVuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc3VhbFdvcmRN
b3ZlbWVudEVuYWJsZWQoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZERpc3BsYXlT
dWJ0aXRsZXMoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZERpc3BsYXlDYXB0aW9u
cyhib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMoYm9vbCk7CiAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE4NzkpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAxMS0xMi0w
NCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
V2ViS2l0IHByZWZlcmVuY2VzIGZvciB0ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaDogQWRkZWQgI2RlZmluZSBmb3Igc2hvdWxkRGlzcGxheVN1YnRpdGxlcywg
c2hvdWxkRGlzcGxheUNhcHRpb25zLCAKKyAgICAgICAgYW5kIHNob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6IEluaXRpYWxpemUg
bmV3IHByZWZlcmVuY2VzIHRvIE5PLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRTaG91
bGREaXNwbGF5U3VidGl0bGVzOl0pOiBBZGRlZC4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMg
c2hvdWxkRGlzcGxheVN1YnRpdGxlc10pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgc2hvdWxkRGlzcGxheUNhcHRpb25zXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQ
cmVmZXJlbmNlcyBzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uczpdKTogRGl0dG8uCisg
ICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zXSk6
IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVu
Y2VzQ2hhbmdlZDpdKTogVXBkYXRlcyBXZWJDb3JlIHNldHRpbmdzIGZyb20gV2ViS2l0IHByZWZz
LgorCiAyMDExLTEyLTAyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDQyMzYyNz4gTGF5ZXJzIGFyZSBmbGlwcGVkIGlu
IFdlYktpdDEgdmlld3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTExLDYgKzExMSw5IEBACiAjZGVmaW5lIFdlYktpdE1lZGlhUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tSZXF1aXJl
c1VzZXJHZXN0dXJlIgogI2RlZmluZSBXZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lUHJl
ZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUiCiAjZGVmaW5lIFdl
YktpdE1vY2tTY3JvbGxiYXJzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNb2NrU2Nyb2xs
YmFyc0VuYWJsZWQiCisjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyIKKyNkZWZpbmUgV2ViS2l0U2hv
dWxkRGlzcGxheUNhcHRpb25zUHJlZmVyZW5jZUtleSBAIldlYktpdFNob3VsZERpc3BsYXlDYXB0
aW9ucyIKKyNkZWZpbmUgV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMiCiAKIC8vIFRoZXNl
IGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292
ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMgdGhlbXNlbHZlcyBh
cmUgcHJpdmF0ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzg3LDYgKzM4Nyw5IEBAICsgKHZv
aWQpaW5pdGlhbGl6ZQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdl
YktpdFdlYkF1ZGlvRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRCYWNrc3BhY2VL
ZXlOYXZpZ2F0aW9uRW5hYmxlZEtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
Ok5PXSwgICBXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleSwKKyAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTaG91bGREaXNwbGF5Q2Fw
dGlvbnNQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgIFdlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zUHJlZmVyZW5jZUtleSwKIAog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90YSwKICAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6
bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YSwKQEAg
LTE1NzQsNiArMTU3NywzNiBAQCAtIChCT09MKWJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVk
CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0QmFja3NwYWNlS2V5TmF2
aWdhdGlvbkVuYWJsZWRLZXldOwogfQogCistICh2b2lkKXNldFNob3VsZERpc3BsYXlTdWJ0aXRs
ZXM6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VLZXldOworfQorCistIChCT09MKXNo
b3VsZERpc3BsYXlTdWJ0aXRsZXMKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTpXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZv
aWQpc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0
Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZlcmVu
Y2VLZXldOworfQorCistIChCT09MKXNob3VsZERpc3BsYXlDYXB0aW9ucworeworICAgIHJldHVy
biBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZl
cmVuY2VLZXldOworfQorCistICh2b2lkKXNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
OihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKEJP
T0wpc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jv
b2xWYWx1ZUZvcktleTpXZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVu
Y2VLZXldOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2Vi
SW50ZXJuYWwpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3MSw0
ICsyNzEsMTMgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKHZv
aWQpc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wp
YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxh
eVN1YnRpdGxlczooQk9PTClmbGFnOworLSAoQk9PTClzaG91bGREaXNwbGF5U3VidGl0bGVzOwor
CistICh2b2lkKXNldFNob3VsZERpc3BsYXlDYXB0aW9uczooQk9PTClmbGFnOworLSAoQk9PTClz
aG91bGREaXNwbGF5Q2FwdGlvbnM7CisKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnM6KEJPT0wpZmxhZzsKKy0gKEJPT0wpc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnM7CisKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlz
aW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTQ5Niw2ICsxNDk2LDEyIEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hh
bmdlZDooV2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy0+c2V0U3VwcHJlc3NJbmNyZW1lbnRhbFJl
bmRlcmluZyhbcHJlZmVyZW5jZXMgc3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZ10pOwogICAg
IHNldHRpbmdzLT5zZXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMg
YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShWSURFT19UUkFD
SykKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhbcHJlZmVyZW5jZXMg
c2hvdWxkRGlzcGxheVN1YnRpdGxlc10pOworICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5
Q2FwdGlvbnMoW3ByZWZlcmVuY2VzIHNob3VsZERpc3BsYXlDYXB0aW9uc10pOworICAgIHNldHRp
bmdzLT5zZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhbcHJlZmVyZW5jZXMgc2hvdWxk
RGlzcGxheVRleHREZXNjcmlwdGlvbnNdKTsKKyNlbmRpZgorCiAgICAgLy8gQXBwbGljYXRpb24g
Q2FjaGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2Ug
bWFuYWdlciwgbm90IGluIFNldHRpbmdzLgogICAgIFtXZWJBcHBsaWNhdGlvbkNhY2hlIHNldERl
ZmF1bHRPcmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmln
aW5RdW90YV1dOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE3ODgpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBA
QAorMjAxMS0xMi0wNCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWJLaXQvbWFjIHBhcnQgb2Y6IEFkZCBXZWJLaXQgcHJlZmVyZW5jZXMgZm9yIHRl
eHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGw6IERlY2xhcmUgZ2V0dGVy
cyBhbmQgc2V0dGVycyBmb3IgbmV3IHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDogQWRkZWQgI2RlZmluZSBmb3Igc2hvdWxkRGlzcGxheVN1YnRpdGxl
cywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCAKKyAgICAgICAgYW5kIHNob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6IEFk
ZGVkLgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNob3VsZERpc3BsYXlTdWJ0aXRsZXMpOiBE
aXR0by4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRTaG91bGREaXNwbGF5VGV4dERl
c2NyaXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNob3VsZERpc3Bs
YXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDog
RGVjbGFyZSBuZXcgbWV0aG9kcy4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKTogVXBkYXRlcyBXZWJDb3JlIHNldHRp
bmdzIGZyb20gV2ViS2l0IHByZWZzLgorCiAyMDExLTExLTMwICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBhbiB1bm5lZWRlZCBhcmd1bWVudCBm
cm9tIEZyYW1lTG9hZGVyQ2xpZW50Ojpkb3dubG9hZApJbmRleDogU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJj
ZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC03MCw2ICs3MCw5IEBACiAjZGVmaW5lIFdlYktpdExvY2FsU3RvcmFnZURhdGFiYXNlUGF0aFBy
ZWZlcmVuY2VLZXkgIldlYktpdExvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCIKICNkZWZpbmUgV2Vi
S2l0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0SHlwZXJsaW5r
QXVkaXRpbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBdWRpb0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRXZWJBdWRpb0VuYWJsZWQiCisjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlT
dWJ0aXRsZXNQcmVmZXJlbmNlS2V5ICJXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzIgorI2Rl
ZmluZSBXZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJlbmNlS2V5ICJXZWJLaXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMiCisjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3Jp
cHRpb25zUHJlZmVyZW5jZUtleSAiV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMi
CiAKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1
c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMg
dGhlbXNlbHZlcyBhcmUgcHJpdmF0ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZl
cmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNl
cy5jcHAJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVu
Y2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI4LDYgKzIyOCw5IEBAIHZvaWQgV2ViUHJlZmVy
ZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2UKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZh
dWx0cywgQ0ZTVFIoV2ViS2l0U2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0UERGRGlzcGxheU1vZGVQcmVmZXJlbmNlS2V5KSwgQ0ZTVFIoIjEiKSk7
CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBERlNjYWxl
RmFjdG9yUHJlZmVyZW5jZUtleSksIENGU1RSKCIwIikpOworICAgIENGRGljdGlvbmFyeUFkZFZh
bHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5j
ZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZlcmVuY2VLZXkpLCBrQ0ZC
b29sZWFuRmFsc2UpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihX
ZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29s
ZWFuRmFsc2UpOwogCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsaW5rQmVoYXZpb3JTdHJp
bmdSZWYoQWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRoRm9ybWF0KDAsIDAsIENGU1RSKCIlZCIp
LCBXZWJLaXRFZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IpKTsKICAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RWRpdGFibGVMaW5rQmVoYXZpb3JQcmVmZXJl
bmNlS2V5KSwgbGlua0JlaGF2aW9yU3RyaW5nUmVmLmdldCgpKTsKQEAgLTE2NDksMyArMTY1Miw3
MiBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpkaWRSZW1vdmVGcm9tV2ViVmllCiAgICAgICAgIG5j
LT5wb3N0Tm90aWZpY2F0aW9uTmFtZSh3ZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb24o
KSwgc3RhdGljX2Nhc3Q8SVdlYlByZWZlcmVuY2VzKj4odGhpcyksIDApOwogICAgIH0KIH0KKwor
SFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2hvdWxkRGlzcGxheVN1YnRpdGxlcyhCT09MKiBlbmFi
bGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBpZiAoIWVuYWJsZWQpCisgICAg
ICAgIHJldHVybiBFX1BPSU5URVI7CisKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShD
RlNUUihXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleSkpOworICAgIHJl
dHVybiBTX09LOworI2Vsc2UKKyAgICByZXR1cm4gRV9OT1RJTVBMOworI2VuZGlmCit9CisKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoQk9PTCBlbmFi
bGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBzZXRCb29sVmFsdWUoQ0ZTVFIo
V2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VLZXkpLCBlbmFibGVkKTsKKyAg
ICByZXR1cm4gU19PSzsKKyNlbHNlCisgICAgcmV0dXJuIEVfTk9USU1QTDsKKyNlbmRpZgorfQor
CitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzaG91bGREaXNwbGF5Q2FwdGlvbnMoQk9PTCogZW5h
YmxlZCkKK3sKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgaWYgKCFlbmFibGVkKQorICAg
ICAgICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXko
Q0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheUNhcHRpb25zUHJlZmVyZW5jZUtleSkpOworICAgIHJl
dHVybiBTX09LOworI2Vsc2UKKyAgICByZXR1cm4gRV9OT1RJTVBMOworI2VuZGlmCit9CisKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFNob3VsZERpc3BsYXlDYXB0aW9ucyhCT09MIGVuYWJs
ZWQpCit7CisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorICAgIHNldEJvb2xWYWx1ZShDRlNUUihX
ZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7CisgICAg
cmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJldHVybiBFX05PVElNUEw7CisjZW5kaWYKK30KKwor
SFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoQk9P
TCogZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgaWYgKCFlbmFibGVk
KQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNl
S2V5KSk7CisgICAgcmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJldHVybiBFX05PVElNUEw7Cisj
ZW5kaWYKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0U2hvdWxkRGlzcGxheVRleHRE
ZXNjcmlwdGlvbnMoQk9PTCBlbmFibGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAg
ICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQ
cmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJl
dHVybiBFX05PVElNUEw7CisjZW5kaWYKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5j
ZXMuaAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5j
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjk1LDYgKzI5NSwyNCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGF2Rm91bmRhdGlvbkVuYWJsZWQoCiAgICAg
LyogW3JldHZhbF1bb3V0XSAqLyBCT09MKik7CiAKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcygKKyAgICAvKiBbaW5dICovIEJP
T0wpOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNob3VsZERpc3Bs
YXlTdWJ0aXRsZXMoCisgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MKik7CisKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKAor
ICAgIC8qIFtpbl0gKi8gQk9PTCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgc2hvdWxkRGlzcGxheUNhcHRpb25zKAorICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9P
TCopOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFNob3VsZERp
c3BsYXlUZXh0RGVzY3JpcHRpb25zKAorICAgIC8qIFtpbl0gKi8gQk9PTCk7CisKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMoCisgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MKik7CisKICAgICAvLyBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldERl
dmVsb3BlckV4dHJhc0VuYWJsZWQoCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC93aW4v
V2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3MzcsNiArNDczNywyMyBAQCBIUkVTVUxU
IFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgc2V0dGluZ3MtPnNldEFWRm91
bmRhdGlvbkVuYWJsZWQoZW5hYmxlZCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFT19UUkFD
SykKKyAgICBociA9IHByZWZlcmVuY2VzLT5zaG91bGREaXNwbGF5U3VidGl0bGVzKCZlbmFibGVk
KTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdz
LT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGVuYWJsZWQpOworCisgICAgaHIgPSBwcmVmZXJl
bmNlcy0+c2hvdWxkRGlzcGxheUNhcHRpb25zKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhy
KSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5Q2Fw
dGlvbnMoZW5hYmxlZCk7CisKKyAgICBociA9IHByZWZlcmVuY2VzLT5zaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9ucygmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJl
dHVybiBocjsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMo
ZW5hYmxlZCk7CisjZW5kaWYKKwogICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlPiBw
cmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKICAgICBpZiAocHJlZnNQcml2YXRlKSB7
CiAgICAgICAgIGhyID0gcHJlZnNQcml2YXRlLT5hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCgm
ZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJl
bmNlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXMuaWRsCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9J
bnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw0ICsy
MDUsMTMgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlcyA6IElVbmtub3duCiAKICAgICBIUkVT
VUxUIHBpY3RvZ3JhcGhGb250RmFtaWx5KFtvdXQsIHJldHZhbF0gQlNUUiogZmFtaWx5KTsKICAg
ICBIUkVTVUxUIHNldFBpY3RvZ3JhcGhGb250RmFtaWx5KFtpbl0gQlNUUiBmYW1pbHkpOworCisg
ICAgSFJFU1VMVCBzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKEJPT0wgc2hvdWxkRGlzcGxheVN1
YnRpdGxlcyk7CisgICAgSFJFU1VMVCBTaG91bGREaXNwbGF5U3VidGl0bGVzKEJPT0wgKnNob3Vs
ZERpc3BsYXlTdWJ0aXRsZXMpOworCisgICAgSFJFU1VMVCBzZXRTaG91bGREaXNwbGF5Q2FwdGlv
bnMoQk9PTCBzaG91bGREaXNwbGF5Q2FwdGlvbnMpOworICAgIEhSRVNVTFQgc2hvdWxkRGlzcGxh
eUNhcHRpb25zKEJPT0wgKnNob3VsZERpc3BsYXlDYXB0aW9ucyk7CisKKyAgICBIUkVTVUxUIHNl
dFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKEJPT0wgc2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnMpOworICAgIEhSRVNVTFQgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoQk9P
TCAqc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117818</attachid>
            <date>2011-12-04 18:19:25 -0800</date>
            <delta_ts>2011-12-05 00:42:45 -0800</delta_ts>
            <desc>Yet another patch.</desc>
            <filename>patch_preferences_5.txt</filename>
            <type>text/plain</type>
            <size>25004</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTA0ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFdlYkNvcmUgcGFydCBv
ZjogQWRkIFdlYktpdCBwcmVmZXJlbmNlcyBmb3IgdGV4dCB0cmFjayBzZXR0aW5ncworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MjEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgeWV0
LCBzdGlsbCBub3RoaW5nIHRvIHRlc3QuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKTog
TW92ZSB0aGUgc2V0dGVycyB0byB0aGUgLmNwcCBmaWxlIHNvIHRoZXkKKyAgICAgICAgICAgIGFy
ZW4ndCBpbmxpbmVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNob3VsZERpc3Bs
YXlDYXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgorCiAyMDExLTEyLTAyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTAxNzMxLgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDEwMTg5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzYsNCArODM2LDIxIEBA
IGJvb2wgU2V0dGluZ3M6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpCiAgICAgcmV0dXJuIGdNb2Nr
U2Nyb2xsYmFyc0VuYWJsZWQ7CiB9CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCit2b2lkIFNl
dHRpbmdzOjpzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGJvb2wgZmxhZykKK3sKKyAgICBtX3No
b3VsZERpc3BsYXlTdWJ0aXRsZXMgPSBmbGFnOworfQorCit2b2lkIFNldHRpbmdzOjpzZXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMoYm9vbCBmbGFnKQoreworICAgIG1fc2hvdWxkRGlzcGxheUNhcHRp
b25zID0gZmxhZzsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnMoYm9vbCBmbGFnKQoreworICAgIG1fc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMgPSBmbGFnOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNDg3LDEzICs0ODcsMTMgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX3Zpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQ7IH0KIAogI2lmIEVOQUJM
RShWSURFT19UUkFDSykKLSAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGJv
b2wgZmxhZykgeyBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXMgPSBmbGFnOyB9CisgICAgICAgIHZv
aWQgc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRE
aXNwbGF5U3VidGl0bGVzKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGREaXNwbGF5U3VidGl0bGVz
OyB9CiAKLSAgICAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMoYm9vbCBmbGFnKSB7
IG1fc2hvdWxkRGlzcGxheUNhcHRpb25zID0gZmxhZzsgfQorICAgICAgICB2b2lkIHNldFNob3Vs
ZERpc3BsYXlDYXB0aW9ucyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGREaXNwbGF5Q2FwdGlv
bnMoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZERpc3BsYXlDYXB0aW9uczsgfQogCi0gICAgICAg
IHZvaWQgc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoYm9vbCBmbGFnKSB7IG1fc2hv
dWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMgPSBmbGFnOyB9CisgICAgICAgIHZvaWQgc2V0U2hv
dWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkRGlz
cGxheVRleHREZXNjcmlwdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zOyB9CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTAxODc5
KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTEtMTItMDQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViS2l0MiBwYXJ0IG9mOiBBZGQgV2ViS2l0IHByZWZlcmVuY2VzIGZvciB0
ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDogRGVjbGFyZWQgc2hvdWxk
RGlzcGxheVN1YnRpdGxlcywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCBhbmQKKyAgICAgICAgc2hv
dWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMgcHJvcGVydGllcyB3aXRoIG1hY3Jvcy4gQWxsIGRl
ZmF1bHQgdG8gZmFsc2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6
IEFkZGVkLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMp
OiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlU
ZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOiBVcGRhdGVzIFdl
YkNvcmUgc2V0dGluZ3MgZnJvbSBXZWJLaXQyIHByZWZzLgorCiAyMDExLTEyLTAyICBGYWR5IFNh
bXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdoZW4gcGFnZSBzY2FsaW5n
IGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0IHJlc3VsdHMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkocmV2aXNpb24gMTAx
Nzg4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTgsNiArOTgsOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICBtYWNy
byhTdXBwcmVzc0luY3JlbWVudGFsUmVuZGVyaW5nLCBzdXBwcmVzc0luY3JlbWVudGFsUmVuZGVy
aW5nLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEJhY2tzcGFjZUtleU5hdmlnYXRp
b25FbmFibGVkLCBiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSkgXAogICAgIG1hY3JvKENhcmV0QnJvd3NpbmdFbmFibGVkLCBjYXJldEJyb3dzaW5nRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhTaG91bGREaXNwbGF5U3VidGl0bGVz
LCBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3Jv
KFNob3VsZERpc3BsYXlDYXB0aW9ucywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCBCb29sLCBib29s
LCBmYWxzZSkgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zLCBzaG91
bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBcCiAK
ICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3MSwzICs2NzEsMzMgQEAgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0Q2FyZXRCcm93c2luZ0VuYWJsZQogewogICAgIHJldHVybiB0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5jYXJldEJyb3dzaW5nRW5hYmxlZCgpOwogfQorCit2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5z
ZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGVuYWJsZWQpOworfQorCitib29sIFdLUHJlZmVyZW5j
ZXNHZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZERpc3BsYXlT
dWJ0aXRsZXMoKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkRGlzcGxheUNhcHRp
b25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMoZW5hYmxl
ZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zaG91bGREaXNwbGF5Q2FwdGlvbnMoKTsKK30KKwordm9pZCBXS1ByZWZlcmVu
Y2VzU2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKGVuYWJsZWQpOworfQorCitib29sIFdL
UHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucygpOworfQpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAxMDE3ODgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODEsNiArMTgxLDE4IEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRCYWNrc3BhY2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRDYXJldEJyb3dz
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQp
OwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENhcmV0QnJvd3NpbmdFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCisvLyBEZWZhdWx0cyB0byBmYWxzZQor
V0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKK1dLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFNob3VsZERpc3BsYXlDYXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dl
dFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMTAxNzg4
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODEzLDYgKzE4MTMsMTIgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyhjb25zdCBXZQogICAgIHNldHRpbmdzLT5zZXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9u
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmJhY2tz
cGFjZUtleU5hdmlnYXRpb25FbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Q2FyZXRC
cm93c2luZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpjYXJldEJyb3dzaW5nRW5hYmxlZEtleSgpKSk7CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0sp
CisgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5U3VidGl0bGVzS2V5KCkp
KTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2hvdWxkRGlzcGxheUNhcHRpb25zS2V5KCkp
KTsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5VGV4dERl
c2NyaXB0aW9uc0tleSgpKSk7CisjZW5kaWYKKwogICAgIHBsYXRmb3JtUHJlZmVyZW5jZXNEaWRD
aGFuZ2Uoc3RvcmUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNp
b24gMTAxODc5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0wNCAgRXJpYyBDYXJsc29uICA8ZXJpYy5j
YXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQvY2hyb21pdW0gcGFydCBvZjogQWRk
IFdlYktpdCBwcmVmZXJlbmNlcyBmb3IgdGV4dCB0cmFjayBzZXR0aW5ncworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3VsZERpc3BsYXlTdWJ0
aXRsZXMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzaG91bGRE
aXNwbGF5Q2FwdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBs
OjpzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyk6IERpdHRvLgorICAgICAgICAqIHNyYy9X
ZWJTZXR0aW5nc0ltcGwuaDoKKwogMjAxMS0xMi0wMiAgS2FybCBLb3NjaGVyICA8c3VwZXJzYXRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gYWRkIHNldE9wZW5lciBtZXRob2Qg
dG8gV2ViRnJhbWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdz
SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmNwcAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDY1LDQgKzQ2NSwz
MiBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0VmlzdWFsV29yZE1vdmVtCiAgICAgbV9zZXR0
aW5ncy0+c2V0VmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZChlbmFibGVkKTsKIH0KIAordm9pZCBX
ZWJTZXR0aW5nc0ltcGw6OnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoYm9vbCBlbmFibGVkKQor
eworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBtX3NldHRpbmdzLT5zZXRTaG91bGREaXNw
bGF5U3VidGl0bGVzKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7
CisjZW5kaWYKK30KKwordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFNob3VsZERpc3BsYXlDYXB0
aW9ucyhib29sIGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorICAgIG1fc2V0
dGluZ3MtPnNldFNob3VsZERpc3BsYXlDYXB0aW9ucyhlbmFibGVkKTsKKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKGVuYWJsZWQpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpz
ZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhib29sIGVuYWJsZWQpCit7CisjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKQorICAgIG1fc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Cisj
ZW5kaWYKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCShyZXZpc2lvbiAxMDE3ODgpCisrKyBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5
KQpAQCAtMTI0LDYgKzEyNCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxl
U2Nyb2xsQW5pbWF0b3IoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbEVuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc3VhbFdvcmRN
b3ZlbWVudEVuYWJsZWQoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZERpc3BsYXlT
dWJ0aXRsZXMoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZERpc3BsYXlDYXB0aW9u
cyhib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMoYm9vbCk7CiAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE4NzkpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAxMS0xMi0w
NCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
V2ViS2l0IHByZWZlcmVuY2VzIGZvciB0ZXh0IHRyYWNrIHNldHRpbmdzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaDogQWRkZWQgI2RlZmluZSBmb3Igc2hvdWxkRGlzcGxheVN1YnRpdGxlcywg
c2hvdWxkRGlzcGxheUNhcHRpb25zLCAKKyAgICAgICAgYW5kIHNob3VsZERpc3BsYXlUZXh0RGVz
Y3JpcHRpb25zIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6IEluaXRpYWxpemUg
bmV3IHByZWZlcmVuY2VzIHRvIE5PLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRTaG91
bGREaXNwbGF5U3VidGl0bGVzOl0pOiBBZGRlZC4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMg
c2hvdWxkRGlzcGxheVN1YnRpdGxlc10pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgc2hvdWxkRGlzcGxheUNhcHRpb25zXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQ
cmVmZXJlbmNlcyBzZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uczpdKTogRGl0dG8uCisg
ICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zXSk6
IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVu
Y2VzQ2hhbmdlZDpdKTogVXBkYXRlcyBXZWJDb3JlIHNldHRpbmdzIGZyb20gV2ViS2l0IHByZWZz
LgorCiAyMDExLTEyLTAyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDQyMzYyNz4gTGF5ZXJzIGFyZSBmbGlwcGVkIGlu
IFdlYktpdDEgdmlld3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTExLDYgKzExMSw5IEBACiAjZGVmaW5lIFdlYktpdE1lZGlhUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tSZXF1aXJl
c1VzZXJHZXN0dXJlIgogI2RlZmluZSBXZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lUHJl
ZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUiCiAjZGVmaW5lIFdl
YktpdE1vY2tTY3JvbGxiYXJzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNb2NrU2Nyb2xs
YmFyc0VuYWJsZWQiCisjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyIKKyNkZWZpbmUgV2ViS2l0U2hv
dWxkRGlzcGxheUNhcHRpb25zUHJlZmVyZW5jZUtleSBAIldlYktpdFNob3VsZERpc3BsYXlDYXB0
aW9ucyIKKyNkZWZpbmUgV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMiCiAKIC8vIFRoZXNl
IGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292
ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMgdGhlbXNlbHZlcyBh
cmUgcHJpdmF0ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzg3LDYgKzM4Nyw5IEBAICsgKHZv
aWQpaW5pdGlhbGl6ZQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdl
YktpdFdlYkF1ZGlvRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRCYWNrc3BhY2VL
ZXlOYXZpZ2F0aW9uRW5hYmxlZEtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
Ok5PXSwgICBXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleSwKKyAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTaG91bGREaXNwbGF5Q2Fw
dGlvbnNQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgIFdlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zUHJlZmVyZW5jZUtleSwKIAog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90YSwKICAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6
bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YSwKQEAg
LTE1NzQsNiArMTU3NywzNiBAQCAtIChCT09MKWJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVk
CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0QmFja3NwYWNlS2V5TmF2
aWdhdGlvbkVuYWJsZWRLZXldOwogfQogCistICh2b2lkKXNldFNob3VsZERpc3BsYXlTdWJ0aXRs
ZXM6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VLZXldOworfQorCistIChCT09MKXNo
b3VsZERpc3BsYXlTdWJ0aXRsZXMKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTpXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZv
aWQpc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0
Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZlcmVu
Y2VLZXldOworfQorCistIChCT09MKXNob3VsZERpc3BsYXlDYXB0aW9ucworeworICAgIHJldHVy
biBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZl
cmVuY2VLZXldOworfQorCistICh2b2lkKXNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25z
OihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKEJP
T0wpc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jv
b2xWYWx1ZUZvcktleTpXZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVu
Y2VLZXldOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2Vi
SW50ZXJuYWwpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3MSw0
ICsyNzEsMTMgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKHZv
aWQpc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wp
YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxh
eVN1YnRpdGxlczooQk9PTClmbGFnOworLSAoQk9PTClzaG91bGREaXNwbGF5U3VidGl0bGVzOwor
CistICh2b2lkKXNldFNob3VsZERpc3BsYXlDYXB0aW9uczooQk9PTClmbGFnOworLSAoQk9PTClz
aG91bGREaXNwbGF5Q2FwdGlvbnM7CisKKy0gKHZvaWQpc2V0U2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnM6KEJPT0wpZmxhZzsKKy0gKEJPT0wpc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnM7CisKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlz
aW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTQ5Niw2ICsxNDk2LDEyIEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hh
bmdlZDooV2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy0+c2V0U3VwcHJlc3NJbmNyZW1lbnRhbFJl
bmRlcmluZyhbcHJlZmVyZW5jZXMgc3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZ10pOwogICAg
IHNldHRpbmdzLT5zZXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMg
YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShWSURFT19UUkFD
SykKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhbcHJlZmVyZW5jZXMg
c2hvdWxkRGlzcGxheVN1YnRpdGxlc10pOworICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5
Q2FwdGlvbnMoW3ByZWZlcmVuY2VzIHNob3VsZERpc3BsYXlDYXB0aW9uc10pOworICAgIHNldHRp
bmdzLT5zZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhbcHJlZmVyZW5jZXMgc2hvdWxk
RGlzcGxheVRleHREZXNjcmlwdGlvbnNdKTsKKyNlbmRpZgorCiAgICAgLy8gQXBwbGljYXRpb24g
Q2FjaGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2Ug
bWFuYWdlciwgbm90IGluIFNldHRpbmdzLgogICAgIFtXZWJBcHBsaWNhdGlvbkNhY2hlIHNldERl
ZmF1bHRPcmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmln
aW5RdW90YV1dOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE3ODgpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBA
QAorMjAxMS0xMi0wNCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWJLaXQvbWFjIHBhcnQgb2Y6IEFkZCBXZWJLaXQgcHJlZmVyZW5jZXMgZm9yIHRl
eHQgdHJhY2sgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTczNzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGw6IERlY2xhcmUgZ2V0dGVy
cyBhbmQgc2V0dGVycyBmb3IgbmV3IHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDogQWRkZWQgI2RlZmluZSBmb3Igc2hvdWxkRGlzcGxheVN1YnRpdGxl
cywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCAKKyAgICAgICAgYW5kIHNob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyk6IEFk
ZGVkLgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNob3VsZERpc3BsYXlTdWJ0aXRsZXMpOiBE
aXR0by4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzaG91bGREaXNwbGF5Q2FwdGlvbnMp
OiBEaXR0by4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRTaG91bGREaXNwbGF5VGV4dERl
c2NyaXB0aW9ucyk6IERpdHRvLgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNob3VsZERpc3Bs
YXlUZXh0RGVzY3JpcHRpb25zKTogRGl0dG8uCisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDog
RGVjbGFyZSBuZXcgbWV0aG9kcy4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKTogVXBkYXRlcyBXZWJDb3JlIHNldHRp
bmdzIGZyb20gV2ViS2l0IHByZWZzLgorCiAyMDExLTExLTMwICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBhbiB1bm5lZWRlZCBhcmd1bWVudCBm
cm9tIEZyYW1lTG9hZGVyQ2xpZW50Ojpkb3dubG9hZApJbmRleDogU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJj
ZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC03MCw2ICs3MCw5IEBACiAjZGVmaW5lIFdlYktpdExvY2FsU3RvcmFnZURhdGFiYXNlUGF0aFBy
ZWZlcmVuY2VLZXkgIldlYktpdExvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCIKICNkZWZpbmUgV2Vi
S2l0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0SHlwZXJsaW5r
QXVkaXRpbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBdWRpb0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRXZWJBdWRpb0VuYWJsZWQiCisjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlT
dWJ0aXRsZXNQcmVmZXJlbmNlS2V5ICJXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzIgorI2Rl
ZmluZSBXZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJlbmNlS2V5ICJXZWJLaXRTaG91
bGREaXNwbGF5Q2FwdGlvbnMiCisjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlUZXh0RGVzY3Jp
cHRpb25zUHJlZmVyZW5jZUtleSAiV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMi
CiAKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1
c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMg
dGhlbXNlbHZlcyBhcmUgcHJpdmF0ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZl
cmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNl
cy5jcHAJKHJldmlzaW9uIDEwMTc4OCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVu
Y2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI4LDYgKzIyOCw5IEBAIHZvaWQgV2ViUHJlZmVy
ZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2UKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZh
dWx0cywgQ0ZTVFIoV2ViS2l0U2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0UERGRGlzcGxheU1vZGVQcmVmZXJlbmNlS2V5KSwgQ0ZTVFIoIjEiKSk7
CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFBERlNjYWxl
RmFjdG9yUHJlZmVyZW5jZUtleSksIENGU1RSKCIwIikpOworICAgIENGRGljdGlvbmFyeUFkZFZh
bHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5j
ZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdFNob3VsZERpc3BsYXlDYXB0aW9uc1ByZWZlcmVuY2VLZXkpLCBrQ0ZC
b29sZWFuRmFsc2UpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihX
ZWJLaXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29s
ZWFuRmFsc2UpOwogCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsaW5rQmVoYXZpb3JTdHJp
bmdSZWYoQWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRoRm9ybWF0KDAsIDAsIENGU1RSKCIlZCIp
LCBXZWJLaXRFZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IpKTsKICAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RWRpdGFibGVMaW5rQmVoYXZpb3JQcmVmZXJl
bmNlS2V5KSwgbGlua0JlaGF2aW9yU3RyaW5nUmVmLmdldCgpKTsKQEAgLTE2NDksMyArMTY1Miw3
MiBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpkaWRSZW1vdmVGcm9tV2ViVmllCiAgICAgICAgIG5j
LT5wb3N0Tm90aWZpY2F0aW9uTmFtZSh3ZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb24o
KSwgc3RhdGljX2Nhc3Q8SVdlYlByZWZlcmVuY2VzKj4odGhpcyksIDApOwogICAgIH0KIH0KKwor
SFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2hvdWxkRGlzcGxheVN1YnRpdGxlcyhCT09MKiBlbmFi
bGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBpZiAoIWVuYWJsZWQpCisgICAg
ICAgIHJldHVybiBFX1BPSU5URVI7CisKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShD
RlNUUihXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleSkpOworICAgIHJl
dHVybiBTX09LOworI2Vsc2UKKyAgICByZXR1cm4gRV9OT1RJTVBMOworI2VuZGlmCit9CisKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoQk9PTCBlbmFi
bGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBzZXRCb29sVmFsdWUoQ0ZTVFIo
V2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VLZXkpLCBlbmFibGVkKTsKKyAg
ICByZXR1cm4gU19PSzsKKyNlbHNlCisgICAgcmV0dXJuIEVfTk9USU1QTDsKKyNlbmRpZgorfQor
CitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzaG91bGREaXNwbGF5Q2FwdGlvbnMoQk9PTCogZW5h
YmxlZCkKK3sKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgaWYgKCFlbmFibGVkKQorICAg
ICAgICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXko
Q0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheUNhcHRpb25zUHJlZmVyZW5jZUtleSkpOworICAgIHJl
dHVybiBTX09LOworI2Vsc2UKKyAgICByZXR1cm4gRV9OT1RJTVBMOworI2VuZGlmCit9CisKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFNob3VsZERpc3BsYXlDYXB0aW9ucyhCT09MIGVuYWJs
ZWQpCit7CisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorICAgIHNldEJvb2xWYWx1ZShDRlNUUihX
ZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7CisgICAg
cmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJldHVybiBFX05PVElNUEw7CisjZW5kaWYKK30KKwor
SFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoQk9P
TCogZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgaWYgKCFlbmFibGVk
KQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNl
S2V5KSk7CisgICAgcmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJldHVybiBFX05PVElNUEw7Cisj
ZW5kaWYKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0U2hvdWxkRGlzcGxheVRleHRE
ZXNjcmlwdGlvbnMoQk9PTCBlbmFibGVkKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAg
ICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQ
cmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJl
dHVybiBFX05PVElNUEw7CisjZW5kaWYKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5j
ZXMuaAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5j
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjk1LDYgKzI5NSwyNCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGF2Rm91bmRhdGlvbkVuYWJsZWQoCiAgICAg
LyogW3JldHZhbF1bb3V0XSAqLyBCT09MKik7CiAKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcygKKyAgICAvKiBbaW5dICovIEJP
T0wpOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNob3VsZERpc3Bs
YXlTdWJ0aXRsZXMoCisgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MKik7CisKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0U2hvdWxkRGlzcGxheUNhcHRpb25zKAor
ICAgIC8qIFtpbl0gKi8gQk9PTCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgc2hvdWxkRGlzcGxheUNhcHRpb25zKAorICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9P
TCopOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFNob3VsZERp
c3BsYXlUZXh0RGVzY3JpcHRpb25zKAorICAgIC8qIFtpbl0gKi8gQk9PTCk7CisKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMoCisgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MKik7CisKICAgICAvLyBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldERl
dmVsb3BlckV4dHJhc0VuYWJsZWQoCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMTAxNzg4KQorKysgU291cmNlL1dlYktpdC93aW4v
V2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3MzcsNiArNDczNywyMyBAQCBIUkVTVUxU
IFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgc2V0dGluZ3MtPnNldEFWRm91
bmRhdGlvbkVuYWJsZWQoZW5hYmxlZCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFT19UUkFD
SykKKyAgICBociA9IHByZWZlcmVuY2VzLT5zaG91bGREaXNwbGF5U3VidGl0bGVzKCZlbmFibGVk
KTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdz
LT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGVuYWJsZWQpOworCisgICAgaHIgPSBwcmVmZXJl
bmNlcy0+c2hvdWxkRGlzcGxheUNhcHRpb25zKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhy
KSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLT5zZXRTaG91bGREaXNwbGF5Q2Fw
dGlvbnMoZW5hYmxlZCk7CisKKyAgICBociA9IHByZWZlcmVuY2VzLT5zaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9ucygmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJl
dHVybiBocjsKKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMo
ZW5hYmxlZCk7CisjZW5kaWYKKwogICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlPiBw
cmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKICAgICBpZiAocHJlZnNQcml2YXRlKSB7
CiAgICAgICAgIGhyID0gcHJlZnNQcml2YXRlLT5hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCgm
ZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJl
bmNlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXMuaWRsCShyZXZpc2lvbiAxMDE3ODgpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9J
bnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw0ICsy
MDUsMTMgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlcyA6IElVbmtub3duCiAKICAgICBIUkVT
VUxUIHBpY3RvZ3JhcGhGb250RmFtaWx5KFtvdXQsIHJldHZhbF0gQlNUUiogZmFtaWx5KTsKICAg
ICBIUkVTVUxUIHNldFBpY3RvZ3JhcGhGb250RmFtaWx5KFtpbl0gQlNUUiBmYW1pbHkpOworCisg
ICAgSFJFU1VMVCBzZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKEJPT0wgc2hvdWxkRGlzcGxheVN1
YnRpdGxlcyk7CisgICAgSFJFU1VMVCBzaG91bGREaXNwbGF5U3VidGl0bGVzKEJPT0wgKnNob3Vs
ZERpc3BsYXlTdWJ0aXRsZXMpOworCisgICAgSFJFU1VMVCBzZXRTaG91bGREaXNwbGF5Q2FwdGlv
bnMoQk9PTCBzaG91bGREaXNwbGF5Q2FwdGlvbnMpOworICAgIEhSRVNVTFQgc2hvdWxkRGlzcGxh
eUNhcHRpb25zKEJPT0wgKnNob3VsZERpc3BsYXlDYXB0aW9ucyk7CisKKyAgICBIUkVTVUxUIHNl
dFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKEJPT0wgc2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnMpOworICAgIEhSRVNVTFQgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoQk9P
TCAqc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>