<?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>177516</bug_id>
          
          <creation_ts>2017-09-26 16:40:16 -0700</creation_ts>
          <short_desc>[PAL] Move HysteresisActivity into PAL</short_desc>
          <delta_ts>2017-09-28 11:38:30 -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>Platform</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Don Olmstead">don.olmstead</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1352912</commentid>
    <comment_count>0</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2017-09-26 16:40:16 -0700</bug_when>
    <thetext>Move the HysteresisActivity file into PAL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353848</commentid>
    <comment_count>1</comment_count>
      <attachid>322017</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-27 14:36:42 -0700</bug_when>
    <thetext>Created attachment 322017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353859</commentid>
    <comment_count>2</comment_count>
      <attachid>322020</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-27 14:51:28 -0700</bug_when>
    <thetext>Created attachment 322020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353892</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-27 15:49:06 -0700</bug_when>
    <thetext>Attachment 322020 did not pass style-queue:


ERROR: Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:210:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:342:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebProcess.cpp:165:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 4 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353903</commentid>
    <comment_count>4</comment_count>
      <attachid>322035</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-27 15:58:58 -0700</bug_when>
    <thetext>Created attachment 322035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353906</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-27 16:02:50 -0700</bug_when>
    <thetext>Attachment 322035 did not pass style-queue:


ERROR: Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:210:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:342:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebProcess.cpp:165:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:44:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 5 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353968</commentid>
    <comment_count>6</comment_count>
      <attachid>322050</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-27 18:09:49 -0700</bug_when>
    <thetext>Created attachment 322050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353972</commentid>
    <comment_count>7</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-27 18:12:39 -0700</bug_when>
    <thetext>Attachment 322050 did not pass style-queue:


ERROR: Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:210:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:342:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebProcess.cpp:165:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:44:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 4 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354157</commentid>
    <comment_count>8</comment_count>
      <attachid>322050</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-28 10:09:33 -0700</bug_when>
    <thetext>Comment on attachment 322050
Patch

Rejecting attachment 322050 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 322050, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
 file Source/WebKit/Shared/WebSQLiteDatabaseTracker.cpp
patching file Source/WebKit/Shared/WebSQLiteDatabaseTracker.h
patching file Source/WebKit/WebProcess/WebPage/WebPage.cpp
patching file Source/WebKit/WebProcess/WebPage/WebPage.h
patching file Source/WebKit/WebProcess/WebProcess.cpp
patching file Source/WebKit/WebProcess/WebProcess.h

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Alex Christensen&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/4688511</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354196</commentid>
    <comment_count>9</comment_count>
      <attachid>322099</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-28 10:57:02 -0700</bug_when>
    <thetext>Created attachment 322099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354198</commentid>
    <comment_count>10</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-28 10:58:40 -0700</bug_when>
    <thetext>Attachment 322099 did not pass style-queue:


ERROR: Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:210:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:342:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebKit/WebProcess/WebProcess.cpp:165:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:44:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 4 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354213</commentid>
    <comment_count>11</comment_count>
      <attachid>322099</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-28 11:37:27 -0700</bug_when>
    <thetext>Comment on attachment 322099
Patch

Clearing flags on attachment: 322099

Committed r222619: &lt;http://trac.webkit.org/changeset/222619&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354214</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-28 11:37:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354215</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-28 11:38:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/34720098&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322017</attachid>
            <date>2017-09-27 14:36:42 -0700</date>
            <delta_ts>2017-09-27 14:51:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177516-20170927143641.patch</filename>
            <type>text/plain</type>
            <size>36055</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJlZjZjOThjMjQ2YWVh
MDBlMmZhZDkwOGJmYjA2NzMxMDEzNjM4NC4uMzhhMGQ4MTdlODk0OGNjOGRiODQ0MTQyMGFkZTM5
ODAxOWRlZDZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA5LTI3ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbUEFMXSBNb3Zl
IEh5c3RlcmVzaXNBY3Rpdml0eSBpbnRvIFBBTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vVXNl
ckFjdGl2aXR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rpdml0eTo6VXNlckFjdGl2
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rpdml0eTo6aHlzdGVyZXNpc1VwZGF0ZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1VzZXJBY3Rpdml0eS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lmg6CisKIDIwMTct
MDktMjcgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBE
ZWZhdWx0IHRvIHZvaWQqIGZvciBwbGF0Zm9ybSB3aWRnZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRl
eCBlNjFjMGU4NDE1ZjQ4YWM0NDg3N2U4ZGE0NDRiMDM3Y2NlNjliYjc2Li44YjljNzY0NzllZGJi
Y2VhNmY5ZjhkOGQyN2IyY2EzZTBmNmY4YjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxNy0wOS0yNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5j
b20+CisKKyAgICAgICAgW1BBTF0gTW92ZSBIeXN0ZXJlc2lzQWN0aXZpdHkgaW50byBQQUwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5
LmguCisKIDIwMTctMDktMjYgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4K
IAogICAgICAgICBbUEFMXVtDTWFrZV0gSW5jbHVkZSBJQ1UgZGlyZWN0b3JpZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggMzFjYmJhMTQ1MzEwYmE4NjhlNjY5ODZjODNhNDA5ODhjN2RlZmU5ZC4uZDBkNTI3ODdhZWZl
YTQ2MzUyZGQ5NjU2ZjYzYjc5MDI2ZmMxNDk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAor
MjAxNy0wOS0yNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAg
ICAgICAgW1BBTF0gTW92ZSBIeXN0ZXJlc2lzQWN0aXZpdHkgaW50byBQQUwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6UGVuZGluZ0ZyYW1lTG9h
ZDo6UGVuZGluZ0ZyYW1lTG9hZCk6CisgICAgICAgICogU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNl
VHJhY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6
V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1FMaXRlRGF0
YWJhc2VUcmFja2VyOjpoeXN0ZXJlc2lzVXBkYXRlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKToKKyAg
ICAgICAgKFdlYktpdDo6bV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXBkYXRlVXNlckFjdGl2aXR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE3LTA5LTI2ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUGFzcyBhIGNvbXBsZXRpb24gaGFuZGxl
ciBpbnN0ZWFkIG9mIGEgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5IGR1cmluZyBwb2xpY3kg
ZGVjaXNpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMjU1YTNhNzNjOWVmZWU4ZWEzODM4NzBhZmZlM2Y4ZTUyNjJhZTVmZi4u
OWI3ZjI5MDM0MGNiZjNmY2ZiODRkM2M0YWU3N2YxMGJkMWZkZTFiMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI3LDYgKzEy
Nyw3IEBACiAJCUEzNzg4RTk4MUYwNUI2Q0UwMDY3OTQyNSAvKiBTb3VuZC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTM3ODhFOTcxRjA1QjZDRTAwNjc5
NDI1IC8qIFNvdW5kLmggKi87IH07CiAJCUEzNzg4RTlDMUYwNUI3ODIwMDY3OTQyNSAvKiBTb3Vu
ZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzc4
OEU5QjFGMDVCNzgyMDA2Nzk0MjUgLyogU291bmQuY3BwICovOyB9OwogCQlBMzc4OEU5RTFGMDVC
NzhFMDA2Nzk0MjUgLyogU291bmRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMzc4OEU5RDFGMDVCNzhFMDA2Nzk0MjUgLyogU291bmRNYWMubW0g
Ki87IH07CisJCUEzOURFNzRFMUY3QzQ0M0QwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZpdHku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzOURFNzRE
MUY3QzQ0M0MwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCAqLzsgfTsKIAkJQTNBQjZF
NTIxRjNEMURDNTAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBQjZFNTExRjNEMURDNTAwOUMxNEIxIC8q
IFNsZWVwRGlzYWJsZXIuY3BwICovOyB9OwogCQlBM0FCNkU1NjFGM0QxRERCMDA5QzE0QjEgLyog
U2xlZXBEaXNhYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTNBQjZFNTMxRjNEMUREQjAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuaCAqLzsgfTsK
IAkJQTNBQjZFNTcxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBQjZFNTQxRjNE
MUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuY3BwICovOyB9OwpAQCAtMjYyLDYg
KzI2Myw3IEBACiAJCUEzNzg4RTk3MUYwNUI2Q0UwMDY3OTQyNSAvKiBTb3VuZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBMzc4OEU5QjFGMDVCNzgyMDA2Nzk0MjUgLyogU291bmQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291bmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMzc4OEU5RDFGMDVCNzhFMDA2Nzk0MjUgLyogU291bmRNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTb3VuZE1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTM5REU3NEQxRjdDNDQzQzAwN0JDQjAwIC8qIEh5c3RlcmVz
aXNBY3Rpdml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIeXN0ZXJlc2lz
QWN0aXZpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBQjZFNTExRjNEMURD
NTAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2xlZXBEaXNhYmxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUEzQUI2RTUzMUYzRDFEREIwMDlDMTRCMSAvKiBTbGVlcERpc2FibGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsZWVwRGlzYWJsZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTNBQjZFNTQxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlz
dGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3lzdGVtU2xl
ZXBMaXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MjksOCArNDMx
LDcgQEAKIAkJCQkwQ0Y5OUNBNjFGNzM4NDM2MDA3RUU3OTMgLyogQ29yZU1lZGlhU29mdExpbmsu
Y3BwICovLAogCQkJCTBDRjk5Q0E3MUY3Mzg0MzcwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGlu
ay5oICovLAogCQkJKTsKLQkJCW5hbWUgPSBjZjsKLQkJCXBhdGggPSAiTmV3IEdyb3VwIjsKKwkJ
CXBhdGggPSBjZjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJCTFDMDlEMDM0
MUUzMUMzMjgwMDcyNUYxOCA9IHsKQEAgLTQ2MSw2ICs0NjIsNyBAQAogCQkJCUEzNzg4RTlGMUYw
NUI3Q0UwMDY3OTQyNSAvKiBzeXN0ZW0gKi8sCiAJCQkJQTMwRDQxMUQxRjBERDBBQzAwQjcxOTU0
IC8qIHRleHQgKi8sCiAJCQkJMEMyRDlFNzIxRUVGNUFGNjAwREJDMzE3IC8qIEV4cG9ydE1hY3Jv
cy5oICovLAorCQkJCUEzOURFNzREMUY3QzQ0M0MwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZp
dHkuaCAqLywKIAkJCQkwNzA4QUMzMjFGNEM4NzRBMDAxRjc4OEYgLyogTG9nZ2VyLmggKi8sCiAJ
CQkJMDczNzdBREIxRjU3NzdENzAwMjdGMTZEIC8qIExvZ2dlckhlbHBlci5oICovLAogCQkJCUEz
QzY2Q0RBMUY0NjJENkEwMDlFNkVFOSAvKiBTZXNzaW9uSUQuY3BwICovLApAQCAtNTkzLDYgKzU5
NSw3IEBACiAJCQkJMEM1QUY5MUIxRjQzQTRDNzAwMkVBQzAyIC8qIEdyYXBoaWNzU2VydmljZXNT
UEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMDI2NThFMUY1NjdFOUQwMEI0Qzg0NCAvKiBISVNl
cnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTAyNjU4OTFGNTY3NDdBMDBCNEM4NDQg
LyogSElUb29sYm94U1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzlERTc0RTFGN0M0NDNEMDA3
QkNCMDAgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTEx
RjFGM0JFOUUwMDBEQkMzMTcgLyogSW1hZ2VJT1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMy
REExNDIxRjNCRUI0OTAwREJDMzE3IC8qIElPUE1MaWJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDMkRBMTQzMUYzQkVCNDkwMERCQzMxNyAvKiBJT1BTTGliU1BJLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvSHlzdGVyZXNpc0FjdGl2aXR5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2MzYwMGVhOGU2ODRiMmU2MGNkYTY0MzVjMWRlOWM2MzkxNDc2MjMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0wLDAg
KzEsOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SdW5M
b29wLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KKworbmFtZXNwYWNlIFBBTCB7CisKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRIeXN0ZXJlc2lzRHVyYXRpb24geyA1X3MgfTsKKwor
ZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgeworICAgIFN0YXJ0ZWQsCisgICAgU3RvcHBlZAor
fTsKKworY2xhc3MgSHlzdGVyZXNpc0FjdGl2aXR5IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBI
eXN0ZXJlc2lzQWN0aXZpdHkoV1RGOjpGdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+JiYg
Y2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzU2Vj
b25kcyA9IGRlZmF1bHRIeXN0ZXJlc2lzRHVyYXRpb24pCisgICAgICAgIDogbV9jYWxsYmFjayhX
VEZNb3ZlKGNhbGxiYWNrKSkKKyAgICAgICAgLCBtX2h5c3RlcmVzaXNTZWNvbmRzKGh5c3RlcmVz
aXNTZWNvbmRzKQorICAgICAgICAsIG1fYWN0aXZlKGZhbHNlKQorICAgICAgICAsIG1fdGltZXIo
UnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmSHlzdGVyZXNpc0FjdGl2aXR5OjpoeXN0ZXJlc2lzVGlt
ZXJGaXJlZCkKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBzdGFydCgpCisgICAgeworICAgICAg
ICBpZiAobV9hY3RpdmUpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fYWN0aXZlID0g
dHJ1ZTsKKworICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgbV90
aW1lci5zdG9wKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fY2FsbGJhY2soSHlzdGVy
ZXNpc1N0YXRlOjpTdGFydGVkKTsKKyAgICB9CisKKyAgICB2b2lkIHN0b3AoKQorICAgIHsKKyAg
ICAgICAgaWYgKCFtX2FjdGl2ZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9hY3Rp
dmUgPSBmYWxzZTsKKworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2h5c3RlcmVzaXNT
ZWNvbmRzKTsKKyAgICB9CisKKyAgICB2b2lkIGltcHVsc2UoKQorICAgIHsKKyAgICAgICAgaWYg
KCFtX2FjdGl2ZSkgeworICAgICAgICAgICAgc3RhcnQoKTsKKyAgICAgICAgICAgIHN0b3AoKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSgpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV9hY3RpdmUgfHwgbV90aW1lci5pc0FjdGl2ZSgpID8gSHlz
dGVyZXNpc1N0YXRlOjpTdGFydGVkIDogSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkOworICAgIH0K
KyAgICAKK3ByaXZhdGU6CisgICAgdm9pZCBoeXN0ZXJlc2lzVGltZXJGaXJlZCgpCisgICAgewor
ICAgICAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICAgICAgbV9jYWxsYmFjayhIeXN0ZXJlc2lzU3Rh
dGU6OlN0b3BwZWQpOworICAgIH0KKworICAgIFdURjo6RnVuY3Rpb248dm9pZChIeXN0ZXJlc2lz
U3RhdGUpPiBtX2NhbGxiYWNrOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzU2Vjb25kczsKKyAg
ICBib29sIG1fYWN0aXZlOworICAgIFJ1bkxvb3A6OlRpbWVyPEh5c3RlcmVzaXNBY3Rpdml0eT4g
bV90aW1lcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFBBTApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY4MTI3ZDQ5OWM1NjE2ODA3
YTAyOTE3OTllMDA2OGUyOTk1ZDRjOTQuLjcwZjdhZjQ0ODAxYWEwYzVlMjNkYjg1NTdkMTRjMzE2
YzAzYmE5OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTM3MjgsNyArMzcyOCw2IEBACiAJCTg1NEZFNzM5MEEyMjk3QkUwMDU4
RDdBRCAvKiBUcmVlV2Fsa2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTRGRTcyRjBBMjI5N0JFMDA1OEQ3QUQgLyogVHJlZVdhbGtlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTg2MUMyRUE0MTNG
QjRGREQwMDA2MkFCQiAvKiBMb2FkVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBMb2FkVGlt
aW5nLmNwcCAqLzsgfTsKIAkJODYyRjEyOUUxOEMxNTc2RjAwNUM1NEFGIC8qIENvdW50ZWRVc2Vy
QWN0aXZpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2MkYxMjlEMThDMTU3MkMwMDVDNTRBRiAvKiBDb3VudGVkVXNlckFjdGl2aXR5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJODYyRjEyQTAxOEMx
REQwMjAwNUM1NEFGIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyRjEyOUYxOEMxRENFNDAwNUM1NEFGIC8qIEh5
c3RlcmVzaXNBY3Rpdml0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTg2NTEyRURFMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcCAqLzsgfTsKIAkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmggKi87IH07CiAJCTg2ODE2MEQ0MTg3NjZBMEEwMDIxRTc5RCAvKiBVc2VyQWN0aXZpdHkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4MTYwRDEx
ODc2NjlDNDAwMjFFNzlEIC8qIFVzZXJBY3Rpdml0eS5jcHAgKi87IH07CkBAIC0xMjA2NCw3ICsx
MjA2Myw2IEBACiAJCTg1REYyRjkyMEFBM0M5QjYwMEFENjRDNSAvKiBIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjFDMkVBMzEzRkI0RkREMDAwNjJB
QkIgLyogTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBMb2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYyRjEyOUQx
OEMxNTcyQzAwNUM1NEFGIC8qIENvdW50ZWRVc2VyQWN0aXZpdHkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ291bnRlZFVzZXJBY3Rpdml0eS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk4NjJGMTI5RjE4QzFEQ0U0MDA1QzU0QUYgLyogSHlzdGVyZXNpc0FjdGl2
aXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEh5c3RlcmVzaXNBY3Rpdml0
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0
MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDYwOCw3ICsyNDYwNiw2IEBACiAJCQkJQ0Q2
MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLywKIAkJCQlBODc0
OEJERjEyQ0JGMkRDMDAxRkJBNDEgLyogSGFzaFRvb2xzLmggKi8sCiAJCQkJQkMzQkMyOUIwRTkx
QUIwRjAwODM1NTg4IC8qIEhvc3RXaW5kb3cuaCAqLywKLQkJCQk4NjJGMTI5RjE4QzFEQ0U0MDA1
QzU0QUYgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggKi8sCiAJCQkJMUFFMDBENTcxODJEQUM4RDAw
MDg3REQ3IC8qIEtleWVkQ29kaW5nLmggKi8sCiAJCQkJRTE1RkY3RDQxOEM5NTUzODAwRkU0Qzg3
IC8qIEtleXByZXNzQ29tbWFuZC5oICovLAogCQkJCUEzRDQyQTg0MUYzM0JBMzYwMEE2NEI2MiAv
KiBMYXlvdXRVbml0LmNwcCAqLywKQEAgLTI1ODkyLDkgKzI1ODg5LDkgQEAKIAkJCQlCQ0VBNDgx
MzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcCAqLywKIAkJCQlC
Q0VBNDgyMjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQm94LmNwcCAqLywKIAkJCQlCQ0VBNDgy
MzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQm94LmggKi8sCisJCQkJQkNFQjE3OUIxNDMzNzlG
NTAwNTJFQUU5IC8qIFJlbmRlckJveEZyYWdtZW50SW5mby5oICovLAogCQkJCUJDOTZEQjQ1MEYz
QTg4MjIwMDU3M0NCMyAvKiBSZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgKi8sCiAJCQkJQkM5NkRC
NDIwRjNBODgwRTAwNTczQ0IzIC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmggKi8sCi0JCQkJQkNF
QjE3OUIxNDMzNzlGNTAwNTJFQUU5IC8qIFJlbmRlckJveEZyYWdtZW50SW5mby5oICovLAogCQkJ
CUJDRUE0ODI2MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJCdXR0b24uY3BwICovLAogCQkJCUJD
RUE0ODI3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJCdXR0b24uaCAqLywKIAkJCQlCNTY1NzlC
NDE4MjREMTJBMDBFNzlGMjMgLyogUmVuZGVyQ2hpbGRJdGVyYXRvci5oICovLApAQCAtMjU5MTcs
NiArMjU5MTQsMTAgQEAKIAkJCQk1M0M4Mjk4QzEzRDhEOTI3MDBERTJERUIgLyogUmVuZGVyRmxl
eGlibGVCb3guaCAqLywKIAkJCQk1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxv
d1RocmVhZC5jcHAgKi8sCiAJCQkJNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZs
b3dUaHJlYWQuaCAqLywKKwkJCQlENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJh
Z21lbnRDb250YWluZXIuY3BwICovLAorCQkJCUQ3MEFENjU2MTNFMTM0MkIwMDVCNTBCNCAvKiBS
ZW5kZXJGcmFnbWVudENvbnRhaW5lci5oICovLAorCQkJCUJDRTkzRjQ2MTUxN0M2RDUwMDhDQ0Y3
NCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5jcHAgKi8sCisJCQkJQkNFOTNGNDQxNTE3
QzU2NzAwOENDRjc0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyU2V0LmggKi8sCiAJCQkJQTg3
MURFQ0MwQTE1MzBDNzAwQjEyQTY4IC8qIFJlbmRlckZyYW1lLmNwcCAqLywKIAkJCQlBODcxREVD
QjBBMTUzMEM3MDBCMTJBNjggLyogUmVuZGVyRnJhbWUuaCAqLywKIAkJCQkwRkQzMDgwQzExN0NG
N0U3MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmNwcCAqLywKQEAgLTI1OTg5LDEwICsyNTk5
MCw2IEBACiAJCQkJQURFMTY3MzYxODEwNTBDMzAwNDYzQTJFIC8qIFJlbmRlclB0ci5oICovLAog
CQkJCTVBNTc0RjIyMTMxREI5MzkwMDQ3MUI4OCAvKiBSZW5kZXJRdW90ZS5jcHAgKi8sCiAJCQkJ
NUE1NzRGMjMxMzFEQjkzOTAwNDcxQjg4IC8qIFJlbmRlclF1b3RlLmggKi8sCi0JCQkJRDcwQUQ2
NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCAqLywKLQkJ
CQlENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaCAq
LywKLQkJCQlCQ0U5M0Y0NjE1MTdDNkQ1MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21lbnRDb250YWlu
ZXJTZXQuY3BwICovLAotCQkJCUJDRTkzRjQ0MTUxN0M1NjcwMDhDQ0Y3NCAvKiBSZW5kZXJGcmFn
bWVudENvbnRhaW5lclNldC5oICovLAogCQkJCUE4NzFERkRFMEExNTM3NkIwMEIxMkE2OCAvKiBS
ZW5kZXJSZXBsYWNlZC5jcHAgKi8sCiAJCQkJQTg3MURGREYwQTE1Mzc2QjAwQjEyQTY4IC8qIFJl
bmRlclJlcGxhY2VkLmggKi8sCiAJCQkJQkNBODQ2RDQwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRl
clJlcGxpY2EuY3BwICovLApAQCAtMjc4MTcsNyArMjc4MTQsNiBAQAogCQkJCTg0NzMwRDg5MTI0
OEYwQjMwMEQzQTlDOSAvKiBGRVNwZWN1bGFyTGlnaHRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxMjlDOTk3MUY1OUI5NjMwMDlENzQwMyAvKiBGZXRjaEJvZHlTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxRDEyOURCMUYzRDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaEludGVybmFs
c0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUFENzUzQTFDRUY2QkQxMDBBMzE0ODYg
LyogRmV0Y2hPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0UxOTE0RDFGMkE5QUZCMDAy
NzJGNzggLyogRmV0Y2hSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NFMTkx
NUExRjJBOUIzNDAwMjcyRjc4IC8qIEZldGNoUmVxdWVzdENhY2hlLmggaW4gSGVhZGVycyAqLywK
QEAgLTI4MTM2LDcgKzI4MTMyLDYgQEAKIAkJCQk0MTYxNEE3OTFEQTY0MjQxMDA0QUQwNkYgLyog
SFRUUEhlYWRlclZhbHVlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzMwQ0U5MjNBMTAw
N0VGM0NEIC8qIEhUVFBQYXJzZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzVDRDIzMjExOUQ0
M0M4MDBBMkE4NTkgLyogSHlwaGVuYXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTg2MkYxMkEw
MThDMUREMDIwMDVDNTRBRiAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVFQkI4OTMzMUM3Nzc4MjkwMEM2NUQ0MSAvKiBJY2VDYW5kaWRhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyNzUzNTZFMEIwNTM4MTQwMDJDRTY0RiAvKiBJY29uLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTNGMTQ1NDBBQjYzNEM0MDAwOTREREYgLyogSWNvbkxvYWRlci5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yOTY1OCw4ICsyOTY1Myw4IEBACiAJCQkJQkNFQTQ4NjAwOTdEOTMwMjAwOTRD
OUU0IC8qIFJlbmRlckJsb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzEwRDc2ODE3RDhFRTcx
MDA1RTI2MjYgLyogUmVuZGVyQmxvY2tGbG93LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg2
MjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQm94LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzk2
REI0MzBGM0E4ODBFMDA1NzNDQjMgLyogUmVuZGVyQm94TW9kZWxPYmplY3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRUIxNzlDMTQzMzc5RjUwMDUyRUFFOSAvKiBSZW5kZXJCb3hGcmFnbWVudElu
Zm8uaCBpbiBIZWFkZXJzICovLAorCQkJCUJDOTZEQjQzMEYzQTg4MEUwMDU3M0NCMyAvKiBSZW5k
ZXJCb3hNb2RlbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFQTQ4NjYwOTdEOTMwMjAw
OTRDOUU0IC8qIFJlbmRlckJ1dHRvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjU2NTc5QjUxODI0
RDEyQTAwRTc5RjIzIC8qIFJlbmRlckNoaWxkSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDRTQ0MTM0MTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yOTY3NCw2ICsyOTY2OSw4IEBACiAJCQkJMDY2Qzc3MzEwQUI2MDNGRDAwMjM4
Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmggaW4gSGVhZGVycyAqLywKIAkJCQk1M0M4
Mjk4RTEzRDhEOTI3MDBERTJERUIgLyogUmVuZGVyRmxleGlibGVCb3guaCBpbiBIZWFkZXJzICov
LAogCQkJCTUwOENDQTRGMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmggaW4g
SGVhZGVycyAqLywKKwkJCQlENzBBRDY1ODEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21l
bnRDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDRTkzRjQ1MTUxN0M1NjcwMDhDQ0Y3
NCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3
MURFRDMwQTE1MzBDNzAwQjEyQTY4IC8qIFJlbmRlckZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRkQzMDgwRjExN0NGN0U3MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODcxREVEMTBBMTUzMEM3MDBCMTJBNjggLyogUmVuZGVyRnJhbWVTZXQuaCBp
biBIZWFkZXJzICovLApAQCAtMjk3MjMsOCArMjk3MjAsNiBAQAogCQkJCUE0M0JGNTlEMTE0OTI5
MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjVCNjU4
NzQxODZGREU0QzAwOUMyNkU4IC8qIFJlbmRlclB0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUE1
NzRGMjUxMzFEQjkzOTAwNDcxQjg4IC8qIFJlbmRlclF1b3RlLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlENzBBRDY1ODEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaCBp
biBIZWFkZXJzICovLAotCQkJCUJDRTkzRjQ1MTUxN0M1NjcwMDhDQ0Y3NCAvKiBSZW5kZXJGcmFn
bWVudENvbnRhaW5lclNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURGRTMwQTE1Mzc2QjAw
QjEyQTY4IC8qIFJlbmRlclJlcGxhY2VkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E4NDZENzBE
QzY3QTM1MDAyNkMzMDkgLyogUmVuZGVyUmVwbGljYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ3
OUZBRUUxMDlBRTM3NTAwREVENjU1IC8qIFJlbmRlclJ1YnkuaCBpbiBIZWFkZXJzICovLApAQCAt
MzM2MzUsNiArMzM2MzAsOCBAQAogCQkJCTA2NkM3NzMwMEFCNjAzRkQwMDIzOENDNCAvKiBSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1M0M4Mjk4RDEzRDhE
OTI3MDBERTJERUIgLyogUmVuZGVyRmxleGlibGVCb3guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTA4Q0NBNTAxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29u
dGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDRTkzRjQ3MTUxN0M2RDUwMDhDQ0Y3NCAv
KiBSZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcx
REVENDBBMTUzMEM3MDBCMTJBNjggLyogUmVuZGVyRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEZEMzA4MEUxMTdDRjdFNzAwQTc5MUY3IC8qIFJlbmRlckZyYW1lQmFzZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBODcxREVEMjBBMTUzMEM3MDBCMTJBNjggLyogUmVuZGVyRnJhbWVTZXQu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMzY4Myw4ICszMzY4MCw2IEBACiAJCQkJQkNFQTQ4N0Yw
OTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
NDNCRjU5QzExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNUE1NzRGMjQxMzFEQjkzOTAwNDcxQjg4IC8qIFJlbmRlclF1b3RlLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCUQ3MEFENjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJGcmFnbWVu
dENvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCQ0U5M0Y0NzE1MTdDNkQ1MDA4Q0NG
NzQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTg3MURGRTIwQTE1Mzc2QjAwQjEyQTY4IC8qIFJlbmRlclJlcGxhY2VkLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDQTg0NkQ2MERDNjdBMzUwMDI2QzMwOSAvKiBSZW5kZXJSZXBsaWNhLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTE0NzlGQUVEMTA5QUUzNzUwMERFRDY1NSAvKiBSZW5kZXJSdWJ5
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
SHlzdGVyZXNpc0FjdGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lz
QWN0aXZpdHkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTVjODJmZDI3Y2ZhNzcy
ZWQwZDZmOWIzMjRhNDUwMDBiZDZlZWU5MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZp
dHkuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBIeXN0ZXJlc2lzQWN0aXZpdHlfaAotI2RlZmluZSBIeXN0ZXJlc2lzQWN0aXZpdHlfaAotCi0j
aW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KLSNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRIeXN0ZXJlc2lz
RHVyYXRpb24geyA1X3MgfTsKLQotZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgewotICAgIFN0
YXJ0ZWQsCi0gICAgU3RvcHBlZAotfTsKLQotY2xhc3MgSHlzdGVyZXNpc0FjdGl2aXR5IHsKLXB1
YmxpYzoKLSAgICBleHBsaWNpdCBIeXN0ZXJlc2lzQWN0aXZpdHkoV1RGOjpGdW5jdGlvbjx2b2lk
KEh5c3RlcmVzaXNTdGF0ZSk+JiYgY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwg
U2Vjb25kcyBoeXN0ZXJlc2lzU2Vjb25kcyA9IGRlZmF1bHRIeXN0ZXJlc2lzRHVyYXRpb24pCi0g
ICAgICAgIDogbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKLSAgICAgICAgLCBtX2h5c3Rl
cmVzaXNTZWNvbmRzKGh5c3RlcmVzaXNTZWNvbmRzKQotICAgICAgICAsIG1fYWN0aXZlKGZhbHNl
KQotICAgICAgICAsIG1fdGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmSHlzdGVyZXNpc0Fj
dGl2aXR5OjpoeXN0ZXJlc2lzVGltZXJGaXJlZCkKLSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBz
dGFydCgpCi0gICAgewotICAgICAgICBpZiAobV9hY3RpdmUpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIG1fYWN0aXZlID0gdHJ1ZTsKLQotICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdG9wKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIG1fY2FsbGJhY2soSHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKTsKLSAgICB9Ci0KLSAgICB2
b2lkIHN0b3AoKQotICAgIHsKLSAgICAgICAgaWYgKCFtX2FjdGl2ZSkKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgbV9hY3RpdmUgPSBmYWxzZTsKLQotICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChtX2h5c3RlcmVzaXNTZWNvbmRzKTsKLSAgICB9Ci0KLSAgICB2b2lkIGltcHVsc2Uo
KQotICAgIHsKLSAgICAgICAgaWYgKCFtX2FjdGl2ZSkgewotICAgICAgICAgICAgc3RhcnQoKTsK
LSAgICAgICAgICAgIHN0b3AoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIEh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbV9hY3RpdmUgfHwgbV90
aW1lci5pc0FjdGl2ZSgpID8gSHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkIDogSHlzdGVyZXNpc1N0
YXRlOjpTdG9wcGVkOwotICAgIH0KLSAgICAKLXByaXZhdGU6Ci0gICAgdm9pZCBoeXN0ZXJlc2lz
VGltZXJGaXJlZCgpCi0gICAgewotICAgICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICAgICAgbV9j
YWxsYmFjayhIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpOwotICAgIH0KLQotICAgIFdURjo6RnVu
Y3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIFNlY29uZHMgbV9o
eXN0ZXJlc2lzU2Vjb25kczsKLSAgICBib29sIG1fYWN0aXZlOwotICAgIFJ1bkxvb3A6OlRpbWVy
PEh5c3RlcmVzaXNBY3Rpdml0eT4gbV90aW1lcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEh5c3RlcmVzaXNBY3Rpdml0eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVXNlckFjdGl2aXR5LmNwcAppbmRleCAzYmNiMmYzZGE3NjA5YTNmZTczODhjNmU4YzlkZjZj
ZmMzN2RmODdhLi42MmUyZDIxMmIyY2ZjYmUyMzg5M2MzMzYzMWU1NTA1OWUzZDg3MTdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5jcHAKQEAgLTQ1LDE0ICs0NSwxNCBA
QCB2b2lkIFVzZXJBY3Rpdml0eTo6SW1wbDo6ZW5kQWN0aXZpdHkoKQogI2VuZGlmCiAKIFVzZXJB
Y3Rpdml0eTo6VXNlckFjdGl2aXR5KGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uKQotICAgIDogSHlz
dGVyZXNpc0FjdGl2aXR5KFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNp
c1VwZGF0ZWQoc3RhdGUpOyB9KQorICAgIDogUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkoW3RoaXNd
KFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5c3RlcmVzaXNVcGRhdGVkKHN0YXRlKTsg
fSkKICAgICAsIG1faW1wbChkZXNjcmlwdGlvbikKIHsKIH0KIAotdm9pZCBVc2VyQWN0aXZpdHk6
Omh5c3RlcmVzaXNVcGRhdGVkKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkKK3ZvaWQgVXNlckFjdGl2
aXR5OjpoeXN0ZXJlc2lzVXBkYXRlZChQQUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkKIHsKLSAg
ICBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKQorICAgIGlmIChzdGF0ZSA9
PSBQQUw6Okh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCkKICAgICAgICAgbV9pbXBsLmJlZ2luQWN0
aXZpdHkoKTsKICAgICBlbHNlCiAgICAgICAgIG1faW1wbC5lbmRBY3Rpdml0eSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaAppbmRleCA3YjBjMWRhMjIxMzA3MTY2MzNiNTRm
ZjNjZDRhODYzYzU4ZDhhM2Q1Li5lZWIyZDczMmFmYzlmY2FlZjkwMzYzOTJjMmYyYzFmODIzZDcy
MzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaApAQCAtMjYsNyArMjYs
NyBAQAogI2lmbmRlZiBVc2VyQWN0aXZpdHlfaAogI2RlZmluZSBVc2VyQWN0aXZpdHlfaAogCi0j
aW5jbHVkZSAiSHlzdGVyZXNpc0FjdGl2aXR5LmgiCisjaW5jbHVkZSA8cGFsL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oPgogCiAjaWYgSEFWRShOU19BQ1RJVklUWSkKICNpbmNsdWRlIDxvYmpjL29iamMu
aD4KQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhlIFVzZXJBY3Rp
dml0eSB0eXBlIGlzIHVzZWQgdG8gaW5kaWNhdGUgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gdGhh
dAogLy8gYSB1c2VyIGluaXRpYXRlZCBvciB2aXNpYmxlIGFjdGlvbiBpcyB0YWtpbmcgcGxhY2Us
IGFuZCBhcyBzdWNoIHRoYXQKIC8vIHJlc291cmNlcyBzaG91bGQgYmUgYWxsb2NhdGVkIHRvIHRo
ZSBwcm9jZXNzIGFjY29yZGluZ2x5LgotY2xhc3MgVXNlckFjdGl2aXR5IDogcHVibGljIEh5c3Rl
cmVzaXNBY3Rpdml0eSB7CitjbGFzcyBVc2VyQWN0aXZpdHkgOiBwdWJsaWMgUEFMOjpIeXN0ZXJl
c2lzQWN0aXZpdHkgewogcHVibGljOgogICAgIGNsYXNzIEltcGwgewogICAgIHB1YmxpYzoKQEAg
LTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IFVzZXJB
Y3Rpdml0eShjb25zdCBjaGFyKiBkZXNjcmlwdGlvbik7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBo
eXN0ZXJlc2lzVXBkYXRlZChIeXN0ZXJlc2lzU3RhdGUpOworICAgIHZvaWQgaHlzdGVyZXNpc1Vw
ZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUpOwogCiAgICAgSW1wbCBtX2ltcGw7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0
b3JlQmFja2VuZENhaXJvSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oCmluZGV4IDQ1MzdkMzUxODgyODEz
MmYxMzU1YTA4MWMyZDhlMTNiNDQzMjNiNzUuLjQ1OGE5ZmM1NzNjNTQ4MzgwMmFmODgwOTc0NGNl
NTI3NDQ5ZmE1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsLmgK
QEAgLTIwLDcgKzIwLDcgQEAKIAogI2lmIFVTRShDQUlSTykKICNpbmNsdWRlICJCYWNraW5nU3Rv
cmVCYWNrZW5kQ2Fpcm8uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0h5c3RlcmVzaXNBY3Rpdml0eS5o
PgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC0zMyw3ICszMyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY3JvbGwoY29uc3Qg
SW50UmVjdCYsIGNvbnN0IEludFNpemUmKSBvdmVycmlkZTsKIAogICAgIFJlZlB0cjxjYWlyb19z
dXJmYWNlX3Q+IG1fc2Nyb2xsU3VyZmFjZTsKLSAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZp
dHkgbV9zY3JvbGxlZEh5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9z
Y3JvbGxlZEh5c3RlcmVzaXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2Vy
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyQ2xpZW50LmgKaW5kZXggN2IyZDI0MjI2ZGEyZDlkY2Q3YmIxODYxZWFhNGYwZDZjOWNk
MWRkYy4uZWJiZGQ1NzQzMjdjZDQxYjUxNzg2ZDFlMTZjOWM3NmVmOWMwMGViYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFz
ZVRyYWNrZXJDbGllbnQuaApAQCAtMjcsOCArMjcsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQog
Ci0jaW5jbHVkZSAiSHlzdGVyZXNpc0FjdGl2aXR5LmgiCiAjaW5jbHVkZSAiU1FMaXRlRGF0YWJh
c2VUcmFja2VyQ2xpZW50LmgiCisjaW5jbHVkZSA8cGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
QEAgLTQ5LDcgKzQ5LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQo
SHlzdGVyZXNpc1N0YXRlKTsKIAotICAgIEh5c3RlcmVzaXNBY3Rpdml0eSBtX2h5c3RlcmVzaXM7
CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9oeXN0ZXJlc2lzOwogfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNmU2ZmZl
MmY4MjE4NzM2M2U4OTE3ZDZiMDAwODE1MzRjNzljYTY3ZC4uZWQ4MDkxNWNjOThjYjFiN2YyMjdj
Yjg3NmQ4YTY4OGJmYWEyZmJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
TG9hZE1hbmFnZXIuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0NhY2hl
U3VicmVzb3VyY2VzRW50cnkuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9I
eXN0ZXJlc2lzQWN0aXZpdHkuaD4KKyNpbmNsdWRlIDxwYWwvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTIwNyw3ICsyMDcsNyBA
QCBwcml2YXRlOgogICAgICAgICA6IG1fc3RvcmFnZShzdG9yYWdlKQogICAgICAgICAsIG1fbWFp
blJlc291cmNlS2V5KG1haW5SZXNvdXJjZUtleSkKICAgICAgICAgLCBtX2xvYWRDb21wbGV0aW9u
SGFuZGxlcihXVEZNb3ZlKGxvYWRDb21wbGV0aW9uSGFuZGxlcikpCi0gICAgICAgICwgbV9sb2Fk
SHlzdGVyZXNpc0FjdGl2aXR5KFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0
YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgbWFya0xvYWRBc0NvbXBsZXRlZCgpOyB9
KQorICAgICAgICAsIG1fbG9hZEh5c3RlcmVzaXNBY3Rpdml0eShbdGhpc10oUEFMOjpIeXN0ZXJl
c2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9w
cGVkKSBtYXJrTG9hZEFzQ29tcGxldGVkKCk7IH0pCiAgICAgewogICAgICAgICBtX2xvYWRIeXN0
ZXJlc2lzQWN0aXZpdHkuaW1wdWxzZSgpOwogICAgIH0KQEAgLTIzOSw3ICsyMzksNyBAQCBwcml2
YXRlOgogICAgIEtleSBtX21haW5SZXNvdXJjZUtleTsKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVf
cHRyPFN1YnJlc291cmNlTG9hZD4+IG1fc3VicmVzb3VyY2VMb2FkczsKICAgICBXVEY6OkZ1bmN0
aW9uPHZvaWQoKT4gbV9sb2FkQ29tcGxldGlvbkhhbmRsZXI7Ci0gICAgSHlzdGVyZXNpc0FjdGl2
aXR5IG1fbG9hZEh5c3RlcmVzaXNBY3Rpdml0eTsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0
eSBtX2xvYWRIeXN0ZXJlc2lzQWN0aXZpdHk7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFN1YnJlc291
cmNlc0VudHJ5PiBtX2V4aXN0aW5nRW50cnk7CiAgICAgYm9vbCBtX2RpZEZpbmlzaExvYWQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9kaWRSZXRyaWV2ZUV4aXN0aW5nRW50cnkgeyBmYWxzZSB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAK
aW5kZXggOTJhN2Y5NDVjYTEwNGRhNDMyOTEzMTgwNGFkNmJkOGExYWI2Mjk2OC4uZmI2OTFiMTE4
N2Q4MmFiOTYzMjViM2E5ZmU0MjgwOTNkMzFiODFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OldlYlNRTGl0ZURh
dGFiYXNlVHJhY2tlcihOZXR3b3JrUHJvY2VzcyYgcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhw
cm9jZXNzKQotICAgICwgbV9oeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUp
IHsgaHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9KQorICAgICwgbV9oeXN0ZXJlc2lzKFt0aGlz
XShQQUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7
IH0pCiAgICAgLCBtX2NoaWxkUHJvY2Vzc1R5cGUoQ2hpbGRQcm9jZXNzVHlwZTo6TmV0d29yaykK
IHsKICAgICBTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OnNldENsaWVudCh0aGlzKTsKQEAgLTQ3LDcg
KzQ3LDcgQEAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXIoTmV0d29ya1Byb2Nlc3MmIHByb2Nlc3MpCiAKIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6
V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyKFdlYlByb2Nlc3MmIHByb2Nlc3MpCiAgICAgOiBtX3By
b2Nlc3MocHJvY2VzcykKLSAgICAsIG1faHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRl
IHN0YXRlKSB7IGh5c3RlcmVzaXNVcGRhdGVkKHN0YXRlKTsgfSkKKyAgICAsIG1faHlzdGVyZXNp
cyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNpc1VwZGF0ZWQo
c3RhdGUpOyB9KQogICAgICwgbV9jaGlsZFByb2Nlc3NUeXBlKENoaWxkUHJvY2Vzc1R5cGU6Oldl
YkNvbnRlbnQpCiB7CiAgICAgU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpzZXRDbGllbnQodGhpcyk7
CkBAIC02NywxNCArNjcsMTQgQEAgdm9pZCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OmRpZEZp
bmlzaExhc3RUcmFuc2FjdGlvbigpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyOjpoeXN0ZXJlc2lzVXBkYXRlZChIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCit2b2lk
IFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6aHlzdGVyZXNpc1VwZGF0ZWQoUEFMOjpIeXN0ZXJl
c2lzU3RhdGUgc3RhdGUpCiB7CiAgICAgc3dpdGNoIChtX2NoaWxkUHJvY2Vzc1R5cGUpIHsKICAg
ICBjYXNlIENoaWxkUHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6Ci0gICAgICAgIG1fcHJvY2Vzcy5w
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6
OlNldElzSG9sZGluZ0xvY2tlZEZpbGVzKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRl
ZCksIDApOworICAgICAgICBtX3Byb2Nlc3MucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2Vu
ZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhzdGF0
ZSA9PSBQQUw6Okh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCksIDApOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIENoaWxkUHJvY2Vzc1R5cGU6Ok5ldHdvcms6Ci0gICAgICAgIG1fcHJvY2Vzcy5w
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1By
b3h5OjpTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0
YXJ0ZWQpLCAwKTsKKyAgICAgICAgbV9wcm9jZXNzLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkt
PnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xvY2tlZEZp
bGVzKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKSwgMCk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0
YWJhc2VUcmFja2VyLmgKaW5kZXggZWE1Y2VhMTdjYzYwY2Y4MTIxYTBhNzc1ZjVkMjMzZTI5ODlh
Mjc5Ny4uN2M1Yjc1YTQxNjRkOTQ0ZGNhOTBjYTI5OGQ3ZTNkM2Q5YzUxZjcwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgKQEAgLTI2LDgg
KzI2LDggQEAKICNpZm5kZWYgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyX2gKICNkZWZpbmUgV2Vi
U1FMaXRlRGF0YWJhc2VUcmFja2VyX2gKIAotI2luY2x1ZGUgPFdlYkNvcmUvSHlzdGVyZXNpc0Fj
dGl2aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQu
aD4KKyNpbmNsdWRlIDxwYWwvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDcsMTAgKzQ3LDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIGRpZEZpbmlzaExhc3RUcmFuc2FjdGlvbigpIG92ZXJyaWRlOwogCiBw
cml2YXRlOgotICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQoV2ViQ29yZTo6SHlzdGVyZXNpc1N0
YXRlKTsKKyAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVyZXNpc1N0YXRlKTsK
IAogICAgIENoaWxkUHJvY2VzcyYgbV9wcm9jZXNzOwotICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNB
Y3Rpdml0eSBtX2h5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9oeXN0
ZXJlc2lzOwogICAgIGVudW0gY2xhc3MgQ2hpbGRQcm9jZXNzVHlwZSB7IE5ldHdvcmssIFdlYkNv
bnRlbnQgfTsKICAgICBDaGlsZFByb2Nlc3NUeXBlIG1fY2hpbGRQcm9jZXNzVHlwZTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDFlYTdh
M2MyZjViN2E1ODMxOTU0N2U5NmE3MjkxMTM3NTNiMDRjN2QuLmRlOTRmZWUyM2I1YzRlYTdlMTk2
OWQwYzM5ZjQzNWFjZWI2NDQ0NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50
NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLCBtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlciB7IHN0ZDo6bWFrZV91bmlxdWU8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyPigqdGhpcykgfQogI2VuZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3Ro
aXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRl
OjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNp
c0R1cmF0aW9uKQorICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5
c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6
OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lz
RHVyYXRpb24pCiAgICAgLCBtX2NhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChwYXJhbWV0
ZXJzLmNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkKICAgICAsIG1fY2FuUnVuTW9kYWwo
cGFyYW1ldGVycy5jYW5SdW5Nb2RhbCkKICNpZiBQTEFURk9STShJT1MpCkBAIC0zNTIsNyArMzUy
LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgICwgbV9hY3Rpdml0eVN0YXRlKHBhcmFtZXRlcnMu
YWN0aXZpdHlTdGF0ZSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCh0cnVlKQog
ICAgICwgbV91c2VyQWN0aXZpdHkoIlByb2Nlc3Mgc3VwcHJlc3Npb24gZGlzYWJsZWQgZm9yIHBh
Z2UuIikKLSAgICAsIG1fdXNlckFjdGl2aXR5SHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0
YXRlKSB7IHVwZGF0ZVVzZXJBY3Rpdml0eSgpOyB9KQorICAgICwgbV91c2VyQWN0aXZpdHlIeXN0
ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSkgeyB1cGRhdGVVc2VyQWN0aXZpdHko
KTsgfSkKICAgICAsIG1fdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihwYXJhbWV0ZXJzLnVz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24pCiAgICAgLCBtX292ZXJyaWRlQ29udGVudFNlY3Vy
aXR5UG9saWN5IHsgcGFyYW1ldGVycy5vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSB9CiAg
ICAgLCBtX2NwdUxpbWl0KHBhcmFtZXRlcnMuY3B1TGltaXQpCkBAIC02MjAsNyArNjIwLDcgQEAg
dm9pZCBXZWJQYWdlOjp1cGRhdGVUaHJvdHRsZVN0YXRlKCkKIAogdm9pZCBXZWJQYWdlOjp1cGRh
dGVVc2VyQWN0aXZpdHkoKQogewotICAgIGlmIChtX3VzZXJBY3Rpdml0eUh5c3RlcmVzaXMuc3Rh
dGUoKSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpCisgICAgaWYgKG1fdXNlckFjdGl2aXR5
SHlzdGVyZXNpcy5zdGF0ZSgpID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKQogICAg
ICAgICBtX3VzZXJBY3Rpdml0eS5zdGFydCgpOwogICAgIGVsc2UKICAgICAgICAgbV91c2VyQWN0
aXZpdHkuc3RvcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IDFmOTY1MGE3OWQxOTkyNDYxN2M0MmRlMjA4YmYzMDNjNzViN2FlZTkuLmY4ZGYzZDFl
YWQzZWEyYzVmMTJmYWE0ZmJhNTBkZWU0MTIxZGMwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL0FjdGl2aXR5U3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RpY3Rpb25hcnlQb3B1cElu
Zm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4KLSNpbmNsdWRlIDxX
ZWJDb3JlL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZUhhc2guaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Bh
Z2UuaD4KQEAgLTYxLDYgKzYwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHRUeXBl
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQ29yZUtleWJvYXJkVUlNb2RlLmg+CiAjaW5jbHVk
ZSA8bWVtb3J5PgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtMTQ1Myw3ICsxNDUzLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8U2FuZGJveEV4dGVuc2lvbj4gbV9wZW5kaW5nRHJvcFNhbmRib3hFeHRlbnNpb247CiAgICAg
VmVjdG9yPFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gbV9wZW5kaW5nRHJvcEV4dGVuc2lvbnNG
b3JGaWxlVXBsb2FkOwogCi0gICAgV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fcGFnZVNj
cm9sbGVkSHlzdGVyZXNpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX3BhZ2VTY3Jv
bGxlZEh5c3RlcmVzaXM7CiAKICAgICBib29sIG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsIHsgZmFsc2UgfTsKIApAQCAtMTU1Myw3ICsxNTUzLDcgQEAgcHJpdmF0ZToKIAogICAgIGJv
b2wgbV9wcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkOwogICAgIFVzZXJBY3Rpdml0eSBtX3VzZXJB
Y3Rpdml0eTsKLSAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV91c2VyQWN0aXZpdHlI
eXN0ZXJlc2lzOworICAgIFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fdXNlckFjdGl2aXR5SHlz
dGVyZXNpczsKIAogICAgIHVpbnQ2NF90IG1fcGVuZGluZ05hdmlnYXRpb25JRCB7IDAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDdiNmNkNGY3NGQ2MTY3
YWViMTAwMjJkNzQwYzhmNDFhZmVlOTUyNTUuLjQ0ZWI4ODMwZmMwZjRlYmYxNzdkZDY5NmZmYmJl
NGE2MDcwY2U0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAg
LTE2Miw3ICsxNjIsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAsIG1fd2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
OjpjcmVhdGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJh
dGVneSkKICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXI6OmNyZWF0ZSgpKQotICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNdKEh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVk
KSBtX2Ruc1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9KQorICAgICwgbV9kbnNQcmVmZXRjaEh5
c3RlcmVyaXMoW3RoaXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9
PSBQQUw6Okh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xl
YXIoKTsgfSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICAsIG1fcGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6
Y3JlYXRlKCkpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4
IGQ0M2Y3ZGQ3YjNkNzA2YTRlNTA3MTZmZmVjNDUwMzViZDQyZjM0ZjguLjczOWE4NTdkZGIxOWZk
OWU0NmJhNGIwYmYwZDQxODQ0MjkxN2MwYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaApAQCAtMzQsOCArMzQsOCBAQAogI2luY2x1ZGUgIlZpZXdVcGRhdGVEaXNwYXRjaGVy
LmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvSHlzdGVyZXNp
c0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgorI2luY2x1ZGUgPHBhbC9I
eXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMzg5LDcgKzM4
OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Ruc1ByZWZl
dGNoZWRIb3N0czsKLSAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9kbnNQcmVmZXRj
aEh5c3RlcmVyaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9kbnNQcmVmZXRjaEh5
c3RlcmVyaXM7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eT4gbV9hdXRvbWF0aW9uU2Vzc2lvblByb3h5OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322020</attachid>
            <date>2017-09-27 14:51:28 -0700</date>
            <delta_ts>2017-09-27 15:58:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177516-20170927145127.patch</filename>
            <type>text/plain</type>
            <size>35553</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRlMTMwYmIzMjgxMWY2
