<?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>95385</bug_id>
          
          <creation_ts>2012-08-29 14:56:54 -0700</creation_ts>
          <short_desc>IndexedDB: remove final createIndex backend glue</short_desc>
          <delta_ts>2012-09-04 17:56:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95409</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alec Flett">alecflett</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jamesr</cc>
    
    <cc>jsbell</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>707907</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-29 14:56:54 -0700</bug_when>
    <thetext>IndexedDB: remove final createIndex backend glue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707908</commentid>
    <comment_count>1</comment_count>
      <attachid>161323</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-29 14:58:23 -0700</bug_when>
    <thetext>Created attachment 161323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707912</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 15:01:29 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707913</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 15:01:47 -0700</bug_when>
    <thetext>Attachment 161323 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707925</commentid>
    <comment_count>4</comment_count>
      <attachid>161323</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-29 15:13:17 -0700</bug_when>
    <thetext>Comment on attachment 161323
Patch

Attachment 161323 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13694403</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707935</commentid>
    <comment_count>5</comment_count>
      <attachid>161331</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-29 15:25:02 -0700</bug_when>
    <thetext>Created attachment 161331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707936</commentid>
    <comment_count>6</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-29 15:26:01 -0700</bug_when>
    <thetext>jsbell/dgrogan - anything I missed here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707940</commentid>
    <comment_count>7</comment_count>
      <attachid>161331</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-08-29 15:31:57 -0700</bug_when>
    <thetext>Comment on attachment 161331
Patch

Attachment 161331 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13691398</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707945</commentid>
    <comment_count>8</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-08-29 15:37:26 -0700</bug_when>
    <thetext>Can these be cleaned up too?

WebKit/chromium/public/platform/WebKitPlatformSupport.h 
WebKit/chromium/src/PlatformSupport.cpp 
WebCore/platform/chromium/PlatformSupport.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707971</commentid>
    <comment_count>9</comment_count>
      <attachid>161331</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-29 15:52:10 -0700</bug_when>
    <thetext>Comment on attachment 161331
Patch

Attachment 161331 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13689427</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708025</commentid>
    <comment_count>10</comment_count>
      <attachid>161331</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-29 16:27:02 -0700</bug_when>
    <thetext>Comment on attachment 161331
Patch

Attachment 161331 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13689446</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708075</commentid>
    <comment_count>11</comment_count>
      <attachid>161363</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-29 17:08:28 -0700</bug_when>
    <thetext>Created attachment 161363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711528</commentid>
    <comment_count>12</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-09-04 15:55:58 -0700</bug_when>
    <thetext>abarth@ - quick review for code removal?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711584</commentid>
    <comment_count>13</comment_count>
      <attachid>161363</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-04 17:17:07 -0700</bug_when>
    <thetext>Comment on attachment 161363
Patch

So many red lines!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711617</commentid>
    <comment_count>14</comment_count>
      <attachid>161363</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-04 17:56:02 -0700</bug_when>
    <thetext>Comment on attachment 161363
Patch

Clearing flags on attachment: 161363

Committed r127535: &lt;http://trac.webkit.org/changeset/127535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711618</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-04 17:56:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161323</attachid>
            <date>2012-08-29 14:58:23 -0700</date>
            <delta_ts>2012-08-29 15:25:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95385-20120829145813.patch</filename>
            <type>text/plain</type>
            <size>14925</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2OTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZmYzJjNjAwMjM3ZjQ5
ZTdlZTY1YzczMGFhMWVlOTFmYWU0MTE5ZS4uMjYxYTBhOGE2MWI2YTVkNGFhODNmNjhlYjk0NDZi
NGZkZTRlY2ZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTI5ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBmaW5hbCBjcmVhdGVJbmRleCBiYWNrZW5kIGdsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1Mzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQgY3JlYXRlZCBp
bmRleCBrZXlzIGluIHRoZSBJbmRleGVkREIgYmFja2VuZC4KKworCU5vIG5ldyB0ZXN0cywgdGhp
cyBpcyBqdXN0IHJlbW92YWwgb2YgZGVhZCBjb2RlLgorCisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJbXBsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaDogUmVtb3ZlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL0lEQktleVBhdGhC
YWNrZW5kSW1wbC5jcHA6IFJlbW92ZWQuCisKIDIwMTItMDgtMjcgIEFsZXhhbmRydSBDaGljdWxp
dGEgIDxhY2hpY3VAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgRmlsdGVyc10gRmlsdGVycyBz
aG91bGQgcmVuZGVyIHVzaW5nIHNSR0IgdW50aWwgdGhlIHNwZWNpZmljYXRpb24gc2F5cyBob3cg
aXQgd29ya3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOWIyODUwYjQzMjQ3OThjYjA4
NWQyN2RmNDE2NWM0ZTgzYmFmNGNmOS4uZDNkZGE4M2JmZjAxM2MzOWM4OTJhM2Y4ZGNhMzQ2YmU0
YjU4N2VjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0wOC0yOSAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
SW5kZXhlZERCOiByZW1vdmUgZmluYWwgY3JlYXRlSW5kZXggYmFja2VuZCBnbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTM4NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBjaHJvbWl1bSBn
bHVlIGZvciBvbGQga2V5LWdlbmVyYXRpb24gY29kZS4KKworICAgICAgICAqIHB1YmxpYy9XZWJJ
REJLZXkuaDoKKyAgICAgICAgKFdlYklEQktleSk6CisgICAgICAgICogc3JjL1dlYklEQktleS5j
cHA6CisKIDIwMTItMDgtMjggIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+
CiAKICAgICAgICAgQVg6IENyYXNoIGR1ZSB0byBvYmplY3QgZ2V0dGluZyBkZWxldGVkIGluc2lk
ZSB1cGRhdGVCYWNraW5nU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2NGExZmJjNWJlZDcwYWM5MDg1ZjUzNjNiOGE2ZWQ5M2MyYTI4MDE4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIklEQktleVBhdGhCYWNrZW5kSW1wbC5oIgotCi0jaW5jbHVkZSAiSURCS2V5LmgiCi0jaW5j
bHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCi0KLQotI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQotI2Vycm9yICJDaHJvbWl1bSBzaG91bGQgbm90IGNvbXBpbGUgdGhpcyBmaWxlIGFuZCBpbnN0
ZWFkIGRlZmluZSBpdHMgb3duIHZlcnNpb24gb2YgdGhpcyBmYWN0b3J5IHRoYXQgbmF2aWdhdGVz
IHRoZSBtdWx0aS1wcm9jZXNzIGJvdW5kcnkuIgotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12b2lkIElEQktleVBhdGhCYWNr
ZW5kSW1wbDo6Y3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFsdWVzQW5kS2V5UGF0aChjb25z
dCBWZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIDA+JiwgY29uc3QgSURCS2V5
UGF0aCYsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiwgMD4mKQotewotICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgdGhpcyBtZXRob2Qgb25jZSBKU0Mgc3VwcG9ydHMgV2lyZUZvcm1hdCBmb3IgU2VyaWFs
aXplZFNjcmlwdFZhbHVlLgotfQotCi1QYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
SURCS2V5UGF0aEJhY2tlbmRJbXBsOjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKFBh
c3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBjb25z
dCBJREJLZXlQYXRoJikKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgbWV0aG9kIG9u
Y2UgSlNDIHN1cHBvcnRzIFdpcmVGb3JtYXQgZm9yIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4KLSAg
ICByZXR1cm4gUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KCk7Ci19Ci0KLX0KLQot
I2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGYwNTdlYjJiYzczMjUxZjdhZDVmMWYwNTA5OTAxZWRj
ZTUxODkxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaAor
KysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIElEQktleVBhdGhC
YWNrZW5kSW1wbF9oCi0jZGVmaW5lIElEQktleVBhdGhCYWNrZW5kSW1wbF9oCi0KLSNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSURCS2V5OwotY2xhc3MgSURCS2V5UGF0aDsKLWNsYXNz
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKLQotY2xhc3MgSURCS2V5UGF0aEJhY2tlbmRJbXBsIHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6ZWRWYWx1
ZXNBbmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
MD4mIHZhbHVlcywgY29uc3QgSURCS2V5UGF0aCYsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiwgMD4m
IGtleXMpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gaW5q
ZWN0SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgY29uc3QgSURCS2V5UGF0aCYpOwotfTsKLQotfQot
Ci0jZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KLSNlbmRpZiAvLyBJREJLZXlQ
YXRoQmFja2VuZEltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAppbmRleCBiNmQwZWEw
YTUwZGUyMGRkZWFjNTE1ZjY0ZjZkODU5M2E2NzI0M2ZhLi4wZTBiZjQ4YmIzMzdlZGZjNmM5Yjkw
MTc3YTZiYjQwMWYyOGNkZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcApAQCAtMzks
NyArMzksNiBAQAogI2luY2x1ZGUgIklEQkluZGV4QmFja2VuZEltcGwuaCIKICNpbmNsdWRlICJJ
REJLZXkuaCIKICNpbmNsdWRlICJJREJLZXlQYXRoLmgiCi0jaW5jbHVkZSAiSURCS2V5UGF0aEJh
Y2tlbmRJbXBsLmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2UuaCIKICNpbmNsdWRlICJJREJUcmFj
aW5nLmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5oIgpAQCAtMjAxLDIw
ICsyMDAsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAg
UGFzc1JlZlB0cjxJREJLZXk+IGZldGNoS2V5RnJvbUtleVBhdGgoU2VyaWFsaXplZFNjcmlwdFZh
bHVlKiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIElEQl9UUkFDRSgiSW5kZXhXcml0ZXI6OmZldGNo
S2V5RnJvbUtleVBhdGgiKTsKLQotICAgICAgICBWZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gPiB2YWx1ZXM7Ci0gICAgICAgIHZhbHVlcy5hcHBlbmQodmFsdWUpOwotICAgICAg
ICBWZWN0b3I8UmVmUHRyPElEQktleT4gPiBrZXlzOwotICAgICAgICBJREJLZXlQYXRoQmFja2Vu
ZEltcGw6OmNyZWF0ZUlEQktleXNGcm9tU2VyaWFsaXplZFZhbHVlc0FuZEtleVBhdGgodmFsdWVz
LCBtX2luZGV4TWV0YWRhdGEua2V5UGF0aCwga2V5cyk7Ci0gICAgICAgIGlmIChrZXlzLmlzRW1w
dHkoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBBU1NFUlQoa2V5cy5zaXplKCkg
PT0gMSk7Ci0gICAgICAgIHJldHVybiBrZXlzWzBdLnJlbGVhc2UoKTsKLSAgICB9Ci0KICAgICBj
b25zdCBJREJJbmRleE1ldGFkYXRhIG1faW5kZXhNZXRhZGF0YTsKICAgICBJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbnRlcmZhY2U6OkluZGV4S2V5cyBtX2luZGV4S2V5czsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDQwODJkODU0ZmI3YzA1MGI3MzlhNDg4NmNi
MDNlZjBmMjhkNDcwYzkuLjY0NzEzZmJjOGQ2ZDMyMWIyMTJlYTE2YmFhNDQyMTI0NDdmMTE3MDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0yMDQzLDcgKzIwNDMs
NiBAQAogCiAgICAgICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxl
U3lzdGVtXFwuY3BwJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnTW9kdWxlcy9pbmRleGVkZGIv
SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2VcXC5jcHAkJ10sCi0gICAgICAgIFsnZXhjbHVkZScs
ICdNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGxcXC5jcHAkJ10sCiAgICAg
ICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlckNsaWVu
dFxcLmgkJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlVHJhY2tlclxcLmNwcCQnXSwKICAgICAgICAgWydleGNsdWRlJywgJ01vZHVsZXMvd2ViZGF0
YWJhc2UvT3JpZ2luUXVvdGFNYW5hZ2VyXFwuKGNwcHxoKSQnXSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCA1ZTcyZDQzNzQ1ZGM4YTU1NGJhOWE0NzQ0YzY1NTFlMDhmY2IyM2U0Li42YjgzMjcyNmMzN2Ni
MWFiNjdlM2ZmOWI3OTUzY2RiZTA2ODMyNjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNTE3LDgg
KzE1MTcsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5oJywKICAg
ICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5oJywKLSAgICAgICAgICAgICdNb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwJywKLSAgICAgICAgICAgICdNb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJLZXlSYW5nZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9J
REJMZXZlbERCQ29kaW5nLmNwcCcsCkBAIC01MDA2LDcgKzUwMDQsNiBAQAogICAgICAgICAgICAg
J3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvY2hyb21pdW0vSURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2UuY3BwJywKLSAgICAgICAgICAgICdzdG9yYWdlL2Nocm9taXVtL0lEQktl
eVBhdGhCYWNrZW5kSW1wbC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uvd2luY2UvRGF0YWJh
c2VUaHJlYWRXaW5DRS5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uvd2luY2UvRGF0YWJhc2VU
aHJlYWRXaW5DRS5oJywKICAgICAgICAgICAgICdzdG9yYWdlL3dpbmNlL1N0b3JhZ2VUaHJlYWRX
aW5DRS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9J
REJLZXlQYXRoQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1
bS9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjODZjNzdkOTc3MzliNTU0NDIwZDU4OWM3MDlhM2U3ZjA2ZGQxYmUwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
Y2hyb21pdW0vSURCS2V5UGF0aEJhY2tlbmRJbXBsLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ5
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQot
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSURCS2V5UGF0
aEJhY2tlbmRJbXBsLmgiCi0KLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1
ZGUgIklEQktleS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgotI2luY2x1ZGUgIlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXZvaWQgSURC
S2V5UGF0aEJhY2tlbmRJbXBsOjpjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6ZWRWYWx1ZXNBbmRL
ZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgMD4mIHZh
bHVlcywgY29uc3QgSURCS2V5UGF0aCYga2V5UGF0aCwgVmVjdG9yPFJlZlB0cjxJREJLZXk+LCAw
PiYga2V5cykKLXsKLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OmNyZWF0ZUlEQktleXNGcm9tU2VyaWFs
aXplZFZhbHVlc0FuZEtleVBhdGgodmFsdWVzLCBrZXlQYXRoLCBrZXlzKTsKLX0KLQotUGFzc1Jl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IElEQktleVBhdGhCYWNrZW5kSW1wbDo6aW5qZWN0
SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUsIGNvbnN0IElEQktleVBhdGgmIGtleVBh
dGgpCi17Ci0gICAgcmV0dXJuIFBsYXRmb3JtU3VwcG9ydDo6aW5qZWN0SURCS2V5SW50b1Nlcmlh
bGl6ZWRWYWx1ZShrZXksIHZhbHVlLCBrZXlQYXRoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklEQktleS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgK
aW5kZXggMGI3MDRjYWMyODQ0NjFjYzM2MTAxYWU2MWFlZDY1OGQ0MDM2MTkwNC4uMzgxOWRlODc1
Nzk0YjJmYTY5NzJlYzRhMDMyZTlhNDg5ODE0YTA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViSURCS2V5LmgKQEAgLTM1LDkgKzM1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
eyBjbGFzcyBJREJLZXk7IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdlYklEQktl
eVBhdGg7Ci1jbGFzcyBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU7Ci0KIGNsYXNzIFdlYklEQktl
eSB7CiBwdWJsaWM6CiAgICAgLy8gUGxlYXNlIHVzZSBvbmUgb2YgdGhlIGZhY3RvcnkgbWV0aG9k
cy4gVGhpcyBpcyBwdWJsaWMgb25seSB0byBhbGxvdyBXZWJWZWN0b3IuCkBAIC01MCw4ICs0Nyw2
IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlTnVt
YmVyKGRvdWJsZSk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZUlu
dmFsaWQoKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlTnVsbCgp
OwotICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVGcm9tVmFsdWVBbmRL
ZXlQYXRoKGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYsIGNvbnN0IFdlYklEQktleVBh
dGgmKTsKLSAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUg
aW5qZWN0SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShjb25zdCBXZWJJREJLZXkmLCBjb25zdCBX
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmLCBjb25zdCBXZWJJREJLZXlQYXRoJik7CiAKICAgICBX
ZWJJREJLZXkoY29uc3QgV2ViSURCS2V5JiBlKSB7IGFzc2lnbihlKTsgfQogICAgIFdlYklEQktl
eSYgb3BlcmF0b3I9KGNvbnN0IFdlYklEQktleSYgZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJJREJLZXkuY3BwCmluZGV4IGNmYWRhZmJhY2Q5NzM4OWU4NWY2ZTRjM2RlMTkyMjUwNGFi
YTM5YTcuLmQ2MGI1ZjVjMWM5YjQ0YTc2ZjMxZDkxMzZiMDQ3ODgzOWFhYWZlNmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5LmNwcApAQCAtMzIsMTAgKzMyLDYgQEAKIAog
I2luY2x1ZGUgIklEQkJpbmRpbmdVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJREJLZXkuaCIKLSNp
bmNsdWRlICJJREJLZXlQYXRoLmgiCi0jaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgi
Ci0jaW5jbHVkZSAiV2ViSURCS2V5UGF0aC5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtODMs
MTkgKzc5LDYgQEAgV2ViSURCS2V5IFdlYklEQktleTo6Y3JlYXRlTnVsbCgpCiAgICAgcmV0dXJu
IGtleTsKIH0KIAotV2ViSURCS2V5IFdlYklEQktleTo6Y3JlYXRlRnJvbVZhbHVlQW5kS2V5UGF0
aChjb25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmIHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSwg
Y29uc3QgV2ViSURCS2V5UGF0aCYgaWRiS2V5UGF0aCkKLXsKLSAgICAvLyBGSVhNRTogSWYga2V5
IHBhdGggaXMgZW1wdHkgc3RyaW5nLCB0aGlzIHNob3VsZCByZXR1cm4gaW52YWxpZCBrZXkgaW5z
dGVhZAotICAgIGlmIChzZXJpYWxpemVkU2NyaXB0VmFsdWUuaXNOdWxsKCkpCi0gICAgICAgIHJl
dHVybiBXZWJJREJLZXk6OmNyZWF0ZU51bGwoKTsKLSAgICByZXR1cm4gY3JlYXRlSURCS2V5RnJv
bVNlcmlhbGl6ZWRWYWx1ZUFuZEtleVBhdGgoc2VyaWFsaXplZFNjcmlwdFZhbHVlLCBpZGJLZXlQ
YXRoKTsKLX0KLQotV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIFdlYklEQktleTo6aW5qZWN0SURC
S2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShjb25zdCBXZWJJREJLZXkmIGtleSwgY29uc3QgV2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgV2ViSURCS2V5UGF0aCYgcGF0aCkKLXsK
LSAgICByZXR1cm4gV2ViQ29yZTo6aW5qZWN0SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShrZXks
IHZhbHVlLCBwYXRoKTsKLX0KLQogdm9pZCBXZWJJREJLZXk6OmFzc2lnbihjb25zdCBXZWJJREJL
ZXkmIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZSA9IHZhbHVlLm1fcHJpdmF0ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161331</attachid>
            <date>2012-08-29 15:25:02 -0700</date>
            <delta_ts>2012-08-29 17:08:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95385-20120829152452.patch</filename>
            <type>text/plain</type>
            <size>14922</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFhODBiOWNiOWZjMzBm
MTg3ZDQyNDkxNjRmYzA1YmYzNjYxZjQ1NC4uZjgxNTdkODdjZmRmOTZhZmYzYjBiZmM2MTlmY2Y2
ODkwYjIyOTU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTI5ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBmaW5hbCBjcmVhdGVJbmRleCBiYWNrZW5kIGdsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1Mzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQgY3JlYXRlZCBp
bmRleCBrZXlzIGluIHRoZSBJbmRleGVkREIgYmFja2VuZC4KKworICAgICAgICBObyBuZXcgdGVz
dHMsIHRoaXMgaXMganVzdCByZW1vdmFsIG9mIGRlYWQgY29kZS4KKworICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJbXBsLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoK
KyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogc3RvcmFnZS9jaHJvbWl1bS9JREJL
ZXlQYXRoQmFja2VuZEltcGwuY3BwOiBSZW1vdmVkLgorCiAyMDEyLTA4LTI5ICBSeXVhbiBDaG9p
ICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBNb3ZlIHNldmVyYWwg
ZmlsZXMgdG8gcmVtb3ZlIHdlYmtpdDEgZGVwZW5kZW5jeSBmcm9tIFdlYkNvcmUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IDNjZDk4YmM4ZDEyYzZjZmFjNmEwODk3MTBkYzVmYzg2ZTI4
MTAzZjkuLmRmMWYxZjliZDRjNjUwYTYxZTU0ZjFhYzNiM2VmNzZlZTI1ZGIzMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMjkgIEFsZWMgRmxl
dHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogcmVtb3Zl
IGZpbmFsIGNyZWF0ZUluZGV4IGJhY2tlbmQgZ2x1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUzODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgY2hyb21pdW0gZ2x1ZSBmb3Igb2xkIGtleS1n
ZW5lcmF0aW9uIGNvZGUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSURCS2V5Lmg6CisgICAgICAg
IChXZWJJREJLZXkpOgorICAgICAgICAqIHNyYy9XZWJJREJLZXkuY3BwOgorCiAyMDEyLTA4LTI4
ICBEYXZpZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBTY2hlZHVsZXIgd2lsbCBuZXZlciBwcm9jZXNzIGEgY29tbWl0IHVudGlsIGl0IHJlY2Vp
dmVzIGEgdnN5bmMgdGljay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2NGExZmJjNWJlZDcwYWM5MDg1ZjUzNjNiOGE2ZWQ5M2MyYTI4MDE4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0g
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IklEQktleVBhdGhCYWNrZW5kSW1wbC5oIgotCi0jaW5jbHVkZSAiSURCS2V5LmgiCi0jaW5jbHVk
ZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCi0KLQotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQot
I2Vycm9yICJDaHJvbWl1bSBzaG91bGQgbm90IGNvbXBpbGUgdGhpcyBmaWxlIGFuZCBpbnN0ZWFk
IGRlZmluZSBpdHMgb3duIHZlcnNpb24gb2YgdGhpcyBmYWN0b3J5IHRoYXQgbmF2aWdhdGVzIHRo
ZSBtdWx0aS1wcm9jZXNzIGJvdW5kcnkuIgotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12b2lkIElEQktleVBhdGhCYWNrZW5k
SW1wbDo6Y3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFsdWVzQW5kS2V5UGF0aChjb25zdCBW
ZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIDA+JiwgY29uc3QgSURCS2V5UGF0
aCYsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiwgMD4mKQotewotICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgdGhpcyBtZXRob2Qgb25jZSBKU0Mgc3VwcG9ydHMgV2lyZUZvcm1hdCBmb3IgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLgotfQotCi1QYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gSURC
S2V5UGF0aEJhY2tlbmRJbXBsOjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKFBhc3NS
ZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBjb25zdCBJ
REJLZXlQYXRoJikKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgbWV0aG9kIG9uY2Ug
SlNDIHN1cHBvcnRzIFdpcmVGb3JtYXQgZm9yIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4KLSAgICBy
ZXR1cm4gUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KCk7Ci19Ci0KLX0KLQotI2Vu
ZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGYwNTdlYjJiYzczMjUxZjdhZDVmMWYwNTA5OTAxZWRjZTUx
ODkxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaAorKysg
L2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIElEQktleVBhdGhCYWNr
ZW5kSW1wbF9oCi0jZGVmaW5lIElEQktleVBhdGhCYWNrZW5kSW1wbF9oCi0KLSNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgSURCS2V5OwotY2xhc3MgSURCS2V5UGF0aDsKLWNsYXNzIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTsKLQotY2xhc3MgSURCS2V5UGF0aEJhY2tlbmRJbXBsIHsKLXB1
YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6ZWRWYWx1ZXNB
bmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgMD4m
IHZhbHVlcywgY29uc3QgSURCS2V5UGF0aCYsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiwgMD4mIGtl
eXMpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gaW5qZWN0
SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgY29uc3QgSURCS2V5UGF0aCYpOwotfTsKLQotfQotCi0j
ZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KLSNlbmRpZiAvLyBJREJLZXlQYXRo
QmFja2VuZEltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAppbmRleCBiNmQwZWEwYTUw
ZGUyMGRkZWFjNTE1ZjY0ZjZkODU5M2E2NzI0M2ZhLi4wZTBiZjQ4YmIzMzdlZGZjNmM5YjkwMTc3
YTZiYjQwMWYyOGNkZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcApAQCAtMzksNyAr
MzksNiBAQAogI2luY2x1ZGUgIklEQkluZGV4QmFja2VuZEltcGwuaCIKICNpbmNsdWRlICJJREJL
ZXkuaCIKICNpbmNsdWRlICJJREJLZXlQYXRoLmgiCi0jaW5jbHVkZSAiSURCS2V5UGF0aEJhY2tl
bmRJbXBsLmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2UuaCIKICNpbmNsdWRlICJJREJUcmFjaW5n
LmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5oIgpAQCAtMjAxLDIwICsy
MDAsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgUGFz
c1JlZlB0cjxJREJLZXk+IGZldGNoS2V5RnJvbUtleVBhdGgoU2VyaWFsaXplZFNjcmlwdFZhbHVl
KiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIElEQl9UUkFDRSgiSW5kZXhXcml0ZXI6OmZldGNoS2V5
RnJvbUtleVBhdGgiKTsKLQotICAgICAgICBWZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gPiB2YWx1ZXM7Ci0gICAgICAgIHZhbHVlcy5hcHBlbmQodmFsdWUpOwotICAgICAgICBW
ZWN0b3I8UmVmUHRyPElEQktleT4gPiBrZXlzOwotICAgICAgICBJREJLZXlQYXRoQmFja2VuZElt
cGw6OmNyZWF0ZUlEQktleXNGcm9tU2VyaWFsaXplZFZhbHVlc0FuZEtleVBhdGgodmFsdWVzLCBt
X2luZGV4TWV0YWRhdGEua2V5UGF0aCwga2V5cyk7Ci0gICAgICAgIGlmIChrZXlzLmlzRW1wdHko
KSkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBBU1NFUlQoa2V5cy5zaXplKCkgPT0g
MSk7Ci0gICAgICAgIHJldHVybiBrZXlzWzBdLnJlbGVhc2UoKTsKLSAgICB9Ci0KICAgICBjb25z
dCBJREJJbmRleE1ldGFkYXRhIG1faW5kZXhNZXRhZGF0YTsKICAgICBJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbnRlcmZhY2U6OkluZGV4S2V5cyBtX2luZGV4S2V5czsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDQwODJkODU0ZmI3YzA1MGI3MzlhNDg4NmNiMDNl
ZjBmMjhkNDcwYzkuLjY0NzEzZmJjOGQ2ZDMyMWIyMTJlYTE2YmFhNDQyMTI0NDdmMTE3MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0yMDQzLDcgKzIwNDMsNiBA
QAogCiAgICAgICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxlU3lz
dGVtXFwuY3BwJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnTW9kdWxlcy9pbmRleGVkZGIvSURC
RmFjdG9yeUJhY2tlbmRJbnRlcmZhY2VcXC5jcHAkJ10sCi0gICAgICAgIFsnZXhjbHVkZScsICdN
b2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGxcXC5jcHAkJ10sCiAgICAgICAg
IFsnZXhjbHVkZScsICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlckNsaWVudFxc
LmgkJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
VHJhY2tlclxcLmNwcCQnXSwKICAgICAgICAgWydleGNsdWRlJywgJ01vZHVsZXMvd2ViZGF0YWJh
c2UvT3JpZ2luUXVvdGFNYW5hZ2VyXFwuKGNwcHxoKSQnXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBm
NmM3NmNhNDA0NmZjMzYxNDg2N2Q1YWViMGI4ZWZhMTZiZDY5Mzc1Li41ODc3Y2ViNGFiYzc0ZWZk
MDUzZGMyYjkyMTQwYjIxZTRiZTNlMDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNTE2LDggKzE1
MTYsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5oJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwJywKLSAgICAgICAgICAgICdNb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaCcsCiAgICAgICAgICAgICAnTW9kdWxl
cy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4
ZWRkYi9JREJLZXlSYW5nZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJM
ZXZlbERCQ29kaW5nLmNwcCcsCkBAIC00OTk5LDcgKzQ5OTcsNiBAQAogICAgICAgICAgICAgJ3N0
b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL1N0b3JhZ2VU
cmFja2VyLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvY2hyb21pdW0vSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2UuY3BwJywKLSAgICAgICAgICAgICdzdG9yYWdlL2Nocm9taXVtL0lEQktleVBh
dGhCYWNrZW5kSW1wbC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uvd2luY2UvRGF0YWJhc2VU
aHJlYWRXaW5DRS5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uvd2luY2UvRGF0YWJhc2VUaHJl
YWRXaW5DRS5oJywKICAgICAgICAgICAgICdzdG9yYWdlL3dpbmNlL1N0b3JhZ2VUaHJlYWRXaW5D
RS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9JREJL
ZXlQYXRoQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9J
REJLZXlQYXRoQmFja2VuZEltcGwuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
ODZjNzdkOTc3MzliNTU0NDIwZDU4OWM3MDlhM2U3ZjA2ZGQxYmUwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hy
b21pdW0vSURCS2V5UGF0aEJhY2tlbmRJbXBsLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSURCS2V5UGF0aEJh
Y2tlbmRJbXBsLmgiCi0KLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1ZGUg
IklEQktleS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgotI2luY2x1ZGUgIlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXZvaWQgSURCS2V5
UGF0aEJhY2tlbmRJbXBsOjpjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6ZWRWYWx1ZXNBbmRLZXlQ
YXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgMD4mIHZhbHVl
cywgY29uc3QgSURCS2V5UGF0aCYga2V5UGF0aCwgVmVjdG9yPFJlZlB0cjxJREJLZXk+LCAwPiYg
a2V5cykKLXsKLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OmNyZWF0ZUlEQktleXNGcm9tU2VyaWFsaXpl
ZFZhbHVlc0FuZEtleVBhdGgodmFsdWVzLCBrZXlQYXRoLCBrZXlzKTsKLX0KLQotUGFzc1JlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IElEQktleVBhdGhCYWNrZW5kSW1wbDo6aW5qZWN0SURC
S2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUsIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGgp
Ci17Ci0gICAgcmV0dXJuIFBsYXRmb3JtU3VwcG9ydDo6aW5qZWN0SURCS2V5SW50b1NlcmlhbGl6
ZWRWYWx1ZShrZXksIHZhbHVlLCBrZXlQYXRoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YklEQktleS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKaW5k
ZXggMGI3MDRjYWMyODQ0NjFjYzM2MTAxYWU2MWFlZDY1OGQ0MDM2MTkwNC4uMzgxOWRlODc1Nzk0
YjJmYTY5NzJlYzRhMDMyZTlhNDg5ODE0YTA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViSURCS2V5LmgKQEAgLTM1LDkgKzM1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgeyBj
bGFzcyBJREJLZXk7IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdlYklEQktleVBh
dGg7Ci1jbGFzcyBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU7Ci0KIGNsYXNzIFdlYklEQktleSB7
CiBwdWJsaWM6CiAgICAgLy8gUGxlYXNlIHVzZSBvbmUgb2YgdGhlIGZhY3RvcnkgbWV0aG9kcy4g
VGhpcyBpcyBwdWJsaWMgb25seSB0byBhbGxvdyBXZWJWZWN0b3IuCkBAIC01MCw4ICs0Nyw2IEBA
IHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlTnVtYmVy
KGRvdWJsZSk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZUludmFs
aWQoKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlTnVsbCgpOwot
ICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVGcm9tVmFsdWVBbmRLZXlQ
YXRoKGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYsIGNvbnN0IFdlYklEQktleVBhdGgm
KTsKLSAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUgaW5q
ZWN0SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShjb25zdCBXZWJJREJLZXkmLCBjb25zdCBXZWJT
ZXJpYWxpemVkU2NyaXB0VmFsdWUmLCBjb25zdCBXZWJJREJLZXlQYXRoJik7CiAKICAgICBXZWJJ
REJLZXkoY29uc3QgV2ViSURCS2V5JiBlKSB7IGFzc2lnbihlKTsgfQogICAgIFdlYklEQktleSYg
b3BlcmF0b3I9KGNvbnN0IFdlYklEQktleSYgZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJREJLZXkuY3BwCmluZGV4IGNmYWRhZmJhY2Q5NzM4OWU4NWY2ZTRjM2RlMTkyMjUwNGFiYTM5
YTcuLmQ2MGI1ZjVjMWM5YjQ0YTc2ZjMxZDkxMzZiMDQ3ODgzOWFhYWZlNmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5LmNwcApAQCAtMzIsMTAgKzMyLDYgQEAKIAogI2lu
Y2x1ZGUgIklEQkJpbmRpbmdVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJREJLZXkuaCIKLSNpbmNs
dWRlICJJREJLZXlQYXRoLmgiCi0jaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCi0j
aW5jbHVkZSAiV2ViSURCS2V5UGF0aC5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtODMsMTkg
Kzc5LDYgQEAgV2ViSURCS2V5IFdlYklEQktleTo6Y3JlYXRlTnVsbCgpCiAgICAgcmV0dXJuIGtl
eTsKIH0KIAotV2ViSURCS2V5IFdlYklEQktleTo6Y3JlYXRlRnJvbVZhbHVlQW5kS2V5UGF0aChj
b25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmIHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSwgY29u
c3QgV2ViSURCS2V5UGF0aCYgaWRiS2V5UGF0aCkKLXsKLSAgICAvLyBGSVhNRTogSWYga2V5IHBh
dGggaXMgZW1wdHkgc3RyaW5nLCB0aGlzIHNob3VsZCByZXR1cm4gaW52YWxpZCBrZXkgaW5zdGVh
ZAotICAgIGlmIChzZXJpYWxpemVkU2NyaXB0VmFsdWUuaXNOdWxsKCkpCi0gICAgICAgIHJldHVy
biBXZWJJREJLZXk6OmNyZWF0ZU51bGwoKTsKLSAgICByZXR1cm4gY3JlYXRlSURCS2V5RnJvbVNl
cmlhbGl6ZWRWYWx1ZUFuZEtleVBhdGgoc2VyaWFsaXplZFNjcmlwdFZhbHVlLCBpZGJLZXlQYXRo
KTsKLX0KLQotV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIFdlYklEQktleTo6aW5qZWN0SURCS2V5
SW50b1NlcmlhbGl6ZWRWYWx1ZShjb25zdCBXZWJJREJLZXkmIGtleSwgY29uc3QgV2ViU2VyaWFs
aXplZFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgV2ViSURCS2V5UGF0aCYgcGF0aCkKLXsKLSAg
ICByZXR1cm4gV2ViQ29yZTo6aW5qZWN0SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShrZXksIHZh
bHVlLCBwYXRoKTsKLX0KLQogdm9pZCBXZWJJREJLZXk6OmFzc2lnbihjb25zdCBXZWJJREJLZXkm
IHZhbHVlKQogewogICAgIG1fcHJpdmF0ZSA9IHZhbHVlLm1fcHJpdmF0ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161363</attachid>
            <date>2012-08-29 17:08:28 -0700</date>
            <delta_ts>2012-09-04 17:56:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95385-20120829170818.patch</filename>
            <type>text/plain</type>
            <size>25565</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFhODBiOWNiOWZjMzBm
MTg3ZDQyNDkxNjRmYzA1YmYzNjYxZjQ1NC4uZjgxNTdkODdjZmRmOTZhZmYzYjBiZmM2MTlmY2Y2
ODkwYjIyOTU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTI5ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBmaW5hbCBjcmVhdGVJbmRleCBiYWNrZW5kIGdsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1Mzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQgY3JlYXRlZCBp
bmRleCBrZXlzIGluIHRoZSBJbmRleGVkREIgYmFja2VuZC4KKworICAgICAgICBObyBuZXcgdGVz
dHMsIHRoaXMgaXMganVzdCByZW1vdmFsIG9mIGRlYWQgY29kZS4KKworICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJbXBsLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoK
KyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogc3RvcmFnZS9jaHJvbWl1bS9JREJL
ZXlQYXRoQmFja2VuZEltcGwuY3BwOiBSZW1vdmVkLgorCiAyMDEyLTA4LTI5ICBSeXVhbiBDaG9p
ICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBNb3ZlIHNldmVyYWwg
ZmlsZXMgdG8gcmVtb3ZlIHdlYmtpdDEgZGVwZW5kZW5jeSBmcm9tIFdlYkNvcmUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IDNjZDk4YmM4ZDEyYzZjZmFjNmEwODk3MTBkYzVmYzg2ZTI4
MTAzZjkuLmRmMWYxZjliZDRjNjUwYTYxZTU0ZjFhYzNiM2VmNzZlZTI1ZGIzMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMjkgIEFsZWMgRmxl
dHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogcmVtb3Zl
IGZpbmFsIGNyZWF0ZUluZGV4IGJhY2tlbmQgZ2x1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUzODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgY2hyb21pdW0gZ2x1ZSBmb3Igb2xkIGtleS1n
ZW5lcmF0aW9uIGNvZGUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSURCS2V5Lmg6CisgICAgICAg
IChXZWJJREJLZXkpOgorICAgICAgICAqIHNyYy9XZWJJREJLZXkuY3BwOgorCiAyMDEyLTA4LTI4
ICBEYXZpZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBTY2hlZHVsZXIgd2lsbCBuZXZlciBwcm9jZXNzIGEgY29tbWl0IHVudGlsIGl0IHJlY2Vp
dmVzIGEgdnN5bmMgdGljay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDI0OWIzZDYzMTE1MzA0
NzUwYjViMDZhNTJhZGRjZTY3MmFiNmMzZi4uMTA1ZjAxZDBmMmY1NDRkNWMwYmUzZWU0NTYwODcw
YTIwZmE5NGRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTgxNyw3ICs4MTcsNiBAQCBTRVQo
V2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmNwcAogICAgIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlLmNwcAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL0lE
QktleVBhdGguY3BwCi0gICAgTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJbXBs
LmNwcAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCiAg
ICAgTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkNvZGluZy5jcHAKICAgICBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IGRjYzMwMDNlYjk0MTY0NWVlZDM2NmQ3NDY5YTU4ZDUxMWI3NjEyNzEuLjdiYTM4ZjIxZDFk
YjdmODJmZDNkNTY1NmYxNWE0MDk5YzEwYjIwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMTg0MCw4ICsxODQwLDYgQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmggXAogCVNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQktleVBhdGguaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCS2V5UmFuZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2NGExZmJjNWJlZDcwYWM5MDg1ZjUzNjNiOGE2ZWQ5M2MyYTI4MDE4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIklEQktleVBhdGhCYWNrZW5kSW1wbC5oIgotCi0jaW5jbHVkZSAiSURCS2V5LmgiCi0jaW5j
bHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCi0KLQotI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQotI2Vycm9yICJDaHJvbWl1bSBzaG91bGQgbm90IGNvbXBpbGUgdGhpcyBmaWxlIGFuZCBpbnN0
ZWFkIGRlZmluZSBpdHMgb3duIHZlcnNpb24gb2YgdGhpcyBmYWN0b3J5IHRoYXQgbmF2aWdhdGVz
IHRoZSBtdWx0aS1wcm9jZXNzIGJvdW5kcnkuIgotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12b2lkIElEQktleVBhdGhCYWNr
ZW5kSW1wbDo6Y3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFsdWVzQW5kS2V5UGF0aChjb25z
dCBWZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIDA+JiwgY29uc3QgSURCS2V5
UGF0aCYsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiwgMD4mKQotewotICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgdGhpcyBtZXRob2Qgb25jZSBKU0Mgc3VwcG9ydHMgV2lyZUZvcm1hdCBmb3IgU2VyaWFs
aXplZFNjcmlwdFZhbHVlLgotfQotCi1QYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
SURCS2V5UGF0aEJhY2tlbmRJbXBsOjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKFBh
c3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBjb25z
dCBJREJLZXlQYXRoJikKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgbWV0aG9kIG9u
Y2UgSlNDIHN1cHBvcnRzIFdpcmVGb3JtYXQgZm9yIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4KLSAg
ICByZXR1cm4gUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KCk7Ci19Ci0KLX0KLQot
I2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGYwNTdlYjJiYzczMjUxZjdhZDVmMWYwNTA5OTAxZWRj
ZTUxODkxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaAor
KysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIElEQktleVBhdGhC
YWNrZW5kSW1wbF9oCi0jZGVmaW5lIElEQktleVBhdGhCYWNrZW5kSW1wbF9oCi0KLSNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSURCS2V5OwotY2xhc3MgSURCS2V5UGF0aDsKLWNsYXNz
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKLQotY2xhc3MgSURCS2V5UGF0aEJhY2tlbmRJbXBsIHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6ZWRWYWx1
ZXNBbmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
MD4mIHZhbHVlcywgY29uc3QgSURCS2V5UGF0aCYsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiwgMD4m
IGtleXMpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gaW5q
ZWN0SURCS2V5SW50b1NlcmlhbGl6ZWRWYWx1ZShQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgY29uc3QgSURCS2V5UGF0aCYpOwotfTsKLQotfQot
Ci0jZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KLSNlbmRpZiAvLyBJREJLZXlQ
YXRoQmFja2VuZEltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAppbmRleCBiNmQwZWEw
YTUwZGUyMGRkZWFjNTE1ZjY0ZjZkODU5M2E2NzI0M2ZhLi4wZTBiZjQ4YmIzMzdlZGZjNmM5Yjkw
MTc3YTZiYjQwMWYyOGNkZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcApAQCAtMzks
NyArMzksNiBAQAogI2luY2x1ZGUgIklEQkluZGV4QmFja2VuZEltcGwuaCIKICNpbmNsdWRlICJJ
REJLZXkuaCIKICNpbmNsdWRlICJJREJLZXlQYXRoLmgiCi0jaW5jbHVkZSAiSURCS2V5UGF0aEJh
Y2tlbmRJbXBsLmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2UuaCIKICNpbmNsdWRlICJJREJUcmFj
aW5nLmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5oIgpAQCAtMjAxLDIw
ICsyMDAsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAg
UGFzc1JlZlB0cjxJREJLZXk+IGZldGNoS2V5RnJvbUtleVBhdGgoU2VyaWFsaXplZFNjcmlwdFZh
bHVlKiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIElEQl9UUkFDRSgiSW5kZXhXcml0ZXI6OmZldGNo
S2V5RnJvbUtleVBhdGgiKTsKLQotICAgICAgICBWZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gPiB2YWx1ZXM7Ci0gICAgICAgIHZhbHVlcy5hcHBlbmQodmFsdWUpOwotICAgICAg
ICBWZWN0b3I8UmVmUHRyPElEQktleT4gPiBrZXlzOwotICAgICAgICBJREJLZXlQYXRoQmFja2Vu
ZEltcGw6OmNyZWF0ZUlEQktleXNGcm9tU2VyaWFsaXplZFZhbHVlc0FuZEtleVBhdGgodmFsdWVz
LCBtX2luZGV4TWV0YWRhdGEua2V5UGF0aCwga2V5cyk7Ci0gICAgICAgIGlmIChrZXlzLmlzRW1w
dHkoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBBU1NFUlQoa2V5cy5zaXplKCkg
PT0gMSk7Ci0gICAgICAgIHJldHVybiBrZXlzWzBdLnJlbGVhc2UoKTsKLSAgICB9Ci0KICAgICBj
b25zdCBJREJJbmRleE1ldGFkYXRhIG1faW5kZXhNZXRhZGF0YTsKICAgICBJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbnRlcmZhY2U6OkluZGV4S2V5cyBtX2luZGV4S2V5czsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDQwODJkODU0ZmI3YzA1MGI3MzlhNDg4NmNi
MDNlZjBmMjhkNDcwYzkuLjY0NzEzZmJjOGQ2ZDMyMWIyMTJlYTE2YmFhNDQyMTI0NDdmMTE3MDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0yMDQzLDcgKzIwNDMs
NiBAQAogCiAgICAgICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxl
U3lzdGVtXFwuY3BwJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnTW9kdWxlcy9pbmRleGVkZGIv
SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2VcXC5jcHAkJ10sCi0gICAgICAgIFsnZXhjbHVkZScs
ICdNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGxcXC5jcHAkJ10sCiAgICAg
ICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlckNsaWVu
dFxcLmgkJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlVHJhY2tlclxcLmNwcCQnXSwKICAgICAgICAgWydleGNsdWRlJywgJ01vZHVsZXMvd2ViZGF0
YWJhc2UvT3JpZ2luUXVvdGFNYW5hZ2VyXFwuKGNwcHxoKSQnXSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCBmNmM3NmNhNDA0NmZjMzYxNDg2N2Q1YWViMGI4ZWZhMTZiZDY5Mzc1Li41ODc3Y2ViNGFiYzc0
ZWZkMDUzZGMyYjkyMTQwYjIxZTRiZTNlMDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNTE2LDgg
KzE1MTYsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5oJywKICAg
ICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5oJywKLSAgICAgICAgICAgICdNb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwJywKLSAgICAgICAgICAgICdNb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuaCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJLZXlSYW5nZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9J
REJMZXZlbERCQ29kaW5nLmNwcCcsCkBAIC00OTk5LDcgKzQ5OTcsNiBAQAogICAgICAgICAgICAg
J3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvY2hyb21pdW0vSURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2UuY3BwJywKLSAgICAgICAgICAgICdzdG9yYWdlL2Nocm9taXVtL0lEQktl
eVBhdGhCYWNrZW5kSW1wbC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uvd2luY2UvRGF0YWJh
c2VUaHJlYWRXaW5DRS5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uvd2luY2UvRGF0YWJhc2VU
aHJlYWRXaW5DRS5oJywKICAgICAgICAgICAgICdzdG9yYWdlL3dpbmNlL1N0b3JhZ2VUaHJlYWRX
aW5DRS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDc4NDFmODI3ZmIyMDg0Y2M2ZTg4MDJkNmM5Y2UzZDRkMmY0ZjJhM2Iu
LjA3ZWJlYjEwNGVmOTU2ODY0ZGViMjMzNDg5ZTJmNmM2NTM1YTdmOTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM0MjMsOCAr
MzQyMyw2IEBACiAJCTk3MTJBNURDMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJLZXkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3MTJBNTgzMTUwMDRFREEw
MDQ4QUYxMCAvKiBJREJLZXkuaCAqLzsgfTsKIAkJOTcxMkE1REUxNTAwNEVEQTAwNDhBRjEwIC8q
IElEQktleVBhdGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTcxMkE1ODUxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBhdGguY3BwICovOyB9Owog
CQk5NzEyQTVERjE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UGF0aC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcxMkE1ODYxNTAwNEVEQTAwNDhBRjEw
IC8qIElEQktleVBhdGguaCAqLzsgfTsKLQkJOTcxMkE1RTAxNTAwNEVEQTAwNDhBRjEwIC8qIElE
QktleVBhdGhCYWNrZW5kSW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NzEyQTU4NzE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UGF0aEJhY2tl
bmRJbXBsLmNwcCAqLzsgfTsKLQkJOTcxMkE1RTExNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBh
dGhCYWNrZW5kSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTcxMkE1ODgxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBhdGhCYWNrZW5kSW1wbC5o
ICovOyB9OwogCQk5NzEyQTVFMjE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UmFuZ2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcxMkE1ODkxNTAw
NEVEQTAwNDhBRjEwIC8qIElEQktleVJhbmdlLmNwcCAqLzsgfTsKIAkJOTcxMkE1RTMxNTAwNEVE
QTAwNDhBRjEwIC8qIElEQktleVJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NzEyQTU4QTE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UmFuZ2Uu
aCAqLzsgfTsKIAkJOTcxMkE1RTUxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkxldmVsREJCYWNraW5n
U3RvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTcxMkE1OEMxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwICov
OyB9OwpAQCAtMTA1ODYsOCArMTA1ODQsNiBAQAogCQk5NzEyQTU4NDE1MDA0RURBMDA0OEFGMTAg
LyogSURCS2V5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBJREJLZXkuaWRsOyBwYXRoID0g
TW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTcxMkE1ODUxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBhdGguY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSURCS2V5UGF0aC5jcHA7IHBhdGggPSBNb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTcxMkE1ODYxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBhdGguaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gSURCS2V5UGF0aC5oOyBwYXRoID0gTW9kdWxlcy9pbmRleGVkZGIv
SURCS2V5UGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NzEyQTU4NzE1MDA0
RURBMDA0OEFGMTAgLyogSURCS2V5UGF0aEJhY2tlbmRJbXBsLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElEQktleVBhdGhCYWNrZW5kSW1wbC5jcHA7IHBhdGggPSBN
b2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoQmFja2VuZEltcGwuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk5NzEyQTU4ODE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UGF0aEJh
Y2tlbmRJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IElEQktleVBhdGhC
YWNrZW5kSW1wbC5oOyBwYXRoID0gTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aEJhY2tlbmRJ
bXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MTJBNTg5MTUwMDRFREEwMDQ4
QUYxMCAvKiBJREJLZXlSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBJREJLZXlSYW5nZS5jcHA7IHBhdGggPSBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5n
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MTJBNThBMTUwMDRFREEwMDQ4
QUYxMCAvKiBJREJLZXlSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBJ
REJLZXlSYW5nZS5oOyBwYXRoID0gTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTcxMkE1OEIxNTAwNEVEQTAwNDhBRjEwIC8qIElE
QktleVJhbmdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBJREJLZXlSYW5nZS5pZGw7IHBh
dGggPSBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5nZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xNzc3Niw4ICsxNzc3Miw2IEBACiAJCQkJOTcxMkE1ODQxNTAwNEVEQTAw
NDhBRjEwIC8qIElEQktleS5pZGwgKi8sCiAJCQkJOTcxMkE1ODUxNTAwNEVEQTAwNDhBRjEwIC8q
IElEQktleVBhdGguY3BwICovLAogCQkJCTk3MTJBNTg2MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJL
ZXlQYXRoLmggKi8sCi0JCQkJOTcxMkE1ODcxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBhdGhC
YWNrZW5kSW1wbC5jcHAgKi8sCi0JCQkJOTcxMkE1ODgxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktl
eVBhdGhCYWNrZW5kSW1wbC5oICovLAogCQkJCTk3MTJBNTg5MTUwMDRFREEwMDQ4QUYxMCAvKiBJ
REJLZXlSYW5nZS5jcHAgKi8sCiAJCQkJOTcxMkE1OEExNTAwNEVEQTAwNDhBRjEwIC8qIElEQktl
eVJhbmdlLmggKi8sCiAJCQkJOTcxMkE1OEIxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVJhbmdl
LmlkbCAqLywKQEAgLTIzNjI1LDcgKzIzNjE5LDYgQEAKIAkJCQk5NzEyQTVEQTE1MDA0RURBMDA0
OEFGMTAgLyogSURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzEyQTVEQzE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzEyQTVERjE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UGF0aC5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJOTcxMkE1RTExNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBhdGhCYWNrZW5kSW1wbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTcxMkE1RTMxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVJhbmdl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzEyQTVFNjE1MDA0RURBMDA0OEFGMTAgLyogSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcxMkE1RTgxNTAwNEVEQTAw
NDhBRjEwIC8qIElEQkxldmVsREJDb2RpbmcuaCBpbiBIZWFkZXJzICovLApAQCAtMjY4MjgsNyAr
MjY4MjEsNiBAQAogCQkJCTk3MTJBNUQ4MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJJbmRleEJhY2tl
bmRJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3MTJBNURCMTUwMDRFREEwMDQ4QUYxMCAv
KiBJREJLZXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTcxMkE1REUxNTAwNEVEQTAwNDhBRjEw
IC8qIElEQktleVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTcxMkE1RTAxNTAwNEVEQTAw
NDhBRjEwIC8qIElEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
NzEyQTVFMjE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTcxMkE1RTUxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkxldmVsREJCYWNraW5nU3RvcmUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTcxMkE1RTcxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkxl
dmVsREJDb2RpbmcuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCmluZGV4IDYxOTU3M2IyMjUzYmQ1ZmFl
MmYxMTI1NmU4Zjk2YzVkOWFhYjYyZTcuLjg3ODgzNGEwYzQyM2Q1ZmEyM2NmOGIyYTAyMzAxYjA1
NDY2NTBlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtU3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtU3VwcG9ydC5oCkBAIC03NCw4ICs3NCw2IEBAIGNsYXNzIEdlb2xvY2F0aW9uU2Vydmlj
ZUNocm9taXVtOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgSW1hZ2U7CiBjbGFzcyBJ
REJGYWN0b3J5QmFja2VuZEludGVyZmFjZTsKLWNsYXNzIElEQktleTsKLWNsYXNzIElEQktleVBh
dGg7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgS1VSTDsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKQEAgLTExOSwxMCArMTE3LDYgQEAgcHVibGljOgogCiAgICAgLy8gSW5kZXhlZERCIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gaWRiRmFj
dG9yeSgpOwotICAgIC8vIEV4dHJhY3RzIGtleVBhdGggZnJvbSB2YWx1ZXMgYW5kIHJldHVybnMg
dGhlIGNvcnJlc3BvbmRpbmcga2V5cy4KLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVJREJLZXlzRnJv
bVNlcmlhbGl6ZWRWYWx1ZXNBbmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiA+JiB2YWx1ZXMsIGNvbnN0IElEQktleVBhdGgmLCBWZWN0b3I8UmVmUHRy
PElEQktleT4gPiYga2V5cyk7Ci0gICAgLy8gSW5qZWN0cyBrZXkgdmlhIGtleVBhdGggaW50byB2
YWx1ZS4gUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MuCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBpbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKFBhc3NS
ZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBjb25zdCBJ
REJLZXlQYXRoJik7CiAKICAgICAvLyBKYXZhU2NyaXB0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyB2b2lkIG5vdGlm
eUpTT3V0T2ZNZW1vcnkoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvY2hyb21pdW0vSURCS2V5UGF0aEJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvY2hyb21pdW0vSURCS2V5UGF0aEJhY2tlbmRJbXBsLmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzg2Yzc3ZDk3NzM5YjU1NDQyMGQ1ODljNzA5YTNlN2YwNmRkMWJlMC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL2Nocm9taXVtL0lEQktleVBhdGhCYWNrZW5kSW1wbC5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIklEQktleVBhdGhCYWNrZW5kSW1wbC5oIgotCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJB
U0UpCi0KLSNpbmNsdWRlICJJREJLZXkuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIK
LSNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi12b2lkIElEQktleVBhdGhCYWNrZW5kSW1wbDo6Y3JlYXRlSURCS2V5c0Zyb21TZXJpYWxp
emVkVmFsdWVzQW5kS2V5UGF0aChjb25zdCBWZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4sIDA+JiB2YWx1ZXMsIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGgsIFZlY3RvcjxSZWZQ
dHI8SURCS2V5PiwgMD4mIGtleXMpCi17Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpjcmVhdGVJREJL
ZXlzRnJvbVNlcmlhbGl6ZWRWYWx1ZXNBbmRLZXlQYXRoKHZhbHVlcywga2V5UGF0aCwga2V5cyk7
Ci19Ci0KLVBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBJREJLZXlQYXRoQmFja2Vu
ZEltcGw6OmluamVjdElEQktleUludG9TZXJpYWxpemVkVmFsdWUoUGFzc1JlZlB0cjxJREJLZXk+
IGtleSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlLCBjb25zdCBJREJL
ZXlQYXRoJiBrZXlQYXRoKQotewotICAgIHJldHVybiBQbGF0Zm9ybVN1cHBvcnQ6OmluamVjdElE
QktleUludG9TZXJpYWxpemVkVmFsdWUoa2V5LCB2YWx1ZSwga2V5UGF0aCk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJJREJLZXkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklEQktleS5oCmluZGV4IDBiNzA0Y2FjMjg0NDYxY2MzNjEwMWFlNjFhZWQ2NThkNDAzNjE5
MDQuLjM4MTlkZTg3NTc5NGIyZmE2OTcyZWM0YTAzMmU5YTQ4OTgxNGEwNDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQktleS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQktleS5oCkBAIC0zNSw5ICszNSw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsgY2xhc3MgSURCS2V5OyB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1j
bGFzcyBXZWJJREJLZXlQYXRoOwotY2xhc3MgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOwotCiBj
bGFzcyBXZWJJREJLZXkgewogcHVibGljOgogICAgIC8vIFBsZWFzZSB1c2Ugb25lIG9mIHRoZSBm
YWN0b3J5IG1ldGhvZHMuIFRoaXMgaXMgcHVibGljIG9ubHkgdG8gYWxsb3cgV2ViVmVjdG9yLgpA
QCAtNTAsOCArNDcsNiBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURC
S2V5IGNyZWF0ZU51bWJlcihkb3VibGUpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYklE
QktleSBjcmVhdGVJbnZhbGlkKCk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5
IGNyZWF0ZU51bGwoKTsKLSAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRl
RnJvbVZhbHVlQW5kS2V5UGF0aChjb25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmLCBjb25z
dCBXZWJJREJLZXlQYXRoJik7Ci0gICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlIGluamVjdElEQktleUludG9TZXJpYWxpemVkVmFsdWUoY29uc3QgV2ViSURC
S2V5JiwgY29uc3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiwgY29uc3QgV2ViSURCS2V5UGF0
aCYpOwogCiAgICAgV2ViSURCS2V5KGNvbnN0IFdlYklEQktleSYgZSkgeyBhc3NpZ24oZSk7IH0K
ICAgICBXZWJJREJLZXkmIG9wZXJhdG9yPShjb25zdCBXZWJJREJLZXkmIGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1
cHBvcnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBs
YXRmb3JtU3VwcG9ydC5oCmluZGV4IDcwYWQ4NTIyOGQ0MDM4NDJiMmU5ZmI1NmY3OGYzOTFkYjlk
NWVmNzIuLmE0ZTIzOTdjZGE2YzkzMjYyNWYxMmZkZTVmMDgyZmFmNDkyYmJiZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3Jt
U3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dl
YktpdFBsYXRmb3JtU3VwcG9ydC5oCkBAIC00OSw4ICs0OSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVs
b25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQ7IC8v
IEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViSURCRmFjdG9y
eTsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/Ci1jbGFzcyBXZWJJREJL
ZXk7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwotY2xhc3MgV2ViSURC
S2V5UGF0aDsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/CiBjbGFzcyBX
ZWJQbHVnaW5MaXN0QnVpbGRlcjsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZv
cm0/CiBjbGFzcyBXZWJTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OyAvLyBGSVhNRTogRG9lcyB0aGlz
IGJlbG9uZyBpbiBwbGF0Zm9ybT8KIApAQCAtNjAsOCArNTgsNiBAQCBwdWJsaWM6CiAgICAgLy8g
SW5kZXhlZCBEYXRhYmFzZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKICAgICB2aXJ0dWFsIFdlYklEQkZhY3RvcnkqIGlkYkZhY3RvcnkoKSB7
IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB2b2lkIGNyZWF0ZUlEQktleXNGcm9tU2VyaWFsaXpl
ZFZhbHVlc0FuZEtleVBhdGgoY29uc3QgV2ViVmVjdG9yPFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4mIHZhbHVlcywgIGNvbnN0IFdlYklEQktleVBhdGgmIGtleVBhdGgsIFdlYlZlY3RvcjxXZWJJ
REJLZXk+JiBrZXlzKSB7IH0KLSAgICB2aXJ0dWFsIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBp
bmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKGNvbnN0IFdlYklEQktleSYga2V5LCBjb25z
dCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBXZWJJREJLZXlQYXRoJiBr
ZXlQYXRoKSB7IHJldHVybiBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUoKTsgfQogCiAKICAgICAv
LyBQbHVnaW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Bs
YXRmb3JtU3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1
cHBvcnQuY3BwCmluZGV4IGZkMjU5Nzc2YjhiZjE0MzlmMTlkYmM0YzQ5ZjczZjk1NDNiYTI2NWUu
LmEwMDZmYWIzOTQ4MjY3MzU4ODdmNTFmYWI4MmNhYzU3NmNkNDhiM2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcApAQCAtMzksOCArMzksNiBA
QAogI2luY2x1ZGUgIldlYkZpbGVVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJXZWJGcmFtZUNsaWVu
dC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgotI2luY2x1ZGUgIldlYklEQktleS5oIgot
I2luY2x1ZGUgIldlYklEQktleVBhdGguaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNsdWRl
ICJXZWJQbHVnaW5Db250YWluZXJJbXBsLmgiCiAjaW5jbHVkZSAiV2ViUGx1Z2luTGlzdEJ1aWxk
ZXJJbXBsLmgiCkBAIC0yODMsMjMgKzI4MSw2IEBAIFBhc3NSZWZQdHI8SURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2U+IFBsYXRmb3JtU3VwcG9ydDo6aWRiRmFjdG9yeSgpCiAgICAgcmV0dXJuIElE
QkZhY3RvcnlCYWNrZW5kUHJveHk6OmNyZWF0ZSgpOwogfQogCi12b2lkIFBsYXRmb3JtU3VwcG9y
dDo6Y3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFsdWVzQW5kS2V5UGF0aChjb25zdCBWZWN0
b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gPiYgdmFsdWVzLCBjb25zdCBJREJLZXlQ
YXRoJiBrZXlQYXRoLCBWZWN0b3I8UmVmUHRyPElEQktleT4gPiYga2V5cykKLXsKLSAgICBXZWJW
ZWN0b3I8V2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlPiB3ZWJWYWx1ZXMgPSB2YWx1ZXM7Ci0gICAg
V2ViVmVjdG9yPFdlYklEQktleT4gd2ViS2V5czsKLSAgICB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQo
KS0+Y3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFsdWVzQW5kS2V5UGF0aCh3ZWJWYWx1ZXMs
IGtleVBhdGgsIHdlYktleXMpOwotCi0gICAgc2l6ZV90IHdlYktleXNTaXplID0gd2ViS2V5cy5z
aXplKCk7Ci0gICAga2V5cy5yZXNlcnZlQ2FwYWNpdHkod2ViS2V5c1NpemUpOwotICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgd2ViS2V5c1NpemU7ICsraSkKLSAgICAgICAga2V5cy5hcHBlbmQo
UGFzc1JlZlB0cjxJREJLZXk+KHdlYktleXNbaV0pKTsKLX0KLQotUGFzc1JlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+IFBsYXRmb3JtU3VwcG9ydDo6aW5qZWN0SURCS2V5SW50b1NlcmlhbGl6
ZWRWYWx1ZShQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gdmFsdWUsIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGgpCi17Ci0gICAgcmV0dXJu
IHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5pbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVl
KGtleSwgdmFsdWUsIGtleVBhdGgpOwotfQotCiAvLyBQbHVnaW4gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGJv
b2wgUGxhdGZvcm1TdXBwb3J0OjpwbHVnaW5zKGJvb2wgcmVmcmVzaCwgVmVjdG9yPFBsdWdpbklu
Zm8+KiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SURCS2V5LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKaW5k
ZXggY2ZhZGFmYmFjZDk3Mzg5ZTg1ZjZlNGMzZGUxOTIyNTA0YWJhMzlhNy4uZDYwYjVmNWMxYzli
NDRhNzZmMzFkOTEzNmIwNDc4ODM5YWFhZmU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViSURCS2V5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJJREJLZXkuY3BwCkBAIC0zMiwxMCArMzIsNiBAQAogCiAjaW5jbHVkZSAiSURCQmluZGlu
Z1V0aWxpdGllcy5oIgogI2luY2x1ZGUgIklEQktleS5oIgotI2luY2x1ZGUgIklEQktleVBhdGgu
aCIKLSNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKLSNpbmNsdWRlICJXZWJJREJL
ZXlQYXRoLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgi
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC04MywxOSArNzksNiBAQCBXZWJJREJL
ZXkgV2ViSURCS2V5OjpjcmVhdGVOdWxsKCkKICAgICByZXR1cm4ga2V5OwogfQogCi1XZWJJREJL
ZXkgV2ViSURCS2V5OjpjcmVhdGVGcm9tVmFsdWVBbmRLZXlQYXRoKGNvbnN0IFdlYlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSYgc2VyaWFsaXplZFNjcmlwdFZhbHVlLCBjb25zdCBXZWJJREJLZXlQYXRo
JiBpZGJLZXlQYXRoKQotewotICAgIC8vIEZJWE1FOiBJZiBrZXkgcGF0aCBpcyBlbXB0eSBzdHJp
bmcsIHRoaXMgc2hvdWxkIHJldHVybiBpbnZhbGlkIGtleSBpbnN0ZWFkCi0gICAgaWYgKHNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIFdlYklEQktleTo6Y3Jl
YXRlTnVsbCgpOwotICAgIHJldHVybiBjcmVhdGVJREJLZXlGcm9tU2VyaWFsaXplZFZhbHVlQW5k
S2V5UGF0aChzZXJpYWxpemVkU2NyaXB0VmFsdWUsIGlkYktleVBhdGgpOwotfQotCi1XZWJTZXJp
YWxpemVkU2NyaXB0VmFsdWUgV2ViSURCS2V5OjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZh
bHVlKGNvbnN0IFdlYklEQktleSYga2V5LCBjb25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUm
IHZhbHVlLCBjb25zdCBXZWJJREJLZXlQYXRoJiBwYXRoKQotewotICAgIHJldHVybiBXZWJDb3Jl
OjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKGtleSwgdmFsdWUsIHBhdGgpOwotfQot
CiB2b2lkIFdlYklEQktleTo6YXNzaWduKGNvbnN0IFdlYklEQktleSYgdmFsdWUpCiB7CiAgICAg
bV9wcml2YXRlID0gdmFsdWUubV9wcml2YXRlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>