<?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>155990</bug_id>
          
          <creation_ts>2016-03-29 15:45:30 -0700</creation_ts>
          <short_desc>Web Automation: Add Automation.performKeyboardInteractions</short_desc>
          <delta_ts>2016-03-30 19:04:15 -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>Web Inspector</component>
          <version>WebKit Local 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1178835</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-29 15:45:30 -0700</bug_when>
    <thetext>-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178836</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-29 15:45:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/25426408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178847</commentid>
    <comment_count>2</comment_count>
      <attachid>275145</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-29 16:05:50 -0700</bug_when>
    <thetext>Created attachment 275145
Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178850</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-29 16:08:37 -0700</bug_when>
    <thetext>Attachment 275145 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/Cocoa/WebAutomationSessionCocoa.mm:446:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 7 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>1178867</commentid>
    <comment_count>4</comment_count>
      <attachid>275151</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-29 16:55:05 -0700</bug_when>
    <thetext>Created attachment 275151
Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178869</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-29 16:56:07 -0700</bug_when>
    <thetext>Attachment 275151 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/Cocoa/WebAutomationSessionCocoa.mm:449:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 7 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>1179291</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-03-30 19:04:15 -0700</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/198872&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275145</attachid>
            <date>2016-03-29 16:05:50 -0700</date>
            <delta_ts>2016-03-29 16:55:01 -0700</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-155990-20160329160553.patch</filename>
            <type>text/plain</type>
            <size>32447</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGVjNTg1MTNmYTgyMzYzMzMwM2RjNjVh
