<?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>122778</bug_id>
          
          <creation_ts>2013-10-14 14:34:55 -0700</creation_ts>
          <short_desc>Add an empty window.crypto.webkitSubtle</short_desc>
          <delta_ts>2013-10-14 16:35:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>122679</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>syoichi</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>939641</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-14 14:34:55 -0700</bug_when>
    <thetext>Adding a new property is surprisingly difficult if you are trying to get garbage collection behavior right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939647</commentid>
    <comment_count>1</comment_count>
      <attachid>214190</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-14 14:40:45 -0700</bug_when>
    <thetext>Created attachment 214190
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939650</commentid>
    <comment_count>2</comment_count>
      <attachid>214190</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-14 14:46:14 -0700</bug_when>
    <thetext>Comment on attachment 214190
proposed patch

Attachment 214190 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/3945864</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939651</commentid>
    <comment_count>3</comment_count>
      <attachid>214190</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-14 14:47:08 -0700</bug_when>
    <thetext>Comment on attachment 214190
proposed patch

Attachment 214190 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/3946927</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939654</commentid>
    <comment_count>4</comment_count>
      <attachid>214190</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-14 14:54:18 -0700</bug_when>
    <thetext>Comment on attachment 214190
proposed patch

r=me with build happiness</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939671</commentid>
    <comment_count>5</comment_count>
      <attachid>214196</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-14 15:33:19 -0700</bug_when>
    <thetext>Created attachment 214196
patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939691</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-14 16:05:34 -0700</bug_when>
    <thetext>Windows build failed, but it&apos;s doesn&apos;t appear to be because of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939694</commentid>
    <comment_count>7</comment_count>
      <attachid>214196</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-14 16:07:50 -0700</bug_when>
    <thetext>Comment on attachment 214196
patch for EWS

Rejecting attachment 214196 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 214196, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: http://webkit-queues.appspot.com/results/3951874</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939696</commentid>
    <comment_count>8</comment_count>
      <attachid>214203</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-14 16:09:37 -0700</bug_when>
    <thetext>Created attachment 214203
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939718</commentid>
    <comment_count>9</comment_count>
      <attachid>214203</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-14 16:35:01 -0700</bug_when>
    <thetext>Comment on attachment 214203
patch for landing

Clearing flags on attachment: 214203

Committed r157430: &lt;http://trac.webkit.org/changeset/157430&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939719</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-14 16:35:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214190</attachid>
            <date>2013-10-14 14:40:45 -0700</date>
            <delta_ts>2013-10-14 15:33:19 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>EmptySubtleCrypto.txt</filename>
            <type>text/plain</type>
            <size>30811</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEzLTEwLTE0ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBlbXB0eSB3aW5k