NzFmNzQxNzI2YTZlZTcyOWEwODA2YjlkNS4uYWYxM2E5YzQ5YzdiZjc2ZGI0OTc2MGZmOWNjMGU5
ZmFlMzQxYTljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA5LTI3ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbUEFMXSBNb3Zl
IEh5c3RlcmVzaXNBY3Rpdml0eSBpbnRvIFBBTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vVXNl
ckFjdGl2aXR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rpdml0eTo6VXNlckFjdGl2
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rpdml0eTo6aHlzdGVyZXNpc1VwZGF0ZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1VzZXJBY3Rpdml0eS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lmg6CisKIDIwMTct
MDktMjcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAg
ICAiVGFnIiBjb2RlcG9pbnRzIHJlcXVpcmUgdGhlIGNvbXBsZXggdGV4dCBjb2RlcGF0aApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKaW5kZXggZTYxYzBlODQxNWY0OGFjNDQ4NzdlOGRhNDQ0YjAzN2NjZTY5YmI3
Ni4uOGI5Yzc2NDc5ZWRiYmNlYTZmOWY4ZDhkMjdiMmNhM2UwZjZmOGI4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDktMjcgIFJvc3MgS2lyc2xpbmcgIDxyb3Nz
LmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIFtQQUxdIE1vdmUgSHlzdGVyZXNpc0FjdGl2
aXR5IGludG8gUEFMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzc1MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9IeXN0
ZXJlc2lzQWN0aXZpdHkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5
c3RlcmVzaXNBY3Rpdml0eS5oLgorCiAyMDE3LTA5LTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xt
c3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgW1BBTF1bQ01ha2VdIEluY2x1ZGUgSUNVIGRpcmVj
dG9yaWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGUyYzRjMzJiNWM5NWZkYjhiZDAyNWQ0NWQ0NDZmNjBlMzQ2NmI5
MWYuLjU5NzNlMzY1ZDA2MTUzZTBkNDllMzJkNjNiYWFlZjk3MzZmMjljMzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTctMDktMjcgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5n
QHNvbnkuY29tPgorCisgICAgICAgIFtQQUxdIE1vdmUgSHlzdGVyZXNpc0FjdGl2aXR5IGludG8g
UEFMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1
MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6
OlBlbmRpbmdGcmFtZUxvYWQ6OlBlbmRpbmdGcmFtZUxvYWQpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTUUxpdGVE
YXRhYmFzZVRyYWNrZXI6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcik6CisgICAgICAgIChXZWJL
aXQ6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6aHlzdGVyZXNpc1VwZGF0ZWQpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcGFnZVNjcm9sbGVk
SHlzdGVyZXNpcyk6CisgICAgICAgIChXZWJLaXQ6Om1fdXNlckFjdGl2aXR5SHlzdGVyZXNpcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVVzZXJBY3Rpdml0eSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKwogMjAxNy0wOS0yNyAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEhhdmUgUGluZ0xvYWQgdGFrZSBh
IENvbXBsZXRpb25IYW5kbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjU1YTNhNzNjOWVmZWU4ZWEzODM4NzBhZmZlM2Y4ZTUy
NjJhZTVmZi4uOWI3ZjI5MDM0MGNiZjNmY2ZiODRkM2M0YWU3N2YxMGJkMWZkZTFiMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTI3LDYgKzEyNyw3IEBACiAJCUEzNzg4RTk4MUYwNUI2Q0UwMDY3OTQyNSAvKiBTb3VuZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTM3ODhFOTcxRjA1
QjZDRTAwNjc5NDI1IC8qIFNvdW5kLmggKi87IH07CiAJCUEzNzg4RTlDMUYwNUI3ODIwMDY3OTQy
NSAvKiBTb3VuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMzc4OEU5QjFGMDVCNzgyMDA2Nzk0MjUgLyogU291bmQuY3BwICovOyB9OwogCQlBMzc4
OEU5RTFGMDVCNzhFMDA2Nzk0MjUgLyogU291bmRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzc4OEU5RDFGMDVCNzhFMDA2Nzk0MjUgLyogU291
bmRNYWMubW0gKi87IH07CisJCUEzOURFNzRFMUY3QzQ0M0QwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lz
QWN0aXZpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEEzOURFNzREMUY3QzQ0M0MwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCAqLzsgfTsK
IAkJQTNBQjZFNTIxRjNEMURDNTAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBQjZFNTExRjNEMURDNTAw
OUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwICovOyB9OwogCQlBM0FCNkU1NjFGM0QxRERCMDA5
QzE0QjEgLyogU2xlZXBEaXNhYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTNBQjZFNTMxRjNEMUREQjAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIu
aCAqLzsgfTsKIAkJQTNBQjZFNTcxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVu
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNB
QjZFNTQxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuY3BwICovOyB9OwpA
QCAtMjYyLDYgKzI2Myw3IEBACiAJCUEzNzg4RTk3MUYwNUI2Q0UwMDY3OTQyNSAvKiBTb3VuZC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VuZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMzc4OEU5QjFGMDVCNzgyMDA2Nzk0MjUgLyogU291bmQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291bmQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBMzc4OEU5RDFGMDVCNzhFMDA2Nzk0MjUgLyogU291bmRNYWMu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTb3VuZE1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTM5REU3NEQxRjdDNDQzQzAwN0JDQjAwIC8q
IEh5c3RlcmVzaXNBY3Rpdml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
eXN0ZXJlc2lzQWN0aXZpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBQjZF
NTExRjNEMURDNTAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2xlZXBEaXNhYmxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUEzQUI2RTUzMUYzRDFEREIwMDlDMTRCMSAvKiBTbGVlcERpc2FibGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsZWVwRGlzYWJsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBQjZFNTQxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3Rl
bVNsZWVwTGlzdGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3lzdGVtU2xlZXBMaXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
MjksOCArNDMxLDcgQEAKIAkJCQkwQ0Y5OUNBNjFGNzM4NDM2MDA3RUU3OTMgLyogQ29yZU1lZGlh
U29mdExpbmsuY3BwICovLAogCQkJCTBDRjk5Q0E3MUY3Mzg0MzcwMDdFRTc5MyAvKiBDb3JlTWVk
aWFTb2Z0TGluay5oICovLAogCQkJKTsKLQkJCW5hbWUgPSBjZjsKLQkJCXBhdGggPSAiTmV3IEdy
b3VwIjsKKwkJCXBhdGggPSBjZjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJ
CTFDMDlEMDM0MUUzMUMzMjgwMDcyNUYxOCA9IHsKQEAgLTQ2MSw2ICs0NjIsNyBAQAogCQkJCUEz
Nzg4RTlGMUYwNUI3Q0UwMDY3OTQyNSAvKiBzeXN0ZW0gKi8sCiAJCQkJQTMwRDQxMUQxRjBERDBB
QzAwQjcxOTU0IC8qIHRleHQgKi8sCiAJCQkJMEMyRDlFNzIxRUVGNUFGNjAwREJDMzE3IC8qIEV4
cG9ydE1hY3Jvcy5oICovLAorCQkJCUEzOURFNzREMUY3QzQ0M0MwMDdCQ0IwMCAvKiBIeXN0ZXJl
c2lzQWN0aXZpdHkuaCAqLywKIAkJCQkwNzA4QUMzMjFGNEM4NzRBMDAxRjc4OEYgLyogTG9nZ2Vy
LmggKi8sCiAJCQkJMDczNzdBREIxRjU3NzdENzAwMjdGMTZEIC8qIExvZ2dlckhlbHBlci5oICov
LAogCQkJCUEzQzY2Q0RBMUY0NjJENkEwMDlFNkVFOSAvKiBTZXNzaW9uSUQuY3BwICovLApAQCAt
NTkzLDYgKzU5NSw3IEBACiAJCQkJMEM1QUY5MUIxRjQzQTRDNzAwMkVBQzAyIC8qIEdyYXBoaWNz
U2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMDI2NThFMUY1NjdFOUQwMEI0Qzg0
NCAvKiBISVNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTAyNjU4OTFGNTY3NDdB
MDBCNEM4NDQgLyogSElUb29sYm94U1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzlERTc0RTFG
N0M0NDNEMDA3QkNCMDAgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwQzJEQTExRjFGM0JFOUUwMDBEQkMzMTcgLyogSW1hZ2VJT1NQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEMyREExNDIxRjNCRUI0OTAwREJDMzE3IC8qIElPUE1MaWJTUEkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBDMkRBMTQzMUYzQkVCNDkwMERCQzMxNyAvKiBJT1BTTGliU1BJLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvSHlzdGVyZXNpc0Fj
dGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2MzYwMGVhOGU2ODRiMmU2MGNkYTY0MzVjMWRlOWM2MzkxNDc2MjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5o
CkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9SdW5Mb29wLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KKworbmFtZXNwYWNlIFBB
TCB7CisKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRIeXN0ZXJlc2lzRHVyYXRpb24geyA1
X3MgfTsKKworZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgeworICAgIFN0YXJ0ZWQsCisgICAg
U3RvcHBlZAorfTsKKworY2xhc3MgSHlzdGVyZXNpc0FjdGl2aXR5IHsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBIeXN0ZXJlc2lzQWN0aXZpdHkoV1RGOjpGdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNT
dGF0ZSk+JiYgY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0
ZXJlc2lzU2Vjb25kcyA9IGRlZmF1bHRIeXN0ZXJlc2lzRHVyYXRpb24pCisgICAgICAgIDogbV9j
YWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKKyAgICAgICAgLCBtX2h5c3RlcmVzaXNTZWNvbmRz
KGh5c3RlcmVzaXNTZWNvbmRzKQorICAgICAgICAsIG1fYWN0aXZlKGZhbHNlKQorICAgICAgICAs
IG1fdGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmSHlzdGVyZXNpc0FjdGl2aXR5OjpoeXN0
ZXJlc2lzVGltZXJGaXJlZCkKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBzdGFydCgpCisgICAg
eworICAgICAgICBpZiAobV9hY3RpdmUpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1f
YWN0aXZlID0gdHJ1ZTsKKworICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQorICAgICAg
ICAgICAgbV90aW1lci5zdG9wKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fY2FsbGJh
Y2soSHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKTsKKyAgICB9CisKKyAgICB2b2lkIHN0b3AoKQor
ICAgIHsKKyAgICAgICAgaWYgKCFtX2FjdGl2ZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgbV9hY3RpdmUgPSBmYWxzZTsKKworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2h5
c3RlcmVzaXNTZWNvbmRzKTsKKyAgICB9CisKKyAgICB2b2lkIGltcHVsc2UoKQorICAgIHsKKyAg
ICAgICAgaWYgKCFtX2FjdGl2ZSkgeworICAgICAgICAgICAgc3RhcnQoKTsKKyAgICAgICAgICAg
IHN0b3AoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9hY3RpdmUgfHwgbV90aW1lci5pc0FjdGl2
ZSgpID8gSHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkIDogSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVk
OworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgdm9pZCBoeXN0ZXJlc2lzVGltZXJGaXJlZCgp
CisgICAgeworICAgICAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICAgICAgbV9jYWxsYmFjayhIeXN0
ZXJlc2lzU3RhdGU6OlN0b3BwZWQpOworICAgIH0KKworICAgIFdURjo6RnVuY3Rpb248dm9pZChI
eXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzU2Vj
b25kczsKKyAgICBib29sIG1fYWN0aXZlOworICAgIFJ1bkxvb3A6OlRpbWVyPEh5c3RlcmVzaXNB
Y3Rpdml0eT4gbV90aW1lcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFBBTApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc5OThkYzBi
YTBkNTE3NjUxZGE1NTk4ODQ4YzZjNDhjMjU2MWQzMTYuLmM3YWJkNGQ1OWQ3YjllOGRiOTgwY2U4
YWEwZTQwMmY1YTY2NjQ0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM3MjgsNyArMzcyOCw2IEBACiAJCTg1NEZFNzM5MEEy
Mjk3QkUwMDU4RDdBRCAvKiBUcmVlV2Fsa2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTRGRTcyRjBBMjI5N0JFMDA1OEQ3QUQgLyogVHJlZVdhbGtl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTg2
MUMyRUE0MTNGQjRGREQwMDA2MkFCQiAvKiBMb2FkVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAv
KiBMb2FkVGltaW5nLmNwcCAqLzsgfTsKIAkJODYyRjEyOUUxOEMxNTc2RjAwNUM1NEFGIC8qIENv
dW50ZWRVc2VyQWN0aXZpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2MkYxMjlEMThDMTU3MkMwMDVDNTRBRiAvKiBDb3VudGVkVXNlckFjdGl2aXR5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJODYy
RjEyQTAxOEMxREQwMjAwNUM1NEFGIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyRjEyOUYxOEMxRENFNDAwNUM1
NEFGIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTg2NTEyRURFMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcCAqLzsgfTsKIAkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmggKi87IH07CiAJCTg2ODE2MEQ0MTg3NjZBMEEwMDIxRTc5RCAvKiBVc2VyQWN0
aXZpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODY4MTYwRDExODc2NjlDNDAwMjFFNzlEIC8qIFVzZXJBY3Rpdml0eS5jcHAgKi87IH07CkBAIC0x
MjA2NCw3ICsxMjA2Myw2IEBACiAJCTg1REYyRjkyMEFBM0M5QjYwMEFENjRDNSAvKiBIVE1MT3B0
aW9uc0NvbGxlY3Rpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MT3B0aW9uc0Nv
bGxlY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjFDMkVBMzEzRkI0
RkREMDAwNjJBQkIgLyogTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBMb2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODYyRjEyOUQxOEMxNTcyQzAwNUM1NEFGIC8qIENvdW50ZWRVc2VyQWN0aXZpdHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ291bnRlZFVzZXJBY3Rpdml0eS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk4NjJGMTI5RjE4QzFEQ0U0MDA1QzU0QUYgLyogSHlzdGVy
ZXNpc0FjdGl2aXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEh5c3RlcmVz
aXNBY3Rpdml0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUxMkVEQjE1NEEy
QUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8q
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDYwOCw3ICsyNDYwNiw2IEBA
CiAJCQkJQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLywK
IAkJCQlBODc0OEJERjEyQ0JGMkRDMDAxRkJBNDEgLyogSGFzaFRvb2xzLmggKi8sCiAJCQkJQkMz
QkMyOUIwRTkxQUIwRjAwODM1NTg4IC8qIEhvc3RXaW5kb3cuaCAqLywKLQkJCQk4NjJGMTI5RjE4
QzFEQ0U0MDA1QzU0QUYgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggKi8sCiAJCQkJMUFFMDBENTcx
ODJEQUM4RDAwMDg3REQ3IC8qIEtleWVkQ29kaW5nLmggKi8sCiAJCQkJRTE1RkY3RDQxOEM5NTUz
ODAwRkU0Qzg3IC8qIEtleXByZXNzQ29tbWFuZC5oICovLAogCQkJCUEzRDQyQTg0MUYzM0JBMzYw
MEE2NEI2MiAvKiBMYXlvdXRVbml0LmNwcCAqLywKQEAgLTI1ODkyLDkgKzI1ODg5LDkgQEAKIAkJ
CQlCQ0VBNDgxMzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcCAq
LywKIAkJCQlCQ0VBNDgyMjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQm94LmNwcCAqLywKIAkJ
CQlCQ0VBNDgyMzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQm94LmggKi8sCisJCQkJQkNFQjE3
OUIxNDMzNzlGNTAwNTJFQUU5IC8qIFJlbmRlckJveEZyYWdtZW50SW5mby5oICovLAogCQkJCUJD
OTZEQjQ1MEYzQTg4MjIwMDU3M0NCMyAvKiBSZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgKi8sCiAJ
CQkJQkM5NkRCNDIwRjNBODgwRTAwNTczQ0IzIC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmggKi8s
Ci0JCQkJQkNFQjE3OUIxNDMzNzlGNTAwNTJFQUU5IC8qIFJlbmRlckJveEZyYWdtZW50SW5mby5o
ICovLAogCQkJCUJDRUE0ODI2MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJCdXR0b24uY3BwICov
LAogCQkJCUJDRUE0ODI3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJCdXR0b24uaCAqLywKIAkJ
CQlCNTY1NzlCNDE4MjREMTJBMDBFNzlGMjMgLyogUmVuZGVyQ2hpbGRJdGVyYXRvci5oICovLApA
QCAtMjU5MTUsNiArMjU5MTIsMTAgQEAKIAkJCQkwNjZDNzcyRjBBQjYwM0ZEMDAyMzhDQzQgLyog
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLywKIAkJCQk1M0M4Mjk4QjEzRDhEOTI3MDBERTJE
RUIgLyogUmVuZGVyRmxleGlibGVCb3guY3BwICovLAogCQkJCTUzQzgyOThDMTNEOEQ5MjcwMERF
MkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJveC5oICovLAorCQkJCUQ3MEFENjU1MTNFMTM0MkIwMDVC
NTBCNCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgKi8sCisJCQkJRDcwQUQ2NTYxM0Ux
MzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmggKi8sCisJCQkJQkNFOTNG
NDYxNTE3QzZENTAwOENDRjc0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyU2V0LmNwcCAqLywK
KwkJCQlCQ0U5M0Y0NDE1MTdDNTY3MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXJT
ZXQuaCAqLywKIAkJCQk1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRnJhZ21lbnRl
ZEZsb3cuY3BwICovLAogCQkJCTUwOENDQTREMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGcmFn
bWVudGVkRmxvdy5oICovLAogCQkJCUE4NzFERUNDMEExNTMwQzcwMEIxMkE2OCAvKiBSZW5kZXJG
cmFtZS5jcHAgKi8sCkBAIC0yNTk4OSwxMCArMjU5OTAsNiBAQAogCQkJCUFERTE2NzM2MTgxMDUw
QzMwMDQ2M0EyRSAvKiBSZW5kZXJQdHIuaCAqLywKIAkJCQk1QTU3NEYyMjEzMURCOTM5MDA0NzFC
ODggLyogUmVuZGVyUXVvdGUuY3BwICovLAogCQkJCTVBNTc0RjIzMTMxREI5MzkwMDQ3MUI4OCAv
KiBSZW5kZXJRdW90ZS5oICovLAotCQkJCUQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5k
ZXJGcmFnbWVudENvbnRhaW5lci5jcHAgKi8sCi0JCQkJRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmggKi8sCi0JCQkJQkNFOTNGNDYxNTE3QzZENTAw
OENDRjc0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyU2V0LmNwcCAqLywKLQkJCQlCQ0U5M0Y0
NDE1MTdDNTY3MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQuaCAqLywKIAkJ
CQlBODcxREZERTBBMTUzNzZCMDBCMTJBNjggLyogUmVuZGVyUmVwbGFjZWQuY3BwICovLAogCQkJ
CUE4NzFERkRGMEExNTM3NkIwMEIxMkE2OCAvKiBSZW5kZXJSZXBsYWNlZC5oICovLAogCQkJCUJD
QTg0NkQ0MERDNjdBMzUwMDI2QzMwOSAvKiBSZW5kZXJSZXBsaWNhLmNwcCAqLywKQEAgLTI4MTM1
LDcgKzI4MTMyLDYgQEAKIAkJCQk0MTYxNEE3OTFEQTY0MjQxMDA0QUQwNkYgLyogSFRUUEhlYWRl
clZhbHVlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzMwQ0U5MjNBMTAwN0VGM0NEIC8q
IEhUVFBQYXJzZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzVDRDIzMjExOUQ0M0M4MDBBMkE4
NTkgLyogSHlwaGVuYXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTg2MkYxMkEwMThDMUREMDIw
MDVDNTRBRiAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQkI4
OTMzMUM3Nzc4MjkwMEM2NUQ0MSAvKiBJY2VDYW5kaWRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyNzUzNTZFMEIwNTM4MTQwMDJDRTY0RiAvKiBJY29uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTNGMTQ1NDBBQjYzNEM0MDAwOTREREYgLyogSWNvbkxvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yOTY1Nyw4ICsyOTY1Myw4IEBACiAJCQkJQkNFQTQ4NjAwOTdEOTMwMjAwOTRDOUU0IC8qIFJl
bmRlckJsb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzEwRDc2ODE3RDhFRTcxMDA1RTI2MjYg
LyogUmVuZGVyQmxvY2tGbG93LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg2MjA5N0Q5MzAy
MDA5NEM5RTQgLyogUmVuZGVyQm94LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzk2REI0MzBGM0E4
ODBFMDA1NzNDQjMgLyogUmVuZGVyQm94TW9kZWxPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDRUIxNzlDMTQzMzc5RjUwMDUyRUFFOSAvKiBSZW5kZXJCb3hGcmFnbWVudEluZm8uaCBpbiBI
ZWFkZXJzICovLAorCQkJCUJDOTZEQjQzMEYzQTg4MEUwMDU3M0NCMyAvKiBSZW5kZXJCb3hNb2Rl
bE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFQTQ4NjYwOTdEOTMwMjAwOTRDOUU0IC8q
IFJlbmRlckJ1dHRvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjU2NTc5QjUxODI0RDEyQTAwRTc5
RjIzIC8qIFJlbmRlckNoaWxkSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTQ0MTM0
MTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yOTY3Miw2ICsyOTY2OCw4IEBACiAJCQkJMEY1QjdBNTUxMEY2NUQ3QTAwMzc2MzAyIC8qIFJl
bmRlckVtYmVkZGVkT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNjZDNzczMTBBQjYwM0ZE
MDAyMzhDQzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUzQzgyOThFMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJveC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJRDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29u
dGFpbmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0U5M0Y0NTE1MTdDNTY3MDA4Q0NGNzQgLyog
UmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwOENDQTRG
MTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGcmFnbWVudGVkRmxvdy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTg3MURFRDMwQTE1MzBDNzAwQjEyQTY4IC8qIFJlbmRlckZyYW1lLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkQzMDgwRjExN0NGN0U3MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI5NzIyLDggKzI5NzIwLDYgQEAKIAkJCQlBNDNCRjU5RDExNDky
OTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUI1QjY1
ODc0MTg2RkRFNEMwMDlDMjZFOCAvKiBSZW5kZXJQdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVB
NTc0RjI1MTMxREI5MzkwMDQ3MUI4OCAvKiBSZW5kZXJRdW90ZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJRDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlCQ0U5M0Y0NTE1MTdDNTY3MDA4Q0NGNzQgLyogUmVuZGVyRnJh
Z21lbnRDb250YWluZXJTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFERkUzMEExNTM3NkIw
MEIxMkE2OCAvKiBSZW5kZXJSZXBsYWNlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBODQ2RDcw
REM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJlcGxpY2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0
NzlGQUVFMTA5QUUzNzUwMERFRDY1NSAvKiBSZW5kZXJSdWJ5LmggaW4gSGVhZGVycyAqLywKQEAg
LTMzNjMzLDYgKzMzNjI5LDggQEAKIAkJCQkwRjVCN0E1NDEwRjY1RDdBMDAzNzYzMDIgLyogUmVu
ZGVyRW1iZWRkZWRPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDY2Qzc3MzAwQUI2MDNG
RDAwMjM4Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUzQzgyOThEMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJveC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlENzBBRDY1NzEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21l
bnRDb250YWluZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkNFOTNGNDcxNTE3QzZENTAwOEND
Rjc0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUwOENDQTUwMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBODcxREVENDBBMTUzMEM3MDBCMTJBNjggLyogUmVuZGVyRnJhbWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEMzA4MEUxMTdDRjdFNzAwQTc5MUY3IC8qIFJlbmRl
ckZyYW1lQmFzZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzNjgyLDggKzMzNjgwLDYgQEAKIAkJ
CQlCQ0VBNDg3RjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE0M0JGNTlDMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1QTU3NEYyNDEzMURCOTM5MDA0NzFCODggLyogUmVuZGVyUXVv
dGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJl
bmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDRTkzRjQ3MTUx
N0M2RDUwMDhDQ0Y3NCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBODcxREZFMjBBMTUzNzZCMDBCMTJBNjggLyogUmVuZGVyUmVwbGFjZWQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBODQ2RDYwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJl
cGxpY2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3OUZBRUQxMDlBRTM3NTAwREVENjU1IC8q
IFJlbmRlclJ1YnkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNWM4
MmZkMjdjZmE3NzJlZDBkNmY5YjMyNGE0NTAwMGJkNmVlZTkxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIEh5c3RlcmVzaXNBY3Rpdml0eV9oCi0jZGVmaW5lIEh5c3RlcmVzaXNBY3Rp
dml0eV9oCi0KLSNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgotI2luY2x1ZGUgPHd0Zi9TZWNvbmRz
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVs
dEh5c3RlcmVzaXNEdXJhdGlvbiB7IDVfcyB9OwotCi1lbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7Ci0gICAgU3RhcnRlZCwKLSAgICBTdG9wcGVkCi19OwotCi1jbGFzcyBIeXN0ZXJlc2lzQWN0
aXZpdHkgewotcHVibGljOgotICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShXVEY6OkZ1
bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4mJiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNT
dGF0ZSkgeyB9LCBTZWNvbmRzIGh5c3RlcmVzaXNTZWNvbmRzID0gZGVmYXVsdEh5c3RlcmVzaXNE
dXJhdGlvbikKLSAgICAgICAgOiBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQotICAgICAg
ICAsIG1faHlzdGVyZXNpc1NlY29uZHMoaHlzdGVyZXNpc1NlY29uZHMpCi0gICAgICAgICwgbV9h
Y3RpdmUoZmFsc2UpCi0gICAgICAgICwgbV90aW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZI
eXN0ZXJlc2lzQWN0aXZpdHk6Omh5c3RlcmVzaXNUaW1lckZpcmVkKQotICAgIHsKLSAgICB9Ci0K
LSAgICB2b2lkIHN0YXJ0KCkKLSAgICB7Ci0gICAgICAgIGlmIChtX2FjdGl2ZSkKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgbV9hY3RpdmUgPSB0cnVlOwotCi0gICAgICAgIGlmIChtX3Rp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICAgICAgZWxz
ZQotICAgICAgICAgICAgbV9jYWxsYmFjayhIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpOwotICAg
IH0KLQotICAgIHZvaWQgc3RvcCgpCi0gICAgewotICAgICAgICBpZiAoIW1fYWN0aXZlKQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX2FjdGl2ZSA9IGZhbHNlOwotCi0gICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc1NlY29uZHMpOwotICAgIH0KLQotICAgIHZv
aWQgaW1wdWxzZSgpCi0gICAgewotICAgICAgICBpZiAoIW1fYWN0aXZlKSB7Ci0gICAgICAgICAg
ICBzdGFydCgpOwotICAgICAgICAgICAgc3RvcCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
SHlzdGVyZXNpc1N0YXRlIHN0YXRlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2Fj
dGl2ZSB8fCBtX3RpbWVyLmlzQWN0aXZlKCkgPyBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQgOiBI
eXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQ7Ci0gICAgfQotICAgIAotcHJpdmF0ZToKLSAgICB2b2lk
IGh5c3RlcmVzaXNUaW1lckZpcmVkKCkKLSAgICB7Ci0gICAgICAgIG1fdGltZXIuc3RvcCgpOwot
ICAgICAgICBtX2NhbGxiYWNrKEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCk7Ci0gICAgfQotCi0g
ICAgV1RGOjpGdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAg
U2Vjb25kcyBtX2h5c3RlcmVzaXNTZWNvbmRzOwotICAgIGJvb2wgbV9hY3RpdmU7Ci0gICAgUnVu
TG9vcDo6VGltZXI8SHlzdGVyZXNpc0FjdGl2aXR5PiBtX3RpbWVyOwotfTsKLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gSHlzdGVyZXNpc0FjdGl2aXR5X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuY3BwCmluZGV4IDNiY2IyZjNkYTc2MDlhM2ZlNzM4
OGM2ZThjOWRmNmNmYzM3ZGY4N2EuLjYyZTJkMjEyYjJjZmNiZTIzODkzYzMzNjMxZTU1MDU5ZTNk
ODcxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmNwcApAQCAtNDUs
MTQgKzQ1LDE0IEBAIHZvaWQgVXNlckFjdGl2aXR5OjpJbXBsOjplbmRBY3Rpdml0eSgpCiAjZW5k
aWYKIAogVXNlckFjdGl2aXR5OjpVc2VyQWN0aXZpdHkoY29uc3QgY2hhciogZGVzY3JpcHRpb24p
Ci0gICAgOiBIeXN0ZXJlc2lzQWN0aXZpdHkoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkg
eyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7IH0pCisgICAgOiBQQUw6Okh5c3RlcmVzaXNBY3Rp
dml0eShbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNpc1VwZGF0
ZWQoc3RhdGUpOyB9KQogICAgICwgbV9pbXBsKGRlc2NyaXB0aW9uKQogewogfQogCi12b2lkIFVz
ZXJBY3Rpdml0eTo6aHlzdGVyZXNpc1VwZGF0ZWQoSHlzdGVyZXNpc1N0YXRlIHN0YXRlKQordm9p
ZCBVc2VyQWN0aXZpdHk6Omh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0
YXRlKQogewotICAgIGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpCisgICAg
aWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKQogICAgICAgICBtX2lt
cGwuYmVnaW5BY3Rpdml0eSgpOwogICAgIGVsc2UKICAgICAgICAgbV9pbXBsLmVuZEFjdGl2aXR5
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oCmluZGV4IDdiMGMxZGEyMjEz
MDcxNjYzM2I1NGZmM2NkNGE4NjNjNThkOGEzZDUuLmVlYjJkNzMyYWZjOWZjYWVmOTAzNjM5MmMy
ZjJjMWY4MjNkNzIzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJB
Y3Rpdml0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oCkBA
IC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFVzZXJBY3Rpdml0eV9oCiAjZGVmaW5lIFVzZXJBY3Rp
dml0eV9oCiAKLSNpbmNsdWRlICJIeXN0ZXJlc2lzQWN0aXZpdHkuaCIKKyNpbmNsdWRlIDxwYWwv
SHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAKICNpZiBIQVZFKE5TX0FDVElWSVRZKQogI2luY2x1ZGUg
PG9iamMvb2JqYy5oPgpAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBU
aGUgVXNlckFjdGl2aXR5IHR5cGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB0byB0aGUgb3BlcmF0aW5n
IHN5c3RlbSB0aGF0CiAvLyBhIHVzZXIgaW5pdGlhdGVkIG9yIHZpc2libGUgYWN0aW9uIGlzIHRh
a2luZyBwbGFjZSwgYW5kIGFzIHN1Y2ggdGhhdAogLy8gcmVzb3VyY2VzIHNob3VsZCBiZSBhbGxv
Y2F0ZWQgdG8gdGhlIHByb2Nlc3MgYWNjb3JkaW5nbHkuCi1jbGFzcyBVc2VyQWN0aXZpdHkgOiBw
dWJsaWMgSHlzdGVyZXNpc0FjdGl2aXR5IHsKK2NsYXNzIFVzZXJBY3Rpdml0eSA6IHB1YmxpYyBQ
QUw6Okh5c3RlcmVzaXNBY3Rpdml0eSB7CiBwdWJsaWM6CiAgICAgY2xhc3MgSW1wbCB7CiAgICAg
cHVibGljOgpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhw
bGljaXQgVXNlckFjdGl2aXR5KGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uKTsKIAogcHJpdmF0ZToK
LSAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVkKEh5c3RlcmVzaXNTdGF0ZSk7CisgICAgdm9pZCBo
eXN0ZXJlc2lzVXBkYXRlZChQQUw6Okh5c3RlcmVzaXNTdGF0ZSk7CiAKICAgICBJbXBsIG1faW1w
bDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsLmgKaW5kZXggNDUz
N2QzNTE4ODI4MTMyZjEzNTVhMDgxYzJkOGUxM2I0NDMyM2I3NS4uNDU4YTlmYzU3M2M1NDgzODAy
YWY4ODA5NzQ0Y2U1Mjc0NDlmYTVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRD
YWlyb0ltcGwuaApAQCAtMjAsNyArMjAsNyBAQAogCiAjaWYgVVNFKENBSVJPKQogI2luY2x1ZGUg
IkJhY2tpbmdTdG9yZUJhY2tlbmRDYWlyby5oIgotI2luY2x1ZGUgPFdlYkNvcmUvSHlzdGVyZXNp
c0FjdGl2aXR5Lmg+CisjaW5jbHVkZSA8cGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzLDcgKzMzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNj
cm9sbChjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50U2l6ZSYpIG92ZXJyaWRlOwogCiAgICAgUmVm
UHRyPGNhaXJvX3N1cmZhY2VfdD4gbV9zY3JvbGxTdXJmYWNlOwotICAgIFdlYkNvcmU6Okh5c3Rl
cmVzaXNBY3Rpdml0eSBtX3Njcm9sbGVkSHlzdGVyZXNpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNB
Y3Rpdml0eSBtX3Njcm9sbGVkSHlzdGVyZXNpczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaAppbmRleCA3YjJkMjQyMjZkYTJkOWRjZDdiYjE4NjFl
YWE0ZjBkNmM5Y2QxZGRjLi5lYmJkZDU3NDMyN2NkNDFiNTE3ODZkMWUxNmM5Yzc2ZWY5YzAwZWJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oCkBAIC0yNyw4ICsyNyw4IEBACiAKICNpZiBQTEFU
Rk9STShJT1MpCiAKLSNpbmNsdWRlICJIeXN0ZXJlc2lzQWN0aXZpdHkuaCIKICNpbmNsdWRlICJT
UUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaCIKKyNpbmNsdWRlIDxwYWwvSHlzdGVyZXNpc0Fj
dGl2aXR5Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIApAQCAtNDksNyArNDksNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBoeXN0ZXJl
c2lzVXBkYXRlZChIeXN0ZXJlc2lzU3RhdGUpOwogCi0gICAgSHlzdGVyZXNpc0FjdGl2aXR5IG1f
aHlzdGVyZXNpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2h5c3RlcmVzaXM7CiB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApp
bmRleCA2ZTZmZmUyZjgyMTg3MzYzZTg5MTdkNmIwMDA4MTUzNGM3OWNhNjdkLi5lZDgwOTE1Y2M5
OGNiMWI3ZjIyN2NiODc2ZDhhNjg4YmZhYTJmYmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJO
ZXR3b3JrQ2FjaGVTdWJyZXNvdXJjZXNFbnRyeS5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaD4KLSNpbmNsdWRl
IDxXZWJDb3JlL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lz
QWN0aXZpdHkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMjA3
LDcgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIDogbV9zdG9yYWdlKHN0b3JhZ2UpCiAgICAg
ICAgICwgbV9tYWluUmVzb3VyY2VLZXkobWFpblJlc291cmNlS2V5KQogICAgICAgICAsIG1fbG9h
ZENvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUobG9hZENvbXBsZXRpb25IYW5kbGVyKSkKLSAgICAg
ICAgLCBtX2xvYWRIeXN0ZXJlc2lzQWN0aXZpdHkoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0
ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtYXJrTG9hZEFzQ29t
cGxldGVkKCk7IH0pCisgICAgICAgICwgbV9sb2FkSHlzdGVyZXNpc0FjdGl2aXR5KFt0aGlzXShQ
QUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lz
U3RhdGU6OlN0b3BwZWQpIG1hcmtMb2FkQXNDb21wbGV0ZWQoKTsgfSkKICAgICB7CiAgICAgICAg
IG1fbG9hZEh5c3RlcmVzaXNBY3Rpdml0eS5pbXB1bHNlKCk7CiAgICAgfQpAQCAtMjM5LDcgKzIz
OSw3IEBAIHByaXZhdGU6CiAgICAgS2V5IG1fbWFpblJlc291cmNlS2V5OwogICAgIFZlY3Rvcjxz
dGQ6OnVuaXF1ZV9wdHI8U3VicmVzb3VyY2VMb2FkPj4gbV9zdWJyZXNvdXJjZUxvYWRzOwogICAg
IFdURjo6RnVuY3Rpb248dm9pZCgpPiBtX2xvYWRDb21wbGV0aW9uSGFuZGxlcjsKLSAgICBIeXN0
ZXJlc2lzQWN0aXZpdHkgbV9sb2FkSHlzdGVyZXNpc0FjdGl2aXR5OworICAgIFBBTDo6SHlzdGVy
ZXNpc0FjdGl2aXR5IG1fbG9hZEh5c3RlcmVzaXNBY3Rpdml0eTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8U3VicmVzb3VyY2VzRW50cnk+IG1fZXhpc3RpbmdFbnRyeTsKICAgICBib29sIG1fZGlkRmlu
aXNoTG9hZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2RpZFJldHJpZXZlRXhpc3RpbmdFbnRyeSB7
IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyLmNwcAppbmRleCA5MmE3Zjk0NWNhMTA0ZGE0MzI5MTMxODA0YWQ2YmQ4YTFhYjYyOTY4
Li5mYjY5MWIxMTg3ZDgyYWI5NjMyNWIzYTlmZTQyODA5M2QzMWI4MWU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAKQEAgLTM5LDcg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6
V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyKE5ldHdvcmtQcm9jZXNzJiBwcm9jZXNzKQogICAgIDog
bV9wcm9jZXNzKHByb2Nlc3MpCi0gICAgLCBtX2h5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7IH0pCisgICAgLCBtX2h5c3Rl
cmVzaXMoW3RoaXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5c3RlcmVzaXNVcGRh
dGVkKHN0YXRlKTsgfSkKICAgICAsIG1fY2hpbGRQcm9jZXNzVHlwZShDaGlsZFByb2Nlc3NUeXBl
OjpOZXR3b3JrKQogewogICAgIFNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6c2V0Q2xpZW50KHRoaXMp
OwpAQCAtNDcsNyArNDcsNyBAQCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OldlYlNRTGl0ZURh
dGFiYXNlVHJhY2tlcihOZXR3b3JrUHJvY2VzcyYgcHJvY2VzcykKIAogV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyOjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIoV2ViUHJvY2VzcyYgcHJvY2VzcykK
ICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQotICAgICwgbV9oeXN0ZXJlc2lzKFt0aGlzXShIeXN0
ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9KQorICAgICwg
bV9oeXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJl
c2lzVXBkYXRlZChzdGF0ZSk7IH0pCiAgICAgLCBtX2NoaWxkUHJvY2Vzc1R5cGUoQ2hpbGRQcm9j
ZXNzVHlwZTo6V2ViQ29udGVudCkKIHsKICAgICBTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OnNldENs
aWVudCh0aGlzKTsKQEAgLTY3LDE0ICs2NywxNCBAQCB2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJh
Y2tlcjo6ZGlkRmluaXNoTGFzdFRyYW5zYWN0aW9uKCkKICAgICB9KTsKIH0KIAotdm9pZCBXZWJT
UUxpdGVEYXRhYmFzZVRyYWNrZXI6Omh5c3RlcmVzaXNVcGRhdGVkKEh5c3RlcmVzaXNTdGF0ZSBz
dGF0ZSkKK3ZvaWQgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpoeXN0ZXJlc2lzVXBkYXRlZChQ
QUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkKIHsKICAgICBzd2l0Y2ggKG1fY2hpbGRQcm9jZXNz
VHlwZSkgewogICAgIGNhc2UgQ2hpbGRQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKLSAgICAgICAg
bV9wcm9jZXNzLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBy
b2Nlc3NQcm94eTo6U2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoc3RhdGUgPT0gSHlzdGVyZXNpc1N0
YXRlOjpTdGFydGVkKSwgMCk7CisgICAgICAgIG1fcHJvY2Vzcy5wYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xvY2tl
ZEZpbGVzKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKSwgMCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQ2hpbGRQcm9jZXNzVHlwZTo6TmV0d29yazoKLSAgICAgICAg
bV9wcm9jZXNzLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdv
cmtQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xvY2tlZEZpbGVzKHN0YXRlID09IEh5c3RlcmVz
aXNTdGF0ZTo6U3RhcnRlZCksIDApOworICAgICAgICBtX3Byb2Nlc3MucGFyZW50UHJvY2Vzc0Nv
bm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94eTo6U2V0SXNIb2xk
aW5nTG9ja2VkRmlsZXMoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpLCAw
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaAppbmRleCBlYTVjZWExN2NjNjBjZjgxMjFhMGE3NzVm
NWQyMzNlMjk4OWEyNzk3Li43YzViNzVhNDE2NGQ5NDRkY2E5MGNhMjk4ZDdlM2QzZDljNTFmNzAy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIu
aApAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJfaAog
I2RlZmluZSBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJfaAogCi0jaW5jbHVkZSA8V2ViQ29yZS9I
eXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZURhdGFiYXNlVHJh
Y2tlckNsaWVudC5oPgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NywxMCAr
NDcsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmluaXNoTGFzdFRyYW5zYWN0aW9uKCkgb3Zl
cnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBoeXN0ZXJlc2lzVXBkYXRlZChXZWJDb3JlOjpI
eXN0ZXJlc2lzU3RhdGUpOworICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQoUEFMOjpIeXN0ZXJl
c2lzU3RhdGUpOwogCiAgICAgQ2hpbGRQcm9jZXNzJiBtX3Byb2Nlc3M7Ci0gICAgV2ViQ29yZTo6
SHlzdGVyZXNpc0FjdGl2aXR5IG1faHlzdGVyZXNpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rp
dml0eSBtX2h5c3RlcmVzaXM7CiAgICAgZW51bSBjbGFzcyBDaGlsZFByb2Nlc3NUeXBlIHsgTmV0
d29yaywgV2ViQ29udGVudCB9OwogICAgIENoaWxkUHJvY2Vzc1R5cGUgbV9jaGlsZFByb2Nlc3NU
eXBlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggMWVhN2EzYzJmNWI3YTU4MzE5NTQ3ZTk2YTcyOTExMzc1M2IwNGM3ZC4uZGU5NGZlZTIz
YjVjNGVhN2UxOTY5ZDBjMzlmNDM1YWNlYjY0NDQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMzOSw3ICszMzksNyBAQCBXZWJQYWdlOjpX
ZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyIHsgc3RkOjptYWtlX3VuaXF1ZTxVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXI+KCp0aGlzKSB9CiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlz
dGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0
ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3Jv
bGxIeXN0ZXJlc2lzRHVyYXRpb24pCisgICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3Ro
aXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBQQUw6Okh5c3Rl
cmVzaXNTdGF0ZTo6U3RvcHBlZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9s
bEh5c3RlcmVzaXNEdXJhdGlvbikKICAgICAsIG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKHBhcmFtZXRlcnMuY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKQogICAgICwgbV9j
YW5SdW5Nb2RhbChwYXJhbWV0ZXJzLmNhblJ1bk1vZGFsKQogI2lmIFBMQVRGT1JNKElPUykKQEAg
LTM1Miw3ICszNTIsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgLCBtX2FjdGl2aXR5U3RhdGUo
cGFyYW1ldGVycy5hY3Rpdml0eVN0YXRlKQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25FbmFi
bGVkKHRydWUpCiAgICAgLCBtX3VzZXJBY3Rpdml0eSgiUHJvY2VzcyBzdXBwcmVzc2lvbiBkaXNh
YmxlZCBmb3IgcGFnZS4iKQotICAgICwgbV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzKFt0aGlzXShI
eXN0ZXJlc2lzU3RhdGUpIHsgdXBkYXRlVXNlckFjdGl2aXR5KCk7IH0pCisgICAgLCBtX3VzZXJB
Y3Rpdml0eUh5c3RlcmVzaXMoW3RoaXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlKSB7IHVwZGF0ZVVz
ZXJBY3Rpdml0eSgpOyB9KQogICAgICwgbV91c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKHBh
cmFtZXRlcnMudXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbikKICAgICAsIG1fb3ZlcnJpZGVD
b250ZW50U2VjdXJpdHlQb2xpY3kgeyBwYXJhbWV0ZXJzLm92ZXJyaWRlQ29udGVudFNlY3VyaXR5
UG9saWN5IH0KICAgICAsIG1fY3B1TGltaXQocGFyYW1ldGVycy5jcHVMaW1pdCkKQEAgLTYyMCw3
ICs2MjAsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogCiB2b2lkIFdl
YlBhZ2U6OnVwZGF0ZVVzZXJBY3Rpdml0eSgpCiB7Ci0gICAgaWYgKG1fdXNlckFjdGl2aXR5SHlz
dGVyZXNpcy5zdGF0ZSgpID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCkKKyAgICBpZiAobV91
c2VyQWN0aXZpdHlIeXN0ZXJlc2lzLnN0YXRlKCkgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6OlN0
YXJ0ZWQpCiAgICAgICAgIG1fdXNlckFjdGl2aXR5LnN0YXJ0KCk7CiAgICAgZWxzZQogICAgICAg
ICBtX3VzZXJBY3Rpdml0eS5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggMWY5NjUwYTc5ZDE5OTI0NjE3YzQyZGUyMDhiZjMwM2M3NWI3YWVl
OS4uZjhkZjNkMWVhZDNlYTJjNWYxMmZhYTRmYmE1MGRlZTQxMjFkYzBkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDksNyArNDksNiBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGljdGlv
bmFyeVBvcHVwSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPgot
I2luY2x1ZGUgPFdlYkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplSGFzaC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUGFnZS5oPgpAQCAtNjEsNiArNjAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVXNl
clNjcmlwdFR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlS2V5Ym9hcmRVSU1vZGUu
aD4KICNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8cGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xNDUzLDcgKzE0NTMsNyBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX3BlbmRpbmdEcm9wU2FuZGJveEV4dGVu
c2lvbjsKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiBtX3BlbmRpbmdEcm9w
RXh0ZW5zaW9uc0ZvckZpbGVVcGxvYWQ7CiAKLSAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZp
dHkgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzOworICAgIFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5
IG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpczsKIAogICAgIGJvb2wgbV9jYW5SdW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwgeyBmYWxzZSB9OwogCkBAIC0xNTUzLDcgKzE1NTMsNyBAQCBwcml2YXRl
OgogCiAgICAgYm9vbCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQ7CiAgICAgVXNlckFjdGl2
aXR5IG1fdXNlckFjdGl2aXR5OwotICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX3Vz
ZXJBY3Rpdml0eUh5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV91c2Vy
QWN0aXZpdHlIeXN0ZXJlc2lzOwogCiAgICAgdWludDY0X3QgbV9wZW5kaW5nTmF2aWdhdGlvbklE
IHsgMCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggN2I2
Y2Q0Zjc0ZDYxNjdhZWIxMDAyMmQ3NDBjOGY0MWFmZWU5NTI1NS4uNDRlYjg4MzBmYzBmNGViZjE3
N2RkNjk2ZmZiYmU0YTYwNzBjZTQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtMTYyLDcgKzE2Miw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAg
ICwgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXI6OmNyZWF0ZSgpKQogICAgICwgbV93ZWJMb2FkZXJTdHJhdGVneSgqbmV3IFdl
YkxvYWRlclN0cmF0ZWd5KQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXZWJDYWNoZVN0
b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkpCi0gICAgLCBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpcyhb
dGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3Rh
dGU6OlN0b3BwZWQpIG1fZG5zUHJlZmV0Y2hlZEhvc3RzLmNsZWFyKCk7IH0pCisgICAgLCBtX2Ru
c1ByZWZldGNoSHlzdGVyZXJpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsg
aWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ruc1ByZWZldGNo
ZWRIb3N0cy5jbGVhcigpOyB9KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAg
ICwgbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b25NYW5hZ2VyOjpjcmVhdGUoKSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggZDQzZjdkZDdiM2Q3MDZhNGU1MDcxNmZmZWM0NTAzNWJkNDJmMzRmOC4uNzM5
YTg1N2RkYjE5ZmQ5ZTQ2YmE0YjBiZjBkNDE4NDQyOTE3YzBiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zNCw4ICszNCw4IEBACiAjaW5jbHVkZSAiVmlld1VwZGF0
ZURpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BY3Rpdml0eVN0YXRlLmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CisjaW5j
bHVkZSA8cGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQu
aD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBA
IC0zODksNyArMzg5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgSGFzaFNldDxTdHJpbmc+
IG1fZG5zUHJlZmV0Y2hlZEhvc3RzOwotICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSBt
X2Ruc1ByZWZldGNoSHlzdGVyZXJpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2Ru
c1ByZWZldGNoSHlzdGVyZXJpczsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5PiBtX2F1dG9tYXRpb25TZXNzaW9uUHJveHk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322035</attachid>
            <date>2017-09-27 15:58:58 -0700</date>
            <delta_ts>2017-09-27 18:09:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177516-20170927155857.patch</filename>
            <type>text/plain</type>
            <size>36895</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRlMTMwYmIzMjgxMWY2
NzFmNzQxNzI2YTZlZTcyOWEwODA2YjlkNS4uNGU3MWIyYWE3MDQxMTJlOWM3YmQ4N2UyNWJlODgx
MzBiMGMxMDAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA5LTI3ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbUEFMXSBNb3Zl
IEh5c3RlcmVzaXNBY3Rpdml0eSBpbnRvIFBBTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vVXNl
ckFjdGl2aXR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rpdml0eTo6VXNlckFjdGl2
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rpdml0eTo6aHlzdGVyZXNpc1VwZGF0ZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1VzZXJBY3Rpdml0eS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbDo6QmFja2luZ1N0b3JlQmFj
a2VuZENhaXJvSW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2lu
Z1N0b3JlQmFja2VuZENhaXJvSW1wbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaDoKKwogMjAxNy0wOS0yNyAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgICJUYWciIGNvZGVwb2ludHMgcmVx
dWlyZSB0aGUgY29tcGxleCB0ZXh0IGNvZGVwYXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlNjFj
MGU4NDE1ZjQ4YWM0NDg3N2U4ZGE0NDRiMDM3Y2NlNjliYjc2Li44YjljNzY0NzllZGJiY2VhNmY5
ZjhkOGQyN2IyY2EzZTBmNmY4YjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxNy0wOS0yNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisK
KyAgICAgICAgW1BBTF0gTW92ZSBIeXN0ZXJlc2lzQWN0aXZpdHkgaW50byBQQUwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmguCisK
IDIwMTctMDktMjYgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAg
ICAgICBbUEFMXVtDTWFrZV0gSW5jbHVkZSBJQ1UgZGlyZWN0b3JpZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTJj
NGMzMmI1Yzk1ZmRiOGJkMDI1ZDQ1ZDQ0NmY2MGUzNDY2YjkxZi4uNTk3M2UzNjVkMDYxNTNlMGQ0
OWUzMmQ2M2JhYWVmOTczNmYyOWMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNy0w
OS0yNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAg
W1BBTF0gTW92ZSBIeXN0ZXJlc2lzQWN0aXZpdHkgaW50byBQQUwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6UGVuZGluZ0ZyYW1lTG9hZDo6UGVu
ZGluZ0ZyYW1lTG9hZCk6CisgICAgICAgICogU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6V2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyOjpoeXN0ZXJlc2lzVXBkYXRlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlNRTGl0ZURh
dGFiYXNlVHJhY2tlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6bV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKToKKyAgICAgICAg
KFdlYktpdDo6bV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dXBkYXRlVXNlckFjdGl2aXR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorCiAyMDE3LTA5LTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgSGF2ZSBQaW5nTG9hZCB0YWtlIGEgQ29tcGxldGlvbkhhbmRsZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAyNTVhM2E3M2M5ZWZlZThlYTM4Mzg3MGFmZmUzZjhlNTI2MmFlNWZmLi45YjdmMjkwMzQwY2Jm
M2ZjZmI4NGQzYzRhZTc3ZjEwYmQxZmRlMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjcsNiArMTI3LDcgQEAKIAkJQTM3
ODhFOTgxRjA1QjZDRTAwNjc5NDI1IC8qIFNvdW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzc4OEU5NzFGMDVCNkNFMDA2Nzk0MjUgLyogU291bmQu
aCAqLzsgfTsKIAkJQTM3ODhFOUMxRjA1Qjc4MjAwNjc5NDI1IC8qIFNvdW5kLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzNzg4RTlCMUYwNUI3ODIw
MDY3OTQyNSAvKiBTb3VuZC5jcHAgKi87IH07CiAJCUEzNzg4RTlFMUYwNUI3OEUwMDY3OTQyNSAv
KiBTb3VuZE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEEzNzg4RTlEMUYwNUI3OEUwMDY3OTQyNSAvKiBTb3VuZE1hYy5tbSAqLzsgfTsKKwkJQTM5
REU3NEUxRjdDNDQzRDAwN0JDQjAwIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTM5REU3NEQxRjdDNDQzQzAwN0JD
QjAwIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oICovOyB9OwogCQlBM0FCNkU1MjFGM0QxREM1MDA5
QzE0QjEgLyogU2xlZXBEaXNhYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBM0FCNkU1MTFGM0QxREM1MDA5QzE0QjEgLyogU2xlZXBEaXNhYmxl
ci5jcHAgKi87IH07CiAJCUEzQUI2RTU2MUYzRDFEREIwMDlDMTRCMSAvKiBTbGVlcERpc2FibGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FCNkU1
MzFGM0QxRERCMDA5QzE0QjEgLyogU2xlZXBEaXNhYmxlci5oICovOyB9OwogCQlBM0FCNkU1NzFG
M0QxRERCMDA5QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FCNkU1NDFGM0QxRERCMDA5QzE0QjEg
LyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgKi87IH07CkBAIC0yNjIsNiArMjYzLDcgQEAKIAkJ
QTM3ODhFOTcxRjA1QjZDRTAwNjc5NDI1IC8qIFNvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNvdW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzNzg4
RTlCMUYwNUI3ODIwMDY3OTQyNSAvKiBTb3VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTb3VuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEz
Nzg4RTlEMUYwNUI3OEUwMDY3OTQyNSAvKiBTb3VuZE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNvdW5kTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBMzlERTc0RDFGN0M0NDNDMDA3QkNCMDAgLyogSHlzdGVyZXNpc0FjdGl2aXR5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEh5c3RlcmVzaXNBY3Rpdml0eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0FCNkU1MTFGM0QxREM1MDA5QzE0QjEgLyog
U2xlZXBEaXNhYmxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
bGVlcERpc2FibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBQjZFNTMx
RjNEMUREQjAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU2xlZXBEaXNhYmxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBM0FCNkU1NDFGM0QxRERCMDA5QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTeXN0ZW1TbGVlcExpc3RlbmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQyOSw4ICs0MzEsNyBAQAogCQkJCTBD
Rjk5Q0E2MUY3Mzg0MzYwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5jcHAgKi8sCiAJCQkJ
MENGOTlDQTcxRjczODQzNzAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmggKi8sCiAJCQkp
OwotCQkJbmFtZSA9IGNmOwotCQkJcGF0aCA9ICJOZXcgR3JvdXAiOworCQkJcGF0aCA9IGNmOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKIAkJMUMwOUQwMzQxRTMxQzMyODAwNzI1
RjE4ID0gewpAQCAtNDYxLDYgKzQ2Miw3IEBACiAJCQkJQTM3ODhFOUYxRjA1QjdDRTAwNjc5NDI1
IC8qIHN5c3RlbSAqLywKIAkJCQlBMzBENDExRDFGMEREMEFDMDBCNzE5NTQgLyogdGV4dCAqLywK
IAkJCQkwQzJEOUU3MjFFRUY1QUY2MDBEQkMzMTcgLyogRXhwb3J0TWFjcm9zLmggKi8sCisJCQkJ
QTM5REU3NEQxRjdDNDQzQzAwN0JDQjAwIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oICovLAogCQkJ
CTA3MDhBQzMyMUY0Qzg3NEEwMDFGNzg4RiAvKiBMb2dnZXIuaCAqLywKIAkJCQkwNzM3N0FEQjFG
NTc3N0Q3MDAyN0YxNkQgLyogTG9nZ2VySGVscGVyLmggKi8sCiAJCQkJQTNDNjZDREExRjQ2MkQ2
QTAwOUU2RUU5IC8qIFNlc3Npb25JRC5jcHAgKi8sCkBAIC01OTMsNiArNTk1LDcgQEAKIAkJCQkw
QzVBRjkxQjFGNDNBNEM3MDAyRUFDMDIgLyogR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTEwMjY1OEUxRjU2N0U5RDAwQjRDODQ0IC8qIEhJU2VydmljZXNTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCUExMDI2NTg5MUY1Njc0N0EwMEI0Qzg0NCAvKiBISVRvb2xib3hT
UEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUEzOURFNzRFMUY3QzQ0M0QwMDdCQ0IwMCAvKiBIeXN0
ZXJlc2lzQWN0aXZpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMTFGMUYzQkU5RTAwMERC
QzMxNyAvKiBJbWFnZUlPU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE0MjFGM0JFQjQ5
MDBEQkMzMTcgLyogSU9QTUxpYlNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNDMxRjNC
RUI0OTAwREJDMzE3IC8qIElPUFNMaWJTUEkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvSHlzdGVyZXNpc0FjdGl2aXR5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzNjAwZWE4ZTY4
NGIyZTYwY2RhNjQzNWMxZGU5YzYzOTE0NzYyMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvSHlzdGVyZXNpc0FjdGl2aXR5LmgKQEAgLTAsMCArMSw5NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KKyNpbmNs
dWRlIDx3dGYvU2Vjb25kcy5oPgorCituYW1lc3BhY2UgUEFMIHsKKworc3RhdGljIGNvbnN0IFNl
Y29uZHMgZGVmYXVsdEh5c3RlcmVzaXNEdXJhdGlvbiB7IDVfcyB9OworCitlbnVtIGNsYXNzIEh5
c3RlcmVzaXNTdGF0ZSB7CisgICAgU3RhcnRlZCwKKyAgICBTdG9wcGVkCit9OworCitjbGFzcyBI
eXN0ZXJlc2lzQWN0aXZpdHkgeworcHVibGljOgorICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rp
dml0eShXVEY6OkZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4mJiBjYWxsYmFjayA9IFtd
KEh5c3RlcmVzaXNTdGF0ZSkgeyB9LCBTZWNvbmRzIGh5c3RlcmVzaXNTZWNvbmRzID0gZGVmYXVs
dEh5c3RlcmVzaXNEdXJhdGlvbikKKyAgICAgICAgOiBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJh
Y2spKQorICAgICAgICAsIG1faHlzdGVyZXNpc1NlY29uZHMoaHlzdGVyZXNpc1NlY29uZHMpCisg
ICAgICAgICwgbV9hY3RpdmUoZmFsc2UpCisgICAgICAgICwgbV90aW1lcihSdW5Mb29wOjptYWlu
KCksIHRoaXMsICZIeXN0ZXJlc2lzQWN0aXZpdHk6Omh5c3RlcmVzaXNUaW1lckZpcmVkKQorICAg
IHsKKyAgICB9CisKKyAgICB2b2lkIHN0YXJ0KCkKKyAgICB7CisgICAgICAgIGlmIChtX2FjdGl2
ZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9hY3RpdmUgPSB0cnVlOworCisgICAg
ICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0b3AoKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9jYWxsYmFjayhIeXN0ZXJlc2lzU3RhdGU6OlN0
YXJ0ZWQpOworICAgIH0KKworICAgIHZvaWQgc3RvcCgpCisgICAgeworICAgICAgICBpZiAoIW1f
YWN0aXZlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2FjdGl2ZSA9IGZhbHNlOwor
CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc1NlY29uZHMpOworICAg
IH0KKworICAgIHZvaWQgaW1wdWxzZSgpCisgICAgeworICAgICAgICBpZiAoIW1fYWN0aXZlKSB7
CisgICAgICAgICAgICBzdGFydCgpOworICAgICAgICAgICAgc3RvcCgpOworICAgICAgICB9Cisg
ICAgfQorCisgICAgSHlzdGVyZXNpc1N0YXRlIHN0YXRlKCkgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX2FjdGl2ZSB8fCBtX3RpbWVyLmlzQWN0aXZlKCkgPyBIeXN0ZXJlc2lzU3RhdGU6
OlN0YXJ0ZWQgOiBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQ7CisgICAgfQorICAgIAorcHJpdmF0
ZToKKyAgICB2b2lkIGh5c3RlcmVzaXNUaW1lckZpcmVkKCkKKyAgICB7CisgICAgICAgIG1fdGlt
ZXIuc3RvcCgpOworICAgICAgICBtX2NhbGxiYWNrKEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCk7
CisgICAgfQorCisgICAgV1RGOjpGdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2Fs
bGJhY2s7CisgICAgU2Vjb25kcyBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIGJvb2wgbV9hY3Rp
dmU7CisgICAgUnVuTG9vcDo6VGltZXI8SHlzdGVyZXNpc0FjdGl2aXR5PiBtX3RpbWVyOworfTsK
KworfSAvLyBuYW1lc3BhY2UgUEFMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzk5OGRjMGJhMGQ1MTc2NTFkYTU1OTg4NDhjNmM0
OGMyNTYxZDMxNi4uYzdhYmQ0ZDU5ZDdiOWU4ZGI5ODBjZThhYTBlNDAyZjVhNjY2NDRkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMzcyOCw3ICszNzI4LDYgQEAKIAkJODU0RkU3MzkwQTIyOTdCRTAwNThEN0FEIC8qIFRyZWVX
YWxrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
NEZFNzJGMEEyMjk3QkUwMDU4RDdBRCAvKiBUcmVlV2Fsa2VyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODYxQzJFQTQxM0ZCNEZERDAwMDYyQUJC
IC8qIExvYWRUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODYxQzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIExvYWRUaW1pbmcuY3BwICovOyB9
OwogCQk4NjJGMTI5RTE4QzE1NzZGMDA1QzU0QUYgLyogQ291bnRlZFVzZXJBY3Rpdml0eS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyRjEyOUQxOEMx
NTcyQzAwNUM1NEFGIC8qIENvdW50ZWRVc2VyQWN0aXZpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk4NjJGMTJBMDE4QzFERDAyMDA1QzU0QUYg
LyogSHlzdGVyZXNpc0FjdGl2aXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NjJGMTI5RjE4QzFEQ0U0MDA1QzU0QUYgLyogSHlzdGVyZXNpc0FjdGl2
aXR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
ODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY1MTJFREIx
NTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovOyB9Owog
CQk4NjUxMkVERjE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY1MTJFREMx
NTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLzsgfTsKIAkJ
ODY4MTYwRDQxODc2NkEwQTAwMjFFNzlEIC8qIFVzZXJBY3Rpdml0eS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjgxNjBEMTE4NzY2OUM0MDAyMUU3
OUQgLyogVXNlckFjdGl2aXR5LmNwcCAqLzsgfTsKQEAgLTEyMDY0LDcgKzEyMDYzLDYgQEAKIAkJ
ODVERjJGOTIwQUEzQzlCNjAwQUQ2NEM1IC8qIEhUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBMb2FkVGlt
aW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRUaW1pbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjJGMTI5RDE4QzE1NzJDMDA1QzU0
QUYgLyogQ291bnRlZFVzZXJBY3Rpdml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb3VudGVkVXNlckFjdGl2aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTg2MkYxMjlGMThDMURDRTQwMDVDNTRBRiAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSHlzdGVyZXNpc0FjdGl2aXR5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRUREMTU0QTJB
RUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTI0NjA4LDcgKzI0NjA2LDYgQEAKIAkJCQlDRDYyRkI5NDFBRjAxOEU3
MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oICovLAogCQkJCUE4NzQ4QkRGMTJDQkYyREMw
MDFGQkE0MSAvKiBIYXNoVG9vbHMuaCAqLywKIAkJCQlCQzNCQzI5QjBFOTFBQjBGMDA4MzU1ODgg
LyogSG9zdFdpbmRvdy5oICovLAotCQkJCTg2MkYxMjlGMThDMURDRTQwMDVDNTRBRiAvKiBIeXN0
ZXJlc2lzQWN0aXZpdHkuaCAqLywKIAkJCQkxQUUwMEQ1NzE4MkRBQzhEMDAwODdERDcgLyogS2V5
ZWRDb2RpbmcuaCAqLywKIAkJCQlFMTVGRjdENDE4Qzk1NTM4MDBGRTRDODcgLyogS2V5cHJlc3ND
b21tYW5kLmggKi8sCiAJCQkJQTNENDJBODQxRjMzQkEzNjAwQTY0QjYyIC8qIExheW91dFVuaXQu
Y3BwICovLApAQCAtMjU4OTIsOSArMjU4ODksOSBAQAogCQkJCUJDRUE0ODEzMDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwICovLAogCQkJCUJDRUE0ODIyMDk3RDkz
MDIwMDk0QzlFNCAvKiBSZW5kZXJCb3guY3BwICovLAogCQkJCUJDRUE0ODIzMDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJCb3guaCAqLywKKwkJCQlCQ0VCMTc5QjE0MzM3OUY1MDA1MkVBRTkgLyog
UmVuZGVyQm94RnJhZ21lbnRJbmZvLmggKi8sCiAJCQkJQkM5NkRCNDUwRjNBODgyMjAwNTczQ0Iz
IC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmNwcCAqLywKIAkJCQlCQzk2REI0MjBGM0E4ODBFMDA1
NzNDQjMgLyogUmVuZGVyQm94TW9kZWxPYmplY3QuaCAqLywKLQkJCQlCQ0VCMTc5QjE0MzM3OUY1
MDA1MkVBRTkgLyogUmVuZGVyQm94RnJhZ21lbnRJbmZvLmggKi8sCiAJCQkJQkNFQTQ4MjYwOTdE
OTMwMjAwOTRDOUU0IC8qIFJlbmRlckJ1dHRvbi5jcHAgKi8sCiAJCQkJQkNFQTQ4MjcwOTdEOTMw
MjAwOTRDOUU0IC8qIFJlbmRlckJ1dHRvbi5oICovLAogCQkJCUI1NjU3OUI0MTgyNEQxMkEwMEU3
OUYyMyAvKiBSZW5kZXJDaGlsZEl0ZXJhdG9yLmggKi8sCkBAIC0yNTkxNSw2ICsyNTkxMiwxMCBA
QAogCQkJCTA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAvKiBSZW5kZXJGaWxlVXBsb2FkQ29udHJv
bC5oICovLAogCQkJCTUzQzgyOThCMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJv
eC5jcHAgKi8sCiAJCQkJNTNDODI5OEMxM0Q4RDkyNzAwREUyREVCIC8qIFJlbmRlckZsZXhpYmxl
Qm94LmggKi8sCisJCQkJRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50
Q29udGFpbmVyLmNwcCAqLywKKwkJCQlENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVy
RnJhZ21lbnRDb250YWluZXIuaCAqLywKKwkJCQlCQ0U5M0Y0NjE1MTdDNkQ1MDA4Q0NGNzQgLyog
UmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQuY3BwICovLAorCQkJCUJDRTkzRjQ0MTUxN0M1Njcw
MDhDQ0Y3NCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5oICovLAogCQkJCTUwOENDQTRF
MTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAgKi8sCiAJCQkJNTA4
Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZyYWdtZW50ZWRGbG93LmggKi8sCiAJCQkJ
QTg3MURFQ0MwQTE1MzBDNzAwQjEyQTY4IC8qIFJlbmRlckZyYW1lLmNwcCAqLywKQEAgLTI1OTg5
LDEwICsyNTk5MCw2IEBACiAJCQkJQURFMTY3MzYxODEwNTBDMzAwNDYzQTJFIC8qIFJlbmRlclB0
ci5oICovLAogCQkJCTVBNTc0RjIyMTMxREI5MzkwMDQ3MUI4OCAvKiBSZW5kZXJRdW90ZS5jcHAg
Ki8sCiAJCQkJNUE1NzRGMjMxMzFEQjkzOTAwNDcxQjg4IC8qIFJlbmRlclF1b3RlLmggKi8sCi0J
CQkJRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmNw
cCAqLywKLQkJCQlENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21lbnRDb250
YWluZXIuaCAqLywKLQkJCQlCQ0U5M0Y0NjE1MTdDNkQ1MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21l
bnRDb250YWluZXJTZXQuY3BwICovLAotCQkJCUJDRTkzRjQ0MTUxN0M1NjcwMDhDQ0Y3NCAvKiBS
ZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5oICovLAogCQkJCUE4NzFERkRFMEExNTM3NkIwMEIx
MkE2OCAvKiBSZW5kZXJSZXBsYWNlZC5jcHAgKi8sCiAJCQkJQTg3MURGREYwQTE1Mzc2QjAwQjEy
QTY4IC8qIFJlbmRlclJlcGxhY2VkLmggKi8sCiAJCQkJQkNBODQ2RDQwREM2N0EzNTAwMjZDMzA5
IC8qIFJlbmRlclJlcGxpY2EuY3BwICovLApAQCAtMjgxMzUsNyArMjgxMzIsNiBAQAogCQkJCTQx
NjE0QTc5MURBNjQyNDEwMDRBRDA2RiAvKiBIVFRQSGVhZGVyVmFsdWVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTRDNzY3MzBDRTkyM0ExMDA3RUYzQ0QgLyogSFRUUFBhcnNlcnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTM3NUNEMjMyMTE5RDQzQzgwMEEyQTg1OSAvKiBIeXBoZW5hdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJODYyRjEyQTAxOEMxREQwMjAwNUM1NEFGIC8qIEh5c3RlcmVzaXNB
Y3Rpdml0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVCQjg5MzMxQzc3NzgyOTAwQzY1RDQxIC8q
IEljZUNhbmRpZGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3NTM1NkUwQjA1MzgxNDAwMkNF
NjRGIC8qIEljb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxM0YxNDU0MEFCNjM0QzQwMDA5NERE
RiAvKiBJY29uTG9hZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NjU3LDggKzI5NjUzLDggQEAK
IAkJCQlCQ0VBNDg2MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQmxvY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMTBENzY4MTdEOEVFNzEwMDVFMjYyNiAvKiBSZW5kZXJCbG9ja0Zsb3cuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDRUE0ODYyMDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJCb3gu
aCBpbiBIZWFkZXJzICovLAotCQkJCUJDOTZEQjQzMEYzQTg4MEUwMDU3M0NCMyAvKiBSZW5kZXJC
b3hNb2RlbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFQjE3OUMxNDMzNzlGNTAwNTJF
QUU5IC8qIFJlbmRlckJveEZyYWdtZW50SW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkM5NkRC
NDMwRjNBODgwRTAwNTczQ0IzIC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0VBNDg2NjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQnV0dG9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCNTY1NzlCNTE4MjREMTJBMDBFNzlGMjMgLyogUmVuZGVyQ2hpbGRJdGVy
YXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNDQxMzQxMkY3NDhFMjAwOUI4NEI4IC8qIFJl
bmRlckNvbWJpbmVUZXh0LmggaW4gSGVhZGVycyAqLywKQEAgLTI5NjcyLDYgKzI5NjY4LDggQEAK
IAkJCQkwRjVCN0E1NTEwRjY1RDdBMDAzNzYzMDIgLyogUmVuZGVyRW1iZWRkZWRPYmplY3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTA2NkM3NzMxMEFCNjAzRkQwMDIzOENDNCAvKiBSZW5kZXJGaWxl
VXBsb2FkQ29udHJvbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTNDODI5OEUxM0Q4RDkyNzAwREUy
REVCIC8qIFJlbmRlckZsZXhpYmxlQm94LmggaW4gSGVhZGVycyAqLywKKwkJCQlENzBBRDY1ODEz
RTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDRTkzRjQ1MTUxN0M1NjcwMDhDQ0Y3NCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5l
clNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTA4Q0NBNEYxM0NGMTA2QjAwMzE1MUYzIC8qIFJl
bmRlckZyYWdtZW50ZWRGbG93LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxREVEMzBBMTUzMEM3
MDBCMTJBNjggLyogUmVuZGVyRnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRDMwODBGMTE3
Q0Y3RTcwMEE3OTFGNyAvKiBSZW5kZXJGcmFtZUJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjk3
MjIsOCArMjk3MjAsNiBAQAogCQkJCUE0M0JGNTlEMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQ
cm9ncmVzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjVCNjU4NzQxODZGREU0QzAwOUMyNkU4IC8q
IFJlbmRlclB0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUE1NzRGMjUxMzFEQjkzOTAwNDcxQjg4
IC8qIFJlbmRlclF1b3RlLmggaW4gSGVhZGVycyAqLywKLQkJCQlENzBBRDY1ODEzRTEzNDJCMDA1
QjUwQjQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUJD
RTkzRjQ1MTUxN0M1NjcwMDhDQ0Y3NCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTg3MURGRTMwQTE1Mzc2QjAwQjEyQTY4IC8qIFJlbmRlclJlcGxh
Y2VkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E4NDZENzBEQzY3QTM1MDAyNkMzMDkgLyogUmVu
ZGVyUmVwbGljYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ3OUZBRUUxMDlBRTM3NTAwREVENjU1
IC8qIFJlbmRlclJ1YnkuaCBpbiBIZWFkZXJzICovLApAQCAtMzM2MzMsNiArMzM2MjksOCBAQAog
CQkJCTBGNUI3QTU0MTBGNjVEN0EwMDM3NjMwMiAvKiBSZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwNjZDNzczMDBBQjYwM0ZEMDAyMzhDQzQgLyogUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTNDODI5OEQxM0Q4RDkyNzAw
REUyREVCIC8qIFJlbmRlckZsZXhpYmxlQm94LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUQ3MEFE
NjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlCQ0U5M0Y0NzE1MTdDNkQ1MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21lbnRD
b250YWluZXJTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTA4Q0NBNTAxM0NGMTA2QjAwMzE1
MUYzIC8qIFJlbmRlckZyYWdtZW50ZWRGbG93LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFE
RUQ0MEExNTMwQzcwMEIxMkE2OCAvKiBSZW5kZXJGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRkQzMDgwRTExN0NGN0U3MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMzM2ODIsOCArMzM2ODAsNiBAQAogCQkJCUJDRUE0ODdGMDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTQzQkY1OUMxMTQ5
MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVB
NTc0RjI0MTMxREI5MzkwMDQ3MUI4OCAvKiBSZW5kZXJRdW90ZS5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQlENzBBRDY1NzEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNFOTNGNDcxNTE3QzZENTAwOENDRjc0IC8qIFJlbmRl
ckZyYWdtZW50Q29udGFpbmVyU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFERkUyMEEx
NTM3NkIwMEIxMkE2OCAvKiBSZW5kZXJSZXBsYWNlZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Q0E4NDZENjBEQzY3QTM1MDAyNkMzMDkgLyogUmVuZGVyUmVwbGljYS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNDc5RkFFRDEwOUFFMzc1MDBERUQ2NTUgLyogUmVuZGVyUnVieS5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1YzgyZmQyN2NmYTc3MmVkMGQ2ZjliMzI0
YTQ1MDAwYmQ2ZWVlOTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSHlzdGVyZXNp
c0FjdGl2aXR5X2gKLSNkZWZpbmUgSHlzdGVyZXNpc0FjdGl2aXR5X2gKLQotI2luY2x1ZGUgPHd0
Zi9SdW5Mb29wLmg+Ci0jaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0SHlzdGVyZXNpc0R1cmF0aW9uIHsg
NV9zIH07Ci0KLWVudW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsKLSAgICBTdGFydGVkLAotICAg
IFN0b3BwZWQKLX07Ci0KLWNsYXNzIEh5c3RlcmVzaXNBY3Rpdml0eSB7Ci1wdWJsaWM6Ci0gICAg
ZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KFdURjo6RnVuY3Rpb248dm9pZChIeXN0ZXJlc2lz
U3RhdGUpPiYmIGNhbGxiYWNrID0gW10oSHlzdGVyZXNpc1N0YXRlKSB7IH0sIFNlY29uZHMgaHlz
dGVyZXNpc1NlY29uZHMgPSBkZWZhdWx0SHlzdGVyZXNpc0R1cmF0aW9uKQotICAgICAgICA6IG1f
Y2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCi0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25k
cyhoeXN0ZXJlc2lzU2Vjb25kcykKLSAgICAgICAgLCBtX2FjdGl2ZShmYWxzZSkKLSAgICAgICAg
LCBtX3RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkh5c3RlcmVzaXNBY3Rpdml0eTo6aHlz
dGVyZXNpc1RpbWVyRmlyZWQpCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgc3RhcnQoKQotICAg
IHsKLSAgICAgICAgaWYgKG1fYWN0aXZlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBt
X2FjdGl2ZSA9IHRydWU7Ci0KLSAgICAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgICAgIG1fdGltZXIuc3RvcCgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2NhbGxi
YWNrKEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCk7Ci0gICAgfQotCi0gICAgdm9pZCBzdG9wKCkK
LSAgICB7Ci0gICAgICAgIGlmICghbV9hY3RpdmUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIG1fYWN0aXZlID0gZmFsc2U7Ci0KLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9o
eXN0ZXJlc2lzU2Vjb25kcyk7Ci0gICAgfQotCi0gICAgdm9pZCBpbXB1bHNlKCkKLSAgICB7Ci0g
ICAgICAgIGlmICghbV9hY3RpdmUpIHsKLSAgICAgICAgICAgIHN0YXJ0KCk7Ci0gICAgICAgICAg
ICBzdG9wKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBIeXN0ZXJlc2lzU3RhdGUgc3RhdGUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fYWN0aXZlIHx8IG1fdGltZXIuaXNBY3Rp
dmUoKSA/IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCA6IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBl
ZDsKLSAgICB9Ci0gICAgCi1wcml2YXRlOgotICAgIHZvaWQgaHlzdGVyZXNpc1RpbWVyRmlyZWQo
KQotICAgIHsKLSAgICAgICAgbV90aW1lci5zdG9wKCk7Ci0gICAgICAgIG1fY2FsbGJhY2soSHlz
dGVyZXNpc1N0YXRlOjpTdG9wcGVkKTsKLSAgICB9Ci0KLSAgICBXVEY6OkZ1bmN0aW9uPHZvaWQo
SHlzdGVyZXNpc1N0YXRlKT4gbV9jYWxsYmFjazsKLSAgICBTZWNvbmRzIG1faHlzdGVyZXNpc1Nl
Y29uZHM7Ci0gICAgYm9vbCBtX2FjdGl2ZTsKLSAgICBSdW5Mb29wOjpUaW1lcjxIeXN0ZXJlc2lz
QWN0aXZpdHk+IG1fdGltZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBIeXN0ZXJlc2lzQWN0aXZpdHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVXNlckFjdGl2aXR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rp
dml0eS5jcHAKaW5kZXggM2JjYjJmM2RhNzYwOWEzZmU3Mzg4YzZlOGM5ZGY2Y2ZjMzdkZjg3YS4u
NjJlMmQyMTJiMmNmY2JlMjM4OTNjMzM2MzFlNTUwNTllM2Q4NzE3YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuY3BwCkBAIC00NSwxNCArNDUsMTQgQEAgdm9pZCBVc2Vy
QWN0aXZpdHk6OkltcGw6OmVuZEFjdGl2aXR5KCkKICNlbmRpZgogCiBVc2VyQWN0aXZpdHk6OlVz
ZXJBY3Rpdml0eShjb25zdCBjaGFyKiBkZXNjcmlwdGlvbikKLSAgICA6IEh5c3RlcmVzaXNBY3Rp
dml0eShbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5c3RlcmVzaXNVcGRhdGVkKHN0
YXRlKTsgfSkKKyAgICA6IFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5KFt0aGlzXShQQUw6Okh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7IH0pCiAgICAgLCBt
X2ltcGwoZGVzY3JpcHRpb24pCiB7CiB9CiAKLXZvaWQgVXNlckFjdGl2aXR5OjpoeXN0ZXJlc2lz
VXBkYXRlZChIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCit2b2lkIFVzZXJBY3Rpdml0eTo6aHlzdGVy
ZXNpc1VwZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCiB7Ci0gICAgaWYgKHN0YXRl
ID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCkKKyAgICBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0
ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpCiAgICAgICAgIG1faW1wbC5iZWdpbkFjdGl2aXR5KCk7CiAg
ICAgZWxzZQogICAgICAgICBtX2ltcGwuZW5kQWN0aXZpdHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVXNlckFjdGl2aXR5LmgKaW5kZXggN2IwYzFkYTIyMTMwNzE2NjMzYjU0ZmYzY2Q0YTg2M2M1
OGQ4YTNkNS4uZWViMmQ3MzJhZmM5ZmNhZWY5MDM2MzkyYzJmMmMxZjgyM2Q3MjMxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5k
ZWYgVXNlckFjdGl2aXR5X2gKICNkZWZpbmUgVXNlckFjdGl2aXR5X2gKIAotI2luY2x1ZGUgIkh5
c3RlcmVzaXNBY3Rpdml0eS5oIgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4K
IAogI2lmIEhBVkUoTlNfQUNUSVZJVFkpCiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CkBAIC00MCw3
ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoZSBVc2VyQWN0aXZpdHkgdHlwZSBp
cyB1c2VkIHRvIGluZGljYXRlIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRoYXQKIC8vIGEgdXNl
ciBpbml0aWF0ZWQgb3IgdmlzaWJsZSBhY3Rpb24gaXMgdGFraW5nIHBsYWNlLCBhbmQgYXMgc3Vj
aCB0aGF0CiAvLyByZXNvdXJjZXMgc2hvdWxkIGJlIGFsbG9jYXRlZCB0byB0aGUgcHJvY2VzcyBh
Y2NvcmRpbmdseS4KLWNsYXNzIFVzZXJBY3Rpdml0eSA6IHB1YmxpYyBIeXN0ZXJlc2lzQWN0aXZp
dHkgeworY2xhc3MgVXNlckFjdGl2aXR5IDogcHVibGljIFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5
IHsKIHB1YmxpYzoKICAgICBjbGFzcyBJbXBsIHsKICAgICBwdWJsaWM6CkBAIC01OSw3ICs1OSw3
IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBVc2VyQWN0aXZpdHkoY29u
c3QgY2hhciogZGVzY3JpcHRpb24pOwogCiBwcml2YXRlOgotICAgIHZvaWQgaHlzdGVyZXNpc1Vw
ZGF0ZWQoSHlzdGVyZXNpc1N0YXRlKTsKKyAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6
SHlzdGVyZXNpc1N0YXRlKTsKIAogICAgIEltcGwgbV9pbXBsOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRD
YWlyb0ltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFj
a2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKaW5kZXggMTVlNjk2YTVlMWU3YWQxODYyZTBi
NzExMGI3YzQ1MmJjN2IzNjMxYS4uMWE4MWNkYzdiMTBkMzUxMGU0MjA4MDBmNTkxMjRlMTYxZDI0
NzQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKQEAg
LTQxLDcgKzQxLDcgQEAgc3RhdGljIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGNyZWF0ZUNhaXJv
SW1hZ2VTdXJmYWNlV2l0aEZhc3RNYWxsb2MoY29uc3QgSW50U2kKIAogQmFja2luZ1N0b3JlQmFj
a2VuZENhaXJvSW1wbDo6QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbChjb25zdCBJbnRTaXpl
JiBzaXplLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKICAgICA6IEJhY2tpbmdTdG9yZUJhY2tl
bmRDYWlybyhzaXplKQotICAgICwgbV9zY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVz
aXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBt
X3Njcm9sbFN1cmZhY2UgPSBudWxscHRyOyB9LCBzY3JvbGxIeXN0ZXJlc2lzRHVyYXRpb24pCisg
ICAgLCBtX3Njcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3Rh
dGUpIHsgaWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX3Njcm9s
bFN1cmZhY2UgPSBudWxscHRyOyB9LCBzY3JvbGxIeXN0ZXJlc2lzRHVyYXRpb24pCiB7CiAgICAg
SW50U2l6ZSBzY2FsZWRTaXplID0gbV9zaXplOwogICAgIHNjYWxlZFNpemUuc2NhbGUoZGV2aWNl
U2NhbGVGYWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oCmlu
ZGV4IDQ1MzdkMzUxODgyODEzMmYxMzU1YTA4MWMyZDhlMTNiNDQzMjNiNzUuLjQ1OGE5ZmM1NzNj
NTQ4MzgwMmFmODgwOTc0NGNlNTI3NDQ5ZmE1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVC
YWNrZW5kQ2Fpcm9JbXBsLmgKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2lmIFVTRShDQUlSTykKICNp
bmNsdWRlICJCYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm8uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0h5
c3RlcmVzaXNBY3Rpdml0eS5oPgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMyw3ICszMyw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzY3JvbGwoY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFNpemUmKSBvdmVycmlkZTsKIAog
ICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IG1fc2Nyb2xsU3VyZmFjZTsKLSAgICBXZWJDb3Jl
OjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9zY3JvbGxlZEh5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0
ZXJlc2lzQWN0aXZpdHkgbV9zY3JvbGxlZEh5c3RlcmVzaXM7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgKaW5kZXggN2IyZDI0MjI2ZGEyZDlkY2Q3
YmIxODYxZWFhNGYwZDZjOWNkMWRkYy4uZjkzNzdjZDM0ZDAyZjc4MjYxOTQzNDRmMzhmZDEzNTBh
ZjJjZjZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaApAQCAtMjcsOCArMjcsOCBAQAogCiAj
aWYgUExBVEZPUk0oSU9TKQogCi0jaW5jbHVkZSAiSHlzdGVyZXNpc0FjdGl2aXR5LmgiCiAjaW5j
bHVkZSAiU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgiCisjaW5jbHVkZSA8cGFsL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKQEAgLTQ3LDkgKzQ3LDkgQEAgcHJpdmF0ZToKICAgICBXZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXJDbGllbnQoKTsKICAgICB2aXJ0dWFsIH5XZWJTUUxpdGVEYXRhYmFz
ZVRyYWNrZXJDbGllbnQoKTsKIAotICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQoSHlzdGVyZXNp
c1N0YXRlKTsKKyAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVyZXNpc1N0YXRl
KTsKIAotICAgIEh5c3RlcmVzaXNBY3Rpdml0eSBtX2h5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0
ZXJlc2lzQWN0aXZpdHkgbV9oeXN0ZXJlc2lzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNmU2ZmZlMmY4MjE4NzM2M2U4OTE3
ZDZiMDAwODE1MzRjNzljYTY3ZC4uZWQ4MDkxNWNjOThjYjFiN2YyMjdjYjg3NmQ4YTY4OGJmYWEy
ZmJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3Bw
CkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3VicmVzb3VyY2VzRW50
cnkuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9IeXN0ZXJlc2lzQWN0aXZp
dHkuaD4KKyNpbmNsdWRlIDxwYWwvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hDb3VudGVkU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAg
ICAgICA6IG1fc3RvcmFnZShzdG9yYWdlKQogICAgICAgICAsIG1fbWFpblJlc291cmNlS2V5KG1h
aW5SZXNvdXJjZUtleSkKICAgICAgICAgLCBtX2xvYWRDb21wbGV0aW9uSGFuZGxlcihXVEZNb3Zl
KGxvYWRDb21wbGV0aW9uSGFuZGxlcikpCi0gICAgICAgICwgbV9sb2FkSHlzdGVyZXNpc0FjdGl2
aXR5KFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVz
aXNTdGF0ZTo6U3RvcHBlZCkgbWFya0xvYWRBc0NvbXBsZXRlZCgpOyB9KQorICAgICAgICAsIG1f
bG9hZEh5c3RlcmVzaXNBY3Rpdml0eShbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUp
IHsgaWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtYXJrTG9hZEFz
Q29tcGxldGVkKCk7IH0pCiAgICAgewogICAgICAgICBtX2xvYWRIeXN0ZXJlc2lzQWN0aXZpdHku
aW1wdWxzZSgpOwogICAgIH0KQEAgLTIzOSw3ICsyMzksNyBAQCBwcml2YXRlOgogICAgIEtleSBt
X21haW5SZXNvdXJjZUtleTsKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFN1YnJlc291cmNl
TG9hZD4+IG1fc3VicmVzb3VyY2VMb2FkczsKICAgICBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4gbV9s
b2FkQ29tcGxldGlvbkhhbmRsZXI7Ci0gICAgSHlzdGVyZXNpc0FjdGl2aXR5IG1fbG9hZEh5c3Rl
cmVzaXNBY3Rpdml0eTsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2xvYWRIeXN0ZXJl
c2lzQWN0aXZpdHk7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFN1YnJlc291cmNlc0VudHJ5PiBtX2V4
aXN0aW5nRW50cnk7CiAgICAgYm9vbCBtX2RpZEZpbmlzaExvYWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9kaWRSZXRyaWV2ZUV4aXN0aW5nRW50cnkgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAKaW5kZXggOTJhN2Y5NDVj
YTEwNGRhNDMyOTEzMTgwNGFkNmJkOGExYWI2Mjk2OC4uZmI2OTFiMTE4N2Q4MmFiOTYzMjViM2E5
ZmU0MjgwOTNkMzFiODFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcihO
ZXR3b3JrUHJvY2VzcyYgcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQotICAgICwg
bV9oeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNpc1Vw
ZGF0ZWQoc3RhdGUpOyB9KQorICAgICwgbV9oeXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3RlcmVz
aXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7IH0pCiAgICAgLCBtX2No
aWxkUHJvY2Vzc1R5cGUoQ2hpbGRQcm9jZXNzVHlwZTo6TmV0d29yaykKIHsKICAgICBTUUxpdGVE
YXRhYmFzZVRyYWNrZXI6OnNldENsaWVudCh0aGlzKTsKQEAgLTQ3LDcgKzQ3LDcgQEAgV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyOjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIoTmV0d29ya1Byb2Nl
c3MmIHByb2Nlc3MpCiAKIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6V2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyKFdlYlByb2Nlc3MmIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykK
LSAgICAsIG1faHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5c3Rl
cmVzaXNVcGRhdGVkKHN0YXRlKTsgfSkKKyAgICAsIG1faHlzdGVyZXNpcyhbdGhpc10oUEFMOjpI
eXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9KQogICAg
ICwgbV9jaGlsZFByb2Nlc3NUeXBlKENoaWxkUHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQpCiB7CiAg
ICAgU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpzZXRDbGllbnQodGhpcyk7CkBAIC02NywxNCArNjcs
MTQgQEAgdm9pZCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OmRpZEZpbmlzaExhc3RUcmFuc2Fj
dGlvbigpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpoeXN0
ZXJlc2lzVXBkYXRlZChIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCit2b2lkIFdlYlNRTGl0ZURhdGFi
YXNlVHJhY2tlcjo6aHlzdGVyZXNpc1VwZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUp
CiB7CiAgICAgc3dpdGNoIChtX2NoaWxkUHJvY2Vzc1R5cGUpIHsKICAgICBjYXNlIENoaWxkUHJv
Y2Vzc1R5cGU6OldlYkNvbnRlbnQ6Ci0gICAgICAgIG1fcHJvY2Vzcy5wYXJlbnRQcm9jZXNzQ29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xv
Y2tlZEZpbGVzKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCksIDApOworICAgICAg
ICBtX3Byb2Nlc3MucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhzdGF0ZSA9PSBQQUw6Okh5c3Rl
cmVzaXNTdGF0ZTo6U3RhcnRlZCksIDApOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENoaWxk
UHJvY2Vzc1R5cGU6Ok5ldHdvcms6Ci0gICAgICAgIG1fcHJvY2Vzcy5wYXJlbnRQcm9jZXNzQ29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpTZXRJc0hvbGRp
bmdMb2NrZWRGaWxlcyhzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpLCAwKTsKKyAg
ICAgICAgbV9wcm9jZXNzLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xvY2tlZEZpbGVzKHN0YXRlID09IFBB
TDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKSwgMCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJh
Y2tlci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgK
aW5kZXggZWE1Y2VhMTdjYzYwY2Y4MTIxYTBhNzc1ZjVkMjMzZTI5ODlhMjc5Ny4uN2M1Yjc1YTQx
NjRkOTQ0ZGNhOTBjYTI5OGQ3ZTNkM2Q5YzUxZjcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5k
ZWYgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyX2gKICNkZWZpbmUgV2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyX2gKIAotI2luY2x1ZGUgPFdlYkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9TUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaD4KKyNpbmNsdWRlIDxw
YWwvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDcsMTAgKzQ3LDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZEZpbmlzaExhc3RUcmFuc2FjdGlvbigpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIHZv
aWQgaHlzdGVyZXNpc1VwZGF0ZWQoV2ViQ29yZTo6SHlzdGVyZXNpc1N0YXRlKTsKKyAgICB2b2lk
IGh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVyZXNpc1N0YXRlKTsKIAogICAgIENoaWxkUHJv
Y2VzcyYgbV9wcm9jZXNzOwotICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2h5c3Rl
cmVzaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9oeXN0ZXJlc2lzOwogICAgIGVu
dW0gY2xhc3MgQ2hpbGRQcm9jZXNzVHlwZSB7IE5ldHdvcmssIFdlYkNvbnRlbnQgfTsKICAgICBD
aGlsZFByb2Nlc3NUeXBlIG1fY2hpbGRQcm9jZXNzVHlwZTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDFlYTdhM2MyZjViN2E1ODMxOTU0
N2U5NmE3MjkxMTM3NTNiMDRjN2QuLmRlOTRmZWUyM2I1YzRlYTdlMTk2OWQwYzM5ZjQzNWFjZWI2
NDQ0NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC0zMzksNyArMzM5LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAgICAgLCBtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlciB7IHN0ZDo6
bWFrZV91bmlxdWU8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyPigqdGhpcykgfQog
I2VuZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdl
U3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpc0R1cmF0aW9uKQorICAg
ICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSBz
dGF0ZSkgeyBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VT
dG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzRHVyYXRpb24pCiAgICAg
LCBtX2NhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChwYXJhbWV0ZXJzLmNhblJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbCkKICAgICAsIG1fY2FuUnVuTW9kYWwocGFyYW1ldGVycy5jYW5S
dW5Nb2RhbCkKICNpZiBQTEFURk9STShJT1MpCkBAIC0zNTIsNyArMzUyLDcgQEAgV2ViUGFnZTo6
V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJh
bWV0ZXJzKQogICAgICwgbV9hY3Rpdml0eVN0YXRlKHBhcmFtZXRlcnMuYWN0aXZpdHlTdGF0ZSkK
ICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCh0cnVlKQogICAgICwgbV91c2VyQWN0
aXZpdHkoIlByb2Nlc3Mgc3VwcHJlc3Npb24gZGlzYWJsZWQgZm9yIHBhZ2UuIikKLSAgICAsIG1f
dXNlckFjdGl2aXR5SHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlKSB7IHVwZGF0ZVVz
ZXJBY3Rpdml0eSgpOyB9KQorICAgICwgbV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzKFt0aGlzXShQ
QUw6Okh5c3RlcmVzaXNTdGF0ZSkgeyB1cGRhdGVVc2VyQWN0aXZpdHkoKTsgfSkKICAgICAsIG1f
dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihwYXJhbWV0ZXJzLnVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb24pCiAgICAgLCBtX292ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5IHsgcGFy
YW1ldGVycy5vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSB9CiAgICAgLCBtX2NwdUxpbWl0
KHBhcmFtZXRlcnMuY3B1TGltaXQpCkBAIC02MjAsNyArNjIwLDcgQEAgdm9pZCBXZWJQYWdlOjp1
cGRhdGVUaHJvdHRsZVN0YXRlKCkKIAogdm9pZCBXZWJQYWdlOjp1cGRhdGVVc2VyQWN0aXZpdHko
KQogewotICAgIGlmIChtX3VzZXJBY3Rpdml0eUh5c3RlcmVzaXMuc3RhdGUoKSA9PSBIeXN0ZXJl
c2lzU3RhdGU6OlN0YXJ0ZWQpCisgICAgaWYgKG1fdXNlckFjdGl2aXR5SHlzdGVyZXNpcy5zdGF0
ZSgpID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKQogICAgICAgICBtX3VzZXJBY3Rp
dml0eS5zdGFydCgpOwogICAgIGVsc2UKICAgICAgICAgbV91c2VyQWN0aXZpdHkuc3RvcCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDFmOTY1MGE3
OWQxOTkyNDYxN2M0MmRlMjA4YmYzMDNjNzViN2FlZTkuLmY4ZGYzZDFlYWQzZWEyYzVmMTJmYWE0
ZmJhNTBkZWU0MTIxZGMwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0FjdGl2aXR5U3Rh
dGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0h5c3RlcmVz
aXNBY3Rpdml0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvSW50U2l6ZUhhc2guaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KQEAgLTYxLDYg
KzYwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHRUeXBlcy5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvV2ViQ29yZUtleWJvYXJkVUlNb2RlLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgorI2lu
Y2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgpAQCAtMTQ1Myw3ICsxNDUzLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U2FuZGJveEV4dGVu
c2lvbj4gbV9wZW5kaW5nRHJvcFNhbmRib3hFeHRlbnNpb247CiAgICAgVmVjdG9yPFJlZlB0cjxT
YW5kYm94RXh0ZW5zaW9uPj4gbV9wZW5kaW5nRHJvcEV4dGVuc2lvbnNGb3JGaWxlVXBsb2FkOwog
Ci0gICAgV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNp
czsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXM7
CiAKICAgICBib29sIG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsIHsgZmFsc2UgfTsK
IApAQCAtMTU1Myw3ICsxNTUzLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9wcm9jZXNzU3Vw
cHJlc3Npb25FbmFibGVkOwogICAgIFVzZXJBY3Rpdml0eSBtX3VzZXJBY3Rpdml0eTsKLSAgICBX
ZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzOworICAg
IFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fdXNlckFjdGl2aXR5SHlzdGVyZXNpczsKIAogICAg
IHVpbnQ2NF90IG1fcGVuZGluZ05hdmlnYXRpb25JRCB7IDAgfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDdiNmNkNGY3NGQ2MTY3YWViMTAwMjJkNzQwYzhm
NDFhZmVlOTUyNTUuLjQ0ZWI4ODMwZmMwZjRlYmYxNzdkZDY5NmZmYmJlNGE2MDcwY2U0OTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE2Miw3ICsxNjIsNyBA
QCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAsIG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVhdGUoKSkKICAg
ICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJhdGVneSkKICAgICAsIG1f
Y2FjaGVTdG9yYWdlUHJvdmlkZXIoV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpKQot
ICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0
ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ruc1ByZWZldGNo
ZWRIb3N0cy5jbGVhcigpOyB9KQorICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNd
KFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBQQUw6Okh5c3RlcmVz
aXNTdGF0ZTo6U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICNpZiBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICAsIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b25NYW5hZ2VyKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6Y3JlYXRlKCkpCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGQ0M2Y3ZGQ3YjNkNzA2
YTRlNTA3MTZmZmVjNDUwMzViZDQyZjM0ZjguLjczOWE4NTdkZGIxOWZkOWU0NmJhNGIwYmYwZDQx
ODQ0MjkxN2MwYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMzQs
OCArMzQsOCBAQAogI2luY2x1ZGUgIlZpZXdVcGRhdGVEaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAi
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQWN0
aXZpdHlTdGF0ZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZp
dHkuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMzg5LDcgKzM4OSw3IEBAIHByaXZhdGU6
CiAjZW5kaWYKIAogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Ruc1ByZWZldGNoZWRIb3N0czsKLSAg
ICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXM7Cisg
ICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXM7CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eT4gbV9hdXRvbWF0aW9u
U2Vzc2lvblByb3h5OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322050</attachid>
            <date>2017-09-27 18:09:49 -0700</date>
            <delta_ts>2017-09-28 10:57:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177516-20170927180948.patch</filename>
            <type>text/plain</type>
            <size>38353</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRlMTMwYmIzMjgxMWY2
NzFmNzQxNzI2YTZlZTcyOWEwODA2YjlkNS4uMjZiYjVmZDUxMGJlMTMyNTgzMDRmN2Y1YThlMmVi
YzZhNGI3ODU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA5LTI3ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbUEFMXSBNb3Zl
IEh5c3RlcmVzaXNBY3Rpdml0eSBpbnRvIFBBTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogcGxhdGZvcm0vVXNlckFjdGl2aXR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlVzZXJBY3Rpdml0eTo6VXNlckFjdGl2aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rp
dml0eTo6aHlzdGVyZXNpc1VwZGF0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1VzZXJBY3Rpdml0
eS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tl
bmRDYWlyb0ltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFja2luZ1N0b3JlQmFja2VuZENh
aXJvSW1wbDo6QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50OjpXZWJTUUxpdGVE
YXRhYmFzZVRyYWNrZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyQ2xpZW50OjpoeXN0ZXJlc2lzVXBkYXRlZCk6CisKIDIwMTctMDktMjcgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICAiVGFnIiBjb2Rl
cG9pbnRzIHJlcXVpcmUgdGhlIGNvbXBsZXggdGV4dCBjb2RlcGF0aApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZTYxYzBlODQxNWY0OGFjNDQ4NzdlOGRhNDQ0YjAzN2NjZTY5YmI3Ni4uOGI5Yzc2NDc5
ZWRiYmNlYTZmOWY4ZDhkMjdiMmNhM2UwZjZmOGI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTctMDktMjcgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIFtQQUxdIE1vdmUgSHlzdGVyZXNpc0FjdGl2aXR5IGludG8gUEFM
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBBTC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9IeXN0ZXJlc2lzQWN0aXZp
dHkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rp
dml0eS5oLgorCiAyMDE3LTA5LTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5j
b20+CiAKICAgICAgICAgW1BBTF1bQ01ha2VdIEluY2x1ZGUgSUNVIGRpcmVjdG9yaWVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGUyYzRjMzJiNWM5NWZkYjhiZDAyNWQ0NWQ0NDZmNjBlMzQ2NmI5MWYuLjU5NzNlMzY1
ZDA2MTUzZTBkNDllMzJkNjNiYWFlZjk3MzZmMjljMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTctMDktMjcgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgor
CisgICAgICAgIFtQQUxdIE1vdmUgSHlzdGVyZXNpc0FjdGl2aXR5IGludG8gUEFMCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OlBlbmRpbmdGcmFt
ZUxvYWQ6OlBlbmRpbmdGcmFtZUxvYWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXI6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlcjo6aHlzdGVyZXNpc1VwZGF0ZWQpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyk6
CisgICAgICAgIChXZWJLaXQ6Om1fdXNlckFjdGl2aXR5SHlzdGVyZXNpcyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVVzZXJBY3Rpdml0eSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKwogMjAxNy0wOS0yNyAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEhhdmUgUGluZ0xvYWQgdGFrZSBhIENvbXBsZXRpb25I
YW5kbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMjU1YTNhNzNjOWVmZWU4ZWEzODM4NzBhZmZlM2Y4ZTUyNjJhZTVmZi4uOWI3
ZjI5MDM0MGNiZjNmY2ZiODRkM2M0YWU3N2YxMGJkMWZkZTFiMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI3LDYgKzEyNyw3
IEBACiAJCUEzNzg4RTk4MUYwNUI2Q0UwMDY3OTQyNSAvKiBTb3VuZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTM3ODhFOTcxRjA1QjZDRTAwNjc5NDI1
IC8qIFNvdW5kLmggKi87IH07CiAJCUEzNzg4RTlDMUYwNUI3ODIwMDY3OTQyNSAvKiBTb3VuZC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzc4OEU5
QjFGMDVCNzgyMDA2Nzk0MjUgLyogU291bmQuY3BwICovOyB9OwogCQlBMzc4OEU5RTFGMDVCNzhF
MDA2Nzk0MjUgLyogU291bmRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBMzc4OEU5RDFGMDVCNzhFMDA2Nzk0MjUgLyogU291bmRNYWMubW0gKi87
IH07CisJCUEzOURFNzRFMUY3QzQ0M0QwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzOURFNzREMUY3
QzQ0M0MwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCAqLzsgfTsKIAkJQTNBQjZFNTIx
RjNEMURDNTAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBQjZFNTExRjNEMURDNTAwOUMxNEIxIC8qIFNs
ZWVwRGlzYWJsZXIuY3BwICovOyB9OwogCQlBM0FCNkU1NjFGM0QxRERCMDA5QzE0QjEgLyogU2xl
ZXBEaXNhYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTNBQjZFNTMxRjNEMUREQjAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuaCAqLzsgfTsKIAkJ
QTNBQjZFNTcxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNBQjZFNTQxRjNEMURE
QjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuY3BwICovOyB9OwpAQCAtMjYyLDYgKzI2
Myw3IEBACiAJCUEzNzg4RTk3MUYwNUI2Q0UwMDY3OTQyNSAvKiBTb3VuZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBMzc4OEU5QjFGMDVCNzgyMDA2Nzk0MjUgLyogU291bmQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291bmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBMzc4OEU5RDFGMDVCNzhFMDA2Nzk0MjUgLyogU291bmRNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTb3VuZE1hYy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTM5REU3NEQxRjdDNDQzQzAwN0JDQjAwIC8qIEh5c3RlcmVzaXNB
Y3Rpdml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIeXN0ZXJlc2lzQWN0
aXZpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBQjZFNTExRjNEMURDNTAw
OUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU2xlZXBEaXNhYmxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUEzQUI2RTUzMUYzRDFEREIwMDlDMTRCMSAvKiBTbGVlcERpc2FibGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsZWVwRGlzYWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTNBQjZFNTQxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVu
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3lzdGVtU2xlZXBM
aXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MjksOCArNDMxLDcg
QEAKIAkJCQkwQ0Y5OUNBNjFGNzM4NDM2MDA3RUU3OTMgLyogQ29yZU1lZGlhU29mdExpbmsuY3Bw
ICovLAogCQkJCTBDRjk5Q0E3MUY3Mzg0MzcwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5o
ICovLAogCQkJKTsKLQkJCW5hbWUgPSBjZjsKLQkJCXBhdGggPSAiTmV3IEdyb3VwIjsKKwkJCXBh
dGggPSBjZjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJCTFDMDlEMDM0MUUz
MUMzMjgwMDcyNUYxOCA9IHsKQEAgLTQ2MSw2ICs0NjIsNyBAQAogCQkJCUEzNzg4RTlGMUYwNUI3
Q0UwMDY3OTQyNSAvKiBzeXN0ZW0gKi8sCiAJCQkJQTMwRDQxMUQxRjBERDBBQzAwQjcxOTU0IC8q
IHRleHQgKi8sCiAJCQkJMEMyRDlFNzIxRUVGNUFGNjAwREJDMzE3IC8qIEV4cG9ydE1hY3Jvcy5o
ICovLAorCQkJCUEzOURFNzREMUY3QzQ0M0MwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZpdHku
aCAqLywKIAkJCQkwNzA4QUMzMjFGNEM4NzRBMDAxRjc4OEYgLyogTG9nZ2VyLmggKi8sCiAJCQkJ
MDczNzdBREIxRjU3NzdENzAwMjdGMTZEIC8qIExvZ2dlckhlbHBlci5oICovLAogCQkJCUEzQzY2
Q0RBMUY0NjJENkEwMDlFNkVFOSAvKiBTZXNzaW9uSUQuY3BwICovLApAQCAtNTkzLDYgKzU5NSw3
IEBACiAJCQkJMEM1QUY5MUIxRjQzQTRDNzAwMkVBQzAyIC8qIEdyYXBoaWNzU2VydmljZXNTUEku
aCBpbiBIZWFkZXJzICovLAogCQkJCUExMDI2NThFMUY1NjdFOUQwMEI0Qzg0NCAvKiBISVNlcnZp
Y2VzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTAyNjU4OTFGNTY3NDdBMDBCNEM4NDQgLyog
SElUb29sYm94U1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzlERTc0RTFGN0M0NDNEMDA3QkNC
MDAgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTExRjFG
M0JFOUUwMDBEQkMzMTcgLyogSW1hZ2VJT1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREEx
NDIxRjNCRUI0OTAwREJDMzE3IC8qIElPUE1MaWJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBD
MkRBMTQzMUYzQkVCNDkwMERCQzMxNyAvKiBJT1BTTGliU1BJLmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvSHlzdGVyZXNpc0FjdGl2aXR5LmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
MzYwMGVhOGU2ODRiMmU2MGNkYTY0MzVjMWRlOWM2MzkxNDc2MjMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0wLDAgKzEs
OTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SdW5Mb29w
Lmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KKworbmFtZXNwYWNlIFBBTCB7CisKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGRlZmF1bHRIeXN0ZXJlc2lzRHVyYXRpb24geyA1X3MgfTsKKworZW51
bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgeworICAgIFN0YXJ0ZWQsCisgICAgU3RvcHBlZAorfTsK
KworY2xhc3MgSHlzdGVyZXNpc0FjdGl2aXR5IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBIeXN0
ZXJlc2lzQWN0aXZpdHkoV1RGOjpGdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+JiYgY2Fs
bGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzU2Vjb25k
cyA9IGRlZmF1bHRIeXN0ZXJlc2lzRHVyYXRpb24pCisgICAgICAgIDogbV9jYWxsYmFjayhXVEZN
b3ZlKGNhbGxiYWNrKSkKKyAgICAgICAgLCBtX2h5c3RlcmVzaXNTZWNvbmRzKGh5c3RlcmVzaXNT
ZWNvbmRzKQorICAgICAgICAsIG1fYWN0aXZlKGZhbHNlKQorICAgICAgICAsIG1fdGltZXIoUnVu
TG9vcDo6bWFpbigpLCB0aGlzLCAmSHlzdGVyZXNpc0FjdGl2aXR5OjpoeXN0ZXJlc2lzVGltZXJG
aXJlZCkKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBzdGFydCgpCisgICAgeworICAgICAgICBp
ZiAobV9hY3RpdmUpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fYWN0aXZlID0gdHJ1
ZTsKKworICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgbV90aW1l
ci5zdG9wKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fY2FsbGJhY2soSHlzdGVyZXNp
c1N0YXRlOjpTdGFydGVkKTsKKyAgICB9CisKKyAgICB2b2lkIHN0b3AoKQorICAgIHsKKyAgICAg
ICAgaWYgKCFtX2FjdGl2ZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9hY3RpdmUg
PSBmYWxzZTsKKworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2h5c3RlcmVzaXNTZWNv
bmRzKTsKKyAgICB9CisKKyAgICB2b2lkIGltcHVsc2UoKQorICAgIHsKKyAgICAgICAgaWYgKCFt
X2FjdGl2ZSkgeworICAgICAgICAgICAgc3RhcnQoKTsKKyAgICAgICAgICAgIHN0b3AoKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSgpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gbV9hY3RpdmUgfHwgbV90aW1lci5pc0FjdGl2ZSgpID8gSHlzdGVy
ZXNpc1N0YXRlOjpTdGFydGVkIDogSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkOworICAgIH0KKyAg
ICAKK3ByaXZhdGU6CisgICAgdm9pZCBoeXN0ZXJlc2lzVGltZXJGaXJlZCgpCisgICAgeworICAg
ICAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICAgICAgbV9jYWxsYmFjayhIeXN0ZXJlc2lzU3RhdGU6
OlN0b3BwZWQpOworICAgIH0KKworICAgIFdURjo6RnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3Rh
dGUpPiBtX2NhbGxiYWNrOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzU2Vjb25kczsKKyAgICBi
b29sIG1fYWN0aXZlOworICAgIFJ1bkxvb3A6OlRpbWVyPEh5c3RlcmVzaXNBY3Rpdml0eT4gbV90
aW1lcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFBBTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc5OThkYzBiYTBkNTE3NjUxZGE1
NTk4ODQ4YzZjNDhjMjU2MWQzMTYuLmM3YWJkNGQ1OWQ3YjllOGRiOTgwY2U4YWEwZTQwMmY1YTY2
NjQ0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTM3MjgsNyArMzcyOCw2IEBACiAJCTg1NEZFNzM5MEEyMjk3QkUwMDU4RDdB
RCAvKiBUcmVlV2Fsa2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTRGRTcyRjBBMjI5N0JFMDA1OEQ3QUQgLyogVHJlZVdhbGtlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTg2MUMyRUE0MTNGQjRG
REQwMDA2MkFCQiAvKiBMb2FkVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBMb2FkVGltaW5n
LmNwcCAqLzsgfTsKIAkJODYyRjEyOUUxOEMxNTc2RjAwNUM1NEFGIC8qIENvdW50ZWRVc2VyQWN0
aXZpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
MkYxMjlEMThDMTU3MkMwMDVDNTRBRiAvKiBDb3VudGVkVXNlckFjdGl2aXR5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJODYyRjEyQTAxOEMxREQw
MjAwNUM1NEFGIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyRjEyOUYxOEMxRENFNDAwNUM1NEFGIC8qIEh5c3Rl
cmVzaXNBY3Rpdml0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTg2NTEyRURFMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCAqLzsgfTsKIAkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgg
Ki87IH07CiAJCTg2ODE2MEQ0MTg3NjZBMEEwMDIxRTc5RCAvKiBVc2VyQWN0aXZpdHkuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4MTYwRDExODc2
NjlDNDAwMjFFNzlEIC8qIFVzZXJBY3Rpdml0eS5jcHAgKi87IH07CkBAIC0xMjA2NCw3ICsxMjA2
Myw2IEBACiAJCTg1REYyRjkyMEFBM0M5QjYwMEFENjRDNSAvKiBIVE1MT3B0aW9uc0NvbGxlY3Rp
b24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjFDMkVBMzEzRkI0RkREMDAwNjJBQkIg
LyogTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBM
b2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYyRjEyOUQxOEMx
NTcyQzAwNUM1NEFGIC8qIENvdW50ZWRVc2VyQWN0aXZpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ291bnRlZFVzZXJBY3Rpdml0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk4NjJGMTI5RjE4QzFEQ0U0MDA1QzU0QUYgLyogSHlzdGVyZXNpc0FjdGl2aXR5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEh5c3RlcmVzaXNBY3Rpdml0eS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYg
LyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUx
MkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDYwOCw3ICsyNDYwNiw2IEBACiAJCQkJQ0Q2MkZC
OTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLywKIAkJCQlBODc0OEJE
RjEyQ0JGMkRDMDAxRkJBNDEgLyogSGFzaFRvb2xzLmggKi8sCiAJCQkJQkMzQkMyOUIwRTkxQUIw
RjAwODM1NTg4IC8qIEhvc3RXaW5kb3cuaCAqLywKLQkJCQk4NjJGMTI5RjE4QzFEQ0U0MDA1QzU0
QUYgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggKi8sCiAJCQkJMUFFMDBENTcxODJEQUM4RDAwMDg3
REQ3IC8qIEtleWVkQ29kaW5nLmggKi8sCiAJCQkJRTE1RkY3RDQxOEM5NTUzODAwRkU0Qzg3IC8q
IEtleXByZXNzQ29tbWFuZC5oICovLAogCQkJCUEzRDQyQTg0MUYzM0JBMzYwMEE2NEI2MiAvKiBM
YXlvdXRVbml0LmNwcCAqLywKQEAgLTI1ODkyLDkgKzI1ODg5LDkgQEAKIAkJCQlCQ0VBNDgxMzA5
N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcCAqLywKIAkJCQlCQ0VB
NDgyMjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQm94LmNwcCAqLywKIAkJCQlCQ0VBNDgyMzA5
N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyQm94LmggKi8sCisJCQkJQkNFQjE3OUIxNDMzNzlGNTAw
NTJFQUU5IC8qIFJlbmRlckJveEZyYWdtZW50SW5mby5oICovLAogCQkJCUJDOTZEQjQ1MEYzQTg4
MjIwMDU3M0NCMyAvKiBSZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgKi8sCiAJCQkJQkM5NkRCNDIw
RjNBODgwRTAwNTczQ0IzIC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmggKi8sCi0JCQkJQkNFQjE3
OUIxNDMzNzlGNTAwNTJFQUU5IC8qIFJlbmRlckJveEZyYWdtZW50SW5mby5oICovLAogCQkJCUJD
RUE0ODI2MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJCdXR0b24uY3BwICovLAogCQkJCUJDRUE0
ODI3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJCdXR0b24uaCAqLywKIAkJCQlCNTY1NzlCNDE4
MjREMTJBMDBFNzlGMjMgLyogUmVuZGVyQ2hpbGRJdGVyYXRvci5oICovLApAQCAtMjU5MTUsNiAr
MjU5MTIsMTAgQEAKIAkJCQkwNjZDNzcyRjBBQjYwM0ZEMDAyMzhDQzQgLyogUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuaCAqLywKIAkJCQk1M0M4Mjk4QjEzRDhEOTI3MDBERTJERUIgLyogUmVuZGVy
RmxleGlibGVCb3guY3BwICovLAogCQkJCTUzQzgyOThDMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5k
ZXJGbGV4aWJsZUJveC5oICovLAorCQkJCUQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5k
ZXJGcmFnbWVudENvbnRhaW5lci5jcHAgKi8sCisJCQkJRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmggKi8sCisJCQkJQkNFOTNGNDYxNTE3QzZENTAw
OENDRjc0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyU2V0LmNwcCAqLywKKwkJCQlCQ0U5M0Y0
NDE1MTdDNTY3MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQuaCAqLywKIAkJ
CQk1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwICov
LAogCQkJCTUwOENDQTREMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGcmFnbWVudGVkRmxvdy5o
ICovLAogCQkJCUE4NzFERUNDMEExNTMwQzcwMEIxMkE2OCAvKiBSZW5kZXJGcmFtZS5jcHAgKi8s
CkBAIC0yNTk4OSwxMCArMjU5OTAsNiBAQAogCQkJCUFERTE2NzM2MTgxMDUwQzMwMDQ2M0EyRSAv
KiBSZW5kZXJQdHIuaCAqLywKIAkJCQk1QTU3NEYyMjEzMURCOTM5MDA0NzFCODggLyogUmVuZGVy
UXVvdGUuY3BwICovLAogCQkJCTVBNTc0RjIzMTMxREI5MzkwMDQ3MUI4OCAvKiBSZW5kZXJRdW90
ZS5oICovLAotCQkJCUQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJGcmFnbWVudENv
bnRhaW5lci5jcHAgKi8sCi0JCQkJRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZy
YWdtZW50Q29udGFpbmVyLmggKi8sCi0JCQkJQkNFOTNGNDYxNTE3QzZENTAwOENDRjc0IC8qIFJl
bmRlckZyYWdtZW50Q29udGFpbmVyU2V0LmNwcCAqLywKLQkJCQlCQ0U5M0Y0NDE1MTdDNTY3MDA4
Q0NGNzQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQuaCAqLywKIAkJCQlBODcxREZERTBB
MTUzNzZCMDBCMTJBNjggLyogUmVuZGVyUmVwbGFjZWQuY3BwICovLAogCQkJCUE4NzFERkRGMEEx
NTM3NkIwMEIxMkE2OCAvKiBSZW5kZXJSZXBsYWNlZC5oICovLAogCQkJCUJDQTg0NkQ0MERDNjdB
MzUwMDI2QzMwOSAvKiBSZW5kZXJSZXBsaWNhLmNwcCAqLywKQEAgLTI4MTM1LDcgKzI4MTMyLDYg
QEAKIAkJCQk0MTYxNEE3OTFEQTY0MjQxMDA0QUQwNkYgLyogSFRUUEhlYWRlclZhbHVlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzMwQ0U5MjNBMTAwN0VGM0NEIC8qIEhUVFBQYXJzZXJz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzVDRDIzMjExOUQ0M0M4MDBBMkE4NTkgLyogSHlwaGVu
YXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTg2MkYxMkEwMThDMUREMDIwMDVDNTRBRiAvKiBI
eXN0ZXJlc2lzQWN0aXZpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQkI4OTMzMUM3Nzc4Mjkw
MEM2NUQ0MSAvKiBJY2VDYW5kaWRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTZFMEIw
NTM4MTQwMDJDRTY0RiAvKiBJY29uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTNGMTQ1NDBBQjYz
NEM0MDAwOTREREYgLyogSWNvbkxvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTY1Nyw4ICsy
OTY1Myw4IEBACiAJCQkJQkNFQTQ4NjAwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckJsb2NrLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzEwRDc2ODE3RDhFRTcxMDA1RTI2MjYgLyogUmVuZGVyQmxv
Y2tGbG93LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg2MjA5N0Q5MzAyMDA5NEM5RTQgLyog
UmVuZGVyQm94LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzk2REI0MzBGM0E4ODBFMDA1NzNDQjMg
LyogUmVuZGVyQm94TW9kZWxPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUIxNzlDMTQz
Mzc5RjUwMDUyRUFFOSAvKiBSZW5kZXJCb3hGcmFnbWVudEluZm8uaCBpbiBIZWFkZXJzICovLAor
CQkJCUJDOTZEQjQzMEYzQTg4MEUwMDU3M0NCMyAvKiBSZW5kZXJCb3hNb2RlbE9iamVjdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNFQTQ4NjYwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckJ1dHRv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjU2NTc5QjUxODI0RDEyQTAwRTc5RjIzIC8qIFJlbmRl
ckNoaWxkSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTQ0MTM0MTJGNzQ4RTIwMDlC
ODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTY3Miw2ICsy
OTY2OCw4IEBACiAJCQkJMEY1QjdBNTUxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVk
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNjZDNzczMTBBQjYwM0ZEMDAyMzhDQzQgLyog
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCBpbiBIZWFkZXJzICovLAogCQkJCTUzQzgyOThFMTNE
OEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJveC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCQ0U5M0Y0NTE1MTdDNTY3MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21l
bnRDb250YWluZXJTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwOENDQTRGMTNDRjEwNkIwMDMx
NTFGMyAvKiBSZW5kZXJGcmFnbWVudGVkRmxvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURF
RDMwQTE1MzBDNzAwQjEyQTY4IC8qIFJlbmRlckZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RkQzMDgwRjExN0NGN0U3MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmggaW4gSGVhZGVycyAq
LywKQEAgLTI5NzIyLDggKzI5NzIwLDYgQEAKIAkJCQlBNDNCRjU5RDExNDkyOTI4MDBDNjQzQ0Eg
LyogUmVuZGVyUHJvZ3Jlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUI1QjY1ODc0MTg2RkRFNEMw
MDlDMjZFOCAvKiBSZW5kZXJQdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVBNTc0RjI1MTMxREI5
MzkwMDQ3MUI4OCAvKiBSZW5kZXJRdW90ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRDcwQUQ2NTgx
M0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyLmggaW4gSGVhZGVycyAq
LywKLQkJCQlCQ0U5M0Y0NTE1MTdDNTY3MDA4Q0NGNzQgLyogUmVuZGVyRnJhZ21lbnRDb250YWlu
ZXJTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFERkUzMEExNTM3NkIwMEIxMkE2OCAvKiBS
ZW5kZXJSZXBsYWNlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBODQ2RDcwREM2N0EzNTAwMjZD
MzA5IC8qIFJlbmRlclJlcGxpY2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0NzlGQUVFMTA5QUUz
NzUwMERFRDY1NSAvKiBSZW5kZXJSdWJ5LmggaW4gSGVhZGVycyAqLywKQEAgLTMzNjMzLDYgKzMz
NjI5LDggQEAKIAkJCQkwRjVCN0E1NDEwRjY1RDdBMDAzNzYzMDIgLyogUmVuZGVyRW1iZWRkZWRP
YmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDY2Qzc3MzAwQUI2MDNGRDAwMjM4Q0M0IC8q
IFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzQzgyOThE
MTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJveC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlENzBBRDY1NzEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyRnJhZ21lbnRDb250YWluZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkNFOTNGNDcxNTE3QzZENTAwOENDRjc0IC8qIFJlbmRl
ckZyYWdtZW50Q29udGFpbmVyU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUwOENDQTUwMTND
RjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBODcxREVENDBBMTUzMEM3MDBCMTJBNjggLyogUmVuZGVyRnJhbWUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEZEMzA4MEUxMTdDRjdFNzAwQTc5MUY3IC8qIFJlbmRlckZyYW1lQmFzZS5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTMzNjgyLDggKzMzNjgwLDYgQEAKIAkJCQlCQ0VBNDg3RjA5
N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE0
M0JGNTlDMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1QTU3NEYyNDEzMURCOTM5MDA0NzFCODggLyogUmVuZGVyUXVvdGUuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlckZyYWdtZW50
Q29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDRTkzRjQ3MTUxN0M2RDUwMDhDQ0Y3
NCAvKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lclNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODcxREZFMjBBMTUzNzZCMDBCMTJBNjggLyogUmVuZGVyUmVwbGFjZWQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNBODQ2RDYwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJlcGxpY2EuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMTQ3OUZBRUQxMDlBRTM3NTAwREVENjU1IC8qIFJlbmRlclJ1Ynku
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9I
eXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNWM4MmZkMjdjZmE3NzJl
ZDBkNmY5YjMyNGE0NTAwMGJkNmVlZTkxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0
eS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IEh5c3RlcmVzaXNBY3Rpdml0eV9oCi0jZGVmaW5lIEh5c3RlcmVzaXNBY3Rpdml0eV9oCi0KLSNp
bmNsdWRlIDx3dGYvUnVuTG9vcC5oPgotI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdEh5c3RlcmVzaXNE
dXJhdGlvbiB7IDVfcyB9OwotCi1lbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7Ci0gICAgU3Rh
cnRlZCwKLSAgICBTdG9wcGVkCi19OwotCi1jbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewotcHVi
bGljOgotICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShXVEY6OkZ1bmN0aW9uPHZvaWQo
SHlzdGVyZXNpc1N0YXRlKT4mJiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkgeyB9LCBT
ZWNvbmRzIGh5c3RlcmVzaXNTZWNvbmRzID0gZGVmYXVsdEh5c3RlcmVzaXNEdXJhdGlvbikKLSAg
ICAgICAgOiBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQotICAgICAgICAsIG1faHlzdGVy
ZXNpc1NlY29uZHMoaHlzdGVyZXNpc1NlY29uZHMpCi0gICAgICAgICwgbV9hY3RpdmUoZmFsc2Up
Ci0gICAgICAgICwgbV90aW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZIeXN0ZXJlc2lzQWN0
aXZpdHk6Omh5c3RlcmVzaXNUaW1lckZpcmVkKQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIHN0
YXJ0KCkKLSAgICB7Ci0gICAgICAgIGlmIChtX2FjdGl2ZSkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgbV9hY3RpdmUgPSB0cnVlOwotCi0gICAgICAgIGlmIChtX3RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgbV9jYWxsYmFjayhIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpOwotICAgIH0KLQotICAgIHZv
aWQgc3RvcCgpCi0gICAgewotICAgICAgICBpZiAoIW1fYWN0aXZlKQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBtX2FjdGl2ZSA9IGZhbHNlOwotCi0gICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KG1faHlzdGVyZXNpc1NlY29uZHMpOwotICAgIH0KLQotICAgIHZvaWQgaW1wdWxzZSgp
Ci0gICAgewotICAgICAgICBpZiAoIW1fYWN0aXZlKSB7Ci0gICAgICAgICAgICBzdGFydCgpOwot
ICAgICAgICAgICAgc3RvcCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgSHlzdGVyZXNpc1N0
YXRlIHN0YXRlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2FjdGl2ZSB8fCBtX3Rp
bWVyLmlzQWN0aXZlKCkgPyBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQgOiBIeXN0ZXJlc2lzU3Rh
dGU6OlN0b3BwZWQ7Ci0gICAgfQotICAgIAotcHJpdmF0ZToKLSAgICB2b2lkIGh5c3RlcmVzaXNU
aW1lckZpcmVkKCkKLSAgICB7Ci0gICAgICAgIG1fdGltZXIuc3RvcCgpOwotICAgICAgICBtX2Nh
bGxiYWNrKEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCk7Ci0gICAgfQotCi0gICAgV1RGOjpGdW5j
dGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgU2Vjb25kcyBtX2h5
c3RlcmVzaXNTZWNvbmRzOwotICAgIGJvb2wgbV9hY3RpdmU7Ci0gICAgUnVuTG9vcDo6VGltZXI8
SHlzdGVyZXNpc0FjdGl2aXR5PiBtX3RpbWVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gSHlzdGVyZXNpc0FjdGl2aXR5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Vc2VyQWN0aXZpdHkuY3BwCmluZGV4IDNiY2IyZjNkYTc2MDlhM2ZlNzM4OGM2ZThjOWRmNmNm
YzM3ZGY4N2EuLjYyZTJkMjEyYjJjZmNiZTIzODkzYzMzNjMxZTU1MDU5ZTNkODcxN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmNwcApAQCAtNDUsMTQgKzQ1LDE0IEBA
IHZvaWQgVXNlckFjdGl2aXR5OjpJbXBsOjplbmRBY3Rpdml0eSgpCiAjZW5kaWYKIAogVXNlckFj
dGl2aXR5OjpVc2VyQWN0aXZpdHkoY29uc3QgY2hhciogZGVzY3JpcHRpb24pCi0gICAgOiBIeXN0
ZXJlc2lzQWN0aXZpdHkoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lz
VXBkYXRlZChzdGF0ZSk7IH0pCisgICAgOiBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eShbdGhpc10o
UEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9
KQogICAgICwgbV9pbXBsKGRlc2NyaXB0aW9uKQogewogfQogCi12b2lkIFVzZXJBY3Rpdml0eTo6
aHlzdGVyZXNpc1VwZGF0ZWQoSHlzdGVyZXNpc1N0YXRlIHN0YXRlKQordm9pZCBVc2VyQWN0aXZp
dHk6Omh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKQogewotICAg
IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpCisgICAgaWYgKHN0YXRlID09
IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKQogICAgICAgICBtX2ltcGwuYmVnaW5BY3Rp
dml0eSgpOwogICAgIGVsc2UKICAgICAgICAgbV9pbXBsLmVuZEFjdGl2aXR5KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oCmluZGV4IDdiMGMxZGEyMjEzMDcxNjYzM2I1NGZm
M2NkNGE4NjNjNThkOGEzZDUuLmVlYjJkNzMyYWZjOWZjYWVmOTAzNjM5MmMyZjJjMWY4MjNkNzIz
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oCkBAIC0yNiw3ICsyNiw3
IEBACiAjaWZuZGVmIFVzZXJBY3Rpdml0eV9oCiAjZGVmaW5lIFVzZXJBY3Rpdml0eV9oCiAKLSNp
bmNsdWRlICJIeXN0ZXJlc2lzQWN0aXZpdHkuaCIKKyNpbmNsdWRlIDxwYWwvSHlzdGVyZXNpc0Fj
dGl2aXR5Lmg+CiAKICNpZiBIQVZFKE5TX0FDVElWSVRZKQogI2luY2x1ZGUgPG9iamMvb2JqYy5o
PgpAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBUaGUgVXNlckFjdGl2
aXR5IHR5cGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0aGF0
CiAvLyBhIHVzZXIgaW5pdGlhdGVkIG9yIHZpc2libGUgYWN0aW9uIGlzIHRha2luZyBwbGFjZSwg
YW5kIGFzIHN1Y2ggdGhhdAogLy8gcmVzb3VyY2VzIHNob3VsZCBiZSBhbGxvY2F0ZWQgdG8gdGhl
IHByb2Nlc3MgYWNjb3JkaW5nbHkuCi1jbGFzcyBVc2VyQWN0aXZpdHkgOiBwdWJsaWMgSHlzdGVy
ZXNpc0FjdGl2aXR5IHsKK2NsYXNzIFVzZXJBY3Rpdml0eSA6IHB1YmxpYyBQQUw6Okh5c3RlcmVz
aXNBY3Rpdml0eSB7CiBwdWJsaWM6CiAgICAgY2xhc3MgSW1wbCB7CiAgICAgcHVibGljOgpAQCAt
NTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgVXNlckFj
dGl2aXR5KGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGh5
c3RlcmVzaXNVcGRhdGVkKEh5c3RlcmVzaXNTdGF0ZSk7CisgICAgdm9pZCBoeXN0ZXJlc2lzVXBk
YXRlZChQQUw6Okh5c3RlcmVzaXNTdGF0ZSk7CiAKICAgICBJbXBsIG1faW1wbDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3Rv
cmVCYWNrZW5kQ2Fpcm9JbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuY3BwCmluZGV4IDE1ZTY5NmE1ZTFl
N2FkMTg2MmUwYjcxMTBiN2M0NTJiYzdiMzYzMWEuLjFhODFjZGM3YjEwZDM1MTBlNDIwODAwZjU5
MTI0ZTE2MWQyNDc0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0lt
cGwuY3BwCkBAIC00MSw3ICs0MSw3IEBAIHN0YXRpYyBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBj
cmVhdGVDYWlyb0ltYWdlU3VyZmFjZVdpdGhGYXN0TWFsbG9jKGNvbnN0IEludFNpCiAKIEJhY2tp
bmdTdG9yZUJhY2tlbmRDYWlyb0ltcGw6OkJhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwoY29u
c3QgSW50U2l6ZSYgc2l6ZSwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpCiAgICAgOiBCYWNraW5n
U3RvcmVCYWNrZW5kQ2Fpcm8oc2l6ZSkKLSAgICAsIG1fc2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlz
XShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6
U3RvcHBlZCkgbV9zY3JvbGxTdXJmYWNlID0gbnVsbHB0cjsgfSwgc2Nyb2xsSHlzdGVyZXNpc0R1
cmF0aW9uKQorICAgICwgbV9zY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKFBBTDo6SHlzdGVyZXNp
c1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBQQUw6Okh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBl
ZCkgbV9zY3JvbGxTdXJmYWNlID0gbnVsbHB0cjsgfSwgc2Nyb2xsSHlzdGVyZXNpc0R1cmF0aW9u
KQogewogICAgIEludFNpemUgc2NhbGVkU2l6ZSA9IG1fc2l6ZTsKICAgICBzY2FsZWRTaXplLnNj
YWxlKGRldmljZVNjYWxlRmFjdG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWly
b0ltcGwuaAppbmRleCA0NTM3ZDM1MTg4MjgxMzJmMTM1NWEwODFjMmQ4ZTEzYjQ0MzIzYjc1Li40
NThhOWZjNTczYzU0ODM4MDJhZjg4MDk3NDRjZTUyNzQ0OWZhNWQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fp
cm9JbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFj
a2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oCkBAIC0yMCw3ICsyMCw3IEBACiAKICNpZiBVU0Uo
Q0FJUk8pCiAjaW5jbHVkZSAiQmFja2luZ1N0b3JlQmFja2VuZENhaXJvLmgiCi0jaW5jbHVkZSA8
V2ViQ29yZS9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KKyNpbmNsdWRlIDxwYWwvSHlzdGVyZXNpc0Fj
dGl2aXR5Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzMsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgc2Nyb2xsKGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRTaXplJikgb3Zl
cnJpZGU7CiAKICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBtX3Njcm9sbFN1cmZhY2U7Ci0g
ICAgV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fc2Nyb2xsZWRIeXN0ZXJlc2lzOworICAg
IFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fc2Nyb2xsZWRIeXN0ZXJlc2lzOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oCmluZGV4IDdiMmQyNDIy
NmRhMmQ5ZGNkN2JiMTg2MWVhYTRmMGQ2YzljZDFkZGMuLmY5Mzc3Y2QzNGQwMmY3ODI2MTk0MzQ0
ZjM4ZmQxMzUwYWYyY2Y2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgKQEAgLTI3LDggKzI3
LDggQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAotI2luY2x1ZGUgIkh5c3RlcmVzaXNBY3Rpdml0
eS5oIgogI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIgorI2luY2x1ZGUg
PHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC00Nyw5ICs0Nyw5IEBAIHByaXZhdGU6CiAg
ICAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50KCk7CiAgICAgdmlydHVhbCB+V2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50KCk7CiAKLSAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVk
KEh5c3RlcmVzaXNTdGF0ZSk7CisgICAgdm9pZCBoeXN0ZXJlc2lzVXBkYXRlZChQQUw6Okh5c3Rl
cmVzaXNTdGF0ZSk7CiAKLSAgICBIeXN0ZXJlc2lzQWN0aXZpdHkgbV9oeXN0ZXJlc2lzOworICAg
IFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5IG1faHlzdGVyZXNpczsKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJD
bGllbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyQ2xpZW50Lm1tCmluZGV4IDBhOWJiOTU1OWZhMjdmMGE3OWRjYzFkNTE2OWVmMmYzMDA3
ZmVhMjQuLjA3ZDNkNWRlMzc4M2ZiZWZmZTQwMjNhNDFlNDEyMmQwMjVkMGY4OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJD
bGllbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFi
YXNlVHJhY2tlckNsaWVudC5tbQpAQCAtNTAsNyArNTAsNyBAQCBXZWJTUUxpdGVEYXRhYmFzZVRy
YWNrZXJDbGllbnQmIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudDo6c2hhcmVkV2ViU1FM
aXRlRAogfQogCiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQ6OldlYlNRTGl0ZURhdGFi
YXNlVHJhY2tlckNsaWVudCgpCi0gICAgOiBtX2h5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7IH0sIGh5c3RlcmVzaXNEdXJh
dGlvbikKKyAgICA6IG1faHlzdGVyZXNpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3Rh
dGUpIHsgaHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9LCBoeXN0ZXJlc2lzRHVyYXRpb24pCiB7
CiB9CiAKQEAgLTcyLDkgKzcyLDkgQEAgdm9pZCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGll
bnQ6OmRpZEZpbmlzaExhc3RUcmFuc2FjdGlvbigpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50OjpoeXN0ZXJlc2lzVXBkYXRlZChIeXN0ZXJlc2lzU3Rh
dGUgc3RhdGUpCit2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudDo6aHlzdGVyZXNp
c1VwZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCiB7Ci0gICAgaWYgKHN0YXRlID09
IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCkKKyAgICBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0ZXJl
c2lzU3RhdGU6OlN0YXJ0ZWQpCiAgICAgICAgIFtXZWJEYXRhYmFzZVRyYW5zYWN0aW9uQmFja2dy
b3VuZFRhc2tDb250cm9sbGVyIHN0YXJ0QmFja2dyb3VuZFRhc2tdOwogICAgIGVsc2UKICAgICAg
ICAgW1dlYkRhdGFiYXNlVHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIgZW5kQmFj
a2dyb3VuZFRhc2tdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdl
ci5jcHAKaW5kZXggNmU2ZmZlMmY4MjE4NzM2M2U4OTE3ZDZiMDAwODE1MzRjNzljYTY3ZC4uZWQ4
MDkxNWNjOThjYjFiN2YyMjdjYjg3NmQ4YTY4OGJmYWEyZmJhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5j
bHVkZSAiTmV0d29ya0NhY2hlU3VicmVzb3VyY2VzRW50cnkuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmg+Ci0j
aW5jbHVkZSA8V2ViQ29yZS9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KKyNpbmNsdWRlIDxwYWwvSHlz
dGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
QEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgICAgICA6IG1fc3RvcmFnZShzdG9yYWdl
KQogICAgICAgICAsIG1fbWFpblJlc291cmNlS2V5KG1haW5SZXNvdXJjZUtleSkKICAgICAgICAg
LCBtX2xvYWRDb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGxvYWRDb21wbGV0aW9uSGFuZGxlcikp
Ci0gICAgICAgICwgbV9sb2FkSHlzdGVyZXNpc0FjdGl2aXR5KFt0aGlzXShIeXN0ZXJlc2lzU3Rh
dGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgbWFya0xv
YWRBc0NvbXBsZXRlZCgpOyB9KQorICAgICAgICAsIG1fbG9hZEh5c3RlcmVzaXNBY3Rpdml0eShb
dGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IFBBTDo6SHlz
dGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtYXJrTG9hZEFzQ29tcGxldGVkKCk7IH0pCiAgICAgewog
ICAgICAgICBtX2xvYWRIeXN0ZXJlc2lzQWN0aXZpdHkuaW1wdWxzZSgpOwogICAgIH0KQEAgLTIz
OSw3ICsyMzksNyBAQCBwcml2YXRlOgogICAgIEtleSBtX21haW5SZXNvdXJjZUtleTsKICAgICBW
ZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFN1YnJlc291cmNlTG9hZD4+IG1fc3VicmVzb3VyY2VMb2Fk
czsKICAgICBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4gbV9sb2FkQ29tcGxldGlvbkhhbmRsZXI7Ci0g
ICAgSHlzdGVyZXNpc0FjdGl2aXR5IG1fbG9hZEh5c3RlcmVzaXNBY3Rpdml0eTsKKyAgICBQQUw6
Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2xvYWRIeXN0ZXJlc2lzQWN0aXZpdHk7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFN1YnJlc291cmNlc0VudHJ5PiBtX2V4aXN0aW5nRW50cnk7CiAgICAgYm9vbCBt
X2RpZEZpbmlzaExvYWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaWRSZXRyaWV2ZUV4aXN0aW5n
RW50cnkgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlNRTGl0ZURh
dGFiYXNlVHJhY2tlci5jcHAKaW5kZXggOTJhN2Y5NDVjYTEwNGRhNDMyOTEzMTgwNGFkNmJkOGEx
YWI2Mjk2OC4uZmI2OTFiMTE4N2Q4MmFiOTYzMjViM2E5ZmU0MjgwOTNkMzFiODFlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwCkBA
IC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJTUUxpdGVEYXRhYmFzZVRy
YWNrZXI6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcihOZXR3b3JrUHJvY2VzcyYgcHJvY2VzcykK
ICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQotICAgICwgbV9oeXN0ZXJlc2lzKFt0aGlzXShIeXN0
ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9KQorICAgICwg
bV9oeXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJl
c2lzVXBkYXRlZChzdGF0ZSk7IH0pCiAgICAgLCBtX2NoaWxkUHJvY2Vzc1R5cGUoQ2hpbGRQcm9j
ZXNzVHlwZTo6TmV0d29yaykKIHsKICAgICBTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OnNldENsaWVu
dCh0aGlzKTsKQEAgLTQ3LDcgKzQ3LDcgQEAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpXZWJT
UUxpdGVEYXRhYmFzZVRyYWNrZXIoTmV0d29ya1Byb2Nlc3MmIHByb2Nlc3MpCiAKIFdlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlcjo6V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyKFdlYlByb2Nlc3MmIHBy
b2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKLSAgICAsIG1faHlzdGVyZXNpcyhbdGhp
c10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5c3RlcmVzaXNVcGRhdGVkKHN0YXRlKTsgfSkK
KyAgICAsIG1faHlzdGVyZXNpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsg
aHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9KQogICAgICwgbV9jaGlsZFByb2Nlc3NUeXBlKENo
aWxkUHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQpCiB7CiAgICAgU1FMaXRlRGF0YWJhc2VUcmFja2Vy
OjpzZXRDbGllbnQodGhpcyk7CkBAIC02NywxNCArNjcsMTQgQEAgdm9pZCBXZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXI6OmRpZEZpbmlzaExhc3RUcmFuc2FjdGlvbigpCiAgICAgfSk7CiB9CiAKLXZv
aWQgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpoeXN0ZXJlc2lzVXBkYXRlZChIeXN0ZXJlc2lz
U3RhdGUgc3RhdGUpCit2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6aHlzdGVyZXNpc1Vw
ZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCiB7CiAgICAgc3dpdGNoIChtX2NoaWxk
UHJvY2Vzc1R5cGUpIHsKICAgICBjYXNlIENoaWxkUHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6Ci0g
ICAgICAgIG1fcHJvY2Vzcy5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xvY2tlZEZpbGVzKHN0YXRlID09IEh5c3Rl
cmVzaXNTdGF0ZTo6U3RhcnRlZCksIDApOworICAgICAgICBtX3Byb2Nlc3MucGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpTZXRJc0hvbGRp
bmdMb2NrZWRGaWxlcyhzdGF0ZSA9PSBQQUw6Okh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCksIDAp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIENoaWxkUHJvY2Vzc1R5cGU6Ok5ldHdvcms6Ci0g
ICAgICAgIG1fcHJvY2Vzcy5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhzdGF0ZSA9PSBI
eXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpLCAwKTsKKyAgICAgICAgbV9wcm9jZXNzLnBhcmVudFBy
b2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OlNl
dElzSG9sZGluZ0xvY2tlZEZpbGVzKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFy
dGVkKSwgMCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgKaW5kZXggZWE1Y2VhMTdjYzYwY2Y4MTIx
YTBhNzc1ZjVkMjMzZTI5ODlhMjc5Ny4uN2M1Yjc1YTQxNjRkOTQ0ZGNhOTBjYTI5OGQ3ZTNkM2Q5
YzUxZjcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYgV2ViU1FMaXRlRGF0YWJhc2VUcmFj
a2VyX2gKICNkZWZpbmUgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyX2gKIAotI2luY2x1ZGUgPFdl
YkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TUUxpdGVEYXRh
YmFzZVRyYWNrZXJDbGllbnQuaD4KKyNpbmNsdWRlIDxwYWwvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAt
NDcsMTAgKzQ3LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEZpbmlzaExhc3RUcmFuc2FjdGlv
bigpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQoV2Vi
Q29yZTo6SHlzdGVyZXNpc1N0YXRlKTsKKyAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6
SHlzdGVyZXNpc1N0YXRlKTsKIAogICAgIENoaWxkUHJvY2VzcyYgbV9wcm9jZXNzOwotICAgIFdl
YkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2h5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0ZXJl
c2lzQWN0aXZpdHkgbV9oeXN0ZXJlc2lzOwogICAgIGVudW0gY2xhc3MgQ2hpbGRQcm9jZXNzVHlw
ZSB7IE5ldHdvcmssIFdlYkNvbnRlbnQgfTsKICAgICBDaGlsZFByb2Nlc3NUeXBlIG1fY2hpbGRQ
cm9jZXNzVHlwZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IDFlYTdhM2MyZjViN2E1ODMxOTU0N2U5NmE3MjkxMTM3NTNiMDRjN2QuLmRl
OTRmZWUyM2I1YzRlYTdlMTk2OWQwYzM5ZjQzNWFjZWI2NDQ0NDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAgV2Vi
UGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMm
JiBwYXJhbWV0ZXJzKQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLCBtX3VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlciB7IHN0ZDo6bWFrZV91bmlxdWU8VXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyPigqdGhpcykgfQogI2VuZGlmCi0gICAgLCBtX3BhZ2VTY3Jv
bGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUg
PT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBw
YWdlU2Nyb2xsSHlzdGVyZXNpc0R1cmF0aW9uKQorICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJl
c2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gUEFM
OjpIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBh
Z2VTY3JvbGxIeXN0ZXJlc2lzRHVyYXRpb24pCiAgICAgLCBtX2NhblJ1bkJlZm9yZVVubG9hZENv
bmZpcm1QYW5lbChwYXJhbWV0ZXJzLmNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkKICAg
ICAsIG1fY2FuUnVuTW9kYWwocGFyYW1ldGVycy5jYW5SdW5Nb2RhbCkKICNpZiBQTEFURk9STShJ
T1MpCkBAIC0zNTIsNyArMzUyLDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQs
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgICwgbV9hY3Rpdml0
eVN0YXRlKHBhcmFtZXRlcnMuYWN0aXZpdHlTdGF0ZSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNz
aW9uRW5hYmxlZCh0cnVlKQogICAgICwgbV91c2VyQWN0aXZpdHkoIlByb2Nlc3Mgc3VwcHJlc3Np
b24gZGlzYWJsZWQgZm9yIHBhZ2UuIikKLSAgICAsIG1fdXNlckFjdGl2aXR5SHlzdGVyZXNpcyhb
dGhpc10oSHlzdGVyZXNpc1N0YXRlKSB7IHVwZGF0ZVVzZXJBY3Rpdml0eSgpOyB9KQorICAgICwg
bV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSkgeyB1
cGRhdGVVc2VyQWN0aXZpdHkoKTsgfSkKICAgICAsIG1fdXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbihwYXJhbWV0ZXJzLnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24pCiAgICAgLCBtX292
ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5IHsgcGFyYW1ldGVycy5vdmVycmlkZUNvbnRlbnRT
ZWN1cml0eVBvbGljeSB9CiAgICAgLCBtX2NwdUxpbWl0KHBhcmFtZXRlcnMuY3B1TGltaXQpCkBA
IC02MjAsNyArNjIwLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVUaHJvdHRsZVN0YXRlKCkKIAog
dm9pZCBXZWJQYWdlOjp1cGRhdGVVc2VyQWN0aXZpdHkoKQogewotICAgIGlmIChtX3VzZXJBY3Rp
dml0eUh5c3RlcmVzaXMuc3RhdGUoKSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpCisgICAg
aWYgKG1fdXNlckFjdGl2aXR5SHlzdGVyZXNpcy5zdGF0ZSgpID09IFBBTDo6SHlzdGVyZXNpc1N0
YXRlOjpTdGFydGVkKQogICAgICAgICBtX3VzZXJBY3Rpdml0eS5zdGFydCgpOwogICAgIGVsc2UK
ICAgICAgICAgbV91c2VyQWN0aXZpdHkuc3RvcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDFmOTY1MGE3OWQxOTkyNDYxN2M0MmRlMjA4YmYzMDNj
NzViN2FlZTkuLmY4ZGYzZDFlYWQzZWEyYzVmMTJmYWE0ZmJhNTBkZWU0MTIxZGMwZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTQ5LDcgKzQ5LDYg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0FjdGl2aXR5U3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlw
ZXMuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZUhhc2guaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KQEAgLTYxLDYgKzYwLDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1VzZXJTY3JpcHRUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQ29yZUtleWJvYXJk
VUlNb2RlLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0
aXZpdHkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMTQ1Myw3ICsxNDUzLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9wZW5kaW5nRHJvcFNhbmRi
b3hFeHRlbnNpb247CiAgICAgVmVjdG9yPFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gbV9wZW5k
aW5nRHJvcEV4dGVuc2lvbnNGb3JGaWxlVXBsb2FkOwogCi0gICAgV2ViQ29yZTo6SHlzdGVyZXNp
c0FjdGl2aXR5IG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNB
Y3Rpdml0eSBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXM7CiAKICAgICBib29sIG1fY2FuUnVuQmVm
b3JlVW5sb2FkQ29uZmlybVBhbmVsIHsgZmFsc2UgfTsKIApAQCAtMTU1Myw3ICsxNTUzLDcgQEAg
cHJpdmF0ZToKIAogICAgIGJvb2wgbV9wcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkOwogICAgIFVz
ZXJBY3Rpdml0eSBtX3VzZXJBY3Rpdml0eTsKLSAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZp
dHkgbV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzOworICAgIFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5
IG1fdXNlckFjdGl2aXR5SHlzdGVyZXNpczsKIAogICAgIHVpbnQ2NF90IG1fcGVuZGluZ05hdmln
YXRpb25JRCB7IDAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmlu
ZGV4IDdiNmNkNGY3NGQ2MTY3YWViMTAwMjJkNzQwYzhmNDFhZmVlOTUyNTUuLjQ0ZWI4ODMwZmMw
ZjRlYmYxNzdkZDY5NmZmYmJlNGE2MDcwY2U0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNz
KCkKICAgICAsIG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVhdGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3ko
Km5ldyBXZWJMb2FkZXJTdHJhdGVneSkKICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV2Vi
Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpKQotICAgICwgbV9kbnNQcmVmZXRjaEh5c3Rl
cmVyaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVy
ZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ruc1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9KQorICAg
ICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0
YXRlKSB7IGlmIChzdGF0ZSA9PSBQQUw6Okh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgbV9kbnNQ
cmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKICAgICAsIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlcjo6Y3JlYXRlKCkpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCmluZGV4IGQ0M2Y3ZGQ3YjNkNzA2YTRlNTA3MTZmZmVjNDUwMzViZDQyZjM0
ZjguLjczOWE4NTdkZGIxOWZkOWU0NmJhNGIwYmYwZDQxODQ0MjkxN2MwYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMzQsOCArMzQsOCBAQAogI2luY2x1ZGUgIlZp
ZXdVcGRhdGVEaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5o
PgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDxwYWwvU2Vz
c2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgpAQCAtMzg5LDcgKzM4OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIEhhc2hTZXQ8
U3RyaW5nPiBtX2Ruc1ByZWZldGNoZWRIb3N0czsKLSAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0
aXZpdHkgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZp
dHkgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXM7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eT4gbV9hdXRvbWF0aW9uU2Vzc2lvblByb3h5OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322099</attachid>
            <date>2017-09-28 10:57:02 -0700</date>
            <delta_ts>2017-09-28 11:37:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177516-20170928105701.patch</filename>
            <type>text/plain</type>
            <size>33549</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJjMzhiMzU1MmU5OGJj