NTExNzM1ZDNkY2Y3Yjg4NWUuLjJjMWEyNDQwZjI2Mzg4NTI4N2ZhYWY2NDYyY2M4ZTZjZTcyNjBj
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDMtMjkgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IEFkZCBBdXRvbWF0aW9uLnBlcmZv
cm1LZXlib2FyZEludGVyYWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU1OTkwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNTQyNjQwOD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBt
aXNzaW5nIE5TRXZlbnRUeXBlIGRlY2xhcmF0aW9uLgorCisgICAgICAgICogd3RmL21hYy9BcHBL
aXRDb21wYXRpYmlsaXR5RGVjbGFyYXRpb25zLmg6CisKIDIwMTYtMDMtMjggIEJyaWFuIEJ1cmcg
IDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEF1dG9tYXRpb246IGltcGxlbWVudCBB
dXRvbWF0aW9uLnBlcmZvcm1Nb3VzZUludGVyYWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWMzZGU5OWVk
NTAyNjM4NWQ5Y2NmOWFmMWRkNTdmNjRkOWFiNTE4OC4uMDM3Y2I4MWM5OGI0YTc2MmViZjFlNDgz
ZTI5ODM4ZGYzZTdmZjJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE2LTAzLTI5
ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCisgICAgICAgIFdlYiBBdXRvbWF0aW9u
OiBBZGQgQXV0b21hdGlvbi5wZXJmb3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTk5MAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjU0MjY0MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGEgY29tbWFuZCB0aGF0IGFsbG93cyBhdXRvbWF0aW9uIHRvIHNp
bXVsYXRlIHNpbmdsZQorICAgICAgICBrZXkgc3Ryb2tlcyBvciBpbnNlcnRpb24gb2YgYW4gZW50
aXJlIHN0cmluZywgY2hhcmFjdGVyCisgICAgICAgIGJ5IGNoYXJhY3Rlci4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbjogQWRkIG5ldyBjb21tYW5kLgor
ICAgICAgICBBZGQgYSBsYXJnZSBlbnVtZXJhdGlvbiBvZiBhbGwgdmlydHVhbCBrZXlzIHRoYXQg
ZXhpc3QKKyAgICAgICAgb24gYSBVUyAxMDkta2V5IGtleWJvYXJkIGxheW91dC4gQWRkIGFuIGlu
dGVyYWN0aW9uIG9iamVjdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b246OnBlcmZvcm1LZXlib2FyZEludGVyYWN0aW9ucyk6CisgICAgICAgIEFkZGVkLiBUaGlzIG1l
dGhvZCB2YWxpZGF0ZXMgdGhlIGluY29taW5nIGtleSBpbnRlcmFjdGlvbnMKKyAgICAgICAgZnJv
bSB0aGUgcHJvdG9jb2wgYW5kIG1ha2VzIGEgbGlzdCBvZiBzaW11bGF0ZWQgaW50ZXJhY3Rpb25z
CisgICAgICAgIHRvIHBlcmZvcm0uIElmIGV2ZXJ5dGhpbmcgdmFsaWRhdGVzLCB0aGVuIGRlbGVn
YXRlIHRoZSBrZXkKKyAgICAgICAgaW50ZXJhY3Rpb24gc2ltdWxhdGlvbnMgdG8gcGxhdGZvcm0t
c3BlY2lmaWMgbWV0aG9kcy4KKworICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6cGxhdGZvcm1TaW11bGF0ZUtleVN0cm9rZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlS2V5U2VxdWVuY2UpOgorICAgICAgICBBZGQg
c3R1YnMgZm9yIG90aGVyIHBsYXRmb3Jtcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmg6IEFkZCBuZXcKKyAgICAgICAgcHJvdG9jb2wgY29t
bWFuZCBoYW5kbGVyIGFuZCBwbGF0Zm9ybSBzaW11bGF0aW9uIG1ldGhvZHMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViQXV0b21hdGlvblNlc3Npb25Db2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVLZXlTdHJva2Up
OgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0
ZUtleVNlcXVlbmNlKToKKyAgICAgICAgVGhlc2UgbWV0aG9kcyBpbXBsZW1lbnQga2V5Ym9hcmQg
c2ltdWxhdGlvbiBmb3IgQXBwS2l0LCB1c2VkCisgICAgICAgIGJ5IHRoZSBNYWMgcG9ydC4gSW4g
dGhlIGtleXN0cm9rZSBjYXNlLCBmaWd1cmUgb3V0IHRoZSBBcHBLaXQKKyAgICAgICAga2V5Q29k
ZSBmb3IgdGhlIGtleSBhcyB3ZWxsIGFzIGFueSBrZXkgbW9kaWZpZXJzIHRoYXQgc2hvdWxkCisg
ICAgICAgIGJlIGluY2x1ZGVkIHdpdGggdGhlIGtleSBldmVudC4gS2VlcCB0cmFjayBvZiBzdGlj
a3kgbW9kaWZpZXJzCisgICAgICAgIGFuZCB1cGRhdGUgdGhlIHNlc3Npb24gc3RhdGUgYXBwcm9w
cmlhdGVseS4gSW4gdGhlIGtleSBzZXF1ZW5jZQorICAgICAgICBjYXNlLCBzcGxpdCB0aGUgc3Ry
aW5nIGludG8gY29tYmluaW5nIGNoYXJhY3RlciBzZXF1ZW5jZXMgYW5kCisgICAgICAgIHNlbmQg
YSAna2V5IHVwL2Rvd24nLiBUaGlzIGlzIGEgd2VpcmQgd2F5IHRvIHNlbmQgbm9uLUFTQ0lJCisg
ICAgICAgIHRleHQsIHNvIGEgYmV0dGVyIGFsdGVybmF0aXZlIHNob3VsZCBiZSBleHBsb3JlZCBp
biB0aGUgZnV0dXJlLgorCisyMDE2LTAzLTI5ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYiBBdXRvbWF0aW9uOiBBZGQgU1BJIHRvIHRlbGwgd2hldGhlciBhbiBO
U0V2ZW50IHdhcyBzeW50aGVzaXplZCBmb3IgYXV0b21hdGlvbgogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1OTYzCiAgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yNTQwNTc0Nz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL21hYy9BcHBLaXRDb21w
YXRpYmlsaXR5RGVjbGFyYXRpb25zLmggYi9Tb3VyY2UvV1RGL3d0Zi9tYWMvQXBwS2l0Q29tcGF0
aWJpbGl0eURlY2xhcmF0aW9ucy5oCmluZGV4IDFmYWY5NGFjNjAwNDJiZWRmMDhmNmM0NDc5Nzk5
NjJhM2Q1NzA4MTIuLjY1MzVhZWE5YmRmZjM4NmJmNTU2MGRkYzBkNDcyNWUxYjhmZTYwZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL21hYy9BcHBLaXRDb21wYXRpYmlsaXR5RGVjbGFyYXRp
b25zLmgKKysrIGIvU291cmNlL1dURi93dGYvbWFjL0FwcEtpdENvbXBhdGliaWxpdHlEZWNsYXJh
dGlvbnMuaApAQCAtNjksNiArNjksNyBAQCBzdGF0aWMgY29uc3QgTlNFdmVudE1vZGlmaWVyRmxh
Z3MgTlNFdmVudE1vZGlmaWVyRmxhZ0RldmljZUluZGVwZW5kZW50RmxhZ3NNYXNrCiBzdGF0aWMg
Y29uc3QgTlNFdmVudE1vZGlmaWVyRmxhZ3MgTlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uID0g
TlNGdW5jdGlvbktleU1hc2s7CiBzdGF0aWMgY29uc3QgTlNFdmVudE1vZGlmaWVyRmxhZ3MgTlNF
dmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQgPSBOU051bWVyaWNQYWRLZXlNYXNrOwogc3RhdGlj
IGNvbnN0IE5TRXZlbnRNb2RpZmllckZsYWdzIE5TRXZlbnRNb2RpZmllckZsYWdTaGlmdCA9IE5T
U2hpZnRLZXlNYXNrOworc3RhdGljIGNvbnN0IE5TRXZlbnRNb2RpZmllckZsYWdzIE5TRXZlbnRN
b2RpZmllckZsYWdIZWxwID0gTlNIZWxwS2V5TWFzazsKIAogc3RhdGljIGNvbnN0IE5TRXZlbnRU
eXBlIE5TRXZlbnRUeXBlRmxhZ3NDaGFuZ2VkID0gTlNGbGFnc0NoYW5nZWQ7CiBzdGF0aWMgY29u
c3QgTlNFdmVudFR5cGUgTlNFdmVudFR5cGVLZXlEb3duID0gTlNLZXlEb3duOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCmluZGV4
IDg1NGEwYzI1NTc3ZDFlMDBhNDBkNmVmZTRmM2E0NGNjZTU5NDE5NzYuLjg1ZmFhNjJlNGU3Njcz
NjZmOGMwNmZkNjM3OTQ3ODk2ZTFjNmZlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KQEAgLTEwMyw3ICsxMDMsOTAgQEAK
ICAgICAgICAgICAgICAgICAiTWV0YSIsCiAgICAgICAgICAgICAgICAgIkFsdCIKICAgICAgICAg
ICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIlZpcnR1YWxL
ZXkiLAorICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJFbnVtZXJhdGVzIGRpZmZlcmVudCBwbGF0Zm9ybS1pbmRlcGVuZGVudCB2aXJ0dWFs
IGtleXMgb24gYSBwaHlzaWNhbCBrZXlib2FyZCB3aG9zZSBpbnB1dCB2aWEga2V5Ym9hcmQgbWF5
IG9yIG1heSBub3QgcHJvZHVjZSBjaGFyYWN0ZXJzLiIsCisgICAgICAgICAgICAiZW51bSI6IFsK
KyAgICAgICAgICAgICAgICAiU2hpZnQiLAorICAgICAgICAgICAgICAgICJDb250cm9sIiwKKyAg
ICAgICAgICAgICAgICAiQWx0ZXJuYXRlIiwKKyAgICAgICAgICAgICAgICAiTWV0YSIsCisgICAg
ICAgICAgICAgICAgIkNvbW1hbmQiLAorICAgICAgICAgICAgICAgICJDYW5jZWwiLAorICAgICAg
ICAgICAgICAgICJIZWxwIiwKKyAgICAgICAgICAgICAgICAiQmFja3NwYWNlIiwKKyAgICAgICAg
ICAgICAgICAiVGFiIiwKKyAgICAgICAgICAgICAgICAiQ2xlYXIiLAorICAgICAgICAgICAgICAg
ICJFbnRlciIsCisgICAgICAgICAgICAgICAgIlBhdXNlIiwKKyAgICAgICAgICAgICAgICAiRXNj
YXBlIiwKKyAgICAgICAgICAgICAgICAiUGFnZVVwIiwKKyAgICAgICAgICAgICAgICAiUGFnZURv
d24iLAorICAgICAgICAgICAgICAgICJFbmQiLAorICAgICAgICAgICAgICAgICJIb21lIiwKKyAg
ICAgICAgICAgICAgICAiTGVmdEFycm93IiwKKyAgICAgICAgICAgICAgICAiVXBBcnJvdyIsCisg
ICAgICAgICAgICAgICAgIlJpZ2h0QXJyb3ciLAorICAgICAgICAgICAgICAgICJEb3duQXJyb3ci
LAorICAgICAgICAgICAgICAgICJJbnNlcnQiLAorICAgICAgICAgICAgICAgICJEZWxldGUiLAor
ICAgICAgICAgICAgICAgICJTcGFjZSIsCisgICAgICAgICAgICAgICAgIlNlbWljb2xvbiIsCisg
ICAgICAgICAgICAgICAgIkVxdWFscyIsCisgICAgICAgICAgICAgICAgIlJldHVybiIsCisgICAg
ICAgICAgICAgICAgIk51bWJlclBhZDAiLAorICAgICAgICAgICAgICAgICJOdW1iZXJQYWQxIiwK
KyAgICAgICAgICAgICAgICAiTnVtYmVyUGFkMiIsCisgICAgICAgICAgICAgICAgIk51bWJlclBh
ZDMiLAorICAgICAgICAgICAgICAgICJOdW1iZXJQYWQ0IiwKKyAgICAgICAgICAgICAgICAiTnVt
YmVyUGFkNSIsCisgICAgICAgICAgICAgICAgIk51bWJlclBhZDYiLAorICAgICAgICAgICAgICAg
ICJOdW1iZXJQYWQ3IiwKKyAgICAgICAgICAgICAgICAiTnVtYmVyUGFkOCIsCisgICAgICAgICAg
ICAgICAgIk51bWJlclBhZDkiLAorICAgICAgICAgICAgICAgICJOdW1iZXJQYWRNdWx0aXBseSIs
CisgICAgICAgICAgICAgICAgIk51bWJlclBhZEFkZCIsCisgICAgICAgICAgICAgICAgIk51bWJl
clBhZFNlcGFyYXRvciIsCisgICAgICAgICAgICAgICAgIk51bWJlclBhZFN1YnRyYWN0IiwKKyAg
ICAgICAgICAgICAgICAiTnVtYmVyUGFkRGVjaW1hbCIsCisgICAgICAgICAgICAgICAgIk51bWJl
clBhZERpdmlkZSIsCisgICAgICAgICAgICAgICAgIkZ1bmN0aW9uMSIsCisgICAgICAgICAgICAg
ICAgIkZ1bmN0aW9uMiIsCisgICAgICAgICAgICAgICAgIkZ1bmN0aW9uMyIsCisgICAgICAgICAg
ICAgICAgIkZ1bmN0aW9uNCIsCisgICAgICAgICAgICAgICAgIkZ1bmN0aW9uNSIsCisgICAgICAg
ICAgICAgICAgIkZ1bmN0aW9uNiIsCisgICAgICAgICAgICAgICAgIkZ1bmN0aW9uNyIsCisgICAg
ICAgICAgICAgICAgIkZ1bmN0aW9uOCIsCisgICAgICAgICAgICAgICAgIkZ1bmN0aW9uOSIsCisg
ICAgICAgICAgICAgICAgIkZ1bmN0aW9uMTAiLAorICAgICAgICAgICAgICAgICJGdW5jdGlvbjEx
IiwKKyAgICAgICAgICAgICAgICAiRnVuY3Rpb24xMiIKKyAgICAgICAgICAgIF0KKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIktleWJvYXJkSW50ZXJhY3Rpb25UeXBl
IiwKKyAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRW51bWVyYXRlcyBkaWZmZXJlbnQgd2F5cyBvZiBpbnRlcmFjdGluZyB3aXRoIGEga2V5
Ym9hcmQgZGV2aWNlLiAnSW5zZXJ0QnlLZXknIGltcGxpZXMgdGhhdCBhIHNlcGFyYXRlIEtleURv
d24gYW5kIEtleVVwIGV2ZW50IGFyZSBwcm9kdWNlZCBmb3IgZWFjaCBjb21iaW5pbmcgY2hhcmFj
dGVyIHNlcXVlbmNlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3R1YWwga2V5c3Ryb2tlcyByZXF1aXJl
ZCB0byBwcm9kdWNlIHRoZSBjaGFyYWN0ZXIgc2VxdWVuY2UuIiwKKyAgICAgICAgICAgICJlbnVt
IjogWworICAgICAgICAgICAgICAgICJLZXlQcmVzcyIsCisgICAgICAgICAgICAgICAgIktleVJl
bGVhc2UiLAorICAgICAgICAgICAgICAgICJJbnNlcnRCeUtleSIKKyAgICAgICAgICAgIF0KKyAg
ICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIktleWJvYXJkSW50ZXJhY3Rp
b24iLAorICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJBIHNpbmdsZSBzdGVwIGluIGEga2V5IHNlcXVlbmNlLiBBIHN0ZXAgY2FuIGNvbnRh
aW4gYSBrZXkgdXAvZG93biBvZiBhIHZpcnR1YWwga2V5LCBvciBhIHNlcXVlbmNlIG9mIFVuaWNv
ZGUgY29kZSBwb2ludHMgdGhhdCBhcmUgZGVsaXZlcmVkIHRvIHRoZSBwYWdlIGF0IGdyYXBoZW1l
IGNsdXN0ZXIgYm91bmRhcmllcy4gRWl0aGVyIGEgJ2tleScgb3IgJ3RleHQnIHByb3BlcnR5IG11
c3QgYmUgc3BlY2lmaWVkLiIsCisgICAgICAgICAgICAicHJvcGVydGllcyI6IFsKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAiJHJlZiI6ICJLZXlib2FyZEludGVyYWN0aW9uVHlw
ZSIsICJkZXNjcmlwdGlvbiI6ICJUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiB0byBiZSBwZXJmb3Jt
ZWQgYnkgYSBzdGVwLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImtleSIsICIkcmVm
IjogIlZpcnR1YWxLZXkiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQSB2aXJ0
dWFsIGtleSB0byBiZSB1c2VkIHRvIHBlcmZvcm0gdGhlIHNwZWNpZmllZCBpbnRlcmFjdGlvbi4i
IH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAic3RyaW5nIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkEgdW5pY29kZSBzdHJpbmcgdG8gYmUg
ZGVsaXZlcmVkIHRvIHRoZSBwYWdlLiBUaGUgc2VxdWVuY2Ugb2Yga2V5IGV2ZW50cyBpcyBkZXRl
cm1pbmVkIGJ5IHNwbGl0dGluZyB0aGUgc3RyaW5nIGF0IGdyYXBoZW1lIGNsdXN0ZXIgYm91bmRh
cmllcy4iIH0KKyAgICAgICAgICAgIF0KICAgICAgICAgfQorCiAgICAgXSwKICAgICAiY29tbWFu
ZHMiOiBbCiAgICAgICAgIHsKQEAgLTIyMCw2ICszMDMsMTQgQEAKICAgICAgICAgICAgIF0KICAg
ICAgICAgfSwKICAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAicGVyZm9ybUtleWJvYXJk
SW50ZXJhY3Rpb25zIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW11bGF0ZXMgZGVs
aXZlcmluZyB0aGUgcmVzdWx0cyBvZiBwcmVzc2luZyBvbmUgb3IgbW9yZSBrZXlib2FyZCBrZXlz
IHRvZ2V0aGVyIG9yIHN1Y2Nlc3NpdmVseS4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
CisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0Nv
bnRleHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5n
IGNvbnRleHQgd2hpY2ggc2hvdWxkIHJlY2lldmUga2V5LiIgfSwKKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImludGVyYWN0aW9ucyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJl
ZiI6ICJLZXlib2FyZEludGVyYWN0aW9uIiB9LCAiZGVzY3JpcHRpb24iOiAiQW4gb3JkZXJlZCBs
aXN0IG9mIGtleSBzZXF1ZW5jZXMgdG8gYmUgZGVsaXZlcmVkIHVzaW5nIG5hdGl2ZSBrZXkgZXZl
bnRzLiIgfQorICAgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAg
ICAibmFtZSI6ICJyZXNvbHZlQ2hpbGRGcmFtZUhhbmRsZSIsCiAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiRGV0ZXJtaW5lcyB0aGUgPGNvZGU+RnJhbWVIYW5kbGU8L2NvZGU+IGJhc2VkIG9u
IHRoZSBvcmRpbmFsLCBuYW1lIG9yIG5vZGUgaGFuZGxlIG9mIGEgY2hpbGQgZnJhbWUuIiwKICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IDJk
MjMzNTM3Yzg4NDkzOTVjYTUxODA4MmY3ZjU4NTg4MTc3NzJiOGQuLjMwMjhhN2UxYWNlNGNmYzU3
YWU4NjI1MTI2OTdkYzUwMWEyZDhlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTcw
OCwxMCArNzA4LDg1IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBlcmZvcm1Nb3VzZUlu
dGVyYWN0aW9uKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVycm9yCiAjZW5kaWYgLy8gVVNFKEFQ
UEtJVCkKIH0KIAordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGVyZm9ybUtleWJvYXJkSW50
ZXJhY3Rpb25zKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBoYW5kbGUs
IGNvbnN0IEluc3BlY3Rvcjo6SW5zcGVjdG9yQXJyYXkmIGludGVyYWN0aW9ucykKK3sKKyNpZiAh
VVNFKEFQUEtJVCkKKyAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdFKE5vdElt
cGxlbWVudGVkKTsKKyNlbHNlCisgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2ViUGFnZVByb3h5
Rm9ySGFuZGxlKGhhbmRsZSk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICBGQUlMX1dJVEhfUFJF
REVGSU5FRF9FUlJPUl9NRVNTQUdFKFdpbmRvd05vdEZvdW5kKTsKKworICAgIGlmICghaW50ZXJh
Y3Rpb25zLmxlbmd0aCgpKQorICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNT
QUdFKEludmFsaWRQYXJhbWV0ZXIpOworCisgICAgLy8gVmFsaWRhdGUgYWxsIG9mIHRoZSBwYXJh
bWV0ZXJzIGJlZm9yZSBwZXJmb3JtaW5nIGFueSBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgYnJvd3Np
bmcgY29udGV4dCB1bmRlciB0ZXN0LgorICAgIFZlY3RvcjxzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4+
IGFjdGlvbnNUb1BlcmZvcm0oaW50ZXJhY3Rpb25zLmxlbmd0aCgpKTsKKworICAgIGZvciAoYXV0
byBpdCA9IGludGVyYWN0aW9ucy5iZWdpbigpOyBpdCAhPSBpbnRlcmFjdGlvbnMuZW5kKCk7ICsr
aXQpIHsKKyAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gaW50ZXJhY3Rpb25PYmplY3Q7
CisgICAgICAgIGlmICghaXQtPmdldCgpLT5hc09iamVjdChpbnRlcmFjdGlvbk9iamVjdCkpCisg
ICAgICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdFKEludmFsaWRQYXJh
bWV0ZXIpOworCisgICAgICAgIFN0cmluZyBpbnRlcmFjdGlvblR5cGVTdHJpbmc7CisgICAgICAg
IGlmICghaW50ZXJhY3Rpb25PYmplY3QtPmdldFN0cmluZyhBU0NJSUxpdGVyYWwoInR5cGUiKSwg
aW50ZXJhY3Rpb25UeXBlU3RyaW5nKSkKKyAgICAgICAgICAgIEZBSUxfV0lUSF9QUkVERUZJTkVE
X0VSUk9SX01FU1NBR0UoSW52YWxpZFBhcmFtZXRlcik7CisgICAgICAgIGF1dG8gaW50ZXJhY3Rp
b25UeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6cGFyc2VFbnVtVmFsdWVGcm9tU3RyaW5nPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50ZXJhY3Rpb25UeXBlPihp
bnRlcmFjdGlvblR5cGVTdHJpbmcpOworICAgICAgICBpZiAoIWludGVyYWN0aW9uVHlwZSkKKyAg
ICAgICAgICAgIEZBSUxfV0lUSF9QUkVERUZJTkVEX0VSUk9SX01FU1NBR0UoSW52YWxpZFBhcmFt
ZXRlcik7CisKKyAgICAgICAgU3RyaW5nIHZpcnR1YWxLZXlTdHJpbmc7CisgICAgICAgIGJvb2wg
Zm91bmRWaXJ0dWFsS2V5ID0gaW50ZXJhY3Rpb25PYmplY3QtPmdldFN0cmluZyhBU0NJSUxpdGVy
YWwoImtleSIpLCB2aXJ0dWFsS2V5U3RyaW5nKTsKKyAgICAgICAgaWYgKGZvdW5kVmlydHVhbEtl
eSkgeworICAgICAgICAgICAgYXV0byB2aXJ0dWFsS2V5ID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6
cGFyc2VFbnVtVmFsdWVGcm9tU3RyaW5nPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246
OlZpcnR1YWxLZXk+KHZpcnR1YWxLZXlTdHJpbmcpOworICAgICAgICAgICAgaWYgKCF2aXJ0dWFs
S2V5KQorICAgICAgICAgICAgICAgIEZBSUxfV0lUSF9QUkVERUZJTkVEX0VSUk9SX01FU1NBR0Uo
SW52YWxpZFBhcmFtZXRlcik7CisKKyAgICAgICAgICAgIGFjdGlvbnNUb1BlcmZvcm0uYXBwZW5k
KFt0aGlzLCBwYWdlLCBpbnRlcmFjdGlvblR5cGUsIHZpcnR1YWxLZXldIHsKKyAgICAgICAgICAg
ICAgICBwbGF0Zm9ybVNpbXVsYXRlS2V5U3Ryb2tlKCpwYWdlLCBpbnRlcmFjdGlvblR5cGUudmFs
dWUoKSwgdmlydHVhbEtleS52YWx1ZSgpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisK
KyAgICAgICAgU3RyaW5nIGtleVNlcXVlbmNlOworICAgICAgICBib29sIGZvdW5kS2V5U2VxdWVu
Y2UgPSBpbnRlcmFjdGlvbk9iamVjdC0+Z2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgidGV4dCIpLCBr
ZXlTZXF1ZW5jZSk7CisgICAgICAgIGlmIChmb3VuZEtleVNlcXVlbmNlKSB7CisgICAgICAgICAg
ICBzd2l0Y2ggKGludGVyYWN0aW9uVHlwZS52YWx1ZSgpKSB7CisgICAgICAgICAgICBjYXNlIElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50ZXJhY3Rpb25UeXBlOjpL
ZXlQcmVzczoKKyAgICAgICAgICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlv
bjo6S2V5Ym9hcmRJbnRlcmFjdGlvblR5cGU6OktleVJlbGVhc2U6CisgICAgICAgICAgICAgICAg
Ly8gJ0tleVByZXNzJyBhbmQgJ0tleVJlbGVhc2UnIGFyZSBtZWFudCBmb3IgYSB2aXJ0dWFsIGtl
eSBhbmQgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIGEgc3RyaW5nIChzZXF1ZW5jZSBvZiBjb2RlcG9p
bnRzKS4KKyAgICAgICAgICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdF
KEludmFsaWRQYXJhbWV0ZXIpOworCisgICAgICAgICAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50ZXJhY3Rpb25UeXBlOjpJbnNlcnRCeUtleToKKyAg
ICAgICAgICAgICAgICBhY3Rpb25zVG9QZXJmb3JtLmFwcGVuZChbdGhpcywgcGFnZSwga2V5U2Vx
dWVuY2VdIHsKKyAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm1TaW11bGF0ZUtleVNlcXVlbmNl
KCpwYWdlLCBrZXlTZXF1ZW5jZSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWZvdW5k
VmlydHVhbEtleSAmJiAhZm91bmRLZXlTZXF1ZW5jZSkKKyAgICAgICAgICAgIEZBSUxfV0lUSF9Q
UkVERUZJTkVEX0VSUk9SX01FU1NBR0UoTWlzc2luZ1BhcmFtZXRlcik7CisKKyAgICAgICAgQVNT
RVJUKGFjdGlvbnNUb1BlcmZvcm0uc2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBhY3Rpb24g
OiBhY3Rpb25zVG9QZXJmb3JtKQorICAgICAgICAgICAgYWN0aW9uKCk7CisgICAgfQorCisjZW5k
aWYgLy8gVVNFKEFQUEtJVCkKK30KKwogI2lmICFVU0UoQVBQS0lUKQogdm9pZCBXZWJBdXRvbWF0
aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24oV2ViS2l0OjpXZWJQ
YWdlUHJveHkmLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkF1dG9tYXRpb246Ok1vdXNlSW50ZXJhY3Rpb24sIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9t
YXRpb246Ok1vdXNlQnV0dG9uLCBXZWJFdmVudDo6TW9kaWZpZXJzKQogewogfQorCit2b2lkIFdl
YkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlS2V5U3Ryb2tlKFdlYlBhZ2VQcm94
eSYsIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50ZXJhY3Rpb25U
eXBlLCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5KQoreworfQor
Cit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlS2V5U2VxdWVuY2Uo
V2ViUGFnZVByb3h5JiwgY29uc3QgU3RyaW5nJikKK3sKK30KICNlbmRpZiAvLyAhVVNFKEFQUEtJ
VCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCAzNDhk
NGY1MDY5NDg5MTI2NzI1Yjg0ODU5YjZhNDVhZGM0YTM5MDQ5Li5mOTM3ZDdhZjkzMDZkZmM5OTRl
NTVlNGRiNmMwZDhhYjBkZWNhZDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKQEAgLTEwNCw2ICsx
MDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWxvYWRCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9y
OjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgZXZhbHVh
dGVKYXZhU2NyaXB0RnVuY3Rpb24oSW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsRnJhbWVIYW5k
bGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0IEluc3BlY3Rvcjo6SW5zcGVjdG9yQXJy
YXkmIGFyZ3VtZW50cywgYm9vbCBleHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50LCBSZWY8
SW5zcGVjdG9yOjpBdXRvbWF0aW9uQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyOjpFdmFsdWF0ZUph
dmFTY3JpcHRGdW5jdGlvbkNhbGxiYWNrPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHBlcmZvcm1N
b3VzZUludGVyYWN0aW9uKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGhh
bmRsZSwgY29uc3QgSW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3QmIHJlcXVlc3RlZFBvc2l0aW9u
LCBjb25zdCBTdHJpbmcmIG1vdXNlQnV0dG9uLCBjb25zdCBTdHJpbmcmIG1vdXNlSW50ZXJhY3Rp
b24sIGNvbnN0IEluc3BlY3Rvcjo6SW5zcGVjdG9yQXJyYXkmIGtleU1vZGlmaWVycywgUmVmUHRy
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlBvaW50PiYgdXBkYXRlZFBvc2l0aW9u
KSBvdmVycmlkZTsKKyAgICB2b2lkIHBlcmZvcm1LZXlib2FyZEludGVyYWN0aW9ucyhJbnNwZWN0
b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IEluc3BlY3Rvcjo6
SW5zcGVjdG9yQXJyYXkmIGludGVyYWN0aW9ucykgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXNvbHZl
Q2hpbGRGcmFtZUhhbmRsZShJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBi
cm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxGcmFtZUhhbmRsZSwg
Y29uc3QgaW50KiBvcHRpb25hbE9yZGluYWwsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxOYW1lLCBj
b25zdCBTdHJpbmcqIG9wdGlvbmFsTm9kZUhhbmRsZSwgUmVmPFJlc29sdmVDaGlsZEZyYW1lSGFu
ZGxlQ2FsbGJhY2s+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzb2x2ZVBhcmVudEZyYW1lSGFu
ZGxlKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGJyb3dzaW5nQ29udGV4
dEhhbmRsZSwgY29uc3QgU3RyaW5nJiBmcmFtZUhhbmRsZSwgUmVmPFJlc29sdmVQYXJlbnRGcmFt
ZUhhbmRsZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbXB1dGVFbGVtZW50TGF5
b3V0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGJyb3dzaW5nQ29udGV4
dEhhbmRsZSwgY29uc3QgU3RyaW5nJiBmcmFtZUhhbmRsZSwgY29uc3QgU3RyaW5nJiBub2RlSGFu
ZGxlLCBjb25zdCBib29sKiBvcHRpb25hbFNjcm9sbEludG9WaWV3SWZOZWVkZWQsIGNvbnN0IGJv
b2wqIHVzZVZpZXdwb3J0Q29vcmRpbmF0ZXMsIFJlZjxJbnNwZWN0b3I6OkF1dG9tYXRpb25CYWNr
ZW5kRGlzcGF0Y2hlckhhbmRsZXI6OkNvbXB1dGVFbGVtZW50TGF5b3V0Q2FsbGJhY2s+JiYpIG92
ZXJyaWRlOwpAQCAtMTM3LDYgKzEzOCwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gUGxhdGZvcm0t
c3BlY2lmaWMgaGVscGVyIG1ldGhvZHMuCiAgICAgdm9pZCBwbGF0Zm9ybVNpbXVsYXRlTW91c2VJ
bnRlcmFjdGlvbihXZWJQYWdlUHJveHkmLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgdmlld1Bv
c2l0aW9uLCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpNb3VzZUludGVyYWN0aW9u
LCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpNb3VzZUJ1dHRvbiwgV2ViRXZlbnQ6
Ok1vZGlmaWVycyk7CisgICAgLy8gU2ltdWxhdGVzIGEgc2luZ2xlIHZpcnR1YWwga2V5IGJlaW5n
IHByZXNzZWQsIHN1Y2ggYXMgQ29udHJvbCwgRi1rZXlzLCBOdW1wYWQga2V5cywgZXRjLiBhcyBh
bGxvd2VkIGJ5IHRoZSBwcm90b2NvbC4KKyAgICB2b2lkIHBsYXRmb3JtU2ltdWxhdGVLZXlTdHJv
a2UoV2ViUGFnZVByb3h5JiwgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6S2V5Ym9h
cmRJbnRlcmFjdGlvblR5cGUsIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1
YWxLZXkpOworICAgIC8vIFNpbXVsYXRlcyBrZXkgcHJlc3NlcyB0byBwcm9kdWNlIHRoZSBjb2Rl
cG9pbnRzIGluIGEgc3RyaW5nLiBPbmUgb3IgbW9yZSBjb2RlIHBvaW50cyBhcmUgZGVsaXZlcmVk
IGF0b21pY2FsbHkgYXQgZ3JhcGhlbWUgY2x1c3RlciBib3VuZGFyaWVzLgorICAgIHZvaWQgcGxh
dGZvcm1TaW11bGF0ZUtleVNlcXVlbmNlKFdlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmluZyYpOwog
CiAjaWYgVVNFKEFQUEtJVCkKICAgICB2b2lkIHNlbmRTeW50aGVzaXplZEV2ZW50c1RvUGFnZShX
ZWJQYWdlUHJveHkmLCBOU0FycmF5ICpldmVudHNUb1NlbmQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYkF1dG9tYXRpb25TZXNzaW9uQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViQXV0b21hdGlvblNlc3Npb25Db2NvYS5t
bQppbmRleCAyNzUzN2IwNzkyZGQwYWM4MDM4MzI0ZTc0N2VkNGEyOGQ4YjJkYWNhLi43MjkwYTRm
Y2Q2Yzk2MTFlNjhkODY2ZGY2MTU5NjI1M2M2NWMzNWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViQXV0b21hdGlvblNlc3Npb25Db2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViQXV0b21hdGlvblNlc3Npb25Db2NvYS5t
bQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQg
Il9XS0F1dG9tYXRpb25TZXNzaW9uLmgiCisjaW1wb3J0IDxISVRvb2xib3gvRXZlbnRzLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0ludFBvaW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ludFNpemUuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1Nb3VzZUV2ZW50Lmg+CkBAIC0xMzMsNiArMTM0LDMy
MyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRl
cmFjdGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsCiAgICAgc2VuZFN5bnRoZXNpemVkRXZlbnRzVG9Q
YWdlKHBhZ2UsIGV2ZW50c1RvQmVTZW50KTsKIH0KIAordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6cGxhdGZvcm1TaW11bGF0ZUtleVN0cm9rZShXZWJQYWdlUHJveHkmIHBhZ2UsIEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50ZXJhY3Rpb25UeXBlIGludGVyYWN0
aW9uLCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5IGtleSkKK3sK
KyAgICAvLyBJZiB0cnVlLCB0aGUga2V5J3MgbW9kaWZpZXIgZmxhZ3Mgc2hvdWxkIGFmZmVjdCBv
dGhlciBldmVudHMgd2hpbGUgcHJlc3NlZCBkb3duLgorICAgIGJvb2wgaXNTdGlja3lNb2RpZmll
ciA9IGZhbHNlOworICAgIC8vIFRoZSBtb2RpZmllcnMgY2hhbmdlZCBieSB0aGUgdmlydHVhbCBr
ZXkgd2hlbiBpdCBpcyBwcmVzc2VkIG9yIHJlbGVhc2VkLgorICAgIC8vIFRoZSBtYXBwaW5nIGZy
b20ga2V5cyB0byBtb2RpZmllcnMgaXMgc3BlY2lmaWVkIGluIHRoZSBkb2N1bWVudGF0aW9uIGZv
ciBOU0V2ZW50LgorICAgIE5TRXZlbnRNb2RpZmllckZsYWdzIGNoYW5nZWRNb2RpZmllcnMgPSAw
OworICAgIC8vIFRoZSBsaWtlbHkga2V5Q29kZSBmb3IgdGhlIHZpcnR1YWwga2V5IGFzIGRlZmlu
ZWQgaW4gPEhJVG9vbGJveC9FdmVudHMuaD4uCisgICAgaW50IGtleUNvZGUgPSAwOworICAgIC8v
IFR5cGljYWwgY2hhcmFjdGVycyBwcm9kdWNlZCBieSB0aGUgdmlydHVhbCBrZXksIGlmIGFueS4K
KyAgICBOU1N0cmluZyAqY2hhcmFjdGVyczsKKworICAgIC8vIEZJWE1FOiB0aGlzIGZ1bmN0aW9u
IGFuZCB0aGUgQXV0b21hdGlvbiBwcm90b2NvbCBlbnVtIHNob3VsZCBwcm9iYWJseSBhZG9wdCBr
ZXkgbmFtZXMKKyAgICAvLyBmcm9tIFczQyBVSUV2ZW50cyBzdGFuZGFyZC4gRm9yIG1vcmUgZGV0
YWlsczogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3VpZXZlbnRzLWNvZGUvCisKKyAgICBzd2l0Y2gg
KGtleSkgeworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVh
bEtleTo6U2hpZnQ6CisgICAgICAgIGlzU3RpY2t5TW9kaWZpZXIgPSB0cnVlOworICAgICAgICBj
aGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdTaGlmdDsKKyAgICAgICAga2V5
Q29kZSA9IGtWS19TaGlmdDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpDb250cm9sOgorICAgICAgICBpc1N0aWNr
eU1vZGlmaWVyID0gdHJ1ZTsKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9k
aWZpZXJGbGFnQ29udHJvbDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19Db250cm9sOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1
YWxLZXk6OkFsdGVybmF0ZToKKyAgICAgICAgaXNTdGlja3lNb2RpZmllciA9IHRydWU7CisgICAg
ICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ09wdGlvbjsKKyAgICAg
ICAga2V5Q29kZSA9IGtWS19PcHRpb247CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6TWV0YToKKyAgICAgICAgLy8g
VGhlICdtZXRhJyBrZXkgZG9lcyBub3QgZXhpc3Qgb24gQXBwbGUga2V5Ym9hcmRzIGFuZCBpcyB1
c3VhbGx5CisgICAgICAgIC8vIG1hcHBlZCB0byB0aGUgQ29tbWFuZCBrZXkgd2hlbiB1c2luZyB0
aGlyZC1wYXJ0eSBrZXlib2FyZHMuCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRv
bWF0aW9uOjpWaXJ0dWFsS2V5OjpDb21tYW5kOgorICAgICAgICBpc1N0aWNreU1vZGlmaWVyID0g
dHJ1ZTsKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnQ29t
bWFuZDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19Db21tYW5kOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkhlbHA6
CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ0hlbHAgfCBO
U0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfSGVscDsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9u
OjpWaXJ0dWFsS2V5OjpCYWNrc3BhY2U6CisgICAgICAgIGtleUNvZGUgPSBrVktfRGVsZXRlOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246
OlZpcnR1YWxLZXk6OlRhYjoKKyAgICAgICAga2V5Q29kZSA9IGtWS19UYWI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtl
eTo6Q2xlYXI6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxh
Z051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBrVktfQU5TSV9LZXlwYWRDbGVhcjsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpW
aXJ0dWFsS2V5OjpFbnRlcjoKKyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJX0tleXBhZEVudGVy
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRp
b246OlZpcnR1YWxLZXk6OlBhdXNlOgorICAgICAgICAvLyBUaGUgJ3BhdXNlJyBrZXkgZG9lcyBu
b3QgZXhpc3Qgb24gQXBwbGUga2V5Ym9hcmRzIGFuZCBoYXMgbm8ga2V5Y29kZS4KKyAgICAgICAg
Ly8gVGhlIHNlbWFudGljcyBhcmUgdW5jbGVhciBzbyBqdXN0IGFib3J0IGFuZCBkbyBub3RoaW5n
LgorICAgICAgICByZXR1cm47CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uOjpWaXJ0dWFsS2V5OjpDYW5jZWw6CisgICAgICAgIC8vIFRoZSAnY2FuY2VsJyBrZXkgZG9l
cyBub3QgZXhpc3Qgb24gQXBwbGUga2V5Ym9hcmRzIGFuZCBoYXMgbm8ga2V5Y29kZS4KKyAgICAg
ICAgLy8gQWNjb3JkaW5nIHRvIHRoZSBpbnRlcm5ldCBpdHMgZnVuY3Rpb25hbGl0eSBpcyBzaW1p
bGFyIHRvICdFc2NhcGUnLgorICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlv
bjo6VmlydHVhbEtleTo6RXNjYXBlOgorICAgICAgICBrZXlDb2RlID0ga1ZLX0VzY2FwZTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpW
aXJ0dWFsS2V5OjpQYWdlVXA6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1v
ZGlmaWVyRmxhZ0Z1bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX1BhZ2VVcDsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0
dWFsS2V5OjpQYWdlRG93bjoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9k
aWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfUGFnZURvd247CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6Vmly
dHVhbEtleTo6RW5kOgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmll
ckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19FbmQ7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6
SG9tZToKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnRnVu
Y3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfSG9tZTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpMZWZ0QXJy
b3c6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVy
aWNQYWQgfCBOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBr
VktfTGVmdEFycm93OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OlVwQXJyb3c6CisgICAgICAgIGNoYW5nZWRNb2Rp
ZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQgfCBOU0V2ZW50TW9kaWZpZXJG
bGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfVXBBcnJvdzsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5
OjpSaWdodEFycm93OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmll
ckZsYWdOdW1lcmljUGFkIHwgTlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworICAgICAgICBr
ZXlDb2RlID0ga1ZLX1JpZ2h0QXJyb3c7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6RG93bkFycm93OgorICAgICAg
ICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkIHwgTlNF
dmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX0Rvd25BcnJv
dzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uOjpWaXJ0dWFsS2V5OjpJbnNlcnQ6CisgICAgICAgIC8vIFRoZSAnaW5zZXJ0JyBrZXkgZG9l
cyBub3QgZXhpc3Qgb24gQXBwbGUga2V5Ym9hcmRzIGFuZCBoYXMgbm8ga2V5Y29kZS4KKyAgICAg
ICAgLy8gVGhlIHNlbWFudGljcyBhcmUgdW5jbGVhciBzbyBqdXN0IGFib3J0IGFuZCBkbyBub3Ro
aW5nLgorICAgICAgICByZXR1cm47CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRv
bWF0aW9uOjpWaXJ0dWFsS2V5OjpEZWxldGU6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0g
TlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX0Zvcndh
cmREZWxldGU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6
QXV0b21hdGlvbjo6VmlydHVhbEtleTo6U3BhY2U6CisgICAgICAgIGtleUNvZGUgPSBrVktfU3Bh
Y2U7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIiAiOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OlNlbWljb2xvbjoK
KyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJX1NlbWljb2xvbjsKKyAgICAgICAgY2hhcmFjdGVy
cyA9IEAiOyI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6
QXV0b21hdGlvbjo6VmlydHVhbEtleTo6RXF1YWxzOgorICAgICAgICBrZXlDb2RlID0ga1ZLX0FO
U0lfRXF1YWw7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIj0iOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OlJldHVy
bjoKKyAgICAgICAga2V5Q29kZSA9IGtWS19SZXR1cm47CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFk
MDoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJp
Y1BhZDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJX0tleXBhZDA7CisgICAgICAgIGNoYXJh
Y3RlcnMgPSBAIjAiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51bWJlclBhZDE6CisgICAgICAgIGNoYW5nZWRN
b2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQ7CisgICAgICAgIGtleUNv
ZGUgPSBrVktfQU5TSV9LZXlwYWQxOworICAgICAgICBjaGFyYWN0ZXJzID0gQCIxIjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0
dWFsS2V5OjpOdW1iZXJQYWQyOgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRN
b2RpZmllckZsYWdOdW1lcmljUGFkOworICAgICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFk
MjsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAiMiI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFkMzoK
KyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1Bh
ZDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJX0tleXBhZDM7CisgICAgICAgIGNoYXJhY3Rl
cnMgPSBAIjMiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51bWJlclBhZDQ6CisgICAgICAgIGNoYW5nZWRNb2Rp
ZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUg
PSBrVktfQU5TSV9LZXlwYWQ0OworICAgICAgICBjaGFyYWN0ZXJzID0gQCI0IjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFs
S2V5OjpOdW1iZXJQYWQ1OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2Rp
ZmllckZsYWdOdW1lcmljUGFkOworICAgICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkNTsK
KyAgICAgICAgY2hhcmFjdGVycyA9IEAiNSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5z
cGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFkNjoKKyAg
ICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZDsK
KyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJX0tleXBhZDY7CisgICAgICAgIGNoYXJhY3RlcnMg
PSBAIjYiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1
dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51bWJlclBhZDc6CisgICAgICAgIGNoYW5nZWRNb2RpZmll
cnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBr
VktfQU5TSV9LZXlwYWQ3OworICAgICAgICBjaGFyYWN0ZXJzID0gQCI3IjsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5
OjpOdW1iZXJQYWQ4OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmll
ckZsYWdOdW1lcmljUGFkOworICAgICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkODsKKyAg
ICAgICAgY2hhcmFjdGVycyA9IEAiOCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFkOToKKyAgICAg
ICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZDsKKyAg
ICAgICAga2V5Q29kZSA9IGtWS19BTlNJX0tleXBhZDk7CisgICAgICAgIGNoYXJhY3RlcnMgPSBA
IjkiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9t
YXRpb246OlZpcnR1YWxLZXk6Ok51bWJlclBhZE11bHRpcGx5OgorICAgICAgICBjaGFuZ2VkTW9k
aWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkOworICAgICAgICBrZXlDb2Rl
ID0ga1ZLX0FOU0lfS2V5cGFkTXVsdGlwbHk7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIioiOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246
OlZpcnR1YWxLZXk6Ok51bWJlclBhZEFkZDoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBO
U0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJ
X0tleXBhZFBsdXM7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIisiOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51
bWJlclBhZFN1YnRyYWN0OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2Rp
ZmllckZsYWdOdW1lcmljUGFkOworICAgICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkTWlu
dXM7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIi0iOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51bWJlclBhZFNl
cGFyYXRvcjoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFn
TnVtZXJpY1BhZDsKKyAgICAgICAgLy8gVGhlICdTZXBhcmF0b3InIGtleSBpcyBvbmx5IHByZXNl
bnQgb24gYSBmZXcgaW50ZXJuYXRpb25hbCBrZXlib2FyZHMuCisgICAgICAgIC8vIEl0IGlzIHVz
dWFsbHkgbWFwcGVkIHRvIHRoZSBzYW1lIGNoYXJhY3RlciBhcyBEZWNpbWFsICgnLicgb3IgJywn
KS4KKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpB
dXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpOdW1iZXJQYWREZWNpbWFsOgorICAgICAgICBjaGFuZ2Vk
TW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkOworICAgICAgICBrZXlD
b2RlID0ga1ZLX0FOU0lfS2V5cGFkRGVjaW1hbDsKKyAgICAgICAgLy8gRklYTUU6IHRoaXMgbWln
aHQgYmUgbG9jYWxlLWRlcGVuZGVudC4gU2VlIHRoZSBhYm92ZSBjb21tZW50LgorICAgICAgICBj
aGFyYWN0ZXJzID0gQCIuIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpOdW1iZXJQYWREaXZpZGU6CisgICAgICAg
IGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQ7CisgICAg
ICAgIGtleUNvZGUgPSBrVktfQU5TSV9LZXlwYWREaXZpZGU7CisgICAgICAgIGNoYXJhY3RlcnMg
PSBAIi8iOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1
dG9tYXRpb246OlZpcnR1YWxLZXk6OkZ1bmN0aW9uMToKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVy
cyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktf
RjE7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21h
dGlvbjo6VmlydHVhbEtleTo6RnVuY3Rpb24yOgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9
IE5TRXZlbnRNb2RpZmllckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19GMjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9u
OjpWaXJ0dWFsS2V5OjpGdW5jdGlvbjM6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNF
dmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX0YzOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZp
cnR1YWxLZXk6OkZ1bmN0aW9uNDoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50
TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfRjQ7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVh
bEtleTo6RnVuY3Rpb241OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2Rp
ZmllckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19GNTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5
OjpGdW5jdGlvbjY6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVy
RmxhZ0Z1bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX0Y2OworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkZ1
bmN0aW9uNzoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFn
RnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfRjc7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6RnVuY3Rp
b244OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdGdW5j
dGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19GODsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpGdW5jdGlvbjk6
CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9u
OworICAgICAgICBrZXlDb2RlID0ga1ZLX0Y5OworICAgICAgICBicmVhazsKKyAgICBjYXNlIElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkZ1bmN0aW9uMTA6Cisg
ICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOwor
ICAgICAgICBrZXlDb2RlID0ga1ZLX0YxMDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNw
ZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpGdW5jdGlvbjExOgorICAg
ICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdGdW5jdGlvbjsKKyAg
ICAgICAga2V5Q29kZSA9IGtWS19GMTE7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6RnVuY3Rpb24xMjoKKyAgICAg
ICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAg
ICAgIGtleUNvZGUgPSBrVktfRjEyOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBhdXRv
IGV2ZW50c1RvQmVTZW50ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7
CisKKyAgICBBU1NFUlQoaXNTdGlja3lNb2RpZmllciB8fCBpbnRlcmFjdGlvbiA9PSBJbnNwZWN0
b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpLZXlib2FyZEludGVyYWN0aW9uVHlwZTo6S2V5UHJl
c3MpOworCisgICAgTlNFdmVudE1vZGlmaWVyRmxhZ3MgZXhpc3RpbmdNb2RpZmllcnMgPSBbTlNF
dmVudCBtb2RpZmllckZsYWdzXTsKKyAgICBOU0V2ZW50TW9kaWZpZXJGbGFncyB1cGRhdGVkTW9k
aWZpZXJzID0gMDsKKyAgICBOU1RpbWVJbnRlcnZhbCB0aW1lc3RhbXAgPSBbTlNEYXRlIHRpbWVJ
bnRlcnZhbFNpbmNlUmVmZXJlbmNlRGF0ZV07CisgICAgTlNXaW5kb3cgKndpbmRvdyA9IHBhZ2Uu
cGxhdGZvcm1XaW5kb3coKTsKKyAgICBOU0ludGVnZXIgd2luZG93TnVtYmVyID0gd2luZG93Lndp
bmRvd051bWJlcjsKKyAgICBOU1BvaW50IGV2ZW50UG9zaXRpb24gPSBOU01ha2VQb2ludCgwLCB3
aW5kb3cuZnJhbWUuc2l6ZS5oZWlnaHQpOworCisgICAgc3dpdGNoIChpbnRlcmFjdGlvbikgewor
ICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6S2V5Ym9hcmRJbnRlcmFj
dGlvblR5cGU6OktleVByZXNzOiB7CisgICAgICAgIE5TRXZlbnRUeXBlIGV2ZW50VHlwZSA9IGlz
U3RpY2t5TW9kaWZpZXIgPyBOU0V2ZW50VHlwZUZsYWdzQ2hhbmdlZCA6IE5TRXZlbnRUeXBlS2V5
RG93bjsKKyAgICAgICAgdXBkYXRlZE1vZGlmaWVycyA9IGV4aXN0aW5nTW9kaWZpZXJzIHwgY2hh
bmdlZE1vZGlmaWVyczsKKyAgICAgICAgW2V2ZW50c1RvQmVTZW50IGFkZE9iamVjdDpbTlNFdmVu
dCBrZXlFdmVudFdpdGhUeXBlOmV2ZW50VHlwZSBsb2NhdGlvbjpldmVudFBvc2l0aW9uIG1vZGlm
aWVyRmxhZ3M6dXBkYXRlZE1vZGlmaWVycyB0aW1lc3RhbXA6dGltZXN0YW1wIHdpbmRvd051bWJl
cjp3aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgY2hhcmFjdGVyczpjaGFyYWN0ZXJzIGNoYXJhY3Rl
cnNJZ25vcmluZ01vZGlmaWVyczpjaGFyYWN0ZXJzIGlzQVJlcGVhdDpOTyBrZXlDb2RlOmtleUNv
ZGVdXTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2Nv
bDo6QXV0b21hdGlvbjo6S2V5Ym9hcmRJbnRlcmFjdGlvblR5cGU6OktleVJlbGVhc2U6IHsKKyAg
ICAgICAgTlNFdmVudFR5cGUgZXZlbnRUeXBlID0gaXNTdGlja3lNb2RpZmllciA/IE5TRXZlbnRU
eXBlRmxhZ3NDaGFuZ2VkIDogTlNFdmVudFR5cGVLZXlVcDsKKyAgICAgICAgdXBkYXRlZE1vZGlm
aWVycyA9IGV4aXN0aW5nTW9kaWZpZXJzICYgfmNoYW5nZWRNb2RpZmllcnM7CisgICAgICAgIFtl
dmVudHNUb0JlU2VudCBhZGRPYmplY3Q6W05TRXZlbnQga2V5RXZlbnRXaXRoVHlwZTpldmVudFR5
cGUgbG9jYXRpb246ZXZlbnRQb3NpdGlvbiBtb2RpZmllckZsYWdzOnVwZGF0ZWRNb2RpZmllcnMg
dGltZXN0YW1wOnRpbWVzdGFtcCB3aW5kb3dOdW1iZXI6d2luZG93TnVtYmVyIGNvbnRleHQ6bmls
IGNoYXJhY3RlcnM6Y2hhcmFjdGVycyBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6Y2hhcmFj
dGVycyBpc0FSZXBlYXQ6Tk8ga2V5Q29kZTprZXlDb2RlXV07CisgICAgICAgIGJyZWFrOworICAg
IH0KKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50
ZXJhY3Rpb25UeXBlOjpJbnNlcnRCeUtleTogeworICAgICAgICAvLyBTdGlja3kgbW9kaWZpZXJz
IHNob3VsZCBlaXRoZXIgYmUgJ0tleVByZXNzJyBvciAnS2V5UmVsZWFzZScuCisgICAgICAgIEFT
U0VSVCghaXNTdGlja3lNb2RpZmllcik7CisgICAgICAgIGlmIChpc1N0aWNreU1vZGlmaWVyKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHVwZGF0ZWRNb2RpZmllcnMgPSBleGlzdGlu
Z01vZGlmaWVycyB8IGNoYW5nZWRNb2RpZmllcnM7CisgICAgICAgIFtldmVudHNUb0JlU2VudCBh
ZGRPYmplY3Q6W05TRXZlbnQga2V5RXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUtleURvd24gbG9j
YXRpb246ZXZlbnRQb3NpdGlvbiBtb2RpZmllckZsYWdzOnVwZGF0ZWRNb2RpZmllcnMgdGltZXN0
YW1wOnRpbWVzdGFtcCB3aW5kb3dOdW1iZXI6d2luZG93TnVtYmVyIGNvbnRleHQ6bmlsIGNoYXJh
Y3RlcnM6Y2hhcmFjdGVycyBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6Y2hhcmFjdGVycyBp
c0FSZXBlYXQ6Tk8ga2V5Q29kZTprZXlDb2RlXV07CisgICAgICAgIFtldmVudHNUb0JlU2VudCBh
ZGRPYmplY3Q6W05TRXZlbnQga2V5RXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUtleVVwIGxvY2F0
aW9uOmV2ZW50UG9zaXRpb24gbW9kaWZpZXJGbGFnczp1cGRhdGVkTW9kaWZpZXJzIHRpbWVzdGFt
cDp0aW1lc3RhbXAgd2luZG93TnVtYmVyOndpbmRvd051bWJlciBjb250ZXh0Om5pbCBjaGFyYWN0
ZXJzOmNoYXJhY3RlcnMgY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzOmNoYXJhY3RlcnMgaXNB
UmVwZWF0Ok5PIGtleUNvZGU6a2V5Q29kZV1dOworICAgICAgICBicmVhazsKKyAgICB9CisgICAg
fQorCisgICAgc2VuZFN5bnRoZXNpemVkRXZlbnRzVG9QYWdlKHBhZ2UsIGV2ZW50c1RvQmVTZW50
LmdldCgpKTsKK30KKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0
ZUtleVNlcXVlbmNlKFdlYlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgU3RyaW5nJiBrZXlTZXF1ZW5j
ZSkKK3sKKyAgICBhdXRvIGV2ZW50c1RvQmVTZW50ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5
IGFsbG9jXSBpbml0XSk7CisKKyAgICAvLyBTcGxpdCB0aGUgdGV4dCBpbnRvIGNvbWJpbmluZyBj
aGFyYWN0ZXIgc2VxdWVuY2VzIGFuZCBzZW5kIGVhY2ggc2VwYXJhdGVseS4KKyAgICAvLyBUaGlz
IGhhcyBubyBzaW1pbGFyaXR5IHRvIGhvdyBrZXlib2FyZHMgd29yayB3aGVuIGlucHV0dGluZyBj
b21wbGV4IHRleHQuCisgICAgLy8gVGhpcyBjb21tYW5kIGlzIG1vcmUgc2ltaWxhciB0byB0aGUg
J2luc2VydFRleHQ6JyBlZGl0aW5nIGNvbW1hbmQsIGV4Y2VwdAorICAgIC8vIHRoYXQgdGhpcyBl
bWl0cyBrZXl1cC9rZXlkb3duL2tleXByZXNzIGV2ZW50cyBmb3Igcm91Z2hseSBlYWNoIGNoYXJh
Y3Rlci4KKyAgICAvLyBUaGlzIEFQSSBzaG91bGQgbW92ZSBtb3JlIHRvd2FyZHMgdGhhdCBkaXJl
Y3Rpb24gaW4gdGhlIGZ1dHVyZS4KKyAgICBOU1N0cmluZyAqdGV4dCA9IGtleVNlcXVlbmNlOwor
CisgICAgTlNFdmVudE1vZGlmaWVyRmxhZ3MgbW9kaWZpZXJzID0gW05TRXZlbnQgbW9kaWZpZXJG
bGFnc107CisgICAgTlNUaW1lSW50ZXJ2YWwgdGltZXN0YW1wID0gW05TRGF0ZSB0aW1lSW50ZXJ2
YWxTaW5jZVJlZmVyZW5jZURhdGVdOworICAgIE5TV2luZG93ICp3aW5kb3cgPSBwYWdlLnBsYXRm
b3JtV2luZG93KCk7CisgICAgTlNJbnRlZ2VyIHdpbmRvd051bWJlciA9IHdpbmRvdy53aW5kb3dO
dW1iZXI7CisgICAgTlNQb2ludCBldmVudFBvc2l0aW9uID0gTlNNYWtlUG9pbnQoMCwgd2luZG93
LmZyYW1lLnNpemUuaGVpZ2h0KTsKKworICAgIFt0ZXh0IGVudW1lcmF0ZVN1YnN0cmluZ3NJblJh
bmdlOk5TTWFrZVJhbmdlKDAsIHRleHQubGVuZ3RoKSBvcHRpb25zOk5TU3RyaW5nRW51bWVyYXRp
b25CeUNvbXBvc2VkQ2hhcmFjdGVyU2VxdWVuY2VzIHVzaW5nQmxvY2s6XihOU1N0cmluZyAqIF9O
dWxsYWJsZSBzdWJzdHJpbmcsIE5TUmFuZ2Ugc3Vic3RyaW5nUmFuZ2UsIE5TUmFuZ2UgZW5jbG9z
aW5nUmFuZ2UsIEJPT0wgKiBfTm9ubnVsbCBzdG9wKSB7CisgICAgICAgIFtldmVudHNUb0JlU2Vu
dCBhZGRPYmplY3Q6W05TRXZlbnQga2V5RXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUtleURvd24g
bG9jYXRpb246ZXZlbnRQb3NpdGlvbiBtb2RpZmllckZsYWdzOm1vZGlmaWVycyB0aW1lc3RhbXA6
dGltZXN0YW1wIHdpbmRvd051bWJlcjp3aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgY2hhcmFjdGVy
czpzdWJzdHJpbmcgY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzOnN1YnN0cmluZyBpc0FSZXBl
YXQ6Tk8ga2V5Q29kZTowXV07CisgICAgICAgIFtldmVudHNUb0JlU2VudCBhZGRPYmplY3Q6W05T
RXZlbnQga2V5RXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUtleVVwIGxvY2F0aW9uOmV2ZW50UG9z
aXRpb24gbW9kaWZpZXJGbGFnczptb2RpZmllcnMgdGltZXN0YW1wOnRpbWVzdGFtcCB3aW5kb3dO
dW1iZXI6d2luZG93TnVtYmVyIGNvbnRleHQ6bmlsIGNoYXJhY3RlcnM6c3Vic3RyaW5nIGNoYXJh
Y3RlcnNJZ25vcmluZ01vZGlmaWVyczpzdWJzdHJpbmcgaXNBUmVwZWF0Ok5PIGtleUNvZGU6MF1d
OworICAgIH1dOworCisgICAgc2VuZFN5bnRoZXNpemVkRXZlbnRzVG9QYWdlKHBhZ2UsIGV2ZW50
c1RvQmVTZW50LmdldCgpKTsKK30KKwogI2VuZGlmIC8vIFVTRShBUFBLSVQpCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275151</attachid>
            <date>2016-03-29 16:55:05 -0700</date>
            <delta_ts>2016-03-29 19:39:48 -0700</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-155990-20160329165508.patch</filename>
            <type>text/plain</type>
            <size>32383</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGVjNTg1MTNmYTgyMzYzMzMwM2RjNjVh