b3cuY3J5cHRvLndlYmtpdFN1YnRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTIyNzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdHM6IHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCisg
ICAgICAgICAgICAgICBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbAorICAgICAgICAg
ICAgICAgc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy5odG1sCisKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOiBQcm9jZXNzIFN1YnRsZUNyeXB0by5pZGwuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3J5cHRvOiBBZGRlZC4K
KworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDogQWRkZWQu
IEVtcHR5IGZvciBub3csIGJ1dCB3ZSdsbCBjZXJ0YWlubHkKKyAgICAgICAgbmVlZCBjdXN0b20g
YmluZGluZ3MgY29kZSBoZXJlLgorCisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0by5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VidGxlQ3J5cHRvOjpTdWJ0bGVDcnlwdG8pOgor
ICAgICAgICAoV2ViQ29yZTo6U3VidGxlQ3J5cHRvOjpkb2N1bWVudCk6CisgICAgICAgICogY3J5
cHRvL1N1YnRsZUNyeXB0by5oOiBBZGRlZC4gICAgICAgIAorICAgICAgICAqIGNyeXB0by9TdWJ0
bGVDcnlwdG8uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0NyeXB0by5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG86OnN1YnRsZSk6CisgICAgICAgICogcGFnZS9DcnlwdG8uaDoKKyAg
ICAgICAgKiBwYWdlL0NyeXB0by5pZGw6CisKIDIwMTMtMTAtMTQgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVmlydHVhbGl6ZSBQbGF0Zm9ybUNBTGF5
ZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTU3NDA5KQor
KysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAt
NDQsNiArNDQsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2dlbmVyaWMg
XAogICAgICQoV2ViQ29yZSkvYmluZGluZ3MvanMgXAogICAgICQoV2ViQ29yZSkvYmluZGluZ3Mv
b2JqYyBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8gXAogICAgICQoV2ViQ29yZSkvY3NzIFwKICAg
ICAkKFdlYkNvcmUpL2RvbSBcCiAgICAgJChXZWJDb3JlKS9lZGl0aW5nIFwKQEAgLTE5Nyw2ICsx
OTgsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL1dvcmtlckdsb2JhbFNjb3BlV2ViRGF0YWJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2Vic29ja2V0cy9DbG9zZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8vU3VidGxl
Q3J5cHRvLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZUxvYWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDE1
NzQwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xNjUsNyArMTY1LDcgQEAgRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMgPSAkKEVOQUJMRV9TUEVFQwogRU5BQkxFX1NQRUVDSF9TWU5USEVTSVNfbWFjb3N4
ID0gRU5BQkxFX1NQRUVDSF9TWU5USEVTSVM7CiBFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxF
X1NRTF9EQVRBQkFTRTsKIEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQgPSA7Ci1FTkFCTEVfU1VCVExF
X0NSWVBUTyA9IDsKK0VOQUJMRV9TVUJUTEVfQ1JZUFRPID0gRU5BQkxFX1NVQlRMRV9DUllQVE87
CiBFTkFCTEVfU1ZHID0gRU5BQkxFX1NWRzsKIEVOQUJMRV9TVkdfRk9OVFMgPSBFTkFCTEVfU1ZH
X0ZPTlRTOwogRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQgPSA7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTc0
MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTU1OTEsNiArNTU5MSwxMSBAQAogCQlFMUYxRTgzMDBDM0MyQkI5
MDA2REIzOTEgLyogWFNMVEV4dGVuc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxRjFFODJFMEMzQzJCQjkwMDZEQjM5MSAvKiBYU0xURXh0ZW5z
aW9ucy5oICovOyB9OwogCQlFMUZGNTdBMzBGMDEyNTVCMDA4OTFFQkIgLyogVGhyZWFkR2xvYmFs
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFG
RjU3QTIwRjAxMjU1QjAwODkxRUJCIC8qIFRocmVhZEdsb2JhbERhdGEuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUZGNTdBNjBGMDEyNTZCMDA4
OTFFQkIgLyogVGhyZWFkR2xvYmFsRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGNTdBNTBGMDEyNTZCMDA4OTFFQkIgLyogVGhyZWFkR2xv
YmFsRGF0YS5jcHAgKi87IH07CisJCUUxRkY4RjVGMTgwNzQ0MjEwMDEzMjY3NCAvKiBTdWJ0bGVD
cnlwdG8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFGRjhGNUQxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5jcHAgKi87IH07CisJCUUx
RkY4RjYwMTgwNzQ0MjEwMDEzMjY3NCAvKiBTdWJ0bGVDcnlwdG8uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4RjVFMTgwNzQ0MjEwMDEzMjY3NCAv
KiBTdWJ0bGVDcnlwdG8uaCAqLzsgfTsKKwkJRTFGRjhGNjQxODA3NDVEODAwMTMyNjc0IC8qIEpT
U3VidGxlQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxRkY4RjYyMTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5jcHAgKi87
IH07CisJCUUxRkY4RjY1MTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFGRjhGNjMxODA3NDVE
ODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvLmggKi87IH07CisJCUUxRkY4RjY4MTgwNzQ2MDgw
MDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGOEY2NjE4MDc0NjA4MDAxMzI2NzQgLyogSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwICovOyB9OwogCQlFNDAxQzI3NTE3Q0U1M0VDMDBDNDFBMzUg
LyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJ
dGVyYXRvckFzc2VydGlvbnMuaCAqLzsgfTsKIAkJRTQyOTVGQTQxMkIwNjE0RTAwRDFBQ0UwIC8q
IFJlc291cmNlTG9hZFByaW9yaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNDI5NUZBMzEyQjA2MTRFMDBEMUFDRTAgLyogUmVzb3VyY2VMb2FkUHJp
b3JpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFNDMxMDVCODE2NzUwRjBDMDBEQjJGQjggLyogTm9kZVRyYXZlcnNhbC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDMxMDVCNzE2NzUwRjBDMDBE
QjJGQjggLyogTm9kZVRyYXZlcnNhbC5jcHAgKi87IH07CkBAIC0xMjU1Myw2ICsxMjU1OCwxMiBA
QAogCQlFMUYxRTgyRTBDM0MyQkI5MDA2REIzOTEgLyogWFNMVEV4dGVuc2lvbnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWFNMVEV4dGVuc2lvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTFGRjU3QTIwRjAxMjU1QjAwODkxRUJCIC8qIFRocmVhZEdsb2Jh
bERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhyZWFkR2xvYmFsRGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUZGNTdBNTBGMDEyNTZCMDA4OTFF
QkIgLyogVGhyZWFkR2xvYmFsRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUaHJlYWRHbG9iYWxEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRTFGRjhGNUMxODA3MzY0QjAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3Vi
dGxlQ3J5cHRvLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFGRjhGNUQxODA3
NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTdWJ0bGVDcnlwdG8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlFMUZGOEY1RTE4MDc0NDIxMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1YnRsZUNyeXB0by5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFMUZGOEY2MjE4MDc0NUQ4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG8u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdWJ0bGVDcnlwdG8u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUZGOEY2MzE4MDc0NUQ4MDAxMzI2
NzQgLyogSlNTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTdWJ0bGVDcnlwdG8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFGRjhGNjYx
ODA3NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1l
bnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNDA2RjNGQjExOTgzMDdEMDA5RDU5RDYgLyogQ29sb3JEYXRhLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAvKiBDU1NQcm9wZXJ0eU5hbWVz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3BlcnR5TmFt
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1NTUsNiArMTM1NjYsNyBA
QAogCQkJCTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICovLAogCQkJ
CUJDMUEzNzkwMDk3QzZGOTcwMDE5RjNEOCAvKiBiaW5kaW5ncyAqLywKIAkJCQkxQTU2OUNDNDBE
N0UyQjYwMDA3QzM5ODMgLyogYnJpZGdlICovLAorCQkJCUUxRkY4RjVCMTgwNzM2MkIwMDEzMjY3
NCAvKiBjcnlwdG8gKi8sCiAJCQkJRjUyM0QxODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLywK
IAkJCQlGNTIzRDMyNDAyREU0NDc4MDE4NjM1Q0EgLyogZG9tICovLAogCQkJCTkzMzA5RDg2MDk5
RTY0OTEwMDU2RTU4MSAvKiBlZGl0aW5nICovLApAQCAtMTM3NzQsNiArMTM3ODYsNyBAQAogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlBODNCNzkxMDBDQ0IwMDFCMDAw
QjA4MjUgLyogQ29yZSAqLywKKwkJCQlFMUZGOEY2MTE4MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRv
ICovLAogCQkJCUE4M0I3OTBFMENDQUZGOTcwMDBCMDgyNSAvKiBDU1MgKi8sCiAJCQkJQ0RBOThE
Q0QxNjAxNTE1QzAwRkVBM0IxIC8qIEVuY3J5cHRlZE1lZGlhICovLAogCQkJCUE4M0I3OTEyMEND
QjAwM0YwMDBCMDgyNSAvKiBFdmVudHMgKi8sCkBAIC0xOTM2NCw2ICsxOTM3Nyw3IEBACiAJCQkJ
MDhBNDhBNkQwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNw
cCAqLywKIAkJCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5ndGhDdXN0b20u
Y3BwICovLAogCQkJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0
b20uY3BwICovLAorCQkJCUUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0
b0N1c3RvbS5jcHAgKi8sCiAJCQkJMUEyQzQwQUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1
c3RvbS5jcHAgKi8sCiAJCQkJMDdFMTE3MDYxNDg5RUJFQjAwRUM1QUNFIC8qIEpTVGV4dFRyYWNr
Q3VlQ3VzdG9tLmNwcCAqLywKIAkJCQkwN0UxMTZCMDE0ODlDOUExMDBFQzVBQ0UgLyogSlNUZXh0
VHJhY2tDdXN0b20uY3BwICovLApAQCAtMjAwOTUsNiArMjAxMDksMjUgQEAKIAkJCXRhYldpZHRo
ID0gNDsKIAkJCXVzZXNUYWJzID0gMDsKIAkJfTsKKwkJRTFGRjhGNUIxODA3MzYyQjAwMTMyNjc0
IC8qIGNyeXB0byAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJRTFGRjhGNUMxODA3MzY0QjAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5pZGwgKi8sCisJCQkJ
RTFGRjhGNUQxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5jcHAgKi8sCisJCQkJRTFG
RjhGNUUxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5oICovLAorCQkJKTsKKwkJCXBh
dGggPSBjcnlwdG87CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlFMUZGOEY2
MTE4MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRvICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlFMUZGOEY2MjE4MDc0NUQ4MDAxMzI2NzQgLyogSlNTdWJ0bGVD
cnlwdG8uY3BwICovLAorCQkJCUUxRkY4RjYzMTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNy
eXB0by5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBDcnlwdG87CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OwogCQlFNDZFOTc4NjBEQUFENjFCMDA3MUU4OTQgLyogYW5pbWF0aW9uICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIxNDkzLDYgKzIx
NTI2LDcgQEAKIAkJCQlFMUNERTkyMjE1MDE5MTY5MDA4NjJDQzUgLyogQXN5bmNGaWxlU3RyZWFt
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzUzNDNGRDE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M2MUYwMTEyMDk1Qzg3
MDA3QTNDNjcgLyogQXRvbWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTFGRjhGNjAxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQThDNEE4MEQwOUQ1NjMyNzAwMDNBQzhEIC8qIEF0dHIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4QzRBODBCMDlENTYzMjcwMDAzQUM4RCAvKiBBdHRyaWJ1dGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZEMzE2MDdBMTJCMDI2RjcwMEMxQTM1OSAvKiBBdWRpb0FycmF5LmggaW4gSGVh
ZGVycyAqLywKQEAgLTIyNDYzLDYgKzIyNDk3LDcgQEAKIAkJCQlBMTI3MDVDMzE2NTZCRDY1MDBD
MkUyN0MgLyogR3JpZFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJBMTA1MDE2NjQ0
NEZEMDA4RkEzMTEgLyogR3JpZFRyYWNrU2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzUwQjU2
MTcxMjExOUQyMzAwOEI0NkUwIC8qIEdyb3VwU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUUxRkY4RjY1MTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDc4RTA5NDAxN0QxNkUxQzAwNDIwQUExIC8qIFJUQ0ljZUNhbmRpZGF0ZURlc2Ny
aXB0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0ODJCNzQ2MTE5OEMzNTQwMEJGQjAwNSAvKiBI
YXNoQ2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzQ4QkUwMTJDQkYyREMwMDFG
QkE0MSAvKiBIYXNoVG9vbHMuaCBpbiBIZWFkZXJzICovLApAQCAtMjUwNjksNiArMjUxMDQsNyBA
QAogCQkJCTQ5NDg0RkMxMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlGQjkxMzkyNzE2QUU0QzM0MDAxRkU2ODIgLyogQ2FudmFzUGF0aE1l
dGhvZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQzQxMDJDRjIzQzAwMTg3REQzIC8q
IENhbnZhc1BhdHRlcm4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTFGRjhGNjgxODA3NDYwODAw
MTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5
QzdCOURDMTA0MkQzMkYwMDA5RDQ0NyAvKiBDYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQ5NDg0RkNBMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQ0QxMDJDRjIzQzAwMTg3
REQzIC8qIENhbnZhc1N0eWxlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjU4OTAsNiArMjU5MjYs
NyBAQAogCQkJCTdBQTUxREQ1MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2Vu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzUyMkQ0QjE1QjQ3N0U4MDA5QjdDOTUgLyogSW5z
cGVjdG9yT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjZGREQ2NDEzNDFERUREMDAx
RjhFRTMgLyogSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUxRkY4
RjVGMTgwNzQ0MjEwMDEzMjY3NCAvKiBTdWJ0bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOUYwRDZCMkUxMjFCRkVCQTAwNkMwMjg4IC8qIEluc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJODJBQjE3NzUxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3Rv
clJlc291cmNlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBMzY1RUUxMkU3MjY1NDAw
RENBMjQyIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3
NDA0LDYgKzI3NDQxLDcgQEAKIAkJCQkwNzhFMDkwRjE3RDE0Q0VFMDA0MjBBQTEgLyogUlRDU3Rh
dHNSZXF1ZXN0SW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MURGNkQ4MDBCOTJBMThFMDBD
MkRDODUgLyogVGhyZWFkQ2hlY2subW0gaW4gU291cmNlcyAqLywKIAkJCQlFMUZGNTdBNjBGMDEy
NTZCMDA4OTFFQkIgLyogVGhyZWFkR2xvYmFsRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlF
MUZGOEY2NDE4MDc0NUQ4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMTg1QkNGMjgwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxQUE3MTYwQTE0OUJDNERCMDAxNkVDMTkgLyogVGlsZUNvbnRyb2xs
ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTg3NzBGMjEyNDJDNTM1MDAyMjI2QkEgLyogVGls
aW5nRGF0YS5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJKU1N1YnRsZUNyeXB0by5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworCisKK30KKworI2VuZGlmCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3Rv
bS5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRp
dmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3J5cHRvL1N1YnRsZUNyeXB0by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5
cHRvL1N1YnRsZUNyeXB0by5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlw
dG8vU3VidGxlQ3J5cHRvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN1YnRsZUNyeXB0by5oIgor
CisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1N1YnRsZUNyeXB0bzo6U3VidGxlQ3J5cHRvKERvY3VtZW50
JiBkb2N1bWVudCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkK
K3sKK30KKworRG9jdW1lbnQqIFN1YnRsZUNyeXB0bzo6ZG9jdW1lbnQoKSBjb25zdAoreworICAg
IHJldHVybiB0b0RvY3VtZW50KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKK30KKwor
I2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxl
Q3J5cHRvLmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL1N1YnRsZUNyeXB0by5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvY3J5
cHRvL1N1YnRsZUNyeXB0by5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFN1YnRsZUNyeXB0b19oCisjZGVmaW5lIFN1YnRsZUNyeXB0b19oCisK
KyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworI2lmIEVOQUJMRShT
VUJUTEVfQ1JZUFRPKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50Owor
CitjbGFzcyBTdWJ0bGVDcnlwdG8gOiBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIs
IHB1YmxpYyBSZWZDb3VudGVkPFN1YnRsZUNyeXB0bz4geworcHVibGljOgorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFN1YnRsZUNyeXB0bz4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFN1YnRsZUNyeXB0byhkb2N1bWVudCkpOyB9CisKKyAgICBEb2N1bWVu
dCogZG9jdW1lbnQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBTdWJ0bGVDcnlwdG8oRG9jdW1l
bnQmKTsKK307CisKK30KKworI2VuZGlmCisKKyNlbmRpZiAvLyBTdWJ0bGVDcnlwdG9faAoKUHJv
cGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9T
dWJ0bGVDcnlwdG8uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0
bGVDcnlwdG8uaWRsCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRs
ZUNyeXB0by5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEludGVyZmFjZU5hbWU9V2Vi
S2l0U3VidGxlQ3J5cHRvLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbERvY3VtZW50LAor
ICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorICAgIE9wZXJhdGlvbnNOb3REZWxldGFibGUKK10gaW50
ZXJmYWNlIFN1YnRsZUNyeXB0byB7Cit9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Dcnlw
dG8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmNwcAkocmV2
aXNpb24gMTU3NDE3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzIsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3VidGxlQ3J5cHRvLmgiCiAjaW5jbHVkZSA8cnVudGlt
ZS9BcnJheUJ1ZmZlclZpZXcuaD4KICNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIuaD4KIApAQCAtNzMsNCArNzUsMTUgQEAgdm9pZCBDcnlwdG86OmdldFJhbmRvbVZh
bHVlcyhBcnJheUJ1ZmZlcgogICAgIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKGFycmF5
LT5iYXNlQWRkcmVzcygpLCBhcnJheS0+Ynl0ZUxlbmd0aCgpKTsKIH0KIAorI2lmIEVOQUJMRShT
VUJUTEVfQ1JZUFRPKQorU3VidGxlQ3J5cHRvKiBDcnlwdG86OnN1YnRsZSgpCit7CisgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBpZiAoIW1fc3VidGxlKQorICAgICAgICBtX3N1YnRs
ZSA9IFN1YnRsZUNyeXB0bzo6Y3JlYXRlKCpkb2N1bWVudCgpKTsKKworICAgIHJldHVybiBtX3N1
YnRsZS5nZXQoKTsKK30KKyNlbmRpZgorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Ny
eXB0by5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmgJKHJldmlz
aW9uIDE1NzQxNykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0z
Myw2ICszNCw3IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEFycmF5QnVmZmVyVmlldzsKQEAgLTQz
LDYgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29k
ZTsKIAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBTdWJ0bGVDcnlwdG87CiAKIGNsYXNzIENyeXB0
byA6IHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciwgcHVibGljIFJlZkNvdW50ZWQ8
Q3J5cHRvPiB7CiBwdWJsaWM6CkBAIC01Myw4ICs1NiwxNiBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGdldFJhbmRvbVZhbHVlcyhKU0M6OkFycmF5QnVmZmVyVmlldyosIEV4Y2VwdGlvbkNvZGUmKTsK
IAorI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorICAgIFN1YnRsZUNyeXB0byogc3VidGxlKCk7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBDcnlwdG8oRG9jdW1lbnQmKTsKKworI2lmIEVOQUJM
RShTVUJUTEVfQ1JZUFRPKQorICAgIFJlZlB0cjxTdWJ0bGVDcnlwdG8+IG1fc3VidGxlOworI2Vu
ZGlmCiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uaWRsCShyZXZpc2lvbiAxNTc0MTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMiw1ICszMyw2
IEBACiAgICAgT3BlcmF0aW9uc05vdERlbGV0YWJsZQogXSBpbnRlcmZhY2UgQ3J5cHRvIHsKICAg
ICBbQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIEFycmF5QnVmZmVyVmlldyBnZXRSYW5kb21WYWx1
ZXMoQXJyYXlCdWZmZXJWaWV3IGFycmF5KTsKLX07CiAKKyAgICBbQ29uZGl0aW9uYWw9U1VCVExF
X0NSWVBUTywgSW1wbGVtZW50ZWRBcz1zdWJ0bGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdWJ0bGVD
cnlwdG8gd2Via2l0U3VidGxlOworfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQyMSkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEz
LTEwLTE0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBhbiBlbXB0eSB3aW5kb3cuY3J5cHRvLndlYmtpdFN1YnRsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNzc4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBUaGUgZmVh
dHVyZSBpc24ndCBlbmFibGVkIGFueXdoZXJlIHlldCwgc28gc2tpcHBpbmcgdGhlIG5ldyB0ZXN0
cy4KKworICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbDogQWRkZWQu
CisgICAgICAgICogc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MuaHRtbDogQWRkZWQuCisKIDIw
MTMtMTAtMTQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCBmaXggdGhlIHBhdGhzIHNvIHRoYXQgdGhlIHRlc3QgcGFzc2VzLgpJbmRleDogTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxNTc0MDkpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC02NSwzICs2NSw3IEBAIGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tY2xvbmUuaHRtbCAKICMgU2tpcHBpbmcgaXQgZm9yIG5vdywgdGhlbiBwdXQg
aXQgYWdhaW4gd2hlbiB0aGUgc3BlYyBkZWNpZGVzIGl0CiBmYXN0L21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLW9uZW5kZWQuaHRtbCBbIFNraXAgXQogCisjIGNyeXB0by5zdWJ0bGUgaXMgbm90IHll
dCBlbmFibGVkIG9uIGFueSBwb3J0cword2Via2l0Lm9yZy9iLzEyMjY3OSBzZWN1cml0eS9jcnlw
dG8tc3VidGxlLWdjLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMjI2Nzkgc2VjdXJpdHkv
Y3J5cHRvLXN1YnRsZS1nYy0yLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMjI2Nzkgc2Vj
dXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwgWyBTa2lwIF0KSW5kZXg6IExheW91dFRlc3Rz
L3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0yLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorVGVzdCB0aGF0IHdpbmRv
dy5jcnlwdG8uc3VidGxlIHdyYXBwZXIgcHJlc2VydmVzIGN1c3RvbSBwcm9wZXJ0aWVzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBbb2JqZWN0IENyeXB0b10gaXMgZGVm
aW5lZC4KK1BBU1MgW29iamVjdCBXZWJLaXRTdWJ0bGVDcnlwdG9dIGlzIGRlZmluZWQuCitQQVNT
IGFub3RoZXJXaW5kb3dDcnlwdG8ud2Via2l0U3VidGxlLmZvbyBpcyAiYmFyIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50
eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3Bs
YWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0yLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisK
K2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgd2luZG93LmNyeXB0by5zdWJ0bGUgd3JhcHBlciBwcmVz
ZXJ2ZXMgY3VzdG9tIHByb3BlcnRpZXMuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGFub3RoZXJXaW5kb3dDcnlwdG87CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpCit7CisgICAgYW5v
dGhlcldpbmRvd0NyeXB0byA9IGZyYW1lc1swXS5jcnlwdG87CisgICAgc2hvdWxkQmVEZWZpbmVk
KGFub3RoZXJXaW5kb3dDcnlwdG8pOworICAgIHNob3VsZEJlRGVmaW5lZChhbm90aGVyV2luZG93
Q3J5cHRvLndlYmtpdFN1YnRsZSk7CisKKyAgICBhbm90aGVyV2luZG93Q3J5cHRvLndlYmtpdFN1
YnRsZS5mb28gPSAiYmFyIjsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXSk7CisgICAgZ2MoKTsKKyAgICBzZXRU
aW1lb3V0KGNvbnRpbnVlVGVzdCwgMTApOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3QoKQor
eworICAgIGdjKCk7CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAxMCk7Cit9CisKK2Z1bmN0
aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ2Fub3RoZXJXaW5k
b3dDcnlwdG8ud2Via2l0U3VidGxlLmZvbycsICciYmFyIicpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfQorCit3aW5kb3cub25sb2FkID0gc3RhcnRUZXN0OworCis8L3NjcmlwdD4KKzxpZnJhbWUg
c3JjPSJhYm91dDpibGFuayI+PC9pZnJhbWU+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTIuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvaHRtbApcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9zZWN1cml0eS9j
cnlwdG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgdGhhdCB3aW5kb3cuY3J5cHRvIHdy
YXBwZXIgcHJvdGVjdHMgYWxsIGRlcGVuZGVuY2llcywgc28gaXQgY2FuIGFsd2F5cyBiZSB1c2Vk
IHRvIGNyZWF0ZSBjcnlwdG8uc3VidGxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBbb2JqZWN0IENyeXB0b10gaXMgZGVmaW5lZC4KK1BBU1MgW29iamVjdCBXZWJLaXRT
dWJ0bGVDcnlwdG9dIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc2Vj
dXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0zLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvc2VjdXJp
dHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2Vj
dXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgdGhh
dCB3aW5kb3cuY3J5cHRvIHdyYXBwZXIgcHJvdGVjdHMgYWxsIGRlcGVuZGVuY2llcywgc28gaXQg
Y2FuIGFsd2F5cyBiZSB1c2VkIHRvIGNyZWF0ZSBjcnlwdG8uc3VidGxlLiIpOworanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3ZhciBhbm90aGVyV2luZG93Q3J5cHRvOworCitmdW5jdGlvbiBzdGFy
dFRlc3QoKQoreworICAgIGFub3RoZXJXaW5kb3dDcnlwdG8gPSBmcmFtZXNbMF0uY3J5cHRvOwor
ICAgIHNob3VsZEJlRGVmaW5lZChhbm90aGVyV2luZG93Q3J5cHRvKTsKKyAgICBkb2N1bWVudC5i
b2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVsw
XSk7CisgICAgZ2MoKTsKKyAgICBzZXRUaW1lb3V0KGNvbnRpbnVlVGVzdCwgMTApOworfQorCitm
dW5jdGlvbiBjb250aW51ZVRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2V0VGltZW91dChmaW5p
c2hUZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7Cisg
ICAgc2hvdWxkQmVEZWZpbmVkKGFub3RoZXJXaW5kb3dDcnlwdG8ud2Via2l0U3VidGxlKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93Lm9ubG9hZCA9IHN0YXJ0VGVzdDsKKworPC9z
Y3JpcHQ+Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRs
ZS1nYy0zLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMj
Cit0ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgd2luZG93
LmNyeXB0by5zdWJ0bGUgd3JhcHBlciBwcmVzZXJ2ZXMgY3VzdG9tIHByb3BlcnRpZXMuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHdpbmRvdy5jcnlwdG8ud2Via2l0U3Vi
dGxlLmZvbyBpcyAiYmFyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3NlY3VyaXR5L2Ny
eXB0by1zdWJ0bGUtZ2MtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5
cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8t
c3VidGxlLWdjLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRv
LXN1YnRsZS1nYy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5
cHRvLXN1YnRsZS1nYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IHdpbmRvdy5jcnlwdG8u
c3VidGxlIHdyYXBwZXIgcHJlc2VydmVzIGN1c3RvbSBwcm9wZXJ0aWVzLiIpOworanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpCit7CisgICAgd2luZG93LmNyeXB0
by53ZWJraXRTdWJ0bGUuZm9vID0gImJhciI7CisgICAgZ2MoKTsKKyAgICBzZXRUaW1lb3V0KGNv
bnRpbnVlVGVzdCwgMTApOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3QoKQoreworICAgIGdj
KCk7CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlz
aFRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ3dpbmRvdy5jcnlwdG8ud2Via2l0
U3VidGxlLmZvbycsICciYmFyIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit3aW5kb3cu
b25sb2FkID0gc3RhcnRUZXN0OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MuaHRtbApf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvaHRtbApc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cg==
</data>
<flag name="review"
          id="236708"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
    <flag name="commit-queue"
          id="236709"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214196</attachid>
            <date>2013-10-14 15:33:19 -0700</date>
            <delta_ts>2013-10-14 16:09:37 -0700</delta_ts>
            <desc>patch for EWS</desc>
            <filename>EmptySubtleCrypto.txt</filename>
            <type>text/plain</type>
            <size>34228</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEzLTEwLTE0ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBlbXB0eSB3aW5k