NWU5OTNiNDEwYjIxOTljNTU5Y2U2ZjJkZi4uMWE2NzU2YjZjNDBlMjcxZWY3ODY5YzRiMjVmNTA5
MzEzNDU4YjRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA5LTI4ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbUEFMXSBNb3Zl
IEh5c3RlcmVzaXNBY3Rpdml0eSBpbnRvIFBBTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBD
aHJpc3RlbnNlbi4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VXNlckFjdGl2aXR5OjpVc2VyQWN0aXZpdHkpOgorICAgICAgICAoV2ViQ29yZTo6VXNlckFj
dGl2aXR5OjpoeXN0ZXJlc2lzVXBkYXRlZCk6CisgICAgICAgICogcGxhdGZvcm0vVXNlckFjdGl2
aXR5Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFj
a2VuZENhaXJvSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYWNraW5nU3RvcmVCYWNrZW5k
Q2Fpcm9JbXBsOjpCYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsLmg6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQubW06Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQ6OldlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXJDbGllbnQ6Omh5c3RlcmVzaXNVcGRhdGVkKToKKwogMjAxNy0wOS0yOCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciA8
bGluayByZWw9cHJlY29ubmVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGU2MzY1MDRlOTBkMmJk
NDVkYmUxMzk0ZDFhYWZkMGYwODQ5OGI4MzguLmUzMjhiYjQ4ZTZlNDNlNzliN2NiOTZhZTc0NmY4
ZDNiYjAxMzEwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA5
LTI4ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBb
UEFMXSBNb3ZlIEh5c3RlcmVzaXNBY3Rpdml0eSBpbnRvIFBBTAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oLgorCiAyMDE3LTA5
LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIDxsaW5rIHJlbD1wcmVjb25uZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlMjRiYzlhMjBhMGY0YTU5
YTk0YzUwZmRhOGJhZWE0MzY1YjRlNDMyLi5kYTg1MmM5NzcyN2YwY2RhOGRiMjExNGVjMGQyOTQy
ZGFmODRkOWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA5LTI4ICBSb3NzIEtp
cnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbUEFMXSBNb3ZlIEh5
c3RlcmVzaXNBY3Rpdml0eSBpbnRvIFBBTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJp
c3RlbnNlbi4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OlBlbmRpbmdGcmFtZUxvYWQ6OlBlbmRpbmdGcmFtZUxv
YWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OldlYlNRTGl0ZURhdGFiYXNl
VHJhY2tlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6aHlz
dGVyZXNpc1VwZGF0ZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6Om1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyk6CisgICAgICAgIChXZWJLaXQ6Om1f
dXNlckFjdGl2aXR5SHlzdGVyZXNpcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0
ZVVzZXJBY3Rpdml0eSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aDoKKwogMjAxNy0wOS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciA8bGluayByZWw9cHJlY29ubmVjdD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyNTVhM2E3M2M5
ZWZlZThlYTM4Mzg3MGFmZmUzZjhlNTI2MmFlNWZmLi45YjdmMjkwMzQwY2JmM2ZjZmI4NGQzYzRh
ZTc3ZjEwYmQxZmRlMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjcsNiArMTI3LDcgQEAKIAkJQTM3ODhFOTgxRjA1QjZD
RTAwNjc5NDI1IC8qIFNvdW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMzc4OEU5NzFGMDVCNkNFMDA2Nzk0MjUgLyogU291bmQuaCAqLzsgfTsKIAkJ
QTM3ODhFOUMxRjA1Qjc4MjAwNjc5NDI1IC8qIFNvdW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzNzg4RTlCMUYwNUI3ODIwMDY3OTQyNSAvKiBT
b3VuZC5jcHAgKi87IH07CiAJCUEzNzg4RTlFMUYwNUI3OEUwMDY3OTQyNSAvKiBTb3VuZE1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzNzg4RTlE
MUYwNUI3OEUwMDY3OTQyNSAvKiBTb3VuZE1hYy5tbSAqLzsgfTsKKwkJQTM5REU3NEUxRjdDNDQz
RDAwN0JDQjAwIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTM5REU3NEQxRjdDNDQzQzAwN0JDQjAwIC8qIEh5c3Rl
cmVzaXNBY3Rpdml0eS5oICovOyB9OwogCQlBM0FCNkU1MjFGM0QxREM1MDA5QzE0QjEgLyogU2xl
ZXBEaXNhYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBM0FCNkU1MTFGM0QxREM1MDA5QzE0QjEgLyogU2xlZXBEaXNhYmxlci5jcHAgKi87IH07
CiAJCUEzQUI2RTU2MUYzRDFEREIwMDlDMTRCMSAvKiBTbGVlcERpc2FibGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FCNkU1MzFGM0QxRERCMDA5
QzE0QjEgLyogU2xlZXBEaXNhYmxlci5oICovOyB9OwogCQlBM0FCNkU1NzFGM0QxRERCMDA5QzE0
QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBM0FCNkU1NDFGM0QxRERCMDA5QzE0QjEgLyogU3lzdGVtU2xl
ZXBMaXN0ZW5lci5jcHAgKi87IH07CkBAIC0yNjIsNiArMjYzLDcgQEAKIAkJQTM3ODhFOTcxRjA1
QjZDRTAwNjc5NDI1IC8qIFNvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNvdW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzNzg4RTlCMUYwNUI3ODIw
MDY3OTQyNSAvKiBTb3VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTb3VuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzNzg4RTlEMUYwNUI3
OEUwMDY3OTQyNSAvKiBTb3VuZE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFNvdW5kTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzlE
RTc0RDFGN0M0NDNDMDA3QkNCMDAgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEh5c3RlcmVzaXNBY3Rpdml0eS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBM0FCNkU1MTFGM0QxREM1MDA5QzE0QjEgLyogU2xlZXBEaXNhYmxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTbGVlcERpc2FibGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBQjZFNTMxRjNEMUREQjAwOUMx
NEIxIC8qIFNsZWVwRGlzYWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2xlZXBEaXNhYmxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0FCNkU1NDFG
M0QxRERCMDA5QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTeXN0ZW1TbGVlcExpc3RlbmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQyOSw4ICs0MzEsNyBAQAogCQkJCTBDRjk5Q0E2MUY3Mzg0
MzYwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5jcHAgKi8sCiAJCQkJMENGOTlDQTcxRjcz
ODQzNzAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmggKi8sCiAJCQkpOwotCQkJbmFtZSA9
IGNmOwotCQkJcGF0aCA9ICJOZXcgR3JvdXAiOworCQkJcGF0aCA9IGNmOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKIAkJfTsKIAkJMUMwOUQwMzQxRTMxQzMyODAwNzI1RjE4ID0gewpAQCAt
NDYxLDYgKzQ2Miw3IEBACiAJCQkJQTM3ODhFOUYxRjA1QjdDRTAwNjc5NDI1IC8qIHN5c3RlbSAq
LywKIAkJCQlBMzBENDExRDFGMEREMEFDMDBCNzE5NTQgLyogdGV4dCAqLywKIAkJCQkwQzJEOUU3
MjFFRUY1QUY2MDBEQkMzMTcgLyogRXhwb3J0TWFjcm9zLmggKi8sCisJCQkJQTM5REU3NEQxRjdD
NDQzQzAwN0JDQjAwIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oICovLAogCQkJCTA3MDhBQzMyMUY0
Qzg3NEEwMDFGNzg4RiAvKiBMb2dnZXIuaCAqLywKIAkJCQkwNzM3N0FEQjFGNTc3N0Q3MDAyN0Yx
NkQgLyogTG9nZ2VySGVscGVyLmggKi8sCiAJCQkJQTNDNjZDREExRjQ2MkQ2QTAwOUU2RUU5IC8q
IFNlc3Npb25JRC5jcHAgKi8sCkBAIC01OTMsNiArNTk1LDcgQEAKIAkJCQkwQzVBRjkxQjFGNDNB
NEM3MDAyRUFDMDIgLyogR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTEwMjY1OEUxRjU2N0U5RDAwQjRDODQ0IC8qIEhJU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExMDI2NTg5MUY1Njc0N0EwMEI0Qzg0NCAvKiBISVRvb2xib3hTUEkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUEzOURFNzRFMUY3QzQ0M0QwMDdCQ0IwMCAvKiBIeXN0ZXJlc2lzQWN0aXZp
dHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMTFGMUYzQkU5RTAwMERCQzMxNyAvKiBJbWFn
ZUlPU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE0MjFGM0JFQjQ5MDBEQkMzMTcgLyog
SU9QTUxpYlNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNDMxRjNCRUI0OTAwREJDMzE3
IC8qIElPUFNMaWJTUEkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
SHlzdGVyZXNpc0FjdGl2aXR5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzNjAwZWE4ZTY4NGIyZTYwY2RhNjQz
NWMxZGU5YzYzOTE0NzYyMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvSHlzdGVyZXNpc0FjdGl2aXR5LmgKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KKyNpbmNsdWRlIDx3dGYvU2Vj
b25kcy5oPgorCituYW1lc3BhY2UgUEFMIHsKKworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVs
dEh5c3RlcmVzaXNEdXJhdGlvbiB7IDVfcyB9OworCitlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CisgICAgU3RhcnRlZCwKKyAgICBTdG9wcGVkCit9OworCitjbGFzcyBIeXN0ZXJlc2lzQWN0
aXZpdHkgeworcHVibGljOgorICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShXVEY6OkZ1
bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4mJiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNT
dGF0ZSkgeyB9LCBTZWNvbmRzIGh5c3RlcmVzaXNTZWNvbmRzID0gZGVmYXVsdEh5c3RlcmVzaXNE
dXJhdGlvbikKKyAgICAgICAgOiBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQorICAgICAg
ICAsIG1faHlzdGVyZXNpc1NlY29uZHMoaHlzdGVyZXNpc1NlY29uZHMpCisgICAgICAgICwgbV9h
Y3RpdmUoZmFsc2UpCisgICAgICAgICwgbV90aW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZI
eXN0ZXJlc2lzQWN0aXZpdHk6Omh5c3RlcmVzaXNUaW1lckZpcmVkKQorICAgIHsKKyAgICB9CisK
KyAgICB2b2lkIHN0YXJ0KCkKKyAgICB7CisgICAgICAgIGlmIChtX2FjdGl2ZSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgbV9hY3RpdmUgPSB0cnVlOworCisgICAgICAgIGlmIChtX3Rp
bWVyLmlzQWN0aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgbV9jYWxsYmFjayhIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpOworICAg
IH0KKworICAgIHZvaWQgc3RvcCgpCisgICAgeworICAgICAgICBpZiAoIW1fYWN0aXZlKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2FjdGl2ZSA9IGZhbHNlOworCisgICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc1NlY29uZHMpOworICAgIH0KKworICAgIHZv
aWQgaW1wdWxzZSgpCisgICAgeworICAgICAgICBpZiAoIW1fYWN0aXZlKSB7CisgICAgICAgICAg
ICBzdGFydCgpOworICAgICAgICAgICAgc3RvcCgpOworICAgICAgICB9CisgICAgfQorCisgICAg
SHlzdGVyZXNpc1N0YXRlIHN0YXRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2Fj
dGl2ZSB8fCBtX3RpbWVyLmlzQWN0aXZlKCkgPyBIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQgOiBI
eXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQ7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICB2b2lk
IGh5c3RlcmVzaXNUaW1lckZpcmVkKCkKKyAgICB7CisgICAgICAgIG1fdGltZXIuc3RvcCgpOwor
ICAgICAgICBtX2NhbGxiYWNrKEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCk7CisgICAgfQorCisg
ICAgV1RGOjpGdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7CisgICAg
U2Vjb25kcyBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIGJvb2wgbV9hY3RpdmU7CisgICAgUnVu
TG9vcDo6VGltZXI8SHlzdGVyZXNpc0FjdGl2aXR5PiBtX3RpbWVyOworfTsKKworfSAvLyBuYW1l
c3BhY2UgUEFMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNjkwNWMyMzkzNmM1ZjIzMzMxN2RkMzU5YWRmNzE2MTJkYjg2YjFlOS4u
MjUxNDFjYmFjZTgwMjQ5MmUzODVkYmI5ZDI1ZTk1MWQyODU0YzFjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzcyOSw3ICsz
NzI5LDYgQEAKIAkJODU0RkU3MzkwQTIyOTdCRTAwNThEN0FEIC8qIFRyZWVXYWxrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NEZFNzJGMEEyMjk3
QkUwMDU4RDdBRCAvKiBUcmVlV2Fsa2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJODYxQzJFQTQxM0ZCNEZERDAwMDYyQUJCIC8qIExvYWRUaW1p
bmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYx
QzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIExvYWRUaW1pbmcuY3BwICovOyB9OwogCQk4NjJGMTI5
RTE4QzE1NzZGMDA1QzU0QUYgLyogQ291bnRlZFVzZXJBY3Rpdml0eS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyRjEyOUQxOEMxNTcyQzAwNUM1NEFG
IC8qIENvdW50ZWRVc2VyQWN0aXZpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk4NjJGMTJBMDE4QzFERDAyMDA1QzU0QUYgLyogSHlzdGVyZXNp
c0FjdGl2aXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NjJGMTI5RjE4QzFEQ0U0MDA1QzU0QUYgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODY1MTJFREUxNTRB
MkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY1MTJFREIxNTRBMkFFRTAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovOyB9OwogCQk4NjUxMkVERjE1
NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY1MTJFREMxNTRBMkFFRjAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLzsgfTsKIAkJODY4MTYwRDQxODc2
NkEwQTAwMjFFNzlEIC8qIFVzZXJBY3Rpdml0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjgxNjBEMTE4NzY2OUM0MDAyMUU3OUQgLyogVXNlckFj
dGl2aXR5LmNwcCAqLzsgfTsKQEAgLTEyMDY2LDcgKzEyMDY1LDYgQEAKIAkJODVERjJGOTIwQUEz
QzlCNjAwQUQ2NEM1IC8qIEhUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEhUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBMb2FkVGltaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvYWRUaW1pbmcuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NjJGMTI5RDE4QzE1NzJDMDA1QzU0QUYgLyogQ291bnRl
ZFVzZXJBY3Rpdml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3VudGVk
VXNlckFjdGl2aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg2MkYxMjlGMThD
MURDRTQwMDVDNTRBRiAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSHlzdGVyZXNpc0FjdGl2aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjUx
MkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAv
KiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI0NjEwLDcgKzI0NjA4LDYgQEAKIAkJCQlDRDYyRkI5NDFBRjAxOEU3MDAxMkVEN0QgLyog
R2VuZXJpY1Rhc2tRdWV1ZS5oICovLAogCQkJCUE4NzQ4QkRGMTJDQkYyREMwMDFGQkE0MSAvKiBI
YXNoVG9vbHMuaCAqLywKIAkJCQlCQzNCQzI5QjBFOTFBQjBGMDA4MzU1ODggLyogSG9zdFdpbmRv
dy5oICovLAotCQkJCTg2MkYxMjlGMThDMURDRTQwMDVDNTRBRiAvKiBIeXN0ZXJlc2lzQWN0aXZp
dHkuaCAqLywKIAkJCQkxQUUwMEQ1NzE4MkRBQzhEMDAwODdERDcgLyogS2V5ZWRDb2RpbmcuaCAq
LywKIAkJCQlFMTVGRjdENDE4Qzk1NTM4MDBGRTRDODcgLyogS2V5cHJlc3NDb21tYW5kLmggKi8s
CiAJCQkJQTNENDJBODQxRjMzQkEzNjAwQTY0QjYyIC8qIExheW91dFVuaXQuY3BwICovLApAQCAt
MjgxMzgsNyArMjgxMzUsNiBAQAogCQkJCTQxNjE0QTc5MURBNjQyNDEwMDRBRDA2RiAvKiBIVFRQ
SGVhZGVyVmFsdWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTRDNzY3MzBDRTkyM0ExMDA3RUYz
Q0QgLyogSFRUUFBhcnNlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3NUNEMjMyMTE5RDQzQzgw
MEEyQTg1OSAvKiBIeXBoZW5hdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODYyRjEyQTAxOEMx
REQwMjAwNUM1NEFGIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUVCQjg5MzMxQzc3NzgyOTAwQzY1RDQxIC8qIEljZUNhbmRpZGF0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjI3NTM1NkUwQjA1MzgxNDAwMkNFNjRGIC8qIEljb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxM0YxNDU0MEFCNjM0QzQwMDA5NERERiAvKiBJY29uTG9hZGVyLmggaW4gSGVhZGVycyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0
eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1YzgyZmQyN2NmYTc3MmVkMGQ2ZjliMzI0YTQ1MDAw
YmQ2ZWVlOTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKKysrIC9kZXYvbnVs
bApAQCAtMSwxMDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSHlzdGVyZXNpc0FjdGl2
aXR5X2gKLSNkZWZpbmUgSHlzdGVyZXNpc0FjdGl2aXR5X2gKLQotI2luY2x1ZGUgPHd0Zi9SdW5M
b29wLmg+Ci0jaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1zdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0SHlzdGVyZXNpc0R1cmF0aW9uIHsgNV9zIH07
Ci0KLWVudW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsKLSAgICBTdGFydGVkLAotICAgIFN0b3Bw
ZWQKLX07Ci0KLWNsYXNzIEh5c3RlcmVzaXNBY3Rpdml0eSB7Ci1wdWJsaWM6Ci0gICAgZXhwbGlj
aXQgSHlzdGVyZXNpc0FjdGl2aXR5KFdURjo6RnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUp
PiYmIGNhbGxiYWNrID0gW10oSHlzdGVyZXNpc1N0YXRlKSB7IH0sIFNlY29uZHMgaHlzdGVyZXNp
c1NlY29uZHMgPSBkZWZhdWx0SHlzdGVyZXNpc0R1cmF0aW9uKQotICAgICAgICA6IG1fY2FsbGJh
Y2soV1RGTW92ZShjYWxsYmFjaykpCi0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0
ZXJlc2lzU2Vjb25kcykKLSAgICAgICAgLCBtX2FjdGl2ZShmYWxzZSkKLSAgICAgICAgLCBtX3Rp
bWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkh5c3RlcmVzaXNBY3Rpdml0eTo6aHlzdGVyZXNp
c1RpbWVyRmlyZWQpCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgc3RhcnQoKQotICAgIHsKLSAg
ICAgICAgaWYgKG1fYWN0aXZlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX2FjdGl2
ZSA9IHRydWU7Ci0KLSAgICAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAg
IG1fdGltZXIuc3RvcCgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2NhbGxiYWNrKEh5
c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCk7Ci0gICAgfQotCi0gICAgdm9pZCBzdG9wKCkKLSAgICB7
Ci0gICAgICAgIGlmICghbV9hY3RpdmUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1f
YWN0aXZlID0gZmFsc2U7Ci0KLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJl
c2lzU2Vjb25kcyk7Ci0gICAgfQotCi0gICAgdm9pZCBpbXB1bHNlKCkKLSAgICB7Ci0gICAgICAg
IGlmICghbV9hY3RpdmUpIHsKLSAgICAgICAgICAgIHN0YXJ0KCk7Ci0gICAgICAgICAgICBzdG9w
KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBIeXN0ZXJlc2lzU3RhdGUgc3RhdGUoKSBjb25z
dAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fYWN0aXZlIHx8IG1fdGltZXIuaXNBY3RpdmUoKSA/
IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCA6IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZDsKLSAg
ICB9Ci0gICAgCi1wcml2YXRlOgotICAgIHZvaWQgaHlzdGVyZXNpc1RpbWVyRmlyZWQoKQotICAg
IHsKLSAgICAgICAgbV90aW1lci5zdG9wKCk7Ci0gICAgICAgIG1fY2FsbGJhY2soSHlzdGVyZXNp
c1N0YXRlOjpTdG9wcGVkKTsKLSAgICB9Ci0KLSAgICBXVEY6OkZ1bmN0aW9uPHZvaWQoSHlzdGVy
ZXNpc1N0YXRlKT4gbV9jYWxsYmFjazsKLSAgICBTZWNvbmRzIG1faHlzdGVyZXNpc1NlY29uZHM7
Ci0gICAgYm9vbCBtX2FjdGl2ZTsKLSAgICBSdW5Mb29wOjpUaW1lcjxIeXN0ZXJlc2lzQWN0aXZp
dHk+IG1fdGltZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBI
eXN0ZXJlc2lzQWN0aXZpdHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VXNlckFjdGl2aXR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5j
cHAKaW5kZXggM2JjYjJmM2RhNzYwOWEzZmU3Mzg4YzZlOGM5ZGY2Y2ZjMzdkZjg3YS4uNjJlMmQy
MTJiMmNmY2JlMjM4OTNjMzM2MzFlNTUwNTllM2Q4NzE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Vc2VyQWN0aXZpdHkuY3BwCkBAIC00NSwxNCArNDUsMTQgQEAgdm9pZCBVc2VyQWN0aXZp
dHk6OkltcGw6OmVuZEFjdGl2aXR5KCkKICNlbmRpZgogCiBVc2VyQWN0aXZpdHk6OlVzZXJBY3Rp
dml0eShjb25zdCBjaGFyKiBkZXNjcmlwdGlvbikKLSAgICA6IEh5c3RlcmVzaXNBY3Rpdml0eShb
dGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5c3RlcmVzaXNVcGRhdGVkKHN0YXRlKTsg
fSkKKyAgICA6IFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5KFt0aGlzXShQQUw6Okh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7IH0pCiAgICAgLCBtX2ltcGwo
ZGVzY3JpcHRpb24pCiB7CiB9CiAKLXZvaWQgVXNlckFjdGl2aXR5OjpoeXN0ZXJlc2lzVXBkYXRl
ZChIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCit2b2lkIFVzZXJBY3Rpdml0eTo6aHlzdGVyZXNpc1Vw
ZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpCiB7Ci0gICAgaWYgKHN0YXRlID09IEh5
c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCkKKyAgICBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lz
U3RhdGU6OlN0YXJ0ZWQpCiAgICAgICAgIG1faW1wbC5iZWdpbkFjdGl2aXR5KCk7CiAgICAgZWxz
ZQogICAgICAgICBtX2ltcGwuZW5kQWN0aXZpdHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNl
ckFjdGl2aXR5LmgKaW5kZXggN2IwYzFkYTIyMTMwNzE2NjMzYjU0ZmYzY2Q0YTg2M2M1OGQ4YTNk
NS4uZWViMmQ3MzJhZmM5ZmNhZWY5MDM2MzkyYzJmMmMxZjgyM2Q3MjMxMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgVXNl
ckFjdGl2aXR5X2gKICNkZWZpbmUgVXNlckFjdGl2aXR5X2gKIAotI2luY2x1ZGUgIkh5c3RlcmVz
aXNBY3Rpdml0eS5oIgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KIAogI2lm
IEhBVkUoTlNfQUNUSVZJVFkpCiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CkBAIC00MCw3ICs0MCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoZSBVc2VyQWN0aXZpdHkgdHlwZSBpcyB1c2Vk
IHRvIGluZGljYXRlIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRoYXQKIC8vIGEgdXNlciBpbml0
aWF0ZWQgb3IgdmlzaWJsZSBhY3Rpb24gaXMgdGFraW5nIHBsYWNlLCBhbmQgYXMgc3VjaCB0aGF0
CiAvLyByZXNvdXJjZXMgc2hvdWxkIGJlIGFsbG9jYXRlZCB0byB0aGUgcHJvY2VzcyBhY2NvcmRp
bmdseS4KLWNsYXNzIFVzZXJBY3Rpdml0eSA6IHB1YmxpYyBIeXN0ZXJlc2lzQWN0aXZpdHkgewor
Y2xhc3MgVXNlckFjdGl2aXR5IDogcHVibGljIFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5IHsKIHB1
YmxpYzoKICAgICBjbGFzcyBJbXBsIHsKICAgICBwdWJsaWM6CkBAIC01OSw3ICs1OSw3IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBVc2VyQWN0aXZpdHkoY29uc3QgY2hh
ciogZGVzY3JpcHRpb24pOwogCiBwcml2YXRlOgotICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQo
SHlzdGVyZXNpc1N0YXRlKTsKKyAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVy
ZXNpc1N0YXRlKTsKIAogICAgIEltcGwgbV9pbXBsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0lt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0
b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKaW5kZXggMTVlNjk2YTVlMWU3YWQxODYyZTBiNzExMGI3
YzQ1MmJjN2IzNjMxYS4uMWE4MWNkYzdiMTBkMzUxMGU0MjA4MDBmNTkxMjRlMTYxZDI0NzQxZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2lu
Z1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKQEAgLTQxLDcg
KzQxLDcgQEAgc3RhdGljIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGNyZWF0ZUNhaXJvSW1hZ2VT
dXJmYWNlV2l0aEZhc3RNYWxsb2MoY29uc3QgSW50U2kKIAogQmFja2luZ1N0b3JlQmFja2VuZENh
aXJvSW1wbDo6QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbChjb25zdCBJbnRTaXplJiBzaXpl
LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKICAgICA6IEJhY2tpbmdTdG9yZUJhY2tlbmRDYWly
byhzaXplKQotICAgICwgbV9zY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0
ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX3Njcm9s
bFN1cmZhY2UgPSBudWxscHRyOyB9LCBzY3JvbGxIeXN0ZXJlc2lzRHVyYXRpb24pCisgICAgLCBt
X3Njcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsg
aWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX3Njcm9sbFN1cmZh
Y2UgPSBudWxscHRyOyB9LCBzY3JvbGxIeXN0ZXJlc2lzRHVyYXRpb24pCiB7CiAgICAgSW50U2l6
ZSBzY2FsZWRTaXplID0gbV9zaXplOwogICAgIHNjYWxlZFNpemUuc2NhbGUoZGV2aWNlU2NhbGVG
YWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5oCmluZGV4IDQ1
MzdkMzUxODgyODEzMmYxMzU1YTA4MWMyZDhlMTNiNDQzMjNiNzUuLjQ1OGE5ZmM1NzNjNTQ4Mzgw
MmFmODgwOTc0NGNlNTI3NDQ5ZmE1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5k
Q2Fpcm9JbXBsLmgKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2lmIFVTRShDQUlSTykKICNpbmNsdWRl
ICJCYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm8uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0h5c3RlcmVz
aXNBY3Rpdml0eS5oPgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMyw3ICszMyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBz
Y3JvbGwoY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFNpemUmKSBvdmVycmlkZTsKIAogICAgIFJl
ZlB0cjxjYWlyb19zdXJmYWNlX3Q+IG1fc2Nyb2xsU3VyZmFjZTsKLSAgICBXZWJDb3JlOjpIeXN0
ZXJlc2lzQWN0aXZpdHkgbV9zY3JvbGxlZEh5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lz
QWN0aXZpdHkgbV9zY3JvbGxlZEh5c3RlcmVzaXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0
YWJhc2VUcmFja2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgKaW5kZXggN2IyZDI0MjI2ZGEyZDlkY2Q3YmIxODYx
ZWFhNGYwZDZjOWNkMWRkYy4uZjkzNzdjZDM0ZDAyZjc4MjYxOTQzNDRmMzhmZDEzNTBhZjJjZjZk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFi
YXNlVHJhY2tlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJT
UUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQuaApAQCAtMjcsOCArMjcsOCBAQAogCiAjaWYgUExB
VEZPUk0oSU9TKQogCi0jaW5jbHVkZSAiSHlzdGVyZXNpc0FjdGl2aXR5LmgiCiAjaW5jbHVkZSAi
U1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgiCisjaW5jbHVkZSA8cGFsL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKQEAgLTQ3LDkgKzQ3LDkgQEAgcHJpdmF0ZToKICAgICBXZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXJDbGllbnQoKTsKICAgICB2aXJ0dWFsIH5XZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXJDbGllbnQoKTsKIAotICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQoSHlzdGVyZXNpc1N0YXRl
KTsKKyAgICB2b2lkIGh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVyZXNpc1N0YXRlKTsKIAot
ICAgIEh5c3RlcmVzaXNBY3Rpdml0eSBtX2h5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lz
QWN0aXZpdHkgbV9oeXN0ZXJlc2lzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0K
aW5kZXggMGE5YmI5NTU5ZmEyN2YwYTc5ZGNjMWQ1MTY5ZWYyZjMwMDdmZWEyNC4uMDdkM2Q1ZGUz
NzgzZmJlZmZlNDAyM2E0MWU0MTIyZDAyNWQwZjg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50
Lm1tCkBAIC01MCw3ICs1MCw3IEBAIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudCYgV2Vi
U1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50OjpzaGFyZWRXZWJTUUxpdGVECiB9CiAKIFdlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudDo6V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50
KCkKLSAgICA6IG1faHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5
c3RlcmVzaXNVcGRhdGVkKHN0YXRlKTsgfSwgaHlzdGVyZXNpc0R1cmF0aW9uKQorICAgIDogbV9o
eXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lz
VXBkYXRlZChzdGF0ZSk7IH0sIGh5c3RlcmVzaXNEdXJhdGlvbikKIHsKIH0KIApAQCAtNzIsOSAr
NzIsOSBAQCB2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudDo6ZGlkRmluaXNoTGFz
dFRyYW5zYWN0aW9uKCkKICAgICB9KTsKIH0KIAotdm9pZCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXJDbGllbnQ6Omh5c3RlcmVzaXNVcGRhdGVkKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkKK3ZvaWQg
V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50OjpoeXN0ZXJlc2lzVXBkYXRlZChQQUw6Okh5
c3RlcmVzaXNTdGF0ZSBzdGF0ZSkKIHsKLSAgICBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRl
OjpTdGFydGVkKQorICAgIGlmIChzdGF0ZSA9PSBQQUw6Okh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRl
ZCkKICAgICAgICAgW1dlYkRhdGFiYXNlVHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0NvbnRyb2xs
ZXIgc3RhcnRCYWNrZ3JvdW5kVGFza107CiAgICAgZWxzZQogICAgICAgICBbV2ViRGF0YWJhc2VU
cmFuc2FjdGlvbkJhY2tncm91bmRUYXNrQ29udHJvbGxlciBlbmRCYWNrZ3JvdW5kVGFza107CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCA2ZTZm
ZmUyZjgyMTg3MzYzZTg5MTdkNmIwMDA4MTUzNGM3OWNhNjdkLi5lZDgwOTE1Y2M5OGNiMWI3ZjIy
N2NiODc2ZDhhNjg4YmZhYTJmYmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkTWFuYWdlci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJOZXR3b3JrQ2Fj
aGVTdWJyZXNvdXJjZXNFbnRyeS5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaD4KLSNpbmNsdWRlIDxXZWJDb3Jl
L0h5c3RlcmVzaXNBY3Rpdml0eS5oPgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHku
aD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMjA3LDcgKzIwNyw3
IEBAIHByaXZhdGU6CiAgICAgICAgIDogbV9zdG9yYWdlKHN0b3JhZ2UpCiAgICAgICAgICwgbV9t
YWluUmVzb3VyY2VLZXkobWFpblJlc291cmNlS2V5KQogICAgICAgICAsIG1fbG9hZENvbXBsZXRp
b25IYW5kbGVyKFdURk1vdmUobG9hZENvbXBsZXRpb25IYW5kbGVyKSkKLSAgICAgICAgLCBtX2xv
YWRIeXN0ZXJlc2lzQWN0aXZpdHkoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAo
c3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtYXJrTG9hZEFzQ29tcGxldGVkKCk7
IH0pCisgICAgICAgICwgbV9sb2FkSHlzdGVyZXNpc0FjdGl2aXR5KFt0aGlzXShQQUw6Okh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6OlN0
b3BwZWQpIG1hcmtMb2FkQXNDb21wbGV0ZWQoKTsgfSkKICAgICB7CiAgICAgICAgIG1fbG9hZEh5
c3RlcmVzaXNBY3Rpdml0eS5pbXB1bHNlKCk7CiAgICAgfQpAQCAtMjM5LDcgKzIzOSw3IEBAIHBy
aXZhdGU6CiAgICAgS2V5IG1fbWFpblJlc291cmNlS2V5OwogICAgIFZlY3RvcjxzdGQ6OnVuaXF1
ZV9wdHI8U3VicmVzb3VyY2VMb2FkPj4gbV9zdWJyZXNvdXJjZUxvYWRzOwogICAgIFdURjo6RnVu
Y3Rpb248dm9pZCgpPiBtX2xvYWRDb21wbGV0aW9uSGFuZGxlcjsKLSAgICBIeXN0ZXJlc2lzQWN0
aXZpdHkgbV9sb2FkSHlzdGVyZXNpc0FjdGl2aXR5OworICAgIFBBTDo6SHlzdGVyZXNpc0FjdGl2
aXR5IG1fbG9hZEh5c3RlcmVzaXNBY3Rpdml0eTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VicmVz
b3VyY2VzRW50cnk+IG1fZXhpc3RpbmdFbnRyeTsKICAgICBib29sIG1fZGlkRmluaXNoTG9hZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2RpZFJldHJpZXZlRXhpc3RpbmdFbnRyeSB7IGZhbHNlIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNw
cAppbmRleCA5MmE3Zjk0NWNhMTA0ZGE0MzI5MTMxODA0YWQ2YmQ4YTFhYjYyOTY4Li5mYjY5MWIx
MTg3ZDgyYWI5NjMyNWIzYTlmZTQyODA5M2QzMWI4MWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6V2ViU1FMaXRl
RGF0YWJhc2VUcmFja2VyKE5ldHdvcmtQcm9jZXNzJiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNz
KHByb2Nlc3MpCi0gICAgLCBtX2h5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0
ZSkgeyBoeXN0ZXJlc2lzVXBkYXRlZChzdGF0ZSk7IH0pCisgICAgLCBtX2h5c3RlcmVzaXMoW3Ro
aXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGh5c3RlcmVzaXNVcGRhdGVkKHN0YXRl
KTsgfSkKICAgICAsIG1fY2hpbGRQcm9jZXNzVHlwZShDaGlsZFByb2Nlc3NUeXBlOjpOZXR3b3Jr
KQogewogICAgIFNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6c2V0Q2xpZW50KHRoaXMpOwpAQCAtNDcs
NyArNDcsNyBAQCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OldlYlNRTGl0ZURhdGFiYXNlVHJh
Y2tlcihOZXR3b3JrUHJvY2VzcyYgcHJvY2VzcykKIAogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2Vy
OjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIoV2ViUHJvY2VzcyYgcHJvY2VzcykKICAgICA6IG1f
cHJvY2Vzcyhwcm9jZXNzKQotICAgICwgbV9oeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lzU3Rh
dGUgc3RhdGUpIHsgaHlzdGVyZXNpc1VwZGF0ZWQoc3RhdGUpOyB9KQorICAgICwgbV9oeXN0ZXJl
c2lzKFt0aGlzXShQQUw6Okh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBoeXN0ZXJlc2lzVXBkYXRl
ZChzdGF0ZSk7IH0pCiAgICAgLCBtX2NoaWxkUHJvY2Vzc1R5cGUoQ2hpbGRQcm9jZXNzVHlwZTo6
V2ViQ29udGVudCkKIHsKICAgICBTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OnNldENsaWVudCh0aGlz
KTsKQEAgLTY3LDE0ICs2NywxNCBAQCB2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6ZGlk
RmluaXNoTGFzdFRyYW5zYWN0aW9uKCkKICAgICB9KTsKIH0KIAotdm9pZCBXZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXI6Omh5c3RlcmVzaXNVcGRhdGVkKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkKK3Zv
aWQgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpoeXN0ZXJlc2lzVXBkYXRlZChQQUw6Okh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkKIHsKICAgICBzd2l0Y2ggKG1fY2hpbGRQcm9jZXNzVHlwZSkgewog
ICAgIGNhc2UgQ2hpbGRQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKLSAgICAgICAgbV9wcm9jZXNz
LnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6U2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdGFy
dGVkKSwgMCk7CisgICAgICAgIG1fcHJvY2Vzcy5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xvY2tlZEZpbGVzKHN0
YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdGFydGVkKSwgMCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQ2hpbGRQcm9jZXNzVHlwZTo6TmV0d29yazoKLSAgICAgICAgbV9wcm9jZXNz
LnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNz
UHJveHk6OlNldElzSG9sZGluZ0xvY2tlZEZpbGVzKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6
U3RhcnRlZCksIDApOworICAgICAgICBtX3Byb2Nlc3MucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94eTo6U2V0SXNIb2xkaW5nTG9ja2Vk
RmlsZXMoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpLCAwKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
U1FMaXRlRGF0YWJhc2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVE
YXRhYmFzZVRyYWNrZXIuaAppbmRleCBlYTVjZWExN2NjNjBjZjgxMjFhMGE3NzVmNWQyMzNlMjk4
OWEyNzk3Li43YzViNzVhNDE2NGQ5NDRkY2E5MGNhMjk4ZDdlM2QzZDljNTFmNzAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaApAQCAtMjYs
OCArMjYsOCBAQAogI2lmbmRlZiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJfaAogI2RlZmluZSBX
ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJfaAogCi0jaW5jbHVkZSA8V2ViQ29yZS9IeXN0ZXJlc2lz
QWN0aXZpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVu
dC5oPgorI2luY2x1ZGUgPHBhbC9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NywxMCArNDcsMTAgQEAg
cHVibGljOgogICAgIHZvaWQgZGlkRmluaXNoTGFzdFRyYW5zYWN0aW9uKCkgb3ZlcnJpZGU7CiAK
IHByaXZhdGU6Ci0gICAgdm9pZCBoeXN0ZXJlc2lzVXBkYXRlZChXZWJDb3JlOjpIeXN0ZXJlc2lz
U3RhdGUpOworICAgIHZvaWQgaHlzdGVyZXNpc1VwZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUp
OwogCiAgICAgQ2hpbGRQcm9jZXNzJiBtX3Byb2Nlc3M7Ci0gICAgV2ViQ29yZTo6SHlzdGVyZXNp
c0FjdGl2aXR5IG1faHlzdGVyZXNpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2h5
c3RlcmVzaXM7CiAgICAgZW51bSBjbGFzcyBDaGlsZFByb2Nlc3NUeXBlIHsgTmV0d29yaywgV2Vi
Q29udGVudCB9OwogICAgIENoaWxkUHJvY2Vzc1R5cGUgbV9jaGlsZFByb2Nlc3NUeXBlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMTcw
ZWRmN2ZjNDk3YzNjNzcxMDVmYzA2OTFhZGZiZTAzYmY1NTIzYy4uMzIxZWE0Zjg3OGUzOGJjMmZl
Y2M4Y2JhY2I1MTBjYTgwZTM1NzZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMzOSw3ICszMzksNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVp
bnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyIHsgc3RkOjptYWtlX3VuaXF1ZTxVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI+KCp0aGlzKSB9CiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhb
dGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3Rh
dGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJl
c2lzRHVyYXRpb24pCisgICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKFBBTDo6
SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBQQUw6Okh5c3RlcmVzaXNTdGF0
ZTo6U3RvcHBlZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9sbEh5c3RlcmVz
aXNEdXJhdGlvbikKICAgICAsIG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKHBhcmFt
ZXRlcnMuY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKQogICAgICwgbV9jYW5SdW5Nb2Rh
bChwYXJhbWV0ZXJzLmNhblJ1bk1vZGFsKQogI2lmIFBMQVRGT1JNKElPUykKQEAgLTM1Miw3ICsz
NTIsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgLCBtX2FjdGl2aXR5U3RhdGUocGFyYW1ldGVy
cy5hY3Rpdml0eVN0YXRlKQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKHRydWUp
CiAgICAgLCBtX3VzZXJBY3Rpdml0eSgiUHJvY2VzcyBzdXBwcmVzc2lvbiBkaXNhYmxlZCBmb3Ig
cGFnZS4iKQotICAgICwgbV91c2VyQWN0aXZpdHlIeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lz
U3RhdGUpIHsgdXBkYXRlVXNlckFjdGl2aXR5KCk7IH0pCisgICAgLCBtX3VzZXJBY3Rpdml0eUh5
c3RlcmVzaXMoW3RoaXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlKSB7IHVwZGF0ZVVzZXJBY3Rpdml0
eSgpOyB9KQogICAgICwgbV91c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKHBhcmFtZXRlcnMu
dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbikKICAgICAsIG1fb3ZlcnJpZGVDb250ZW50U2Vj
dXJpdHlQb2xpY3kgeyBwYXJhbWV0ZXJzLm92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5IH0K
ICAgICAsIG1fY3B1TGltaXQocGFyYW1ldGVycy5jcHVMaW1pdCkKQEAgLTYyMCw3ICs2MjAsNyBA
QCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogCiB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVVzZXJBY3Rpdml0eSgpCiB7Ci0gICAgaWYgKG1fdXNlckFjdGl2aXR5SHlzdGVyZXNpcy5z
dGF0ZSgpID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RhcnRlZCkKKyAgICBpZiAobV91c2VyQWN0aXZp
dHlIeXN0ZXJlc2lzLnN0YXRlKCkgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6OlN0YXJ0ZWQpCiAg
ICAgICAgIG1fdXNlckFjdGl2aXR5LnN0YXJ0KCk7CiAgICAgZWxzZQogICAgICAgICBtX3VzZXJB
Y3Rpdml0eS5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggMWY5NjUwYTc5ZDE5OTI0NjE3YzQyZGUyMDhiZjMwM2M3NWI3YWVlOS4uZjhkZjNk
MWVhZDNlYTJjNWYxMmZhYTRmYmE1MGRlZTQxMjFkYzBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDksNyArNDksNiBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGljdGlvbmFyeVBvcHVw
SW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplSGFzaC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGFnZS5oPgpAQCAtNjEsNiArNjAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVXNlclNjcmlwdFR5
cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaD4KICNpbmNs
dWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8cGFsL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0xNDUzLDcgKzE0NTMsNyBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX3BlbmRpbmdEcm9wU2FuZGJveEV4dGVuc2lvbjsKICAg
ICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiBtX3BlbmRpbmdEcm9wRXh0ZW5zaW9u
c0ZvckZpbGVVcGxvYWQ7CiAKLSAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9wYWdl
U2Nyb2xsZWRIeXN0ZXJlc2lzOworICAgIFBBTDo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fcGFnZVNj
cm9sbGVkSHlzdGVyZXNpczsKIAogICAgIGJvb2wgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJt
UGFuZWwgeyBmYWxzZSB9OwogCkBAIC0xNTUzLDcgKzE1NTMsNyBAQCBwcml2YXRlOgogCiAgICAg
Ym9vbCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQ7CiAgICAgVXNlckFjdGl2aXR5IG1fdXNl
ckFjdGl2aXR5OwotICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX3VzZXJBY3Rpdml0
eUh5c3RlcmVzaXM7CisgICAgUEFMOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV91c2VyQWN0aXZpdHlI
eXN0ZXJlc2lzOwogCiAgICAgdWludDY0X3QgbV9wZW5kaW5nTmF2aWdhdGlvbklEIHsgMCB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggN2I2Y2Q0Zjc0ZDYx
NjdhZWIxMDAyMmQ3NDBjOGY0MWFmZWU5NTI1NS4uNDRlYjg4MzBmYzBmNGViZjE3N2RkNjk2ZmZi
YmU0YTYwNzBjZTQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApA
QCAtMTYyLDcgKzE2Miw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICwgbV93ZWJJ
bnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXI6OmNyZWF0ZSgpKQogICAgICwgbV93ZWJMb2FkZXJTdHJhdGVneSgqbmV3IFdlYkxvYWRlclN0
cmF0ZWd5KQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXZWJDYWNoZVN0b3JhZ2VQcm92
aWRlcjo6Y3JlYXRlKCkpCi0gICAgLCBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpcyhbdGhpc10oSHlz
dGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3Bw
ZWQpIG1fZG5zUHJlZmV0Y2hlZEhvc3RzLmNsZWFyKCk7IH0pCisgICAgLCBtX2Ruc1ByZWZldGNo
SHlzdGVyZXJpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRl
ID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ruc1ByZWZldGNoZWRIb3N0cy5j
bGVhcigpOyB9KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgICwgbV9wbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
OjpjcmVhdGUoKSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5k
ZXggZDQzZjdkZDdiM2Q3MDZhNGU1MDcxNmZmZWM0NTAzNWJkNDJmMzRmOC4uNzM5YTg1N2RkYjE5
ZmQ5ZTQ2YmE0YjBiZjBkNDE4NDQyOTE3YzBiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCkBAIC0zNCw4ICszNCw4IEBACiAjaW5jbHVkZSAiVmlld1VwZGF0ZURpc3BhdGNo
ZXIuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9BY3Rpdml0eVN0YXRlLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9IeXN0ZXJl
c2lzQWN0aXZpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CisjaW5jbHVkZSA8cGFs
L0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0zODksNyAr
Mzg5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fZG5zUHJl
ZmV0Y2hlZEhvc3RzOwotICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2Ruc1ByZWZl
dGNoSHlzdGVyZXJpczsKKyAgICBQQUw6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2Ruc1ByZWZldGNo
SHlzdGVyZXJpczsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5PiBtX2F1dG9tYXRpb25TZXNzaW9uUHJveHk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>