NTExNzM1ZDNkY2Y3Yjg4NWUuLjJjMWEyNDQwZjI2Mzg4NTI4N2ZhYWY2NDYyY2M4ZTZjZTcyNjBj
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDMtMjkgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IEFkZCBBdXRvbWF0aW9uLnBlcmZv
cm1LZXlib2FyZEludGVyYWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU1OTkwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNTQyNjQwOD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBt
aXNzaW5nIE5TRXZlbnRUeXBlIGRlY2xhcmF0aW9uLgorCisgICAgICAgICogd3RmL21hYy9BcHBL
aXRDb21wYXRpYmlsaXR5RGVjbGFyYXRpb25zLmg6CisKIDIwMTYtMDMtMjggIEJyaWFuIEJ1cmcg
IDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEF1dG9tYXRpb246IGltcGxlbWVudCBB
dXRvbWF0aW9uLnBlcmZvcm1Nb3VzZUludGVyYWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWUzYWY0MjBl
OGI4NzdjZGViZjBjMDQ1OGExZTY2ZjdmNWZjNDc4OS4uNmEyYTIyMjBkMDdkZmVmOGIzNTg3ZTll
NzBiZDhmN2Q2N2U2YWM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE2LTAzLTI5
ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBBdXRvbWF0aW9u
OiBBZGQgQXV0b21hdGlvbi5wZXJmb3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTk5MAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjU0MjY0MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGEgY29tbWFuZCB0aGF0IGFsbG93cyBhdXRvbWF0aW9uIHRvIHNp
bXVsYXRlIHNpbmdsZQorICAgICAgICBrZXkgc3Ryb2tlcyBvciBpbnNlcnRpb24gb2YgYW4gZW50
aXJlIHN0cmluZywgY2hhcmFjdGVyCisgICAgICAgIGJ5IGNoYXJhY3Rlci4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbjogQWRkIG5ldyBjb21tYW5kLgor
ICAgICAgICBBZGQgYSBsYXJnZSBlbnVtZXJhdGlvbiBvZiBhbGwgdmlydHVhbCBrZXlzIHRoYXQg
ZXhpc3QKKyAgICAgICAgb24gYSBVUyAxMDkta2V5IGtleWJvYXJkIGxheW91dC4gQWRkIGFuIGlu
dGVyYWN0aW9uIG9iamVjdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b246OnBlcmZvcm1LZXlib2FyZEludGVyYWN0aW9ucyk6CisgICAgICAgIEFkZGVkLiBUaGlzIG1l
dGhvZCB2YWxpZGF0ZXMgdGhlIGluY29taW5nIGtleSBpbnRlcmFjdGlvbnMKKyAgICAgICAgZnJv
bSB0aGUgcHJvdG9jb2wgYW5kIG1ha2VzIGEgbGlzdCBvZiBzaW11bGF0ZWQgaW50ZXJhY3Rpb25z
CisgICAgICAgIHRvIHBlcmZvcm0uIElmIGV2ZXJ5dGhpbmcgdmFsaWRhdGVzLCB0aGVuIGRlbGVn
YXRlIHRoZSBrZXkKKyAgICAgICAgaW50ZXJhY3Rpb24gc2ltdWxhdGlvbnMgdG8gcGxhdGZvcm0t
c3BlY2lmaWMgbWV0aG9kcy4KKworICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6cGxhdGZvcm1TaW11bGF0ZUtleVN0cm9rZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlS2V5U2VxdWVuY2UpOgorICAgICAgICBBZGQg
c3R1YnMgZm9yIG90aGVyIHBsYXRmb3Jtcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmg6IEFkZCBuZXcKKyAgICAgICAgcHJvdG9jb2wgY29t
bWFuZCBoYW5kbGVyIGFuZCBwbGF0Zm9ybSBzaW11bGF0aW9uIG1ldGhvZHMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViQXV0b21hdGlvblNlc3Npb25Db2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVLZXlTdHJva2Up
OgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0
ZUtleVNlcXVlbmNlKToKKyAgICAgICAgVGhlc2UgbWV0aG9kcyBpbXBsZW1lbnQga2V5Ym9hcmQg
c2ltdWxhdGlvbiBmb3IgQXBwS2l0LCB1c2VkCisgICAgICAgIGJ5IHRoZSBNYWMgcG9ydC4gSW4g
dGhlIGtleXN0cm9rZSBjYXNlLCBmaWd1cmUgb3V0IHRoZSBBcHBLaXQKKyAgICAgICAga2V5Q29k
ZSBmb3IgdGhlIGtleSBhcyB3ZWxsIGFzIGFueSBrZXkgbW9kaWZpZXJzIHRoYXQgc2hvdWxkCisg
ICAgICAgIGJlIGluY2x1ZGVkIHdpdGggdGhlIGtleSBldmVudC4gS2VlcCB0cmFjayBvZiBzdGlj
a3kgbW9kaWZpZXJzCisgICAgICAgIGFuZCB1cGRhdGUgdGhlIHNlc3Npb24gc3RhdGUgYXBwcm9w
cmlhdGVseS4gSW4gdGhlIGtleSBzZXF1ZW5jZQorICAgICAgICBjYXNlLCBzcGxpdCB0aGUgc3Ry
aW5nIGludG8gY29tYmluaW5nIGNoYXJhY3RlciBzZXF1ZW5jZXMgYW5kCisgICAgICAgIHNlbmQg
YSAna2V5IHVwL2Rvd24nLiBUaGlzIGlzIGEgd2VpcmQgd2F5IHRvIHNlbmQgbm9uLUFTQ0lJCisg
ICAgICAgIHRleHQsIHNvIGEgYmV0dGVyIGFsdGVybmF0aXZlIHNob3VsZCBiZSBleHBsb3JlZCBp
biB0aGUgZnV0dXJlLgorCiAyMDE2LTAzLTI4ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgV2hlbiBtb3ZpbmcgZm9jdXMgZnJvbSBvbmUgc2VsZWN0IGVsZW1l
bnQgdG8gYW5vdGhlciAoaVBob25lKSB0aGUgdmFsdWUgaXMgY29tbWl0dGVkIHRvIHRoZSBuZXds
eSBmb2N1c2VkIGVsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9tYWMvQXBwS2l0
Q29tcGF0aWJpbGl0eURlY2xhcmF0aW9ucy5oIGIvU291cmNlL1dURi93dGYvbWFjL0FwcEtpdENv
bXBhdGliaWxpdHlEZWNsYXJhdGlvbnMuaAppbmRleCAxZmFmOTRhYzYwMDQyYmVkZjA4ZjZjNDQ3
OTc5OTYyYTNkNTcwODEyLi42NTM1YWVhOWJkZmYzODZiZjU1NjBkZGMwZDQ3MjVlMWI4ZmU2MGVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9tYWMvQXBwS2l0Q29tcGF0aWJpbGl0eURlY2xh
cmF0aW9ucy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL21hYy9BcHBLaXRDb21wYXRpYmlsaXR5RGVj
bGFyYXRpb25zLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RhdGljIGNvbnN0IE5TRXZlbnRNb2RpZmll
ckZsYWdzIE5TRXZlbnRNb2RpZmllckZsYWdEZXZpY2VJbmRlcGVuZGVudEZsYWdzTWFzawogc3Rh
dGljIGNvbnN0IE5TRXZlbnRNb2RpZmllckZsYWdzIE5TRXZlbnRNb2RpZmllckZsYWdGdW5jdGlv
biA9IE5TRnVuY3Rpb25LZXlNYXNrOwogc3RhdGljIGNvbnN0IE5TRXZlbnRNb2RpZmllckZsYWdz
IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkID0gTlNOdW1lcmljUGFkS2V5TWFzazsKIHN0
YXRpYyBjb25zdCBOU0V2ZW50TW9kaWZpZXJGbGFncyBOU0V2ZW50TW9kaWZpZXJGbGFnU2hpZnQg
PSBOU1NoaWZ0S2V5TWFzazsKK3N0YXRpYyBjb25zdCBOU0V2ZW50TW9kaWZpZXJGbGFncyBOU0V2
ZW50TW9kaWZpZXJGbGFnSGVscCA9IE5TSGVscEtleU1hc2s7CiAKIHN0YXRpYyBjb25zdCBOU0V2
ZW50VHlwZSBOU0V2ZW50VHlwZUZsYWdzQ2hhbmdlZCA9IE5TRmxhZ3NDaGFuZ2VkOwogc3RhdGlj
IGNvbnN0IE5TRXZlbnRUeXBlIE5TRXZlbnRUeXBlS2V5RG93biA9IE5TS2V5RG93bjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNv
biBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbgpp
bmRleCA4NTRhMGMyNTU3N2QxZTAwYTQwZDZlZmU0ZjNhNDRjY2U1OTQxOTc2Li44NWZhYTYyZTRl
NzY3MzY2ZjhjMDZmZDYzNzk0Nzg5NmUxYzZmZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCkBAIC0xMDMsNyArMTAzLDkw
IEBACiAgICAgICAgICAgICAgICAgIk1ldGEiLAogICAgICAgICAgICAgICAgICJBbHQiCiAgICAg
ICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJWaXJ0
dWFsS2V5IiwKKyAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRW51bWVyYXRlcyBkaWZmZXJlbnQgcGxhdGZvcm0taW5kZXBlbmRlbnQgdmly
dHVhbCBrZXlzIG9uIGEgcGh5c2ljYWwga2V5Ym9hcmQgd2hvc2UgaW5wdXQgdmlhIGtleWJvYXJk
IG1heSBvciBtYXkgbm90IHByb2R1Y2UgY2hhcmFjdGVycy4iLAorICAgICAgICAgICAgImVudW0i
OiBbCisgICAgICAgICAgICAgICAgIlNoaWZ0IiwKKyAgICAgICAgICAgICAgICAiQ29udHJvbCIs
CisgICAgICAgICAgICAgICAgIkFsdGVybmF0ZSIsCisgICAgICAgICAgICAgICAgIk1ldGEiLAor
ICAgICAgICAgICAgICAgICJDb21tYW5kIiwKKyAgICAgICAgICAgICAgICAiQ2FuY2VsIiwKKyAg
ICAgICAgICAgICAgICAiSGVscCIsCisgICAgICAgICAgICAgICAgIkJhY2tzcGFjZSIsCisgICAg
ICAgICAgICAgICAgIlRhYiIsCisgICAgICAgICAgICAgICAgIkNsZWFyIiwKKyAgICAgICAgICAg
ICAgICAiRW50ZXIiLAorICAgICAgICAgICAgICAgICJQYXVzZSIsCisgICAgICAgICAgICAgICAg
IkVzY2FwZSIsCisgICAgICAgICAgICAgICAgIlBhZ2VVcCIsCisgICAgICAgICAgICAgICAgIlBh
Z2VEb3duIiwKKyAgICAgICAgICAgICAgICAiRW5kIiwKKyAgICAgICAgICAgICAgICAiSG9tZSIs
CisgICAgICAgICAgICAgICAgIkxlZnRBcnJvdyIsCisgICAgICAgICAgICAgICAgIlVwQXJyb3ci
LAorICAgICAgICAgICAgICAgICJSaWdodEFycm93IiwKKyAgICAgICAgICAgICAgICAiRG93bkFy
cm93IiwKKyAgICAgICAgICAgICAgICAiSW5zZXJ0IiwKKyAgICAgICAgICAgICAgICAiRGVsZXRl
IiwKKyAgICAgICAgICAgICAgICAiU3BhY2UiLAorICAgICAgICAgICAgICAgICJTZW1pY29sb24i
LAorICAgICAgICAgICAgICAgICJFcXVhbHMiLAorICAgICAgICAgICAgICAgICJSZXR1cm4iLAor
ICAgICAgICAgICAgICAgICJOdW1iZXJQYWQwIiwKKyAgICAgICAgICAgICAgICAiTnVtYmVyUGFk
MSIsCisgICAgICAgICAgICAgICAgIk51bWJlclBhZDIiLAorICAgICAgICAgICAgICAgICJOdW1i
ZXJQYWQzIiwKKyAgICAgICAgICAgICAgICAiTnVtYmVyUGFkNCIsCisgICAgICAgICAgICAgICAg
Ik51bWJlclBhZDUiLAorICAgICAgICAgICAgICAgICJOdW1iZXJQYWQ2IiwKKyAgICAgICAgICAg
ICAgICAiTnVtYmVyUGFkNyIsCisgICAgICAgICAgICAgICAgIk51bWJlclBhZDgiLAorICAgICAg
ICAgICAgICAgICJOdW1iZXJQYWQ5IiwKKyAgICAgICAgICAgICAgICAiTnVtYmVyUGFkTXVsdGlw
bHkiLAorICAgICAgICAgICAgICAgICJOdW1iZXJQYWRBZGQiLAorICAgICAgICAgICAgICAgICJO
dW1iZXJQYWRTZXBhcmF0b3IiLAorICAgICAgICAgICAgICAgICJOdW1iZXJQYWRTdWJ0cmFjdCIs
CisgICAgICAgICAgICAgICAgIk51bWJlclBhZERlY2ltYWwiLAorICAgICAgICAgICAgICAgICJO
dW1iZXJQYWREaXZpZGUiLAorICAgICAgICAgICAgICAgICJGdW5jdGlvbjEiLAorICAgICAgICAg
ICAgICAgICJGdW5jdGlvbjIiLAorICAgICAgICAgICAgICAgICJGdW5jdGlvbjMiLAorICAgICAg
ICAgICAgICAgICJGdW5jdGlvbjQiLAorICAgICAgICAgICAgICAgICJGdW5jdGlvbjUiLAorICAg
ICAgICAgICAgICAgICJGdW5jdGlvbjYiLAorICAgICAgICAgICAgICAgICJGdW5jdGlvbjciLAor
ICAgICAgICAgICAgICAgICJGdW5jdGlvbjgiLAorICAgICAgICAgICAgICAgICJGdW5jdGlvbjki
LAorICAgICAgICAgICAgICAgICJGdW5jdGlvbjEwIiwKKyAgICAgICAgICAgICAgICAiRnVuY3Rp
b24xMSIsCisgICAgICAgICAgICAgICAgIkZ1bmN0aW9uMTIiCisgICAgICAgICAgICBdCisgICAg
ICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJLZXlib2FyZEludGVyYWN0aW9u
VHlwZSIsCisgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIkVudW1lcmF0ZXMgZGlmZmVyZW50IHdheXMgb2YgaW50ZXJhY3Rpbmcgd2l0aCBh
IGtleWJvYXJkIGRldmljZS4gJ0luc2VydEJ5S2V5JyBpbXBsaWVzIHRoYXQgYSBzZXBhcmF0ZSBL
ZXlEb3duIGFuZCBLZXlVcCBldmVudCBhcmUgcHJvZHVjZWQgZm9yIGVhY2ggY29tYmluaW5nIGNo
YXJhY3RlciBzZXF1ZW5jZSwgcmVnYXJkbGVzcyBvZiB0aGUgYWN0dWFsIGtleXN0cm9rZXMgcmVx
dWlyZWQgdG8gcHJvZHVjZSB0aGUgY2hhcmFjdGVyIHNlcXVlbmNlLiIsCisgICAgICAgICAgICAi
ZW51bSI6IFsKKyAgICAgICAgICAgICAgICAiS2V5UHJlc3MiLAorICAgICAgICAgICAgICAgICJL
ZXlSZWxlYXNlIiwKKyAgICAgICAgICAgICAgICAiSW5zZXJ0QnlLZXkiCisgICAgICAgICAgICBd
CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJLZXlib2FyZEludGVy
YWN0aW9uIiwKKyAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiQSBzaW5nbGUgc3RlcCBpbiBhIGtleSBzZXF1ZW5jZS4gQSBzdGVwIGNhbiBj
b250YWluIGEga2V5IHVwL2Rvd24gb2YgYSB2aXJ0dWFsIGtleSwgb3IgYSBzZXF1ZW5jZSBvZiBV
bmljb2RlIGNvZGUgcG9pbnRzIHRoYXQgYXJlIGRlbGl2ZXJlZCB0byB0aGUgcGFnZSBhdCBncmFw
aGVtZSBjbHVzdGVyIGJvdW5kYXJpZXMuIEVpdGhlciBhICdrZXknIG9yICd0ZXh0JyBwcm9wZXJ0
eSBtdXN0IGJlIHNwZWNpZmllZC4iLAorICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgIiRyZWYiOiAiS2V5Ym9hcmRJbnRlcmFjdGlv
blR5cGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gdG8gYmUgcGVy
Zm9ybWVkIGJ5IGEgc3RlcC4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJrZXkiLCAi
JHJlZiI6ICJWaXJ0dWFsS2V5IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkEg
dmlydHVhbCBrZXkgdG8gYmUgdXNlZCB0byBwZXJmb3JtIHRoZSBzcGVjaWZpZWQgaW50ZXJhY3Rp
b24uIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogInN0cmlu
ZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJBIHVuaWNvZGUgc3RyaW5nIHRv
IGJlIGRlbGl2ZXJlZCB0byB0aGUgcGFnZS4gVGhlIHNlcXVlbmNlIG9mIGtleSBldmVudHMgaXMg
ZGV0ZXJtaW5lZCBieSBzcGxpdHRpbmcgdGhlIHN0cmluZyBhdCBncmFwaGVtZSBjbHVzdGVyIGJv
dW5kYXJpZXMuIiB9CisgICAgICAgICAgICBdCiAgICAgICAgIH0KKwogICAgIF0sCiAgICAgImNv
bW1hbmRzIjogWwogICAgICAgICB7CkBAIC0yMjAsNiArMzAzLDE0IEBACiAgICAgICAgICAgICBd
CiAgICAgICAgIH0sCiAgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogInBlcmZvcm1LZXli
b2FyZEludGVyYWN0aW9ucyIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2ltdWxhdGVz
IGRlbGl2ZXJpbmcgdGhlIHJlc3VsdHMgb2YgcHJlc3Npbmcgb25lIG9yIG1vcmUga2V5Ym9hcmQg
a2V5cyB0b2dldGhlciBvciBzdWNjZXNzaXZlbHkuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiQnJvd3Np
bmdDb250ZXh0SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSBicm93
c2luZyBjb250ZXh0IHdoaWNoIHNob3VsZCByZWNpZXZlIGtleS4iIH0sCisgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJpbnRlcmFjdGlvbnMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsg
IiRyZWYiOiAiS2V5Ym9hcmRJbnRlcmFjdGlvbiIgfSwgImRlc2NyaXB0aW9uIjogIkFuIG9yZGVy
ZWQgbGlzdCBvZiBrZXkgc2VxdWVuY2VzIHRvIGJlIGRlbGl2ZXJlZCB1c2luZyBuYXRpdmUga2V5
IGV2ZW50cy4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgewogICAgICAg
ICAgICAgIm5hbWUiOiAicmVzb2x2ZUNoaWxkRnJhbWVIYW5kbGUiLAogICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkRldGVybWluZXMgdGhlIDxjb2RlPkZyYW1lSGFuZGxlPC9jb2RlPiBiYXNl
ZCBvbiB0aGUgb3JkaW5hbCwgbmFtZSBvciBub2RlIGhhbmRsZSBvZiBhIGNoaWxkIGZyYW1lLiIs
CiAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAppbmRl
eCAyZDIzMzUzN2M4ODQ5Mzk1Y2E1MTgwODJmN2Y1ODU4ODE3NzcyYjhkLi4zMDI4YTdlMWFjZTRj
ZmM1N2FlODYyNTEyNjk3ZGM1MDFhMmQ4ZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCkBA
IC03MDgsMTAgKzcwOCw4NSBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwZXJmb3JtTW91
c2VJbnRlcmFjdGlvbihJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvcgogI2VuZGlmIC8vIFVT
RShBUFBLSVQpCiB9CiAKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBlcmZvcm1LZXlib2Fy
ZEludGVyYWN0aW9ucyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgaGFu
ZGxlLCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3RvckFycmF5JiBpbnRlcmFjdGlvbnMpCit7Cisj
aWYgIVVTRShBUFBLSVQpCisgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVTU0FHRShO
b3RJbXBsZW1lbnRlZCk7CisjZWxzZQorICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBhZ2VQ
cm94eUZvckhhbmRsZShoYW5kbGUpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgRkFJTF9XSVRI
X1BSRURFRklORURfRVJST1JfTUVTU0FHRShXaW5kb3dOb3RGb3VuZCk7CisKKyAgICBpZiAoIWlu
dGVyYWN0aW9ucy5sZW5ndGgoKSkKKyAgICAgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1Jf
TUVTU0FHRShJbnZhbGlkUGFyYW1ldGVyKTsKKworICAgIC8vIFZhbGlkYXRlIGFsbCBvZiB0aGUg
cGFyYW1ldGVycyBiZWZvcmUgcGVyZm9ybWluZyBhbnkgaW50ZXJhY3Rpb25zIHdpdGggdGhlIGJy
b3dzaW5nIGNvbnRleHQgdW5kZXIgdGVzdC4KKyAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2b2lk
KCk+PiBhY3Rpb25zVG9QZXJmb3JtKGludGVyYWN0aW9ucy5sZW5ndGgoKSk7CisKKyAgICBmb3Ig
KGF1dG8gaXQgPSBpbnRlcmFjdGlvbnMuYmVnaW4oKTsgaXQgIT0gaW50ZXJhY3Rpb25zLmVuZCgp
OyArK2l0KSB7CisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGludGVyYWN0aW9uT2Jq
ZWN0OworICAgICAgICBpZiAoIWl0LT5nZXQoKS0+YXNPYmplY3QoaW50ZXJhY3Rpb25PYmplY3Qp
KQorICAgICAgICAgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVTU0FHRShJbnZhbGlk
UGFyYW1ldGVyKTsKKworICAgICAgICBTdHJpbmcgaW50ZXJhY3Rpb25UeXBlU3RyaW5nOworICAg
ICAgICBpZiAoIWludGVyYWN0aW9uT2JqZWN0LT5nZXRTdHJpbmcoQVNDSUlMaXRlcmFsKCJ0eXBl
IiksIGludGVyYWN0aW9uVHlwZVN0cmluZykpCisgICAgICAgICAgICBGQUlMX1dJVEhfUFJFREVG
SU5FRF9FUlJPUl9NRVNTQUdFKEludmFsaWRQYXJhbWV0ZXIpOworICAgICAgICBhdXRvIGludGVy
YWN0aW9uVHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OnBhcnNlRW51bVZhbHVlRnJvbVN0cmlu
ZzxJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpLZXlib2FyZEludGVyYWN0aW9uVHlw
ZT4oaW50ZXJhY3Rpb25UeXBlU3RyaW5nKTsKKyAgICAgICAgaWYgKCFpbnRlcmFjdGlvblR5cGUp
CisgICAgICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdFKEludmFsaWRQ
YXJhbWV0ZXIpOworCisgICAgICAgIFN0cmluZyB2aXJ0dWFsS2V5U3RyaW5nOworICAgICAgICBi
b29sIGZvdW5kVmlydHVhbEtleSA9IGludGVyYWN0aW9uT2JqZWN0LT5nZXRTdHJpbmcoQVNDSUlM
aXRlcmFsKCJrZXkiKSwgdmlydHVhbEtleVN0cmluZyk7CisgICAgICAgIGlmIChmb3VuZFZpcnR1
YWxLZXkpIHsKKyAgICAgICAgICAgIGF1dG8gdmlydHVhbEtleSA9IEluc3BlY3Rvcjo6UHJvdG9j
b2w6OnBhcnNlRW51bVZhbHVlRnJvbVN0cmluZzxJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uOjpWaXJ0dWFsS2V5Pih2aXJ0dWFsS2V5U3RyaW5nKTsKKyAgICAgICAgICAgIGlmICghdmly
dHVhbEtleSkKKyAgICAgICAgICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNT
QUdFKEludmFsaWRQYXJhbWV0ZXIpOworCisgICAgICAgICAgICBhY3Rpb25zVG9QZXJmb3JtLmFw
cGVuZChbdGhpcywgcGFnZSwgaW50ZXJhY3Rpb25UeXBlLCB2aXJ0dWFsS2V5XSB7CisgICAgICAg
ICAgICAgICAgcGxhdGZvcm1TaW11bGF0ZUtleVN0cm9rZSgqcGFnZSwgaW50ZXJhY3Rpb25UeXBl
LnZhbHVlKCksIHZpcnR1YWxLZXkudmFsdWUoKSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
fQorCisgICAgICAgIFN0cmluZyBrZXlTZXF1ZW5jZTsKKyAgICAgICAgYm9vbCBmb3VuZEtleVNl
cXVlbmNlID0gaW50ZXJhY3Rpb25PYmplY3QtPmdldFN0cmluZyhBU0NJSUxpdGVyYWwoInRleHQi
KSwga2V5U2VxdWVuY2UpOworICAgICAgICBpZiAoZm91bmRLZXlTZXF1ZW5jZSkgeworICAgICAg
ICAgICAgc3dpdGNoIChpbnRlcmFjdGlvblR5cGUudmFsdWUoKSkgeworICAgICAgICAgICAgY2Fz
ZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpLZXlib2FyZEludGVyYWN0aW9uVHlw
ZTo6S2V5UHJlc3M6CisgICAgICAgICAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9t
YXRpb246OktleWJvYXJkSW50ZXJhY3Rpb25UeXBlOjpLZXlSZWxlYXNlOgorICAgICAgICAgICAg
ICAgIC8vICdLZXlQcmVzcycgYW5kICdLZXlSZWxlYXNlJyBhcmUgbWVhbnQgZm9yIGEgdmlydHVh
bCBrZXkgYW5kIGFyZSBub3Qgc3VwcG9ydGVkIGZvciBhIHN0cmluZyAoc2VxdWVuY2Ugb2YgY29k
ZXBvaW50cykuCisgICAgICAgICAgICAgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVT
U0FHRShJbnZhbGlkUGFyYW1ldGVyKTsKKworICAgICAgICAgICAgY2FzZSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpLZXlib2FyZEludGVyYWN0aW9uVHlwZTo6SW5zZXJ0QnlLZXk6
CisgICAgICAgICAgICAgICAgYWN0aW9uc1RvUGVyZm9ybS5hcHBlbmQoW3RoaXMsIHBhZ2UsIGtl
eVNlcXVlbmNlXSB7CisgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtU2ltdWxhdGVLZXlTZXF1
ZW5jZSgqcGFnZSwga2V5U2VxdWVuY2UpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKCFm
b3VuZFZpcnR1YWxLZXkgJiYgIWZvdW5kS2V5U2VxdWVuY2UpCisgICAgICAgICAgICBGQUlMX1dJ
VEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdFKE1pc3NpbmdQYXJhbWV0ZXIpOworCisgICAgICAg
IEFTU0VSVChhY3Rpb25zVG9QZXJmb3JtLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgYWN0
aW9uIDogYWN0aW9uc1RvUGVyZm9ybSkKKyAgICAgICAgICAgIGFjdGlvbigpOworICAgIH0KKwor
I2VuZGlmIC8vIFVTRShBUFBLSVQpCit9CisKICNpZiAhVVNFKEFQUEtJVCkKIHZvaWQgV2ViQXV0
b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYktpdDo6
V2ViUGFnZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBJbnNwZWN0b3I6OlByb3Rv
Y29sOjpBdXRvbWF0aW9uOjpNb3VzZUludGVyYWN0aW9uLCBJbnNwZWN0b3I6OlByb3RvY29sOjpB
dXRvbWF0aW9uOjpNb3VzZUJ1dHRvbiwgV2ViRXZlbnQ6Ok1vZGlmaWVycykKIHsKIH0KKwordm9p
ZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZUtleVN0cm9rZShXZWJQYWdl
UHJveHkmLCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpLZXlib2FyZEludGVyYWN0
aW9uVHlwZSwgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleSkKK3sK
K30KKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZUtleVNlcXVl
bmNlKFdlYlBhZ2VQcm94eSYsIGNvbnN0IFN0cmluZyYpCit7Cit9CiAjZW5kaWYgLy8gIVVTRShB
UFBLSVQpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKaW5kZXgg
MzQ4ZDRmNTA2OTQ4OTEyNjcyNWI4NDg1OWI2YTQ1YWRjNGEzOTA0OS4uZjkzN2Q3YWY5MzA2ZGZj
OTk0ZTU1ZTRkYjZjMGQ4YWIwZGVjYWQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCkBAIC0xMDQs
NiArMTA0LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVsb2FkQnJvd3NpbmdDb250ZXh0KEluc3Bl
Y3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIGV2
YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBT
dHJpbmcmIGJyb3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1l
SGFuZGxlLCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3Rv
ckFycmF5JiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwg
UmVmPEluc3BlY3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVh
dGVKYXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwZXJm
b3JtTW91c2VJbnRlcmFjdGlvbihJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5n
JiBoYW5kbGUsIGNvbnN0IEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0JiByZXF1ZXN0ZWRQb3Np
dGlvbiwgY29uc3QgU3RyaW5nJiBtb3VzZUJ1dHRvbiwgY29uc3QgU3RyaW5nJiBtb3VzZUludGVy
YWN0aW9uLCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3RvckFycmF5JiBrZXlNb2RpZmllcnMsIFJl
ZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpQb2ludD4mIHVwZGF0ZWRQb3Np
dGlvbikgb3ZlcnJpZGU7CisgICAgdm9pZCBwZXJmb3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnMoSW5z
cGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgaGFuZGxlLCBjb25zdCBJbnNwZWN0
b3I6Okluc3BlY3RvckFycmF5JiBpbnRlcmFjdGlvbnMpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVz
b2x2ZUNoaWxkRnJhbWVIYW5kbGUoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsRnJhbWVIYW5k
bGUsIGNvbnN0IGludCogb3B0aW9uYWxPcmRpbmFsLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsTmFt
ZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbE5vZGVIYW5kbGUsIFJlZjxSZXNvbHZlQ2hpbGRGcmFt
ZUhhbmRsZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHJlc29sdmVQYXJlbnRGcmFt
ZUhhbmRsZShJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBicm93c2luZ0Nv
bnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnJhbWVIYW5kbGUsIFJlZjxSZXNvbHZlUGFyZW50
RnJhbWVIYW5kbGVDYWxsYmFjaz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlRWxlbWVu
dExheW91dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBicm93c2luZ0Nv
bnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgbm9k
ZUhhbmRsZSwgY29uc3QgYm9vbCogb3B0aW9uYWxTY3JvbGxJbnRvVmlld0lmTmVlZGVkLCBjb25z
dCBib29sKiB1c2VWaWV3cG9ydENvb3JkaW5hdGVzLCBSZWY8SW5zcGVjdG9yOjpBdXRvbWF0aW9u
QmFja2VuZERpc3BhdGNoZXJIYW5kbGVyOjpDb21wdXRlRWxlbWVudExheW91dENhbGxiYWNrPiYm
KSBvdmVycmlkZTsKQEAgLTEzNyw2ICsxMzgsMTAgQEAgcHJpdmF0ZToKIAogICAgIC8vIFBsYXRm
b3JtLXNwZWNpZmljIGhlbHBlciBtZXRob2RzLgogICAgIHZvaWQgcGxhdGZvcm1TaW11bGF0ZU1v
dXNlSW50ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHZp
ZXdQb3NpdGlvbiwgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VJbnRlcmFj
dGlvbiwgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b24sIFdlYkV2
ZW50OjpNb2RpZmllcnMpOworICAgIC8vIFNpbXVsYXRlcyBhIHNpbmdsZSB2aXJ0dWFsIGtleSBi
ZWluZyBwcmVzc2VkLCBzdWNoIGFzIENvbnRyb2wsIEYta2V5cywgTnVtcGFkIGtleXMsIGV0Yy4g
YXMgYWxsb3dlZCBieSB0aGUgcHJvdG9jb2wuCisgICAgdm9pZCBwbGF0Zm9ybVNpbXVsYXRlS2V5
U3Ryb2tlKFdlYlBhZ2VQcm94eSYsIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246Oktl
eWJvYXJkSW50ZXJhY3Rpb25UeXBlLCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpW
aXJ0dWFsS2V5KTsKKyAgICAvLyBTaW11bGF0ZXMga2V5IHByZXNzZXMgdG8gcHJvZHVjZSB0aGUg
Y29kZXBvaW50cyBpbiBhIHN0cmluZy4gT25lIG9yIG1vcmUgY29kZSBwb2ludHMgYXJlIGRlbGl2
ZXJlZCBhdG9taWNhbGx5IGF0IGdyYXBoZW1lIGNsdXN0ZXIgYm91bmRhcmllcy4KKyAgICB2b2lk
IHBsYXRmb3JtU2ltdWxhdGVLZXlTZXF1ZW5jZShXZWJQYWdlUHJveHkmLCBjb25zdCBTdHJpbmcm
KTsKIAogI2lmIFVTRShBUFBLSVQpCiAgICAgdm9pZCBzZW5kU3ludGhlc2l6ZWRFdmVudHNUb1Bh
Z2UoV2ViUGFnZVByb3h5JiwgTlNBcnJheSAqZXZlbnRzVG9TZW5kKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJBdXRvbWF0aW9uU2Vzc2lvbkNvY29hLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYkF1dG9tYXRpb25TZXNzaW9uQ29j
b2EubW0KaW5kZXggNmNiMTM1NGI3MWZjZDRkNmRiNmIzMTg3NDI4OGRiMDRjMGY2ZjhmMi4uMTI0
MWEyZDdmZGM3YmY4MDRiN2UyZDhkN2YxNWY0ODg2ZDA5M2NkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYkF1dG9tYXRpb25TZXNzaW9uQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYkF1dG9tYXRpb25TZXNzaW9uQ29j
b2EubW0KQEAgLTMzLDYgKzMzLDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtTW91c2VF
dmVudC5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAKKyNpZiBVU0UoQVBQS0lUKQorI2lt
cG9ydCA8SElUb29sYm94L0V2ZW50cy5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTEzMyw2ICsxMzcsMzIzIEBAIHZvaWQgV2Vi
QXV0b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBh
Z2VQcm94eSYgcGFnZSwKICAgICBzZW5kU3ludGhlc2l6ZWRFdmVudHNUb1BhZ2UocGFnZSwgZXZl
bnRzVG9CZVNlbnQuZ2V0KCkpOwogfQogCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0
Zm9ybVNpbXVsYXRlS2V5U3Ryb2tlKFdlYlBhZ2VQcm94eSYgcGFnZSwgSW5zcGVjdG9yOjpQcm90
b2NvbDo6QXV0b21hdGlvbjo6S2V5Ym9hcmRJbnRlcmFjdGlvblR5cGUgaW50ZXJhY3Rpb24sIElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXkga2V5KQoreworICAgIC8v
IElmIHRydWUsIHRoZSBrZXkncyBtb2RpZmllciBmbGFncyBzaG91bGQgYWZmZWN0IG90aGVyIGV2
ZW50cyB3aGlsZSBwcmVzc2VkIGRvd24uCisgICAgYm9vbCBpc1N0aWNreU1vZGlmaWVyID0gZmFs
c2U7CisgICAgLy8gVGhlIG1vZGlmaWVycyBjaGFuZ2VkIGJ5IHRoZSB2aXJ0dWFsIGtleSB3aGVu
IGl0IGlzIHByZXNzZWQgb3IgcmVsZWFzZWQuCisgICAgLy8gVGhlIG1hcHBpbmcgZnJvbSBrZXlz
IHRvIG1vZGlmaWVycyBpcyBzcGVjaWZpZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gZm9yIE5TRXZl
bnQuCisgICAgTlNFdmVudE1vZGlmaWVyRmxhZ3MgY2hhbmdlZE1vZGlmaWVycyA9IDA7CisgICAg
Ly8gVGhlIGxpa2VseSBrZXlDb2RlIGZvciB0aGUgdmlydHVhbCBrZXkgYXMgZGVmaW5lZCBpbiA8
SElUb29sYm94L0V2ZW50cy5oPi4KKyAgICBpbnQga2V5Q29kZSA9IDA7CisgICAgLy8gVHlwaWNh
bCBjaGFyYWN0ZXJzIHByb2R1Y2VkIGJ5IHRoZSB2aXJ0dWFsIGtleSwgaWYgYW55LgorICAgIE5T
U3RyaW5nICpjaGFyYWN0ZXJzOworCisgICAgLy8gRklYTUU6IHRoaXMgZnVuY3Rpb24gYW5kIHRo
ZSBBdXRvbWF0aW9uIHByb3RvY29sIGVudW0gc2hvdWxkIHByb2JhYmx5IGFkb3B0IGtleSBuYW1l
cworICAgIC8vIGZyb20gVzNDIFVJRXZlbnRzIHN0YW5kYXJkLiBGb3IgbW9yZSBkZXRhaWxzOiBo
dHRwczovL3czYy5naXRodWIuaW8vdWlldmVudHMtY29kZS8KKworICAgIHN3aXRjaCAoa2V5KSB7
CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpT
aGlmdDoKKyAgICAgICAgaXNTdGlja3lNb2RpZmllciA9IHRydWU7CisgICAgICAgIGNoYW5nZWRN
b2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ1NoaWZ0OworICAgICAgICBrZXlDb2RlID0g
a1ZLX1NoaWZ0OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkNvbnRyb2w6CisgICAgICAgIGlzU3RpY2t5TW9kaWZp
ZXIgPSB0cnVlOworICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZs
YWdDb250cm9sOworICAgICAgICBrZXlDb2RlID0ga1ZLX0NvbnRyb2w7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6
QWx0ZXJuYXRlOgorICAgICAgICBpc1N0aWNreU1vZGlmaWVyID0gdHJ1ZTsKKyAgICAgICAgY2hh
bmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnT3B0aW9uOworICAgICAgICBrZXlD
b2RlID0ga1ZLX09wdGlvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpNZXRhOgorICAgICAgICAvLyBUaGUgJ21l
dGEnIGtleSBkb2VzIG5vdCBleGlzdCBvbiBBcHBsZSBrZXlib2FyZHMgYW5kIGlzIHVzdWFsbHkK
KyAgICAgICAgLy8gbWFwcGVkIHRvIHRoZSBDb21tYW5kIGtleSB3aGVuIHVzaW5nIHRoaXJkLXBh
cnR5IGtleWJvYXJkcy4KKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246
OlZpcnR1YWxLZXk6OkNvbW1hbmQ6CisgICAgICAgIGlzU3RpY2t5TW9kaWZpZXIgPSB0cnVlOwor
ICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdDb21tYW5kOwor
ICAgICAgICBrZXlDb2RlID0ga1ZLX0NvbW1hbmQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6SGVscDoKKyAgICAg
ICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnSGVscCB8IE5TRXZlbnRN
b2RpZmllckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19IZWxwOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1
YWxLZXk6OkJhY2tzcGFjZToKKyAgICAgICAga2V5Q29kZSA9IGtWS19EZWxldGU7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVh
bEtleTo6VGFiOgorICAgICAgICBrZXlDb2RlID0ga1ZLX1RhYjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpDbGVh
cjoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJp
Y1BhZDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJX0tleXBhZENsZWFyOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxL
ZXk6OkVudGVyOgorICAgICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkRW50ZXI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6Vmly
dHVhbEtleTo6UGF1c2U6CisgICAgICAgIC8vIFRoZSAncGF1c2UnIGtleSBkb2VzIG5vdCBleGlz
dCBvbiBBcHBsZSBrZXlib2FyZHMgYW5kIGhhcyBubyBrZXljb2RlLgorICAgICAgICAvLyBUaGUg
c2VtYW50aWNzIGFyZSB1bmNsZWFyIHNvIGp1c3QgYWJvcnQgYW5kIGRvIG5vdGhpbmcuCisgICAg
ICAgIHJldHVybjsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZp
cnR1YWxLZXk6OkNhbmNlbDoKKyAgICAgICAgLy8gVGhlICdjYW5jZWwnIGtleSBkb2VzIG5vdCBl
eGlzdCBvbiBBcHBsZSBrZXlib2FyZHMgYW5kIGhhcyBubyBrZXljb2RlLgorICAgICAgICAvLyBB
Y2NvcmRpbmcgdG8gdGhlIGludGVybmV0IGl0cyBmdW5jdGlvbmFsaXR5IGlzIHNpbWlsYXIgdG8g
J0VzY2FwZScuCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0
dWFsS2V5OjpFc2NhcGU6CisgICAgICAgIGtleUNvZGUgPSBrVktfRXNjYXBlOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxL
ZXk6OlBhZ2VVcDoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJG
bGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfUGFnZVVwOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6
OlBhZ2VEb3duOgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZs
YWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19QYWdlRG93bjsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5
OjpFbmQ6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ0Z1
bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX0VuZDsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpIb21lOgor
ICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdGdW5jdGlvbjsK
KyAgICAgICAga2V5Q29kZSA9IGtWS19Ib21lOworICAgICAgICBicmVhazsKKyAgICBjYXNlIElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkxlZnRBcnJvdzoKKyAg
ICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZCB8
IE5TRXZlbnRNb2RpZmllckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19MZWZ0
QXJyb3c7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0
b21hdGlvbjo6VmlydHVhbEtleTo6VXBBcnJvdzoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8
PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZCB8IE5TRXZlbnRNb2RpZmllckZsYWdGdW5j
dGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19VcEFycm93OworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OlJpZ2h0
QXJyb3c6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051
bWVyaWNQYWQgfCBOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUg
PSBrVktfUmlnaHRBcnJvdzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpEb3duQXJyb3c6CisgICAgICAgIGNoYW5n
ZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQgfCBOU0V2ZW50TW9k
aWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfRG93bkFycm93OworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZp
cnR1YWxLZXk6Okluc2VydDoKKyAgICAgICAgLy8gVGhlICdpbnNlcnQnIGtleSBkb2VzIG5vdCBl
eGlzdCBvbiBBcHBsZSBrZXlib2FyZHMgYW5kIGhhcyBubyBrZXljb2RlLgorICAgICAgICAvLyBU
aGUgc2VtYW50aWNzIGFyZSB1bmNsZWFyIHNvIGp1c3QgYWJvcnQgYW5kIGRvIG5vdGhpbmcuCisg
ICAgICAgIHJldHVybjsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246
OlZpcnR1YWxLZXk6OkRlbGV0ZToKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50
TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfRm9yd2FyZERlbGV0
ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uOjpWaXJ0dWFsS2V5OjpTcGFjZToKKyAgICAgICAga2V5Q29kZSA9IGtWS19TcGFjZTsKKyAg
ICAgICAgY2hhcmFjdGVycyA9IEAiICI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6U2VtaWNvbG9uOgorICAgICAg
ICBrZXlDb2RlID0ga1ZLX0FOU0lfU2VtaWNvbG9uOworICAgICAgICBjaGFyYWN0ZXJzID0gQCI7
IjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0
aW9uOjpWaXJ0dWFsS2V5OjpFcXVhbHM6CisgICAgICAgIGtleUNvZGUgPSBrVktfQU5TSV9FcXVh
bDsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAiPSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6UmV0dXJuOgorICAg
ICAgICBrZXlDb2RlID0ga1ZLX1JldHVybjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNw
ZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpOdW1iZXJQYWQwOgorICAg
ICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkOwor
ICAgICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkMDsKKyAgICAgICAgY2hhcmFjdGVycyA9
IEAiMCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0
b21hdGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFkMToKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVy
cyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZDsKKyAgICAgICAga2V5Q29kZSA9IGtW
S19BTlNJX0tleXBhZDE7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIjEiOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6
Ok51bWJlclBhZDI6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVy
RmxhZ051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBrVktfQU5TSV9LZXlwYWQyOworICAg
ICAgICBjaGFyYWN0ZXJzID0gQCIyIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0
b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpOdW1iZXJQYWQzOgorICAgICAg
ICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkOworICAg
ICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkMzsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAi
MyI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21h
dGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFkNDoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8
PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19B
TlNJX0tleXBhZDQ7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIjQiOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51
bWJlclBhZDU6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxh
Z051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBrVktfQU5TSV9LZXlwYWQ1OworICAgICAg
ICBjaGFyYWN0ZXJzID0gQCI1IjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6
OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpOdW1iZXJQYWQ2OgorICAgICAgICBj
aGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkOworICAgICAg
ICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkNjsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAiNiI7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlv
bjo6VmlydHVhbEtleTo6TnVtYmVyUGFkNzoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBO
U0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZDsKKyAgICAgICAga2V5Q29kZSA9IGtWS19BTlNJ
X0tleXBhZDc7CisgICAgICAgIGNoYXJhY3RlcnMgPSBAIjciOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51bWJl
clBhZDg6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051
bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBrVktfQU5TSV9LZXlwYWQ4OworICAgICAgICBj
aGFyYWN0ZXJzID0gQCI4IjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpOdW1iZXJQYWQ5OgorICAgICAgICBjaGFu
Z2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmljUGFkOworICAgICAgICBr
ZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFkOTsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAiOSI7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6
VmlydHVhbEtleTo6TnVtYmVyUGFkTXVsdGlwbHk6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMg
fD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBrVktf
QU5TSV9LZXlwYWRNdWx0aXBseTsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAiKiI7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVh
bEtleTo6TnVtYmVyUGFkQWRkOgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRN
b2RpZmllckZsYWdOdW1lcmljUGFkOworICAgICAgICBrZXlDb2RlID0ga1ZLX0FOU0lfS2V5cGFk
UGx1czsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAiKyI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFk
U3VidHJhY3Q6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxh
Z051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBrVktfQU5TSV9LZXlwYWRNaW51czsKKyAg
ICAgICAgY2hhcmFjdGVycyA9IEAiLSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6TnVtYmVyUGFkU2VwYXJhdG9y
OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdOdW1lcmlj
UGFkOworICAgICAgICAvLyBUaGUgJ1NlcGFyYXRvcicga2V5IGlzIG9ubHkgcHJlc2VudCBvbiBh
IGZldyBpbnRlcm5hdGlvbmFsIGtleWJvYXJkcy4KKyAgICAgICAgLy8gSXQgaXMgdXN1YWxseSBt
YXBwZWQgdG8gdGhlIHNhbWUgY2hhcmFjdGVyIGFzIERlY2ltYWwgKCcuJyBvciAnLCcpLgorICAg
ICAgICBGQUxMVEhST1VHSDsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRp
b246OlZpcnR1YWxLZXk6Ok51bWJlclBhZERlY2ltYWw6CisgICAgICAgIGNoYW5nZWRNb2RpZmll
cnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ051bWVyaWNQYWQ7CisgICAgICAgIGtleUNvZGUgPSBr
VktfQU5TSV9LZXlwYWREZWNpbWFsOworICAgICAgICAvLyBGSVhNRTogdGhpcyBtaWdodCBiZSBs
b2NhbGUtZGVwZW5kZW50LiBTZWUgdGhlIGFib3ZlIGNvbW1lbnQuCisgICAgICAgIGNoYXJhY3Rl
cnMgPSBAIi4iOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6Ok51bWJlclBhZERpdmlkZToKKyAgICAgICAgY2hhbmdl
ZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnTnVtZXJpY1BhZDsKKyAgICAgICAga2V5
Q29kZSA9IGtWS19BTlNJX0tleXBhZERpdmlkZTsKKyAgICAgICAgY2hhcmFjdGVycyA9IEAiLyI7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlv
bjo6VmlydHVhbEtleTo6RnVuY3Rpb24xOgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5T
RXZlbnRNb2RpZmllckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19GMTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpW
aXJ0dWFsS2V5OjpGdW5jdGlvbjI6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVu
dE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX0YyOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1
YWxLZXk6OkZ1bmN0aW9uMzoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9k
aWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfRjM7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtl
eTo6RnVuY3Rpb240OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmll
ckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19GNDsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpG
dW5jdGlvbjU6CisgICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxh
Z0Z1bmN0aW9uOworICAgICAgICBrZXlDb2RlID0ga1ZLX0Y1OworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkZ1bmN0
aW9uNjoKKyAgICAgICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnRnVu
Y3Rpb247CisgICAgICAgIGtleUNvZGUgPSBrVktfRjY7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6RnVuY3Rpb243
OgorICAgICAgICBjaGFuZ2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdGdW5jdGlv
bjsKKyAgICAgICAga2V5Q29kZSA9IGtWS19GNzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJ
bnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpGdW5jdGlvbjg6Cisg
ICAgICAgIGNoYW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOwor
ICAgICAgICBrZXlDb2RlID0ga1ZLX0Y4OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkZ1bmN0aW9uOToKKyAgICAg
ICAgY2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAg
ICAgIGtleUNvZGUgPSBrVktfRjk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zcGVjdG9y
OjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtleTo6RnVuY3Rpb24xMDoKKyAgICAgICAg
Y2hhbmdlZE1vZGlmaWVycyB8PSBOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb247CisgICAgICAg
IGtleUNvZGUgPSBrVktfRjEwOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3Rvcjo6
UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk6OkZ1bmN0aW9uMTE6CisgICAgICAgIGNo
YW5nZWRNb2RpZmllcnMgfD0gTlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworICAgICAgICBr
ZXlDb2RlID0ga1ZLX0YxMTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0dWFsS2V5OjpGdW5jdGlvbjEyOgorICAgICAgICBjaGFu
Z2VkTW9kaWZpZXJzIHw9IE5TRXZlbnRNb2RpZmllckZsYWdGdW5jdGlvbjsKKyAgICAgICAga2V5
Q29kZSA9IGtWS19GMTI7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGF1dG8gZXZlbnRz
VG9CZVNlbnQgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKKworICAg
IEFTU0VSVChpc1N0aWNreU1vZGlmaWVyIHx8IGludGVyYWN0aW9uID09IEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50ZXJhY3Rpb25UeXBlOjpLZXlQcmVzcyk7CisK
KyAgICBOU0V2ZW50TW9kaWZpZXJGbGFncyBleGlzdGluZ01vZGlmaWVycyA9IFtOU0V2ZW50IG1v
ZGlmaWVyRmxhZ3NdOworICAgIE5TRXZlbnRNb2RpZmllckZsYWdzIHVwZGF0ZWRNb2RpZmllcnMg
PSAwOworICAgIE5TVGltZUludGVydmFsIHRpbWVzdGFtcCA9IFtOU0RhdGUgdGltZUludGVydmFs
U2luY2VSZWZlcmVuY2VEYXRlXTsKKyAgICBOU1dpbmRvdyAqd2luZG93ID0gcGFnZS5wbGF0Zm9y
bVdpbmRvdygpOworICAgIE5TSW50ZWdlciB3aW5kb3dOdW1iZXIgPSB3aW5kb3cud2luZG93TnVt
YmVyOworICAgIE5TUG9pbnQgZXZlbnRQb3NpdGlvbiA9IE5TTWFrZVBvaW50KDAsIHdpbmRvdy5m
cmFtZS5zaXplLmhlaWdodCk7CisKKyAgICBzd2l0Y2ggKGludGVyYWN0aW9uKSB7CisgICAgY2Fz
ZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpLZXlib2FyZEludGVyYWN0aW9uVHlw
ZTo6S2V5UHJlc3M6IHsKKyAgICAgICAgTlNFdmVudFR5cGUgZXZlbnRUeXBlID0gaXNTdGlja3lN
b2RpZmllciA/IE5TRXZlbnRUeXBlRmxhZ3NDaGFuZ2VkIDogTlNFdmVudFR5cGVLZXlEb3duOwor
ICAgICAgICB1cGRhdGVkTW9kaWZpZXJzID0gZXhpc3RpbmdNb2RpZmllcnMgfCBjaGFuZ2VkTW9k
aWZpZXJzOworICAgICAgICBbZXZlbnRzVG9CZVNlbnQgYWRkT2JqZWN0OltOU0V2ZW50IGtleUV2
ZW50V2l0aFR5cGU6ZXZlbnRUeXBlIGxvY2F0aW9uOmV2ZW50UG9zaXRpb24gbW9kaWZpZXJGbGFn
czp1cGRhdGVkTW9kaWZpZXJzIHRpbWVzdGFtcDp0aW1lc3RhbXAgd2luZG93TnVtYmVyOndpbmRv
d051bWJlciBjb250ZXh0Om5pbCBjaGFyYWN0ZXJzOmNoYXJhY3RlcnMgY2hhcmFjdGVyc0lnbm9y
aW5nTW9kaWZpZXJzOmNoYXJhY3RlcnMgaXNBUmVwZWF0Ok5PIGtleUNvZGU6a2V5Q29kZV1dOwor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRv
bWF0aW9uOjpLZXlib2FyZEludGVyYWN0aW9uVHlwZTo6S2V5UmVsZWFzZTogeworICAgICAgICBO
U0V2ZW50VHlwZSBldmVudFR5cGUgPSBpc1N0aWNreU1vZGlmaWVyID8gTlNFdmVudFR5cGVGbGFn
c0NoYW5nZWQgOiBOU0V2ZW50VHlwZUtleVVwOworICAgICAgICB1cGRhdGVkTW9kaWZpZXJzID0g
ZXhpc3RpbmdNb2RpZmllcnMgJiB+Y2hhbmdlZE1vZGlmaWVyczsKKyAgICAgICAgW2V2ZW50c1Rv
QmVTZW50IGFkZE9iamVjdDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOmV2ZW50VHlwZSBsb2Nh
dGlvbjpldmVudFBvc2l0aW9uIG1vZGlmaWVyRmxhZ3M6dXBkYXRlZE1vZGlmaWVycyB0aW1lc3Rh
bXA6dGltZXN0YW1wIHdpbmRvd051bWJlcjp3aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgY2hhcmFj
dGVyczpjaGFyYWN0ZXJzIGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpjaGFyYWN0ZXJzIGlz
QVJlcGVhdDpOTyBrZXlDb2RlOmtleUNvZGVdXTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6S2V5Ym9hcmRJbnRlcmFjdGlv
blR5cGU6Okluc2VydEJ5S2V5OiB7CisgICAgICAgIC8vIFN0aWNreSBtb2RpZmllcnMgc2hvdWxk
IGVpdGhlciBiZSAnS2V5UHJlc3MnIG9yICdLZXlSZWxlYXNlJy4KKyAgICAgICAgQVNTRVJUKCFp
c1N0aWNreU1vZGlmaWVyKTsKKyAgICAgICAgaWYgKGlzU3RpY2t5TW9kaWZpZXIpCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgdXBkYXRlZE1vZGlmaWVycyA9IGV4aXN0aW5nTW9kaWZp
ZXJzIHwgY2hhbmdlZE1vZGlmaWVyczsKKyAgICAgICAgW2V2ZW50c1RvQmVTZW50IGFkZE9iamVj
dDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlS2V5RG93biBsb2NhdGlvbjpl
dmVudFBvc2l0aW9uIG1vZGlmaWVyRmxhZ3M6dXBkYXRlZE1vZGlmaWVycyB0aW1lc3RhbXA6dGlt
ZXN0YW1wIHdpbmRvd051bWJlcjp3aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgY2hhcmFjdGVyczpj
aGFyYWN0ZXJzIGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpjaGFyYWN0ZXJzIGlzQVJlcGVh
dDpOTyBrZXlDb2RlOmtleUNvZGVdXTsKKyAgICAgICAgW2V2ZW50c1RvQmVTZW50IGFkZE9iamVj
dDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlS2V5VXAgbG9jYXRpb246ZXZl
bnRQb3NpdGlvbiBtb2RpZmllckZsYWdzOnVwZGF0ZWRNb2RpZmllcnMgdGltZXN0YW1wOnRpbWVz
dGFtcCB3aW5kb3dOdW1iZXI6d2luZG93TnVtYmVyIGNvbnRleHQ6bmlsIGNoYXJhY3RlcnM6Y2hh
cmFjdGVycyBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6Y2hhcmFjdGVycyBpc0FSZXBlYXQ6
Tk8ga2V5Q29kZTprZXlDb2RlXV07CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICB9CisKKyAg
ICBzZW5kU3ludGhlc2l6ZWRFdmVudHNUb1BhZ2UocGFnZSwgZXZlbnRzVG9CZVNlbnQuZ2V0KCkp
OworfQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlS2V5U2Vx
dWVuY2UoV2ViUGFnZVByb3h5JiBwYWdlLCBjb25zdCBTdHJpbmcmIGtleVNlcXVlbmNlKQorewor
ICAgIGF1dG8gZXZlbnRzVG9CZVNlbnQgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2Nd
IGluaXRdKTsKKworICAgIC8vIFNwbGl0IHRoZSB0ZXh0IGludG8gY29tYmluaW5nIGNoYXJhY3Rl
ciBzZXF1ZW5jZXMgYW5kIHNlbmQgZWFjaCBzZXBhcmF0ZWx5LgorICAgIC8vIFRoaXMgaGFzIG5v
IHNpbWlsYXJpdHkgdG8gaG93IGtleWJvYXJkcyB3b3JrIHdoZW4gaW5wdXR0aW5nIGNvbXBsZXgg
dGV4dC4KKyAgICAvLyBUaGlzIGNvbW1hbmQgaXMgbW9yZSBzaW1pbGFyIHRvIHRoZSAnaW5zZXJ0
VGV4dDonIGVkaXRpbmcgY29tbWFuZCwgZXhjZXB0CisgICAgLy8gdGhhdCB0aGlzIGVtaXRzIGtl
eXVwL2tleWRvd24va2V5cHJlc3MgZXZlbnRzIGZvciByb3VnaGx5IGVhY2ggY2hhcmFjdGVyLgor
ICAgIC8vIFRoaXMgQVBJIHNob3VsZCBtb3ZlIG1vcmUgdG93YXJkcyB0aGF0IGRpcmVjdGlvbiBp
biB0aGUgZnV0dXJlLgorICAgIE5TU3RyaW5nICp0ZXh0ID0ga2V5U2VxdWVuY2U7CisKKyAgICBO
U0V2ZW50TW9kaWZpZXJGbGFncyBtb2RpZmllcnMgPSBbTlNFdmVudCBtb2RpZmllckZsYWdzXTsK
KyAgICBOU1RpbWVJbnRlcnZhbCB0aW1lc3RhbXAgPSBbTlNEYXRlIHRpbWVJbnRlcnZhbFNpbmNl
UmVmZXJlbmNlRGF0ZV07CisgICAgTlNXaW5kb3cgKndpbmRvdyA9IHBhZ2UucGxhdGZvcm1XaW5k
b3coKTsKKyAgICBOU0ludGVnZXIgd2luZG93TnVtYmVyID0gd2luZG93LndpbmRvd051bWJlcjsK
KyAgICBOU1BvaW50IGV2ZW50UG9zaXRpb24gPSBOU01ha2VQb2ludCgwLCB3aW5kb3cuZnJhbWUu
c2l6ZS5oZWlnaHQpOworCisgICAgW3RleHQgZW51bWVyYXRlU3Vic3RyaW5nc0luUmFuZ2U6TlNN
YWtlUmFuZ2UoMCwgdGV4dC5sZW5ndGgpIG9wdGlvbnM6TlNTdHJpbmdFbnVtZXJhdGlvbkJ5Q29t
cG9zZWRDaGFyYWN0ZXJTZXF1ZW5jZXMgdXNpbmdCbG9jazpeKE5TU3RyaW5nICogX051bGxhYmxl
IHN1YnN0cmluZywgTlNSYW5nZSBzdWJzdHJpbmdSYW5nZSwgTlNSYW5nZSBlbmNsb3NpbmdSYW5n
ZSwgQk9PTCAqIF9Ob25udWxsIHN0b3ApIHsKKyAgICAgICAgW2V2ZW50c1RvQmVTZW50IGFkZE9i
amVjdDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlS2V5RG93biBsb2NhdGlv
bjpldmVudFBvc2l0aW9uIG1vZGlmaWVyRmxhZ3M6bW9kaWZpZXJzIHRpbWVzdGFtcDp0aW1lc3Rh
bXAgd2luZG93TnVtYmVyOndpbmRvd051bWJlciBjb250ZXh0Om5pbCBjaGFyYWN0ZXJzOnN1YnN0
cmluZyBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6c3Vic3RyaW5nIGlzQVJlcGVhdDpOTyBr
ZXlDb2RlOjBdXTsKKyAgICAgICAgW2V2ZW50c1RvQmVTZW50IGFkZE9iamVjdDpbTlNFdmVudCBr
ZXlFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlS2V5VXAgbG9jYXRpb246ZXZlbnRQb3NpdGlvbiBt
b2RpZmllckZsYWdzOm1vZGlmaWVycyB0aW1lc3RhbXA6dGltZXN0YW1wIHdpbmRvd051bWJlcjp3
aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgY2hhcmFjdGVyczpzdWJzdHJpbmcgY2hhcmFjdGVyc0ln
bm9yaW5nTW9kaWZpZXJzOnN1YnN0cmluZyBpc0FSZXBlYXQ6Tk8ga2V5Q29kZTowXV07CisgICAg
fV07CisKKyAgICBzZW5kU3ludGhlc2l6ZWRFdmVudHNUb1BhZ2UocGFnZSwgZXZlbnRzVG9CZVNl
bnQuZ2V0KCkpOworfQorCiAjZW5kaWYgLy8gVVNFKEFQUEtJVCkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Cg==
</data>
<flag name="review"
          id="299522"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="299529"
          type_id="3"
          status="-"
          setter="bburg"
    />
          </attachment>
      

    </bug>

</bugzilla>