b3cuY3J5cHRvLndlYmtpdFN1YnRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTIyNzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdHM6IHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCisg
ICAgICAgICAgICAgICBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbAorICAgICAgICAg
ICAgICAgc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy5odG1sCisKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOiBQcm9jZXNzIFN1YnRsZUNyeXB0by5pZGwuCisKKyAgICAgICAgKiBjcnlw
dG86IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOiBBZGRlZC4gRW1wdHkg
Zm9yIG5vdywgYnV0IHdlJ2xsIGNlcnRhaW5seQorICAgICAgICBuZWVkIGN1c3RvbSBiaW5kaW5n
cyBjb2RlIGhlcmUuCisKKyAgICAgICAgKiBjcnlwdG8vU3VidGxlQ3J5cHRvLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpTdWJ0bGVDcnlwdG86OlN1YnRsZUNyeXB0byk6CisgICAgICAg
IChXZWJDb3JlOjpTdWJ0bGVDcnlwdG86OmRvY3VtZW50KToKKyAgICAgICAgKiBjcnlwdG8vU3Vi
dGxlQ3J5cHRvLmg6IEFkZGVkLiAgICAgICAgCisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0
by5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvQ3J5cHRvLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNyeXB0bzo6c3VidGxlKToKKyAgICAgICAgKiBwYWdlL0NyeXB0by5oOgorICAgICAgICAq
IHBhZ2UvQ3J5cHRvLmlkbDoKKwogMjAxMy0xMC0xNCAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjI3NzQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTU3NDA5KQor
KysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYg
KzIyLDcgQEAgc2V0KFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVf
RElSfS9iaW5kaW5ncy9nZW5lcmljIgogICAgICIke1dFQkNPUkVfRElSfS9icmlkZ2UiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L2JyaWRnZS9jIgorICAgICIke1dFQkNPUkVfRElSfS9jcnlwdG8iCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L2NzcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vZG9tIgogICAgICIk
e1dFQkNPUkVfRElSfS9kb20vZGVmYXVsdCIKQEAgLTI4Miw2ICsyODMsOCBAQCBzZXQoV2ViQ29y
ZV9JRExfRklMRVMKICAgICBNb2R1bGVzL3dlYnNvY2tldHMvQ2xvc2VFdmVudC5pZGwKICAgICBN
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAogCisgICAgY3J5cHRvL1N1YnRsZUNyeXB0
by5pZGwKKwogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5pZGwKICAgICBjc3MvQ1NTRm9udEZhY2VM
b2FkRXZlbnQuaWRsCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTU3NDA5KQorKysgU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBWUEFU
SCA9IFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2dlbmVyaWMgXAogICAgICQoV2ViQ29yZSkv
YmluZGluZ3MvanMgXAogICAgICQoV2ViQ29yZSkvYmluZGluZ3Mvb2JqYyBcCisgICAgJChXZWJD
b3JlKS9jcnlwdG8gXAogICAgICQoV2ViQ29yZSkvY3NzIFwKICAgICAkKFdlYkNvcmUpL2RvbSBc
CiAgICAgJChXZWJDb3JlKS9lZGl0aW5nIFwKQEAgLTE5Nyw2ICsxOTgsNyBAQCBCSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1dvcmtlckdsb2JhbFNj
b3BlV2ViRGF0YWJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cy9D
bG9zZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9D
U1NGb250RmFjZUxvYWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNl
UnVsZS5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDE1NzQwOSkKKysr
IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICsz
MSw3IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MgXAogCS1JJChz
cmNkaXIpL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MgXAorCS1JJChzcmNkaXIpL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0byBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvY3NzIFwKIAktSSQo
c3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9kb20gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L2RvbS9kZWZhdWx0IFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNp
b24gMTU3NDA5KQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTI5NSw2ICsxMjk1LDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1dvcmtlckdsb2JhbFNjb3BlV2ViRGF0YWJhc2Uu
aWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cy9DbG9zZUV2ZW50LmlkbCBcCiAJ
JChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBcCisJJChXZWJDb3Jl
KS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNldFJ1
bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZUxvYWRFdmVudC5pZGwgXAogCSQo
V2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXApAQCAtMjQ3Niw2ICsyNDc3LDcgQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jb25maWcuaCBcCisJU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9Db3VudGVyLmggXApJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDE1NzQwOSkKKysrIFNvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjUsNyArMTY1LDcgQEAgRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgPSAkKEVO
QUJMRV9TUEVFQwogRU5BQkxFX1NQRUVDSF9TWU5USEVTSVNfbWFjb3N4ID0gRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVM7CiBFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxFX1NRTF9EQVRBQkFTRTsK
IEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQgPSA7Ci1FTkFCTEVfU1VCVExFX0NSWVBUTyA9IDsKK0VO
QUJMRV9TVUJUTEVfQ1JZUFRPID0gRU5BQkxFX1NVQlRMRV9DUllQVE87CiBFTkFCTEVfU1ZHID0g
RU5BQkxFX1NWRzsKIEVOQUJMRV9TVkdfRk9OVFMgPSBFTkFCTEVfU1ZHX0ZPTlRTOwogRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQgPSA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCShyZXZpc2lvbiAxNTc0MDkp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMJKHdvcmtpbmcgY29weSkKQEAgLTE3Miw2ICsxNzIsOSBAQAogICAgIDxGaWx0ZXIgSW5jbHVk
ZT0icGxhdGZvcm1cbW9jayI+CiAgICAgICA8VW5pcXVlSWRlbnRpZmllcj57MzVhNjc2NjctMWM3
Ny00MTk5LWJkZDMtYTA2Mjc5NDY4NDZhfTwvVW5pcXVlSWRlbnRpZmllcj4KICAgICA8L0ZpbHRl
cj4KKyAgICA8RmlsdGVyIEluY2x1ZGU9ImNyeXB0byI+CisgICAgICA8VW5pcXVlSWRlbnRpZmll
cj57MDIzMzQ0MjctMTlkNi00NGM4LWE1ZDEtZTFhNjdhOWM0OTk3fTwvVW5pcXVlSWRlbnRpZmll
cj4KKyAgICA8L0ZpbHRlcj4KICAgICA8RmlsdGVyIEluY2x1ZGU9ImNzcyI+CiAgICAgICA8VW5p
cXVlSWRlbnRpZmllcj57MzUzYjc2Y2EtYzQ5YS00MWRhLTg4ZGEtMzNkYzQyMjMyNWVmfTwvVW5p
cXVlSWRlbnRpZmllcj4KICAgICA8L0ZpbHRlcj4KQEAgLTg3OTksNiArODgwMiw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxtb2NrXFNjcm9sbGJhclRoZW1lTW9jay5o
Ij4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbW9jazwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3J5cHRvXFN1YnRsZUNyeXB0by5oIj4KKyAg
ICAgIDxGaWx0ZXI+Y3J5cHRvPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxjc3NcQmFzaWNTaGFwZUZ1bmN0aW9ucy5oIj4KICAgICAgIDxGaWx0
ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTc0MDkp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTU1OTEsNiArNTU5MSwxMSBAQAogCQlFMUYxRTgzMDBDM0MyQkI5MDA2
REIzOTEgLyogWFNMVEV4dGVuc2lvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxRjFFODJFMEMzQzJCQjkwMDZEQjM5MSAvKiBYU0xURXh0ZW5zaW9u
cy5oICovOyB9OwogCQlFMUZGNTdBMzBGMDEyNTVCMDA4OTFFQkIgLyogVGhyZWFkR2xvYmFsRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFGRjU3
QTIwRjAxMjU1QjAwODkxRUJCIC8qIFRocmVhZEdsb2JhbERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUZGNTdBNjBGMDEyNTZCMDA4OTFF
QkIgLyogVGhyZWFkR2xvYmFsRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMUZGNTdBNTBGMDEyNTZCMDA4OTFFQkIgLyogVGhyZWFkR2xvYmFs
RGF0YS5jcHAgKi87IH07CisJCUUxRkY4RjVGMTgwNzQ0MjEwMDEzMjY3NCAvKiBTdWJ0bGVDcnlw
dG8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFG
RjhGNUQxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5jcHAgKi87IH07CisJCUUxRkY4
RjYwMTgwNzQ0MjEwMDEzMjY3NCAvKiBTdWJ0bGVDcnlwdG8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4RjVFMTgwNzQ0MjEwMDEzMjY3NCAvKiBT
dWJ0bGVDcnlwdG8uaCAqLzsgfTsKKwkJRTFGRjhGNjQxODA3NDVEODAwMTMyNjc0IC8qIEpTU3Vi
dGxlQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxRkY4RjYyMTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5jcHAgKi87IH07
CisJCUUxRkY4RjY1MTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFGRjhGNjMxODA3NDVEODAw
MTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvLmggKi87IH07CisJCUUxRkY4RjY4MTgwNzQ2MDgwMDEz
MjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGOEY2NjE4MDc0NjA4MDAxMzI2NzQgLyogSlNTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwICovOyB9OwogCQlFNDAxQzI3NTE3Q0U1M0VDMDBDNDFBMzUgLyog
RWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVy
YXRvckFzc2VydGlvbnMuaCAqLzsgfTsKIAkJRTQyOTVGQTQxMkIwNjE0RTAwRDFBQ0UwIC8qIFJl
c291cmNlTG9hZFByaW9yaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNDI5NUZBMzEyQjA2MTRFMDBEMUFDRTAgLyogUmVzb3VyY2VMb2FkUHJpb3Jp
dHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
NDMxMDVCODE2NzUwRjBDMDBEQjJGQjggLyogTm9kZVRyYXZlcnNhbC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDMxMDVCNzE2NzUwRjBDMDBEQjJG
QjggLyogTm9kZVRyYXZlcnNhbC5jcHAgKi87IH07CkBAIC0xMjU1Myw2ICsxMjU1OCwxMiBAQAog
CQlFMUYxRTgyRTBDM0MyQkI5MDA2REIzOTEgLyogWFNMVEV4dGVuc2lvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWFNMVEV4dGVuc2lvbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTFGRjU3QTIwRjAxMjU1QjAwODkxRUJCIC8qIFRocmVhZEdsb2JhbERh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhyZWFkR2xvYmFsRGF0YS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUZGNTdBNTBGMDEyNTZCMDA4OTFFQkIg
LyogVGhyZWFkR2xvYmFsRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUaHJlYWRHbG9iYWxEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTFGRjhGNUMxODA3MzY0QjAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3VidGxl
Q3J5cHRvLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFGRjhGNUQxODA3NDQy
MTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdWJ0bGVDcnlwdG8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlFMUZGOEY1RTE4MDc0NDIxMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1YnRsZUNyeXB0by5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFMUZGOEY2MjE4MDc0NUQ4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG8uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdWJ0bGVDcnlwdG8uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUZGOEY2MzE4MDc0NUQ4MDAxMzI2NzQg
LyogSlNTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNT
dWJ0bGVDcnlwdG8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFGRjhGNjYxODA3
NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJ
dGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWxl
bWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
NDA2RjNGQjExOTgzMDdEMDA5RDU5RDYgLyogQ29sb3JEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAvKiBDU1NQcm9wZXJ0eU5hbWVzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3BlcnR5TmFtZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1NTUsNiArMTM1NjYsNyBAQAog
CQkJCTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICovLAogCQkJCUJD
MUEzNzkwMDk3QzZGOTcwMDE5RjNEOCAvKiBiaW5kaW5ncyAqLywKIAkJCQkxQTU2OUNDNDBEN0Uy
QjYwMDA3QzM5ODMgLyogYnJpZGdlICovLAorCQkJCUUxRkY4RjVCMTgwNzM2MkIwMDEzMjY3NCAv
KiBjcnlwdG8gKi8sCiAJCQkJRjUyM0QxODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLywKIAkJ
CQlGNTIzRDMyNDAyREU0NDc4MDE4NjM1Q0EgLyogZG9tICovLAogCQkJCTkzMzA5RDg2MDk5RTY0
OTEwMDU2RTU4MSAvKiBlZGl0aW5nICovLApAQCAtMTM3NzQsNiArMTM3ODYsNyBAQAogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlBODNCNzkxMDBDQ0IwMDFCMDAwQjA4
MjUgLyogQ29yZSAqLywKKwkJCQlFMUZGOEY2MTE4MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRvICov
LAogCQkJCUE4M0I3OTBFMENDQUZGOTcwMDBCMDgyNSAvKiBDU1MgKi8sCiAJCQkJQ0RBOThEQ0Qx
NjAxNTE1QzAwRkVBM0IxIC8qIEVuY3J5cHRlZE1lZGlhICovLAogCQkJCUE4M0I3OTEyMENDQjAw
M0YwMDBCMDgyNSAvKiBFdmVudHMgKi8sCkBAIC0xOTM2NCw2ICsxOTM3Nyw3IEBACiAJCQkJMDhB
NDhBNkQwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCAq
LywKIAkJCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5ndGhDdXN0b20uY3Bw
ICovLAogCQkJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0b20u
Y3BwICovLAorCQkJCUUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHAgKi8sCiAJCQkJMUEyQzQwQUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3Rv
bS5jcHAgKi8sCiAJCQkJMDdFMTE3MDYxNDg5RUJFQjAwRUM1QUNFIC8qIEpTVGV4dFRyYWNrQ3Vl
Q3VzdG9tLmNwcCAqLywKIAkJCQkwN0UxMTZCMDE0ODlDOUExMDBFQzVBQ0UgLyogSlNUZXh0VHJh
Y2tDdXN0b20uY3BwICovLApAQCAtMjAwOTUsNiArMjAxMDksMjUgQEAKIAkJCXRhYldpZHRoID0g
NDsKIAkJCXVzZXNUYWJzID0gMDsKIAkJfTsKKwkJRTFGRjhGNUIxODA3MzYyQjAwMTMyNjc0IC8q
IGNyeXB0byAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
RTFGRjhGNUMxODA3MzY0QjAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5pZGwgKi8sCisJCQkJRTFG
RjhGNUQxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5jcHAgKi8sCisJCQkJRTFGRjhG
NUUxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5oICovLAorCQkJKTsKKwkJCXBhdGgg
PSBjcnlwdG87CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlFMUZGOEY2MTE4
MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRvICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQlFMUZGOEY2MjE4MDc0NUQ4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlw
dG8uY3BwICovLAorCQkJCUUxRkY4RjYzMTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0
by5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBDcnlwdG87CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OwogCQlFNDZFOTc4NjBEQUFENjFCMDA3MUU4OTQgLyogYW5pbWF0aW9uICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIxNDkzLDYgKzIxNTI2
LDcgQEAKIAkJCQlFMUNERTkyMjE1MDE5MTY5MDA4NjJDQzUgLyogQXN5bmNGaWxlU3RyZWFtLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzUzNDNGRDE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M2MUYwMTEyMDk1Qzg3MDA3
QTNDNjcgLyogQXRvbWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTFGRjhGNjAxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThDNEE4MEQwOUQ1NjMyNzAwMDNBQzhEIC8qIEF0dHIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QzRBODBCMDlENTYzMjcwMDAzQUM4RCAvKiBBdHRyaWJ1dGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZEMzE2MDdBMTJCMDI2RjcwMEMxQTM1OSAvKiBBdWRpb0FycmF5LmggaW4gSGVhZGVy
cyAqLywKQEAgLTIyNDYzLDYgKzIyNDk3LDcgQEAKIAkJCQlBMTI3MDVDMzE2NTZCRDY1MDBDMkUy
N0MgLyogR3JpZFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJBMTA1MDE2NjQ0NEZE
MDA4RkEzMTEgLyogR3JpZFRyYWNrU2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzUwQjU2MTcx
MjExOUQyMzAwOEI0NkUwIC8qIEdyb3VwU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUUx
RkY4RjY1MTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDc4RTA5NDAxN0QxNkUxQzAwNDIwQUExIC8qIFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0
b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0ODJCNzQ2MTE5OEMzNTQwMEJGQjAwNSAvKiBIYXNo
Q2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzQ4QkUwMTJDQkYyREMwMDFGQkE0
MSAvKiBIYXNoVG9vbHMuaCBpbiBIZWFkZXJzICovLApAQCAtMjUwNjksNiArMjUxMDQsNyBAQAog
CQkJCTQ5NDg0RkMxMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlGQjkxMzkyNzE2QUU0QzM0MDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhv
ZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQzQxMDJDRjIzQzAwMTg3REQzIC8qIENh
bnZhc1BhdHRlcm4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTFGRjhGNjgxODA3NDYwODAwMTMy
Njc0IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QzdC
OURDMTA0MkQzMkYwMDA5RDQ0NyAvKiBDYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQ5NDg0RkNBMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQ0QxMDJDRjIzQzAwMTg3REQz
IC8qIENhbnZhc1N0eWxlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjU4OTAsNiArMjU5MjYsNyBA
QAogCQkJCTdBQTUxREQ1MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzUyMkQ0QjE1QjQ3N0U4MDA5QjdDOTUgLyogSW5zcGVj
dG9yT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjZGREQ2NDEzNDFERUREMDAxRjhF
RTMgLyogSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUxRkY4RjVG
MTgwNzQ0MjEwMDEzMjY3NCAvKiBTdWJ0bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OUYwRDZCMkUxMjFCRkVCQTAwNkMwMjg4IC8qIEluc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODJBQjE3NzUxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3RvclJl
c291cmNlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBMzY1RUUxMkU3MjY1NDAwRENB
MjQyIC8qIEluc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3NDA0
LDYgKzI3NDQxLDcgQEAKIAkJCQkwNzhFMDkwRjE3RDE0Q0VFMDA0MjBBQTEgLyogUlRDU3RhdHNS
ZXF1ZXN0SW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MURGNkQ4MDBCOTJBMThFMDBDMkRD
ODUgLyogVGhyZWFkQ2hlY2subW0gaW4gU291cmNlcyAqLywKIAkJCQlFMUZGNTdBNjBGMDEyNTZC
MDA4OTFFQkIgLyogVGhyZWFkR2xvYmFsRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMUZG
OEY2NDE4MDc0NUQ4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTg1QkNGMjgwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQUE3MTYwQTE0OUJDNERCMDAxNkVDMTkgLyogVGlsZUNvbnRyb2xsZXIu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTg3NzBGMjEyNDJDNTM1MDAyMjI2QkEgLyogVGlsaW5n
RGF0YS5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJKU1N1YnRsZUNyeXB0by5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworCisKK30KKworI2VuZGlmCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5j
cHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5
cHRvL1N1YnRsZUNyeXB0by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRv
L1N1YnRsZUNyeXB0by5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8v
U3VidGxlQ3J5cHRvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN1YnRsZUNyeXB0by5oIgorCisj
aWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1N1YnRsZUNyeXB0bzo6U3VidGxlQ3J5cHRvKERvY3VtZW50JiBk
b2N1bWVudCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkKK3sK
K30KKworRG9jdW1lbnQqIFN1YnRsZUNyeXB0bzo6ZG9jdW1lbnQoKSBjb25zdAoreworICAgIHJl
dHVybiB0b0RvY3VtZW50KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKK30KKworI2Vu
ZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5
cHRvLmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25h
dGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5
cHRvL1N1YnRsZUNyeXB0by5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRv
L1N1YnRsZUNyeXB0by5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFN1YnRsZUNyeXB0b19oCisjZGVmaW5lIFN1YnRsZUNyeXB0b19oCisKKyNp
bmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworI2lmIEVOQUJMRShTVUJU
TEVfQ1JZUFRPKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworCitj
bGFzcyBTdWJ0bGVDcnlwdG8gOiBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIsIHB1
YmxpYyBSZWZDb3VudGVkPFN1YnRsZUNyeXB0bz4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFN1YnRsZUNyeXB0bz4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IFN1YnRsZUNyeXB0byhkb2N1bWVudCkpOyB9CisKKyAgICBEb2N1bWVudCog
ZG9jdW1lbnQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBTdWJ0bGVDcnlwdG8oRG9jdW1lbnQm
KTsKK307CisKK30KKworI2VuZGlmCisKKyNlbmRpZiAvLyBTdWJ0bGVDcnlwdG9faAoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5oCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0
bGVDcnlwdG8uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVD
cnlwdG8uaWRsCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNy
eXB0by5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEludGVyZmFjZU5hbWU9V2ViS2l0
U3VidGxlQ3J5cHRvLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbERvY3VtZW50LAorICAg
IE5vSW50ZXJmYWNlT2JqZWN0LAorICAgIE9wZXJhdGlvbnNOb3REZWxldGFibGUKK10gaW50ZXJm
YWNlIFN1YnRsZUNyeXB0byB7Cit9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmNwcAkocmV2aXNp
b24gMTU3NDE3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MzIsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCisjaW5jbHVkZSAiU3VidGxlQ3J5cHRvLmgiCiAjaW5jbHVkZSA8cnVudGltZS9B
cnJheUJ1ZmZlclZpZXcuaD4KICNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21O
dW1iZXIuaD4KIApAQCAtNzMsNCArNzUsMTUgQEAgdm9pZCBDcnlwdG86OmdldFJhbmRvbVZhbHVl
cyhBcnJheUJ1ZmZlcgogICAgIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKGFycmF5LT5i
YXNlQWRkcmVzcygpLCBhcnJheS0+Ynl0ZUxlbmd0aCgpKTsKIH0KIAorI2lmIEVOQUJMRShTVUJU
TEVfQ1JZUFRPKQorU3VidGxlQ3J5cHRvKiBDcnlwdG86OnN1YnRsZSgpCit7CisgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKKyAgICBpZiAoIW1fc3VidGxlKQorICAgICAgICBtX3N1YnRsZSA9
IFN1YnRsZUNyeXB0bzo6Y3JlYXRlKCpkb2N1bWVudCgpKTsKKworICAgIHJldHVybiBtX3N1YnRs
ZS5nZXQoKTsKK30KKyNlbmRpZgorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0
by5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmgJKHJldmlzaW9u
IDE1NzQxNykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMyw2
ICszNCw3IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEFycmF5QnVmZmVyVmlldzsKQEAgLTQzLDYg
KzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsK
IAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBTdWJ0bGVDcnlwdG87CiAKIGNsYXNzIENyeXB0byA6
IHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciwgcHVibGljIFJlZkNvdW50ZWQ8Q3J5
cHRvPiB7CiBwdWJsaWM6CkBAIC01Myw4ICs1NiwxNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdl
dFJhbmRvbVZhbHVlcyhKU0M6OkFycmF5QnVmZmVyVmlldyosIEV4Y2VwdGlvbkNvZGUmKTsKIAor
I2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorICAgIFN1YnRsZUNyeXB0byogc3VidGxlKCk7Cisj
ZW5kaWYKKwogcHJpdmF0ZToKICAgICBDcnlwdG8oRG9jdW1lbnQmKTsKKworI2lmIEVOQUJMRShT
VUJUTEVfQ1JZUFRPKQorICAgIFJlZlB0cjxTdWJ0bGVDcnlwdG8+IG1fc3VidGxlOworI2VuZGlm
CiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uaWRsCShyZXZpc2lvbiAxNTc0MTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMiw1ICszMyw2IEBA
CiAgICAgT3BlcmF0aW9uc05vdERlbGV0YWJsZQogXSBpbnRlcmZhY2UgQ3J5cHRvIHsKICAgICBb
Q3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIEFycmF5QnVmZmVyVmlldyBnZXRSYW5kb21WYWx1ZXMo
QXJyYXlCdWZmZXJWaWV3IGFycmF5KTsKLX07CiAKKyAgICBbQ29uZGl0aW9uYWw9U1VCVExFX0NS
WVBUTywgSW1wbGVtZW50ZWRBcz1zdWJ0bGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdWJ0bGVDcnlw
dG8gd2Via2l0U3VidGxlOworfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQyMSkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTEw
LTE0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBh
biBlbXB0eSB3aW5kb3cuY3J5cHRvLndlYmtpdFN1YnRsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBUaGUgZmVhdHVy
ZSBpc24ndCBlbmFibGVkIGFueXdoZXJlIHlldCwgc28gc2tpcHBpbmcgdGhlIG5ldyB0ZXN0cy4K
KworICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MuaHRtbDogQWRkZWQuCisKIDIwMTMt
MTAtMTQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCBmaXggdGhlIHBhdGhzIHNvIHRoYXQgdGhlIHRlc3QgcGFzc2VzLgpJbmRleDogTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCShyZXZpc2lvbiAxNTc0MDkpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCSh3b3JraW5nIGNvcHkpCkBAIC02NSwzICs2NSw3IEBAIGZhc3QvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0tY2xvbmUuaHRtbCAKICMgU2tpcHBpbmcgaXQgZm9yIG5vdywgdGhlbiBwdXQgaXQg
YWdhaW4gd2hlbiB0aGUgc3BlYyBkZWNpZGVzIGl0CiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLW9uZW5kZWQuaHRtbCBbIFNraXAgXQogCisjIGNyeXB0by5zdWJ0bGUgaXMgbm90IHlldCBl
bmFibGVkIG9uIGFueSBwb3J0cword2Via2l0Lm9yZy9iLzEyMjY3OSBzZWN1cml0eS9jcnlwdG8t
c3VidGxlLWdjLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMjI2Nzkgc2VjdXJpdHkvY3J5
cHRvLXN1YnRsZS1nYy0yLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMjI2Nzkgc2VjdXJp
dHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwgWyBTa2lwIF0KSW5kZXg6IExheW91dFRlc3RzL3Nl
Y3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0yLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorVGVzdCB0aGF0IHdpbmRvdy5j
cnlwdG8uc3VidGxlIHdyYXBwZXIgcHJlc2VydmVzIGN1c3RvbSBwcm9wZXJ0aWVzLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBbb2JqZWN0IENyeXB0b10gaXMgZGVmaW5l
ZC4KK1BBU1MgW29iamVjdCBXZWJLaXRTdWJ0bGVDcnlwdG9dIGlzIGRlZmluZWQuCitQQVNTIGFu
b3RoZXJXaW5kb3dDcnlwdG8ud2Via2l0U3VidGxlLmZvbyBpcyAiYmFyIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWlu
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0yLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Rl
c2NyaXB0aW9uKCJUZXN0IHRoYXQgd2luZG93LmNyeXB0by5zdWJ0bGUgd3JhcHBlciBwcmVzZXJ2
ZXMgY3VzdG9tIHByb3BlcnRpZXMuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGFu
b3RoZXJXaW5kb3dDcnlwdG87CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpCit7CisgICAgYW5vdGhl
cldpbmRvd0NyeXB0byA9IGZyYW1lc1swXS5jcnlwdG87CisgICAgc2hvdWxkQmVEZWZpbmVkKGFu
b3RoZXJXaW5kb3dDcnlwdG8pOworICAgIHNob3VsZEJlRGVmaW5lZChhbm90aGVyV2luZG93Q3J5
cHRvLndlYmtpdFN1YnRsZSk7CisKKyAgICBhbm90aGVyV2luZG93Q3J5cHRvLndlYmtpdFN1YnRs
ZS5mb28gPSAiYmFyIjsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXSk7CisgICAgZ2MoKTsKKyAgICBzZXRUaW1l
b3V0KGNvbnRpbnVlVGVzdCwgMTApOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3QoKQorewor
ICAgIGdjKCk7CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9u
IGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ2Fub3RoZXJXaW5kb3dD
cnlwdG8ud2Via2l0U3VidGxlLmZvbycsICciYmFyIicpOworICAgIGZpbmlzaEpTVGVzdCgpOwor
fQorCit3aW5kb3cub25sb2FkID0gc3RhcnRUZXN0OworCis8L3NjcmlwdD4KKzxpZnJhbWUgc3Jj
PSJhYm91dDpibGFuayI+PC9pZnJhbWU+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTIuaHRtbApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvaHRtbApcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlw
dG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Nl
Y3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgdGhhdCB3aW5kb3cuY3J5cHRvIHdyYXBw
ZXIgcHJvdGVjdHMgYWxsIGRlcGVuZGVuY2llcywgc28gaXQgY2FuIGFsd2F5cyBiZSB1c2VkIHRv
IGNyZWF0ZSBjcnlwdG8uc3VidGxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBbb2JqZWN0IENyeXB0b10gaXMgZGVmaW5lZC4KK1BBU1MgW29iamVjdCBXZWJLaXRTdWJ0
bGVDcnlwdG9dIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc2VjdXJp
dHkvY3J5cHRvLXN1YnRsZS1nYy0zLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvc2VjdXJpdHkv
Y3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2VjdXJp
dHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
ZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB3
aW5kb3cuY3J5cHRvIHdyYXBwZXIgcHJvdGVjdHMgYWxsIGRlcGVuZGVuY2llcywgc28gaXQgY2Fu
IGFsd2F5cyBiZSB1c2VkIHRvIGNyZWF0ZSBjcnlwdG8uc3VidGxlLiIpOworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBhbm90aGVyV2luZG93Q3J5cHRvOworCitmdW5jdGlvbiBzdGFydFRl
c3QoKQoreworICAgIGFub3RoZXJXaW5kb3dDcnlwdG8gPSBmcmFtZXNbMF0uY3J5cHRvOworICAg
IHNob3VsZEJlRGVmaW5lZChhbm90aGVyV2luZG93Q3J5cHRvKTsKKyAgICBkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXSk7
CisgICAgZ2MoKTsKKyAgICBzZXRUaW1lb3V0KGNvbnRpbnVlVGVzdCwgMTApOworfQorCitmdW5j
dGlvbiBjb250aW51ZVRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2V0VGltZW91dChmaW5pc2hU
ZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7CisgICAg
c2hvdWxkQmVEZWZpbmVkKGFub3RoZXJXaW5kb3dDcnlwdG8ud2Via2l0U3VidGxlKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93Lm9ubG9hZCA9IHN0YXJ0VGVzdDsKKworPC9zY3Jp
cHQ+Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1n
Yy0zLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0
ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgd2luZG93LmNy
eXB0by5zdWJ0bGUgd3JhcHBlciBwcmVzZXJ2ZXMgY3VzdG9tIHByb3BlcnRpZXMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHdpbmRvdy5jcnlwdG8ud2Via2l0U3VidGxl
LmZvbyBpcyAiYmFyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0
by1zdWJ0bGUtZ2MtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUK
IyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3Vi
dGxlLWdjLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1
YnRsZS1nYy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRv
LXN1YnRsZS1nYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IHdpbmRvdy5jcnlwdG8uc3Vi
dGxlIHdyYXBwZXIgcHJlc2VydmVzIGN1c3RvbSBwcm9wZXJ0aWVzLiIpOworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpCit7CisgICAgd2luZG93LmNyeXB0by53
ZWJraXRTdWJ0bGUuZm9vID0gImJhciI7CisgICAgZ2MoKTsKKyAgICBzZXRUaW1lb3V0KGNvbnRp
bnVlVGVzdCwgMTApOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3QoKQoreworICAgIGdjKCk7
CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRl
c3QoKQoreworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ3dpbmRvdy5jcnlwdG8ud2Via2l0U3Vi
dGxlLmZvbycsICciYmFyIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit3aW5kb3cub25s
b2FkID0gc3RhcnRUZXN0OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvaHRtbApcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cg==
</data>
<flag name="commit-queue"
          id="236725"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214203</attachid>
            <date>2013-10-14 16:09:37 -0700</date>
            <delta_ts>2013-10-14 16:35:01 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>EmptySubtleCrypto.txt</filename>
            <type>text/plain</type>
            <size>33544</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEzLTEwLTE0ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBlbXB0eSB3aW5k
b3cuY3J5cHRvLndlYmtpdFN1YnRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTIyNzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBIYWhuZW5i
ZXJnLgorCisgICAgICAgIFRlc3RzOiBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTIuaHRtbAor
ICAgICAgICAgICAgICAgc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwKKyAgICAgICAg
ICAgICAgIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MuaHRtbAorCisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZTogUHJvY2VzcyBTdWJ0bGVDcnlwdG8uaWRsLgorCisgICAgICAgICogY3J5
cHRvOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoK
KworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDogQWRkZWQu
IEVtcHR5IGZvciBub3csIGJ1dCB3ZSdsbCBjZXJ0YWlubHkKKyAgICAgICAgbmVlZCBjdXN0b20g
YmluZGluZ3MgY29kZSBoZXJlLgorCisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0by5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VidGxlQ3J5cHRvOjpTdWJ0bGVDcnlwdG8pOgor
ICAgICAgICAoV2ViQ29yZTo6U3VidGxlQ3J5cHRvOjpkb2N1bWVudCk6CisgICAgICAgICogY3J5
cHRvL1N1YnRsZUNyeXB0by5oOiBBZGRlZC4gICAgICAgIAorICAgICAgICAqIGNyeXB0by9TdWJ0
bGVDcnlwdG8uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0NyeXB0by5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG86OnN1YnRsZSk6CisgICAgICAgICogcGFnZS9DcnlwdG8uaDoKKyAg
ICAgICAgKiBwYWdlL0NyeXB0by5pZGw6CisKIDIwMTMtMTAtMTQgIFJvZ2VyIEZvbmcgIDxyb2dl
cl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTIyNzc0LgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE1
NzQwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0yMiw2ICsyMiw3IEBAIHNldChXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtX
RUJDT1JFX0RJUn0vYmluZGluZ3MvZ2VuZXJpYyIKICAgICAiJHtXRUJDT1JFX0RJUn0vYnJpZGdl
IgogICAgICIke1dFQkNPUkVfRElSfS9icmlkZ2UvYyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vY3J5
cHRvIgogICAgICIke1dFQkNPUkVfRElSfS9jc3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2RvbSIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vZG9tL2RlZmF1bHQiCkBAIC0yODIsNiArMjgzLDggQEAgc2V0
KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRs
CiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwKIAorICAgIGNyeXB0by9TdWJ0
bGVDcnlwdG8uaWRsCisKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCiAgICAgY3NzL0NTU0Zv
bnRGYWNlTG9hZEV2ZW50LmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDE1NzQwOSkKKysrIFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcg
QEAgVlBBVEggPSBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5ncy9nZW5lcmljIFwKICAgICAkKFdl
YkNvcmUpL2JpbmRpbmdzL2pzIFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL29iamMgXAorICAg
ICQoV2ViQ29yZSkvY3J5cHRvIFwKICAgICAkKFdlYkNvcmUpL2NzcyBcCiAgICAgJChXZWJDb3Jl
KS9kb20gXAogICAgICQoV2ViQ29yZSkvZWRpdGluZyBcCkBAIC0xOTcsNiArMTk4LDcgQEAgQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJH
bG9iYWxTY29wZVdlYkRhdGFiYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNv
Y2tldHMvQ2xvc2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldC5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwg
XAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTRm9udEZhY2VMb2FkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NG
b250RmFjZVJ1bGUuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiAxNTc0
MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jIFwK
IAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjIFwKKwktSSQoc3JjZGlyKS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL2NzcyBc
CiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvZG9tIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9kb20vZGVmYXVsdCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0J
KHJldmlzaW9uIDE1NzQwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0J
KHdvcmtpbmcgY29weSkKQEAgLTEyOTUsNiArMTI5NSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0g
XAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJHbG9iYWxTY29wZVdlYkRh
dGFiYXNlLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMvQ2xvc2VFdmVudC5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwgXAorCSQo
V2ViQ29yZSkvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU0No
YXJzZXRSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VMb2FkRXZlbnQuaWRs
IFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKQEAgLTI0NzYsNiArMjQ3
Nyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfcm9vdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBcCiAJ
U291cmNlL1dlYkNvcmUvY29uZmlnLmggXAorCVNvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVD
cnlwdG8uaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ291bnRlci5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE1NzQwOSkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cwkod29ya2luZyBjb3B5KQpAQCAtMTcyLDYgKzE3Miw5IEBACiAgICAgPEZpbHRlciBJbmNsdWRl
PSJwbGF0Zm9ybVxtb2NrIj4KICAgICAgIDxVbmlxdWVJZGVudGlmaWVyPnszNWE2NzY2Ny0xYzc3
LTQxOTktYmRkMy1hMDYyNzk0Njg0NmF9PC9VbmlxdWVJZGVudGlmaWVyPgogICAgIDwvRmlsdGVy
PgorICAgIDxGaWx0ZXIgSW5jbHVkZT0iY3J5cHRvIj4KKyAgICAgIDxVbmlxdWVJZGVudGlmaWVy
PnswMjMzNDQyNy0xOWQ2LTQ0YzgtYTVkMS1lMWE2N2E5YzQ5OTd9PC9VbmlxdWVJZGVudGlmaWVy
PgorICAgIDwvRmlsdGVyPgogICAgIDxGaWx0ZXIgSW5jbHVkZT0iY3NzIj4KICAgICAgIDxVbmlx
dWVJZGVudGlmaWVyPnszNTNiNzZjYS1jNDlhLTQxZGEtODhkYS0zM2RjNDIyMzI1ZWZ9PC9Vbmlx
dWVJZGVudGlmaWVyPgogICAgIDwvRmlsdGVyPgpAQCAtODc5OSw2ICs4ODAyLDkgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG1vY2tcU2Nyb2xsYmFyVGhlbWVNb2NrLmgi
PgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxtb2NrPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjcnlwdG9cU3VidGxlQ3J5cHRvLmgiPgorICAg
ICAgPEZpbHRlcj5jcnlwdG88L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGNzc1xCYXNpY1NoYXBlRnVuY3Rpb25zLmgiPgogICAgICAgPEZpbHRl
cj5jc3M8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE1NzQwOSkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNTU5MSw2ICs1NTkxLDExIEBACiAJCUUxRjFFODMwMEMzQzJCQjkwMDZE
QjM5MSAvKiBYU0xURXh0ZW5zaW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTFGMUU4MkUwQzNDMkJCOTAwNkRCMzkxIC8qIFhTTFRFeHRlbnNpb25z
LmggKi87IH07CiAJCUUxRkY1N0EzMEYwMTI1NUIwMDg5MUVCQiAvKiBUaHJlYWRHbG9iYWxEYXRh
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGNTdB
MjBGMDEyNTVCMDA4OTFFQkIgLyogVGhyZWFkR2xvYmFsRGF0YS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUxRkY1N0E2MEYwMTI1NkIwMDg5MUVC
QiAvKiBUaHJlYWRHbG9iYWxEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxRkY1N0E1MEYwMTI1NkIwMDg5MUVCQiAvKiBUaHJlYWRHbG9iYWxE
YXRhLmNwcCAqLzsgfTsKKwkJRTFGRjhGNUYxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0
by5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZG
OEY1RDE4MDc0NDIxMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmNwcCAqLzsgfTsKKwkJRTFGRjhG
NjAxODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFGRjhGNUUxODA3NDQyMTAwMTMyNjc0IC8qIFN1
YnRsZUNyeXB0by5oICovOyB9OworCQlFMUZGOEY2NDE4MDc0NUQ4MDAxMzI2NzQgLyogSlNTdWJ0
bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTFGRjhGNjIxODA3NDVEODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvLmNwcCAqLzsgfTsK
KwkJRTFGRjhGNjUxODA3NDVEODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUZGOEY2MzE4MDc0NUQ4MDAx
MzI2NzQgLyogSlNTdWJ0bGVDcnlwdG8uaCAqLzsgfTsKKwkJRTFGRjhGNjgxODA3NDYwODAwMTMy
Njc0IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1YnRs
ZUNyeXB0b0N1c3RvbS5jcHAgKi87IH07CiAJCUU0MDFDMjc1MTdDRTUzRUMwMEM0MUEzNSAvKiBF
bGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDAxQzI3NDE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0ZXJh
dG9yQXNzZXJ0aW9ucy5oICovOyB9OwogCQlFNDI5NUZBNDEyQjA2MTRFMDBEMUFDRTAgLyogUmVz
b3VyY2VMb2FkUHJpb3JpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEU0Mjk1RkEzMTJCMDYxNEUwMEQxQUNFMCAvKiBSZXNvdXJjZUxvYWRQcmlvcml0
eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0
MzEwNUI4MTY3NTBGMEMwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MzEwNUI3MTY3NTBGMEMwMERCMkZC
OCAvKiBOb2RlVHJhdmVyc2FsLmNwcCAqLzsgfTsKQEAgLTEyNTUzLDYgKzEyNTU4LDEyIEBACiAJ
CUUxRjFFODJFMEMzQzJCQjkwMDZEQjM5MSAvKiBYU0xURXh0ZW5zaW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBYU0xURXh0ZW5zaW9ucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMUZGNTdBMjBGMDEyNTVCMDA4OTFFQkIgLyogVGhyZWFkR2xvYmFsRGF0
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaHJlYWRHbG9iYWxEYXRhLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRkY1N0E1MEYwMTI1NkIwMDg5MUVCQiAv
KiBUaHJlYWRHbG9iYWxEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFRocmVhZEdsb2JhbERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MUZGOEY1QzE4MDczNjRCMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdWJ0bGVD
cnlwdG8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUZGOEY1RDE4MDc0NDIx
MDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFN1YnRsZUNyeXB0by5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUxRkY4RjVFMTgwNzQ0MjEwMDEzMjY3NCAvKiBTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3VidGxlQ3J5cHRvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUUxRkY4RjYyMTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N1YnRsZUNyeXB0by5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxRkY4RjYzMTgwNzQ1RDgwMDEzMjY3NCAv
KiBKU1N1YnRsZUNyeXB0by5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N1
YnRsZUNyeXB0by5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUZGOEY2NjE4MDc0
NjA4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNDAxQzI3NDE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0
ZXJhdG9yQXNzZXJ0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbGVt
ZW50SXRlcmF0b3JBc3NlcnRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0
MDZGM0ZCMTE5ODMwN0QwMDlENTlENiAvKiBDb2xvckRhdGEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29sb3JEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQxRUEwMzgxMTk4MzZEQjAwNzEwQkM1IC8qIENTU1Byb3BlcnR5TmFtZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUHJvcGVydHlOYW1lcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzU1NSw2ICsxMzU2Niw3IEBACiAJ
CQkJMjlBODEyMDQwRkJCOUI0MTAwNTEwMjkzIC8qIGFjY2Vzc2liaWxpdHkgKi8sCiAJCQkJQkMx
QTM3OTAwOTdDNkY5NzAwMTlGM0Q4IC8qIGJpbmRpbmdzICovLAogCQkJCTFBNTY5Q0M0MEQ3RTJC
NjAwMDdDMzk4MyAvKiBicmlkZ2UgKi8sCisJCQkJRTFGRjhGNUIxODA3MzYyQjAwMTMyNjc0IC8q
IGNyeXB0byAqLywKIAkJCQlGNTIzRDE4NDAyREU0MkU4MDE4NjM1Q0EgLyogY3NzICovLAogCQkJ
CUY1MjNEMzI0MDJERTQ0NzgwMTg2MzVDQSAvKiBkb20gKi8sCiAJCQkJOTMzMDlEODYwOTlFNjQ5
MTAwNTZFNTgxIC8qIGVkaXRpbmcgKi8sCkBAIC0xMzc3NCw2ICsxMzc4Niw3IEBACiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUE4M0I3OTEwMENDQjAwMUIwMDBCMDgy
NSAvKiBDb3JlICovLAorCQkJCUUxRkY4RjYxMTgwNzQ1QzYwMDEzMjY3NCAvKiBDcnlwdG8gKi8s
CiAJCQkJQTgzQjc5MEUwQ0NBRkY5NzAwMEIwODI1IC8qIENTUyAqLywKIAkJCQlDREE5OERDRDE2
MDE1MTVDMDBGRUEzQjEgLyogRW5jcnlwdGVkTWVkaWEgKi8sCiAJCQkJQTgzQjc5MTIwQ0NCMDAz
RjAwMEIwODI1IC8qIEV2ZW50cyAqLywKQEAgLTE5MzY0LDYgKzE5Mzc3LDcgQEAKIAkJCQkwOEE0
OEE2RDBFODZDRjZEMDBFMjI1REQgLyogSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwICov
LAogCQkJCTA4RTRGRTQ1MEUyQkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3RvbS5jcHAg
Ki8sCiAJCQkJQjJDOTZEOEMwQjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5j
cHAgKi8sCisJCQkJRTFGRjhGNjYxODA3NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvQ3Vz
dG9tLmNwcCAqLywKIAkJCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9t
LmNwcCAqLywKIAkJCQkwN0UxMTcwNjE0ODlFQkVCMDBFQzVBQ0UgLyogSlNUZXh0VHJhY2tDdWVD
dXN0b20uY3BwICovLAogCQkJCTA3RTExNkIwMTQ4OUM5QTEwMEVDNUFDRSAvKiBKU1RleHRUcmFj
a0N1c3RvbS5jcHAgKi8sCkBAIC0yMDA5NSw2ICsyMDEwOSwyNSBAQAogCQkJdGFiV2lkdGggPSA0
OwogCQkJdXNlc1RhYnMgPSAwOwogCQl9OworCQlFMUZGOEY1QjE4MDczNjJCMDAxMzI2NzQgLyog
Y3J5cHRvICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlF
MUZGOEY1QzE4MDczNjRCMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmlkbCAqLywKKwkJCQlFMUZG
OEY1RDE4MDc0NDIxMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmNwcCAqLywKKwkJCQlFMUZGOEY1
RTE4MDc0NDIxMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmggKi8sCisJCQkpOworCQkJcGF0aCA9
IGNyeXB0bzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUUxRkY4RjYxMTgw
NzQ1QzYwMDEzMjY3NCAvKiBDcnlwdG8gKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCUUxRkY4RjYyMTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0
by5jcHAgKi8sCisJCQkJRTFGRjhGNjMxODA3NDVEODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRv
LmggKi8sCisJCQkpOworCQkJbmFtZSA9IENyeXB0bzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CiAJCUU0NkU5Nzg2MERBQUQ2MUIwMDcxRTg5NCAvKiBhbmltYXRpb24gKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjE0OTMsNiArMjE1MjYs
NyBAQAogCQkJCUUxQ0RFOTIyMTUwMTkxNjkwMDg2MkNDNSAvKiBBc3luY0ZpbGVTdHJlYW0uaCBp
biBIZWFkZXJzICovLAogCQkJCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QzYxRjAxMTIwOTVDODcwMDdB
M0M2NyAvKiBBdG9taWNTdHJpbmdLZXllZE1SVUNhY2hlLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
MUZGOEY2MDE4MDc0NDIxMDAxMzI2NzQgLyogU3VidGxlQ3J5cHRvLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOEM0QTgwRDA5RDU2MzI3MDAwM0FDOEQgLyogQXR0ci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThDNEE4MEIwOUQ1NjMyNzAwMDNBQzhEIC8qIEF0dHJpYnV0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRkQzMTYwN0ExMkIwMjZGNzAwQzFBMzU5IC8qIEF1ZGlvQXJyYXkuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjI0NjMsNiArMjI0OTcsNyBAQAogCQkJCUExMjcwNUMzMTY1NkJENjUwMEMyRTI3
QyAvKiBHcmlkUG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUExMkExMDUwMTY2NDQ0RkQw
MDhGQTMxMSAvKiBHcmlkVHJhY2tTaXplLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTBCNTYxNzEy
MTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTFG
RjhGNjUxODA3NDVEODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwNzhFMDk0MDE3RDE2RTFDMDA0MjBBQTEgLyogUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ4MkI3NDYxMTk4QzM1NDAwQkZCMDA1IC8qIEhhc2hD
aGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3NDhCRTAxMkNCRjJEQzAwMUZCQTQx
IC8qIEhhc2hUb29scy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTA2OSw2ICsyNTEwNCw3IEBACiAJ
CQkJNDk0ODRGQzExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUZCOTEzOTI3MTZBRTRDMzQwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9k
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTQ4NEZDNDEwMkNGMjNDMDAxODdERDMgLyogQ2Fu
dmFzUGF0dGVybi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMUZGOEY2ODE4MDc0NjA4MDAxMzI2
NzQgLyogSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlDN0I5
REMxMDQyRDMyRjAwMDlENDQ3IC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDk0ODRGQ0ExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTQ4NEZDRDEwMkNGMjNDMDAxODdERDMg
LyogQ2FudmFzU3R5bGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNTg5MCw2ICsyNTkyNiw3IEBA
CiAJCQkJN0FBNTFERDUxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDNTIyRDRCMTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0
b3JPdmVybGF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRGNkZERDY0MTM0MURFREQwMDFGOEVF
MyAvKiBJbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTFGRjhGNUYx
ODA3NDQyMTAwMTMyNjc0IC8qIFN1YnRsZUNyeXB0by5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
RjBENkIyRTEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4MkFCMTc3NTEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yUmVz
b3VyY2VBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUEzNjVFRTEyRTcyNjU0MDBEQ0Ey
NDIgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjc0MDQs
NiArMjc0NDEsNyBAQAogCQkJCTA3OEUwOTBGMTdEMTRDRUUwMDQyMEFBMSAvKiBSVENTdGF0c1Jl
cXVlc3RJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxREY2RDgwMEI5MkExOEUwMEMyREM4
NSAvKiBUaHJlYWRDaGVjay5tbSBpbiBTb3VyY2VzICovLAogCQkJCUUxRkY1N0E2MEYwMTI1NkIw
MDg5MUVCQiAvKiBUaHJlYWRHbG9iYWxEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUxRkY4
RjY0MTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1N1YnRsZUNyeXB0by5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxODVCQ0YyODBGMzI3OUNFMDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBQTcxNjBBMTQ5QkM0REIwMDE2RUMxOSAvKiBUaWxlQ29udHJvbGxlci5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODc3MEYyMTI0MkM1MzUwMDIyMjZCQSAvKiBUaWxpbmdE
YXRhLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkpTU3VidGxlQ3J5cHRvLmgiCisKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCisKKworfQorCisjZW5kaWYKClByb3BlcnR5IGNoYW5n
ZXMgb246IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNw
cApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlw
dG8vU3VidGxlQ3J5cHRvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8v
U3VidGxlQ3J5cHRvLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9T
dWJ0bGVDcnlwdG8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3VidGxlQ3J5cHRvLmgiCisKKyNp
ZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworU3VidGxlQ3J5cHRvOjpTdWJ0bGVDcnlwdG8oRG9jdW1lbnQmIGRv
Y3VtZW50KQorICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmRvY3VtZW50KQorewor
fQorCitEb2N1bWVudCogU3VidGxlQ3J5cHRvOjpkb2N1bWVudCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHRvRG9jdW1lbnQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKK30KKworfQorCisjZW5k
aWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlw
dG8uY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0
aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2NyeXB0by9TdWJ0bGVDcnlwdG8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlw
dG8vU3VidGxlQ3J5cHRvLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8v
U3VidGxlQ3J5cHRvLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgU3VidGxlQ3J5cHRvX2gKKyNkZWZpbmUgU3VidGxlQ3J5cHRvX2gKKworI2lu
Y2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCisjaWYgRU5BQkxFKFNVQlRM
RV9DUllQVE8pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CisKK2Ns
YXNzIFN1YnRsZUNyeXB0byA6IHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciwgcHVi
bGljIFJlZkNvdW50ZWQ8U3VidGxlQ3J5cHRvPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U3VidGxlQ3J5cHRvPiBjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgU3VidGxlQ3J5cHRvKGRvY3VtZW50KSk7IH0KKworICAgIERvY3VtZW50KiBk
b2N1bWVudCgpIGNvbnN0OworCitwcml2YXRlOgorICAgIFN1YnRsZUNyeXB0byhEb2N1bWVudCYp
OworfTsKKworfQorCisjZW5kaWYKKworI2VuZGlmIC8vIFN1YnRsZUNyeXB0b19oCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmgKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRs
ZUNyeXB0by5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNy
eXB0by5pZGwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5
cHRvLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWwor
ICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCisgICAgSW50ZXJmYWNlTmFtZT1XZWJLaXRT
dWJ0bGVDcnlwdG8sCisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRG9jdW1lbnQsCisgICAg
Tm9JbnRlcmZhY2VPYmplY3QsCisgICAgT3BlcmF0aW9uc05vdERlbGV0YWJsZQorXSBpbnRlcmZh
Y2UgU3VidGxlQ3J5cHRvIHsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwCShyZXZpc2lv
biAxNTc0MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0z
Miw2ICszMyw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKKyNpbmNsdWRlICJTdWJ0bGVDcnlwdG8uaCIKICNpbmNsdWRlIDxydW50aW1lL0Fy
cmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51
bWJlci5oPgogCkBAIC03Myw0ICs3NSwxNSBAQCB2b2lkIENyeXB0bzo6Z2V0UmFuZG9tVmFsdWVz
KEFycmF5QnVmZmVyCiAgICAgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXMoYXJyYXktPmJh
c2VBZGRyZXNzKCksIGFycmF5LT5ieXRlTGVuZ3RoKCkpOwogfQogCisjaWYgRU5BQkxFKFNVQlRM
RV9DUllQVE8pCitTdWJ0bGVDcnlwdG8qIENyeXB0bzo6c3VidGxlKCkKK3sKKyAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOworICAgIGlmICghbV9zdWJ0bGUpCisgICAgICAgIG1fc3VidGxlID0g
U3VidGxlQ3J5cHRvOjpjcmVhdGUoKmRvY3VtZW50KCkpOworCisgICAgcmV0dXJuIG1fc3VidGxl
LmdldCgpOworfQorI2VuZGlmCisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRv
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uaAkocmV2aXNpb24g
MTU3NDE3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uaAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzLDYg
KzM0LDcgQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgQXJyYXlCdWZmZXJWaWV3OwpAQCAtNDMsNiAr
NDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwog
CiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFN1YnRsZUNyeXB0bzsKIAogY2xhc3MgQ3J5cHRvIDog
cHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLCBwdWJsaWMgUmVmQ291bnRlZDxDcnlw
dG8+IHsKIHB1YmxpYzoKQEAgLTUzLDggKzU2LDE2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ2V0
UmFuZG9tVmFsdWVzKEpTQzo6QXJyYXlCdWZmZXJWaWV3KiwgRXhjZXB0aW9uQ29kZSYpOwogCisj
aWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisgICAgU3VidGxlQ3J5cHRvKiBzdWJ0bGUoKTsKKyNl
bmRpZgorCiBwcml2YXRlOgogICAgIENyeXB0byhEb2N1bWVudCYpOworCisjaWYgRU5BQkxFKFNV
QlRMRV9DUllQVE8pCisgICAgUmVmUHRyPFN1YnRsZUNyeXB0bz4gbV9zdWJ0bGU7CisjZW5kaWYK
IH07CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5pZGwJKHJldmlzaW9uIDE1NzQxNykKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ3J5cHRvLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDUgKzMzLDYgQEAK
ICAgICBPcGVyYXRpb25zTm90RGVsZXRhYmxlCiBdIGludGVyZmFjZSBDcnlwdG8gewogICAgIFtD
dXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gQXJyYXlCdWZmZXJWaWV3IGdldFJhbmRvbVZhbHVlcyhB
cnJheUJ1ZmZlclZpZXcgYXJyYXkpOwotfTsKIAorICAgIFtDb25kaXRpb25hbD1TVUJUTEVfQ1JZ
UFRPLCBJbXBsZW1lbnRlZEFzPXN1YnRsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFN1YnRsZUNyeXB0
byB3ZWJraXRTdWJ0bGU7Cit9OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NDI0KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMTAt
MTQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFu
IGVtcHR5IHdpbmRvdy5jcnlwdG8ud2Via2l0U3VidGxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3NzgKKworICAgICAgICBSZXZpZXdlZCBieSBN
YXJrIEhhaG5lbmJlcmcuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBUaGUgZmVhdHVy
ZSBpc24ndCBlbmFibGVkIGFueXdoZXJlIHlldCwgc28gc2tpcHBpbmcgdGhlIG5ldyB0ZXN0cy4K
KworICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHNlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MuaHRtbDogQWRkZWQuCisKIDIwMTMt
MTAtMTQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCBmaXggdGhlIHBhdGhzIHNvIHRoYXQgdGhlIHRlc3QgcGFzc2VzLgpJbmRleDogTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCShyZXZpc2lvbiAxNTc0MDkpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCSh3b3JraW5nIGNvcHkpCkBAIC02NSwzICs2NSw3IEBAIGZhc3QvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0tY2xvbmUuaHRtbCAKICMgU2tpcHBpbmcgaXQgZm9yIG5vdywgdGhlbiBwdXQgaXQg
YWdhaW4gd2hlbiB0aGUgc3BlYyBkZWNpZGVzIGl0CiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLW9uZW5kZWQuaHRtbCBbIFNraXAgXQogCisjIGNyeXB0by5zdWJ0bGUgaXMgbm90IHlldCBl
bmFibGVkIG9uIGFueSBwb3J0cword2Via2l0Lm9yZy9iLzEyMjY3OSBzZWN1cml0eS9jcnlwdG8t
c3VidGxlLWdjLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMjI2Nzkgc2VjdXJpdHkvY3J5
cHRvLXN1YnRsZS1nYy0yLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMjI2Nzkgc2VjdXJp
dHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwgWyBTa2lwIF0KSW5kZXg6IExheW91dFRlc3RzL3Nl
Y3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0yLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorVGVzdCB0aGF0IHdpbmRvdy5j
cnlwdG8uc3VidGxlIHdyYXBwZXIgcHJlc2VydmVzIGN1c3RvbSBwcm9wZXJ0aWVzLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBbb2JqZWN0IENyeXB0b10gaXMgZGVmaW5l
ZC4KK1BBU1MgW29iamVjdCBXZWJLaXRTdWJ0bGVDcnlwdG9dIGlzIGRlZmluZWQuCitQQVNTIGFu
b3RoZXJXaW5kb3dDcnlwdG8ud2Via2l0U3VidGxlLmZvbyBpcyAiYmFyIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWlu
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMi5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy0yLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Rl
c2NyaXB0aW9uKCJUZXN0IHRoYXQgd2luZG93LmNyeXB0by5zdWJ0bGUgd3JhcHBlciBwcmVzZXJ2
ZXMgY3VzdG9tIHByb3BlcnRpZXMuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGFu
b3RoZXJXaW5kb3dDcnlwdG87CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpCit7CisgICAgYW5vdGhl
cldpbmRvd0NyeXB0byA9IGZyYW1lc1swXS5jcnlwdG87CisgICAgc2hvdWxkQmVEZWZpbmVkKGFu
b3RoZXJXaW5kb3dDcnlwdG8pOworICAgIHNob3VsZEJlRGVmaW5lZChhbm90aGVyV2luZG93Q3J5
cHRvLndlYmtpdFN1YnRsZSk7CisKKyAgICBhbm90aGVyV2luZG93Q3J5cHRvLndlYmtpdFN1YnRs
ZS5mb28gPSAiYmFyIjsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXSk7CisgICAgZ2MoKTsKKyAgICBzZXRUaW1l
b3V0KGNvbnRpbnVlVGVzdCwgMTApOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3QoKQorewor
ICAgIGdjKCk7CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9u
IGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ2Fub3RoZXJXaW5kb3dD
cnlwdG8ud2Via2l0U3VidGxlLmZvbycsICciYmFyIicpOworICAgIGZpbmlzaEpTVGVzdCgpOwor
fQorCit3aW5kb3cub25sb2FkID0gc3RhcnRUZXN0OworCis8L3NjcmlwdD4KKzxpZnJhbWUgc3Jj
PSJhYm91dDpibGFuayI+PC9pZnJhbWU+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTIuaHRtbApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvaHRtbApcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlw
dG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Nl
Y3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MtMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgdGhhdCB3aW5kb3cuY3J5cHRvIHdyYXBw
ZXIgcHJvdGVjdHMgYWxsIGRlcGVuZGVuY2llcywgc28gaXQgY2FuIGFsd2F5cyBiZSB1c2VkIHRv
IGNyZWF0ZSBjcnlwdG8uc3VidGxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBbb2JqZWN0IENyeXB0b10gaXMgZGVmaW5lZC4KK1BBU1MgW29iamVjdCBXZWJLaXRTdWJ0
bGVDcnlwdG9dIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc2VjdXJp
dHkvY3J5cHRvLXN1YnRsZS1nYy0zLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvc2VjdXJpdHkv
Y3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2VjdXJp
dHkvY3J5cHRvLXN1YnRsZS1nYy0zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
ZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLTMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB3
aW5kb3cuY3J5cHRvIHdyYXBwZXIgcHJvdGVjdHMgYWxsIGRlcGVuZGVuY2llcywgc28gaXQgY2Fu
IGFsd2F5cyBiZSB1c2VkIHRvIGNyZWF0ZSBjcnlwdG8uc3VidGxlLiIpOworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBhbm90aGVyV2luZG93Q3J5cHRvOworCitmdW5jdGlvbiBzdGFydFRl
c3QoKQoreworICAgIGFub3RoZXJXaW5kb3dDcnlwdG8gPSBmcmFtZXNbMF0uY3J5cHRvOworICAg
IHNob3VsZEJlRGVmaW5lZChhbm90aGVyV2luZG93Q3J5cHRvKTsKKyAgICBkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXSk7
CisgICAgZ2MoKTsKKyAgICBzZXRUaW1lb3V0KGNvbnRpbnVlVGVzdCwgMTApOworfQorCitmdW5j
dGlvbiBjb250aW51ZVRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2V0VGltZW91dChmaW5pc2hU
ZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7CisgICAg
c2hvdWxkQmVEZWZpbmVkKGFub3RoZXJXaW5kb3dDcnlwdG8ud2Via2l0U3VidGxlKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93Lm9ubG9hZCA9IHN0YXJ0VGVzdDsKKworPC9zY3Jp
cHQ+Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1n
Yy0zLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0
ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1YnRsZS1nYy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3VidGxlLWdjLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitUZXN0IHRoYXQgd2luZG93LmNy
eXB0by5zdWJ0bGUgd3JhcHBlciBwcmVzZXJ2ZXMgY3VzdG9tIHByb3BlcnRpZXMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHdpbmRvdy5jcnlwdG8ud2Via2l0U3VidGxl
LmZvbyBpcyAiYmFyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0
by1zdWJ0bGUtZ2MtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUK
IyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9zZWN1cml0eS9jcnlwdG8tc3Vi
dGxlLWdjLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRvLXN1
YnRsZS1nYy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc2VjdXJpdHkvY3J5cHRv
LXN1YnRsZS1nYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IHdpbmRvdy5jcnlwdG8uc3Vi
dGxlIHdyYXBwZXIgcHJlc2VydmVzIGN1c3RvbSBwcm9wZXJ0aWVzLiIpOworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpCit7CisgICAgd2luZG93LmNyeXB0by53
ZWJraXRTdWJ0bGUuZm9vID0gImJhciI7CisgICAgZ2MoKTsKKyAgICBzZXRUaW1lb3V0KGNvbnRp
bnVlVGVzdCwgMTApOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3QoKQoreworICAgIGdjKCk7
CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAxMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRl
c3QoKQoreworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ3dpbmRvdy5jcnlwdG8ud2Via2l0U3Vi
dGxlLmZvbycsICciYmFyIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit3aW5kb3cub25s
b2FkID0gc3RhcnRUZXN0OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL3NlY3VyaXR5L2NyeXB0by1zdWJ0bGUtZ2MuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvaHRtbApcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>