<?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>236238</bug_id>
          
          <creation_ts>2022-02-07 07:46:39 -0800</creation_ts>
          <short_desc>[content-visibility] Support for CSS property content-visibility</short_desc>
          <delta_ts>2024-10-11 13:08:59 -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>CSS</component>
          <version>WebKit Local 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>
          <dependson>261825</dependson>
    
    <dependson>223930</dependson>
    
    <dependson>236371</dependson>
    
    <dependson>236710</dependson>
    
    <dependson>236711</dependson>
    
    <dependson>237369</dependson>
    
    <dependson>245775</dependson>
    
    <dependson>245776</dependson>
    
    <dependson>247196</dependson>
    
    <dependson>247370</dependson>
    
    <dependson>247617</dependson>
    
    <dependson>248280</dependson>
    
    <dependson>248790</dependson>
    
    <dependson>249473</dependson>
    
    <dependson>251614</dependson>
    
    <dependson>257704</dependson>
    
    <dependson>258194</dependson>
    
    <dependson>258880</dependson>
    
    <dependson>258974</dependson>
    
    <dependson>258983</dependson>
    
    <dependson>259042</dependson>
    
    <dependson>259269</dependson>
    
    <dependson>259645</dependson>
    
    <dependson>259730</dependson>
    
    <dependson>259825</dependson>
    
    <dependson>261943</dependson>
    
    <dependson>261999</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="cathiechen">cathiechen</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>cathiechen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jean.timex</cc>
    
    <cc>jensimmons</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>mads</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ntim</cc>
    
    <cc>pdr</cc>
    
    <cc>rbuis</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>the.bull</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1838141</commentid>
    <comment_count>0</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-02-07 07:46:39 -0800</bug_when>
    <thetext>https://www.w3.org/TR/css-contain-2/#content-visibility</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838578</commentid>
    <comment_count>1</comment_count>
      <attachid>451225</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-08 02:21:34 -0800</bug_when>
    <thetext>Created attachment 451225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838579</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-02-08 02:23:51 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839069</commentid>
    <comment_count>3</comment_count>
      <attachid>451353</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-09 02:54:28 -0800</bug_when>
    <thetext>Created attachment 451353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839182</commentid>
    <comment_count>4</comment_count>
      <attachid>451385</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-09 08:35:23 -0800</bug_when>
    <thetext>Created attachment 451385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839300</commentid>
    <comment_count>5</comment_count>
      <attachid>451414</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-09 11:20:25 -0800</bug_when>
    <thetext>Created attachment 451414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841247</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-14 07:47:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/88903730&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842853</commentid>
    <comment_count>7</comment_count>
      <attachid>452356</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-17 05:48:14 -0800</bug_when>
    <thetext>Created attachment 452356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842905</commentid>
    <comment_count>8</comment_count>
      <attachid>452368</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-17 08:03:19 -0800</bug_when>
    <thetext>Created attachment 452368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844763</commentid>
    <comment_count>9</comment_count>
      <attachid>452880</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-22 09:54:32 -0800</bug_when>
    <thetext>Created attachment 452880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844857</commentid>
    <comment_count>10</comment_count>
      <attachid>452899</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-22 13:40:55 -0800</bug_when>
    <thetext>Created attachment 452899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845077</commentid>
    <comment_count>11</comment_count>
      <attachid>452962</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-23 03:45:15 -0800</bug_when>
    <thetext>Created attachment 452962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845555</commentid>
    <comment_count>12</comment_count>
      <attachid>453086</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-24 02:11:02 -0800</bug_when>
    <thetext>Created attachment 453086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845568</commentid>
    <comment_count>13</comment_count>
      <attachid>453091</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-24 03:32:45 -0800</bug_when>
    <thetext>Created attachment 453091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853007</commentid>
    <comment_count>14</comment_count>
      <attachid>455179</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-03-19 15:29:36 -0700</bug_when>
    <thetext>Created attachment 455179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1912382</commentid>
    <comment_count>15</comment_count>
    <who name="Yong Su">jean.timex</who>
    <bug_when>2022-11-14 11:34:34 -0800</bug_when>
    <thetext>Hi, is there a timeline for supporting this feature? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2067314</commentid>
    <comment_count>16</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2024-10-11 13:08:59 -0700</bug_when>
    <thetext>This feature is shipping in Safari 18.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451225</attachid>
            <date>2022-02-08 02:21:34 -0800</date>
            <delta_ts>2022-02-09 02:54:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220208102132.patch</filename>
            <type>text/plain</type>
            <size>106205</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNkNTUwYTQzYjAxZWVk
OTZiNTJiNjJkZjMyN2Q0MGQ1NTc5ODFkZi4uNWUxODUwNWNlMDRmZWNjZDI4YjhkMWY1MjU1NWQ4
MjY4MzI5MTU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0wOCAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMDggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVuZGVyTGF5ZXI6IFNpbXBsaWZ5IFJlbmRlckVs
ZW1lbnQ6OnBhaW50KCkgY2FsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9Eb2N1bWVudFRpbWVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVu
dFRpbWVsaW5lLmNwcAppbmRleCA4MWQ0MGY0YzljZThjYjkzZTI2NzNiMTA1NzhlMDIyNzVmMzFm
ZmNiLi42NGIxYjZmM2U4M2JiMjU1MDdkYzkyZjhkMjY2NzUwNDkxYTlmYWMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCkBAIC00MTUsNiArNDE1
LDE2IEBAIEFuaW1hdGlvbkV2ZW50cyBEb2N1bWVudFRpbWVsaW5lOjpwcmVwYXJlRm9yUGVuZGlu
Z0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKCkKIHsKICAgICBtX3Nob3VsZFNjaGVkdWxlQW5pbWF0
aW9uUmVzb2x1dGlvbkZvck5ld1BlbmRpbmdFdmVudHMgPSB0cnVlOwogICAgIHJldHVybiBzdGQ6
OmV4Y2hhbmdlKG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cywgeyB9KTsKKyAgICBBbmltYXRpb25F
dmVudHMgZXZlbnRzOworICAgIGZvciAoYXV0byYgZXZlbnQgOiBtX3BlbmRpbmdBbmltYXRpb25F
dmVudHMpIHsKKyAgICAgICAgaWYgKGV2ZW50LT5hbmltYXRpb24oKS0+aXNJbkhpZGRlblN1YnRy
ZWUoKSkKKy8vICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gZXZlbnQtPnRhcmdldCgpLT5pc05v
ZGUoKSAmJiAhZG93bmNhc3Q8Tm9kZT4oKmV2ZW50LT50YXJnZXQoKSkuaXNEb2N1bWVudE5vZGUo
KSA/IGR5bmFtaWNEb3duY2FzdDxFbGVtZW50PigqZXZlbnQtPnRhcmdldCgpKSA6IG51bGxwdHI7
CisvLyAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNTa2lwcGVkQ29udGVudCgpKQor
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGV2ZW50cy5hcHBlbmQoZXZlbnQpOworICAg
ICAgICBtX3BlbmRpbmdBbmltYXRpb25FdmVudHMucmVtb3ZlRmlyc3QoZXZlbnQpOworICAgIH0K
KyAgICByZXR1cm4gZXZlbnRzOwogfQogCiBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgZG91Ymxl
Pj4gRG9jdW1lbnRUaW1lbGluZTo6YWNjZWxlcmF0ZWRBbmltYXRpb25zRm9yRWxlbWVudChFbGVt
ZW50JiBlbGVtZW50KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L0RvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcAppbmRleCA3N2I5ZmIyY2FjZWQyMjBk
ZTQxNTU2Nzk3Zjg1NzJiMGE2Y2E4ZDgzLi42OGUzMDUzMmVhMWFmZmNkZDE2ZDVhNzUxM2ZkYTFk
NTg1YWMxM2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRU
aW1lbGluZXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9j
dW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcApAQCAtMTA1LDYgKzEwNSw4IEBAIHZvaWQgRG9j
dW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjp1cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhS
ZWR1Y2VkUmVzb2x1dGlvCiAgICAgICAgIHRpbWVsaW5lc1RvVXBkYXRlLmFwcGVuZCh0aW1lbGlu
ZS5jb3B5UmVmKCkpOwogCiAgICAgICAgIGZvciAoYXV0byYgYW5pbWF0aW9uIDogY29weVRvVmVj
dG9yKHRpbWVsaW5lLT5yZWxldmFudEFuaW1hdGlvbnMoKSkpIHsKKyAgICAgICAgICAgIGlmIChh
bmltYXRpb24tPmlzSW5IaWRkZW5TdWJ0cmVlKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgICAgICBpZiAoYW5pbWF0aW9uLT50aW1lbGluZSgpICE9IHRpbWVsaW5lLnB0cigp
KSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKCFhbmltYXRpb24tPnRpbWVsaW5lKCkpOwogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTUwLDggKzE1MiwxMiBAQCB2b2lkIERvY3VtZW50
VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoUmVkdWNl
ZFJlc29sdXRpbwogICAgIH0pOwogCiAgICAgLy8gNy4gRGlzcGF0Y2ggZWFjaCBvZiB0aGUgZXZl
bnRzIGluIGV2ZW50cyB0byBkaXNwYXRjaCBhdCB0aGVpciBjb3JyZXNwb25kaW5nIHRhcmdldCB1
c2luZyB0aGUgb3JkZXIgZXN0YWJsaXNoZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAuCi0gICAgZm9y
IChhdXRvJiBldmVudCA6IGV2ZW50cykKKyAgICBmb3IgKGF1dG8mIGV2ZW50IDogZXZlbnRzKSB7
CisgICAgICAgIC8vIEVsZW1lbnQqIGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgp
ICYmICFkb3duY2FzdDxOb2RlPigqZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8g
ZHluYW1pY0Rvd25jYXN0PEVsZW1lbnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKyAg
ICAgICAgLy8gaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNTa2lwcGVkQ29udGVudCgpKQorICAg
ICAgICAvLyAgICBjb250aW51ZTsKICAgICAgICAgZXZlbnQtPnRhcmdldCgpLT5kaXNwYXRjaEV2
ZW50KGV2ZW50KTsKKyAgICB9CiAKICAgICAvLyBUaGlzIHdpbGwgY2FuY2VsIGFueSBzY2hlZHVs
ZWQgaW52YWxpZGF0aW9uIGlmIHdlIGVuZCB1cCByZW1vdmluZyBhbGwgYW5pbWF0aW9ucy4KICAg
ICBmb3IgKGF1dG8mIGFuaW1hdGlvbiA6IGFuaW1hdGlvbnNUb1JlbW92ZSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAppbmRleCA3Y2E5NWU4OTFiMDU4ZThmNDRi
Yzc2NzM5ZDcxYmY4MTMzZmNkYWM2Li5jMzFhYmIwNzRhNzJhNDllYmQ5OTFiNDBhNTMyOTI4MTIx
ODRlMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAt
MTUwNSw0ICsxNTA1LDEzIEBAIFNlY29uZHMgV2ViQW5pbWF0aW9uOjp0aW1lVG9OZXh0VGljaygp
IGNvbnN0CiAgICAgcmV0dXJuIGVmZmVjdCgpLT50aW1lVG9OZXh0VGljayhlZmZlY3QoKS0+Z2V0
QmFzaWNUaW1pbmcoKSkgLyBwbGF5YmFja1JhdGU7CiB9CiAKK2Jvb2wgV2ViQW5pbWF0aW9uOjpp
c0luSGlkZGVuU3VidHJlZSgpCit7CisgICAgaWYgKCFpc0RlY2xhcmF0aXZlQW5pbWF0aW9uKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoYXV0byBlbGVtZW50ID0gZG93bmNhc3Q8
RGVjbGFyYXRpdmVBbmltYXRpb24+KHRoaXMpLT5vd25pbmdFbGVtZW50KCkpCisgICAgICAgIHJl
dHVybiBlbGVtZW50LT5lbGVtZW50LmlzU2tpcHBlZENvbnRlbnQoKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9X
ZWJBbmltYXRpb24uaAppbmRleCA1NGEwZWU2ODUyMDVhMDljMmYzNDQ2MDJkZmQ5MmY5ZjA0NWEz
OGYxLi42ODM1ODE2OGQyOTg0MDE0YjUyN2I5MTQ4NzlkNjE4MGZkOWE3MzhkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCkBAIC02Niw2ICs2Niw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNsYXJhdGl2ZUFuaW1hdGlvbigpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQ1NTQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNDU1NUcmFuc2l0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIGlzSW5IaWRkZW5TdWJ0cmVlKCk7CiAKICAgICBjb25z
dCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQogICAgIHZvaWQgc2V0SWQoY29u
c3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCmluZGV4IGUxNWM4OGM4ODRjZDAwNjk1MzVlMWE0MDFlNDdlODAyNDM3
MGJmMjQuLmEzYWFmNTA1NmRiYTNhNWM3OTY0ZDk3YWQ5MDE3MzljYTJhN2FjZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBA
IC0zNjQ0LDYgKzM2NDQsMTQgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFj
dG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgICAg
ICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUN1c3RvbUlkZW50KG5hbWUpKTsK
ICAgICAgICAgICAgIHJldHVybiBsaXN0OwogICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlDb250ZW50VmlzaWJpbGl0eToKKyAgICAgICAgICAgIGlmICghbV9lbGVtZW50LT5kb2N1
bWVudCgpLnNldHRpbmdzKCkuY3NzQ29udGFpbm1lbnRFbmFibGVkKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBpZiAoc3R5bGUuY29udGVudFZpc2liaWxp
dHlIaWRkZW4oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlk
ZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUhpZGRlbik7CisgICAgICAgICAgICBpZiAoc3R5bGUuY29u
dGVudFZpc2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6QXV0bykKKyAgICAgICAgICAg
ICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1
dG8pOworICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tmYWNlVmlz
aWJpbGl0eToKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmll
clZhbHVlKChzdHlsZS5iYWNrZmFjZVZpc2liaWxpdHkoKSA9PSBCYWNrZmFjZVZpc2liaWxpdHk6
OkhpZGRlbikgPyBDU1NWYWx1ZUhpZGRlbiA6IENTU1ZhbHVlVmlzaWJsZSk7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJJbWFnZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uCmluZGV4IDEzNjBhMDQ4ODljYzcxYzQ1OTk3MjZlYmQzNDdlNDFhN2E1NjY5Yzgu
LmQxMWVmMTE0ZGEzNTY0ZTQ0MWVjOWQxZmIwNWE0ZDVlYzU5YjVhYzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTI3MCw2ICs1MjcwLDE5IEBACiAgICAgICAgICAg
ICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4tMy8jY29u
dGFpbmVyLXF1ZXJpZXMiCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJjb250
ZW50LXZpc2liaWxpdHkiOiB7CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewor
ICAgICAgICAgICAgICAgICJjdXN0b20iOiAiQWxsIiwKKyAgICAgICAgICAgICAgICAic2V0dGlu
Z3MtZmxhZyI6ICJjc3NDb250YWlubWVudEVuYWJsZWQiCisgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgInN0YXR1cyI6IHsKKyAgICAgICAgICAgICAgICAic3RhdHVzIjogImV4cGVyaW1lbnRh
bCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAg
ICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWNvbnRhaW4iLAorICAgICAgICAgICAgICAgICJ1
cmwiOiAiaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250YWluLTIvIgorICAgICAgICAg
ICAgfQorICAgICAgICB9LAogICAgICAgICAiYmFja2ZhY2UtdmlzaWJpbGl0eSI6IHsKICAgICAg
ICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImFsaWFzZXMi
OiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcApp
bmRleCA1NWQzNmJiNTg2MTY4MzBlYTViNTRjODk5OWUyYTBiOWIwNDE0OTYzLi4wM2M2NjdjNjdj
Y2MyNTkyYTRjODlmZjgzYjY4MTAzMWRmZTZmMDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAKQEAgLTIzMCw2ICsyMzAsNyBAQCBib29sIENT
U1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQoQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eSkgY29uc3QKICAgICBjYXNlIENTU1Byb3BlcnR5QXNwZWN0UmF0aW86CiAgICAgICAg
IHJldHVybiAhYXNwZWN0UmF0aW9FbmFibGVkOwogICAgIGNhc2UgQ1NTUHJvcGVydHlDb250YWlu
OgorICAgIGNhc2UgQ1NTUHJvcGVydHlDb250ZW50VmlzaWJpbGl0eToKICAgICAgICAgcmV0dXJu
ICFjb250YWlubWVudEVuYWJsZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFwcGxlQ29sb3JGaWx0
ZXI6CiAgICAgICAgIHJldHVybiAhY29sb3JGaWx0ZXJFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCBiZmI5YjYxMTU5MjJl
ZTZjOWQ1NDc1ZmY4ZmRjMTRhNzE2MzhlNTU5Li4zMjFhYmU5OTE4MGUxYTg1MTcxNDgwODdlNGU3
YWI5ZTMyMTZlZjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmNwcApAQCAtNDAzMyw2ICs0MDMzLDEzIEBAIHN0YXRpYyBSZWZQdHI8Q1NTVmFs
dWU+IGNvbnN1bWVDb250YWluKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQogICAgIHJldHVy
biBSZWZQdHI8Q1NTVmFsdWU+KFdURk1vdmUobGlzdCkpOwogfQogCitzdGF0aWMgUmVmUHRyPENT
U1ZhbHVlPiBjb25zdW1lQ29udGVudFZpc2liaWxpdHlIaWRkZW4oQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UpCit7CisgICAgaWYgKGF1dG8gc2luZ2xlVmFsdWUgPSBjb25zdW1lSWRlbnQ8Q1NT
VmFsdWVWaXNpYmxlLCBDU1NWYWx1ZUF1dG8sIENTU1ZhbHVlSGlkZGVuPihyYW5nZSkpCisgICAg
ICAgIHJldHVybiBzaW5nbGVWYWx1ZTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogc3RhdGlj
IFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZVRleHRFbXBoYXNpc1Bvc2l0aW9uKENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlKQogewogICAgIGJvb2wgZm91bmRPdmVyT3JVbmRlciA9IGZhbHNlOwpA
QCAtNDY2MSw2ICs0NjY4LDEwIEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlU2luZ2xlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSwgQ1NTCiAgICAgICAgIGlm
ICghbV9jb250ZXh0LmNvbnRhaW5tZW50RW5hYmxlZCkKICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgICAgICByZXR1cm4gY29uc3VtZUNvbnRhaW4obV9yYW5nZSk7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5OgorICAgICAgICBpZiAoIW1fY29udGV4dC5jb250
YWlubWVudEVuYWJsZWQpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0
dXJuIGNvbnN1bWVDb250ZW50VmlzaWJpbGl0eUhpZGRlbihtX3JhbmdlKTsKICAgICBjYXNlIENT
U1Byb3BlcnR5VGV4dEVtcGhhc2lzUG9zaXRpb246CiAgICAgICAgIHJldHVybiBjb25zdW1lVGV4
dEVtcGhhc2lzUG9zaXRpb24obV9yYW5nZSk7CiAjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhOWI3YzU2NDFjZTJmMGYyZjY3ZWVmM2RlOGRkZTdm
NmQ0ZmJkY2Y2Li4yMGNjOTI0OGVhZTAwNGRmYmE3ZTEzODVlOWVhZTQ1YmJjNzQ5NmM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTEzMyw2ICsxMzMsNyBAQAogI2luY2x1ZGUgIkltYWdl
T3ZlcmxheUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCIKICNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIkludGVyc2Vj
dGlvbk9ic2VydmVyQ2FsbGJhY2suaCIKICNpbmNsdWRlICJKU0N1c3RvbUVsZW1lbnRJbnRlcmZh
Y2UuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTTGF6eUV2
ZW50TGlzdGVuZXIuaCIKQEAgLTM4OCw2ICszODksMzMgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
ZGlzYWxsb3dMYXlvdXQgeyBmYWxzZSB9OwogfTsKIAorY2xhc3MgQ29udGVudFZpc2liaWxpdHlJ
bnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrIGZpbmFsIDogcHVibGljIEludGVyc2VjdGlvbk9i
c2VydmVyQ2FsbGJhY2sgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q29udGVudFZpc2liaWxp
dHlJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiBjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29udGVudFZpc2liaWxpdHlJ
bnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrKGRvY3VtZW50KSk7CisgICAgfQorCitwcml2YXRl
OgorICAgIGJvb2wgaGFzQ2FsbGJhY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisK
KyAgICBDYWxsYmFja1Jlc3VsdDx2b2lkPiBoYW5kbGVFdmVudChJbnRlcnNlY3Rpb25PYnNlcnZl
ciYsIGNvbnN0IFZlY3RvcjxSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4+JiBlbnRyaWVz
LCBJbnRlcnNlY3Rpb25PYnNlcnZlciYpIGZpbmFsCisgICAgeworICAgICAgICBBU1NFUlQoIWVu
dHJpZXMuaXNFbXB0eSgpKTsKKworICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykg
eworICAgICAgICAgICAgaWYgKGF1dG8qIGVsZW1lbnQgPSBlbnRyeS0+dGFyZ2V0KCkpCisgICAg
ICAgICAgICAgICAgZWxlbWVudC0+Y29udGVudFZpc2liaWxpdHlWaWV3cG9ydENoYW5nZShlbnRy
eS0+aXNJbnRlcnNlY3RpbmcoKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICB9CisKKyAgICBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2so
RG9jdW1lbnQmIGRvY3VtZW50KQorICAgICAgICA6IEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2soJmRvY3VtZW50KQorICAgIHsKKyAgICB9Cit9OworCiAvLyBEZWZpbmVkIGhlcmUgdG8gYXZv
aWQgaW5jbHVkaW5nIEdDUmVhY2hhYmxlUmVmLmggaW4gRG9jdW1lbnQuaAogc3RydWN0IERvY3Vt
ZW50OjpQZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0IHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKQEAgLTIxNzcsNyArMjIwNSw3IEBAIGJvb2wgRG9jdW1lbnQ6OnVwZGF0ZVN0eWxl
SWZOZWVkZWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIERvY3VtZW50Ojp1cGRhdGVM
YXlvdXQoKQordm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KEZvcmNlTGF5b3V0IGZvcmNlTGF5
b3V0KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKQEAgLTIxOTgsMTIgKzIyMjYs
MjEgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KCkKIAogICAgIFN0YWNrU3RhdHM6Okxh
eW91dENoZWNrUG9pbnQgbGF5b3V0Q2hlY2tQb2ludDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8Ym9v
bD4gb2xkTGF5b3V0Rm9yY2VkOworICAgIGlmIChmb3JjZUxheW91dCA9PSBGb3JjZUxheW91dDo6
WWVzICYmIHZpZXcoKSkgeworICAgICAgICBvbGRMYXlvdXRGb3JjZWQgPSB2aWV3KCktPmxheW91
dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpOworICAgICAgICB2aWV3KCktPmxheW91dENvbnRl
eHQoKS5zZXRMYXlvdXRGb3JjZWQodHJ1ZSk7CisgICAgfQorCiAgICAgLy8gT25seSBkbyBhIGxh
eW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2FyeS4gICAg
ICAKLSAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAmJiAoZnJhbWVWaWV3LT5sYXlv
dXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5uZWVkc0xheW91
dCgpKSkKKyAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAmJiAoZnJhbWVWaWV3LT5s
YXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5uZWVkc0xh
eW91dCgpIHx8IGZvcmNlTGF5b3V0ID09IEZvcmNlTGF5b3V0OjpZZXMpKQogICAgICAgICBmcmFt
ZVZpZXctPmxheW91dENvbnRleHQoKS5sYXlvdXQoKTsKKworICAgIGlmIChvbGRMYXlvdXRGb3Jj
ZWQpCisgICAgICAgIHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLnNldExheW91dEZvcmNlZCgqb2xk
TGF5b3V0Rm9yY2VkKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MgcnVuUG9zdExheW91
dFRhc2tzKQordm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzLCBGb3Jj
ZUxheW91dCBmb3JjZUxheW91dCkKIHsKICAgICBib29sIG9sZElnbm9yZSA9IG1faWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzOwogCkBAIC0yMjE0LDcgKzIyNTEsNyBAQCB2b2lkIERvY3VtZW50Ojp1
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlv
dXRUYXNrcwogICAgICAgICAgICAgc2NoZWR1bGVGdWxsU3R5bGVSZWJ1aWxkKCk7CiAgICAgfQog
Ci0gICAgdXBkYXRlTGF5b3V0KCk7CisgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIAog
ICAgIGlmIChydW5Qb3N0TGF5b3V0VGFza3MgPT0gUnVuUG9zdExheW91dFRhc2tzOjpTeW5jaHJv
bm91c2x5ICYmIHZpZXcoKSkKICAgICAgICAgdmlldygpLT5mbHVzaEFueVBlbmRpbmdQb3N0TGF5
b3V0VGFza3MoKTsKQEAgLTQ2NzgsNiArNDcxNSwxMSBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1
c2VkRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMp
CiAgICAgICAgIG1fZm9jdXNlZEVsZW1lbnQtPnNldEZvY3VzKHRydWUsIG9wdGlvbnMudmlzaWJp
bGl0eSk7CiAgICAgICAgIG1fbGF0ZXN0Rm9jdXNUcmlnZ2VyID0gb3B0aW9ucy50cmlnZ2VyOwog
CisgICAgICAgIGZvciAoYXV0byBmb2N1c2VkID0gbmV3Rm9jdXNlZEVsZW1lbnQ7IGZvY3VzZWQ7
IGZvY3VzZWQgPSBmb2N1c2VkLT5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkgeworICAg
ICAgICAgICAgaWYgKGF1dG8qIGRhdGEgPSBmb2N1c2VkLT5jb250ZW50VmlzaWJpbGl0eURhdGEo
KSkKKyAgICAgICAgICAgICAgICBkYXRhLT5zdWJ0cmVlSGFzRm9jdXMgPSB0cnVlOworICAgICAg
ICB9CisKICAgICAgICAgLy8gVGhlIHNldEZvY3VzIGNhbGwgdHJpZ2dlcnMgYSBibHVyIGFuZCBh
IGZvY3VzIGV2ZW50LiBFdmVudCBoYW5kbGVycyBjb3VsZCBjYXVzZSB0aGUgZm9jdXNlZCBlbGVt
ZW50IHRvIGJlIGNsZWFyZWQuCiAgICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0Zv
Y3VzZWRFbGVtZW50KSB7CiAgICAgICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAg
LTgwMDMsNyArODA0NSw4IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEludGVyc2VjdGlvbk9ic2Vy
dmF0aW9uU3RhdGU+IGNvbXB1dGVJbnRlcnNlY3Rpb25TdGF0ZShGcmFtCiAgICAgRmxvYXRSZWN0
IHJvb3RMb2NhbEludGVyc2VjdGlvblJlY3QgPSBsb2NhbFJvb3RCb3VuZHM7CiAKICAgICBJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvblN0YXRlIGludGVyc2VjdGlvblN0YXRlOwotICAgIGludGVyc2Vj
dGlvblN0YXRlLmlzSW50ZXJzZWN0aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9j
YWxJbnRlcnNlY3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdl
dFJlY3QpOworICAgIGlmICghdGFyZ2V0LmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgaW50
ZXJzZWN0aW9uU3RhdGUuaXNJbnRlcnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJv
b3RMb2NhbEludGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2Fs
VGFyZ2V0UmVjdCk7CiAgICAgaW50ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVUYXJnZXRSZWN0ID0g
dGFyZ2V0UmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KGxvY2FsVGFyZ2V0
Qm91bmRzKSkuYm91bmRpbmdCb3goKTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVJv
b3RCb3VuZHMgPSByb290UmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQobG9jYWxSb290Qm91
bmRzKS5ib3VuZGluZ0JveCgpOwogCkBAIC05MDg2LDYgKzkxMjksNDQgQEAgc3RkOjpvcHRpb25h
bDxQQUw6OlNlc3Npb25JRD4gRG9jdW1lbnQ6OnNlc3Npb25JRCgpIGNvbnN0CiAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIH0KIAorQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBEb2N1
bWVudDo6Y29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCkKK3sKKyAgICBpZiAoIW1fY29u
dGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKQorICAgICAgICBtX2NvbnRlbnRWaXNpYmlsaXR5
RG9jdW1lbnRTdGF0ZSA9IG1ha2VVbmlxdWU8Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRl
PigqdGhpcyk7CisgICAgcmV0dXJuICptX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTsK
K30KKworQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpDb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVu
dCkKK3sKK30KKwordm9pZCBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRl
bnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0
byogaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQor
ICAgICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlci0+b2JzZXJ2ZShlbGVtZW50KTsKK30KKwordm9p
ZCBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OnJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5
T2JzZXJ2YXRpb24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0
aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRl
cnNlY3Rpb25PYnNlcnZlci0+dW5vYnNlcnZlKGVsZW1lbnQpOworfQorCitJbnRlcnNlY3Rpb25P
YnNlcnZlciogQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjplbnN1cmVJbnRlcnNlY3Rp
b25PYnNlcnZlcigpCit7CisgICAgaWYgKCFtX29ic2VydmVyKSB7CisgICAgICAgIGF1dG8gY2Fs
bGJhY2sgPSBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s6OmNy
ZWF0ZSgqbV9kb2N1bWVudCk7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBT
dHJpbmc+IGNvbnRlbnRWaXNpYmlsaXR5Um9vdE1hcmdpbkZhbGxiYWNrKE1BS0VfU1RBVElDX1NU
UklOR19JTVBMKCIxMDAlIikpOworICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6SW5pdCBv
cHRpb25zIHsgc3RkOjpudWxsb3B0LCBjb250ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFj
aywgeyB9IH07CisgICAgICAgIGF1dG8gb2JzZXJ2ZXIgPSBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6
Y3JlYXRlKCptX2RvY3VtZW50LCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7
CisgICAgICAgIGlmIChvYnNlcnZlci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworICAgICAgICBtX29ic2VydmVyID0gb2JzZXJ2ZXIucmV0dXJuVmFsdWUoKS5w
dHIoKTsKKyAgICB9CisgICAgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI3VuZGVmIERPQ1VNRU5UX1JFTEVBU0VfTE9HCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IDRkZDdkMzZjZTI0OGMwZjU2NzZhMGQ1OGU5ODBkODA2ZTYxMDZiNzAuLjI2
MGIwN2I5NmZlZTkyOTQ1MDQ5YzQwYzM5NTlmOWViNDcyOTQ0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCkBAIC0zMzksNiArMzM5LDIxIEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVudD4g
bV9kb2N1bWVudDsKIH07CiAKK2NsYXNzIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ29udGVudFZpc2li
aWxpdHlEb2N1bWVudFN0YXRlKERvY3VtZW50Jik7CisKKyAgICB2b2lkIGFkZENvbnRlbnRWaXNp
YmlsaXR5T2JzZXJ2YXRpb24oRWxlbWVudCYpOworICAgIHZvaWQgcmVtb3ZlQ29udGVudFZpc2li
aWxpdHlPYnNlcnZhdGlvbihFbGVtZW50Jik7CisKK3ByaXZhdGU6CisgICAgSW50ZXJzZWN0aW9u
T2JzZXJ2ZXIqIGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCk7CisKKyAgICBSZWZQdHI8SW50
ZXJzZWN0aW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXI7CisgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9k
b2N1bWVudDsKK307CisKIGNsYXNzIERvY3VtZW50CiAgICAgOiBwdWJsaWMgQ29udGFpbmVyTm9k
ZQogICAgICwgcHVibGljIFRyZWVTY29wZQpAQCAtNjIwLDEyICs2MzUsMTMgQEAgcHVibGljOgog
ICAgIGJvb2wgbmVlZHNTdHlsZVJlY2FsYygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxhc3RTdHls
ZVVwZGF0ZVNpemVGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0U3R5bGVVcGRhdGVT
aXplRm9yVGVzdGluZzsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXQo
KTsKKyAgICBlbnVtIGNsYXNzIEZvcmNlTGF5b3V0IHsgTm8sIFllcyB9OworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0KEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsK
ICAgICAKICAgICAvLyB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKSBmb3Jj
ZXMgbGF5b3V0IGV2ZW4gaWYgd2UgYXJlIHdhaXRpbmcgZm9yIHBlbmRpbmcgc3R5bGVzaGVldCBs
b2FkcywKICAgICAvLyBzbyBjYWxsaW5nIHRoaXMgbWF5IGNhdXNlIGEgZmxhc2ggb2YgdW5zdHls
ZWQgY29udGVudCAoRk9VQykuCiAgICAgZW51bSBjbGFzcyBSdW5Qb3N0TGF5b3V0VGFza3MgeyBB
c3luY2hyb25vdXNseSwgU3luY2hyb25vdXNseSB9OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9
IFJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHkpOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRU
YXNrcyA9IFJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIEZvcmNlTGF5b3V0ID0g
Rm9yY2VMYXlvdXQ6Ok5vKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5
bGVGb3JFbGVtZW50SWdub3JpbmdQZW5kaW5nU3R5bGVzaGVldHMoRWxlbWVudCYsIGNvbnN0IFJl
bmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgUHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZSk7CiAKQEAg
LTE2NDMsNiArMTY1OSw4IEBAIHB1YmxpYzoKIAogICAgIExhenlMb2FkSW1hZ2VPYnNlcnZlciYg
bGF6eUxvYWRJbWFnZU9ic2VydmVyKCk7CiAKKyAgICBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50
U3RhdGUmIGNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpOworCiAgICAgdm9pZCBzZXRI
YXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5
Q3VzdG9tQ29udGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0
b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29u
dGVudDsgfQogICAgIHZvaWQgZW5xdWV1ZVBhaW50VGltaW5nRW50cnlJZk5lZWRlZCgpOwpAQCAt
MTg4NCw2ICsxOTAyLDggQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5TG9h
ZEltYWdlT2JzZXJ2ZXI+IG1fbGF6eUxvYWRJbWFnZU9ic2VydmVyOwogCisgICAgc3RkOjp1bmlx
dWVfcHRyPENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZT4gbV9jb250ZW50VmlzaWJpbGl0
eURvY3VtZW50U3RhdGU7CisKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3Bl
bmRpbmdTdGF0ZU9iamVjdDsKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgTW9ub3RvbmljVGltZSBt
X2RvY3VtZW50Q3JlYXRpb25UaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDU5YzkzNWI2
YjJjYzI0Y2Q2M2RkMTY5MmE2YmNhZThjOGRjZTRiZTcuLmIwMDY5NzM0NTI4YzVkOGQ2Zjk3Zjg5
Y2ZjZTFiZjMzZDc2YjRkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyODEsNyArMTI4
MSw3IEBAIGludCBFbGVtZW50OjpvZmZzZXRUb3BGb3JCaW5kaW5ncygpCiAKIGludCBFbGVtZW50
OjpvZmZzZXRUb3AoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHks
IERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIHJlbmRlcmVyID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGFk
anVzdE9mZnNldEZvclpvb21BbmRTdWJwaXhlbExheW91dCgqcmVuZGVyZXIsIHJlbmRlcmVyLT5v
ZmZzZXRUb3AoKSk7CiAgICAgcmV0dXJuIDA7CkBAIC0xNzY2LDcgKzE3NjYsNyBAQCBzdGQ6Om9w
dGlvbmFsPHN0ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBFbGVtZW50Ojpib3Vu
ZGluZ0Fic29sdXRlUmVjdAogCiBGbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0
KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6
Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byBwYWlyID0gYm91bmRpbmdBYnNvbHV0ZVJlY3RX
aXRob3V0TGF5b3V0KCk7CiAgICAgaWYgKCFwYWlyKQogICAgICAgICByZXR1cm4geyB9OwpAQCAt
MzA2NCw2ICszMDY0LDkgQEAgdm9pZCBFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMm
IG9wdGlvbnMpCiAgICAgaWYgKCFpc0Nvbm5lY3RlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAg
ICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKICAgICBSZWYgZG9j
dW1lbnQgeyB0aGlzLT5kb2N1bWVudCgpIH07CiAgICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkRWxl
bWVudCgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCkpCkBAIC0zMzM2
LDYgKzMzMzksOSBAQCBTdHJpbmcgRWxlbWVudDo6aW5uZXJUZXh0KCkKICAgICAvLyBXZSBuZWVk
IHRvIHVwZGF0ZSBsYXlvdXQsIHNpbmNlIHBsYWluVGV4dCB1c2VzIGxpbmUgYm94ZXMgaW4gdGhl
IHJlbmRlciB0cmVlLgogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7CiAKKyAgICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiB0ZXh0
Q29udGVudCh0cnVlKTsKIApAQCAtMzU1MSw5ICszNTU3LDggQEAgYm9vbCBFbGVtZW50OjpoYXNW
YWxpZFN0eWxlKCkgY29uc3QKIAogYm9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRob3V0UmVzb2x2
aW5nRnVsbFN0eWxlKCkgY29uc3QKIHsKLQogICAgIGlmIChyZW5kZXJTdHlsZSgpIHx8IGhhc1Zh
bGlkU3R5bGUoKSkKLSAgICAgICAgcmV0dXJuIHJlbmRlclN0eWxlKCkgJiYgcmVuZGVyU3R5bGUo
KS0+dmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OlZpc2libGU7CisgICAgICAgIHJldHVybiBy
ZW5kZXJTdHlsZSgpICYmIHJlbmRlclN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5
OjpWaXNpYmxlICYmICFpc1NraXBwZWRDb250ZW50KCk7CiAKICAgICBhdXRvIGNvbXB1dGVkU3R5
bGVGb3JFbGVtZW50ID0gW10oRWxlbWVudCYgZWxlbWVudCkgLT4gY29uc3QgUmVuZGVyU3R5bGUq
IHsKICAgICAgICAgYXV0byogc3R5bGUgPSBlbGVtZW50Lmhhc05vZGVGbGFnKE5vZGVGbGFnOjpJ
c0NvbXB1dGVkU3R5bGVJbnZhbGlkRmxhZykgPyBudWxscHRyIDogZWxlbWVudC5leGlzdGluZ0Nv
bXB1dGVkU3R5bGUoKTsKQEAgLTM1NzEsNiArMzU3Niw5IEBAIGJvb2wgRWxlbWVudDo6aXNWaXNp
YmxlV2l0aG91dFJlc29sdmluZ0Z1bGxTdHlsZSgpIGNvbnN0CiAgICAgaWYgKHN0eWxlLT52aXNp
YmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgaWYgKGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgZm9yIChhdXRvJiBlbGVtZW50IDogY29tcG9zZWRUcmVlQW5jZXN0b3JzKGNvbnN0X2Nhc3Q8
RWxlbWVudCY+KCp0aGlzKSkpIHsKICAgICAgICAgYXV0byogc3R5bGUgPSBjb21wdXRlZFN0eWxl
Rm9yRWxlbWVudChlbGVtZW50KTsKICAgICAgICAgaWYgKCFzdHlsZSB8fCBzdHlsZS0+ZGlzcGxh
eSgpID09IERpc3BsYXlUeXBlOjpOb25lKQpAQCAtNDc0MSw2ICs0NzQ5LDEwMiBAQCBFbGVtZW50
SWRlbnRpZmllciBFbGVtZW50OjpjcmVhdGVFbGVtZW50SWRlbnRpZmllcigpCiAgICAgcmV0dXJu
IEVsZW1lbnRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogfQogCitDb250ZW50VmlzaWJpbGl0eURh
dGEmIEVsZW1lbnQ6OmVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpCit7CisgICAgYXV0byYg
cmFyZURhdGEgPSBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhLmNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpKQorICAgICAgICByYXJlRGF0YS5zZXRDb250ZW50VmlzaWJp
bGl0eURhdGEobWFrZVVuaXF1ZTxDb250ZW50VmlzaWJpbGl0eURhdGE+KCkpOworICAgIHJldHVy
biAqcmFyZURhdGEuY29udGVudFZpc2liaWxpdHlEYXRhKCk7Cit9CisKK0NvbnRlbnRWaXNpYmls
aXR5RGF0YSogRWxlbWVudDo6Y29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5jb250ZW50VmlzaWJpbGl0
eURhdGEoKSA6IG51bGxwdHI7Cit9CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRlQ29udGVudFZpc2li
aWxpdHlEYXRhKGJvb2wgc2hvdWxkU2tpcCwgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2li
aWxpdHkpCit7CisgICAgaWYgKGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKSkKKyAgICAg
ICAgc2hvdWxkU2tpcCB8PSBwYXJlbnQtPmlzU2tpcHBlZENvbnRlbnQoKTsKKworICAgIGF1dG8m
IGRhdGEgPSBlbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBpZiAoaXM8SFRNTERp
YWxvZ0VsZW1lbnQ+KCp0aGlzKSkKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hv
dWxkU2tpcCAmJiBjb250ZW50VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVu
OworICAgIGVsc2UKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcDsK
KworICAgIGlmIChSZW5kZXJFbGVtZW50KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCisg
ICAgICAgIHNob3VsZFNraXAgfD0gcmVuZGVyZXItPnNob3VsZFNraXBDb250ZW50KCk7CisgICAg
Zm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPEVsZW1lbnQ+KCp0aGlzKSkKKyAgICAg
ICAgY2hpbGQudXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKHNob3VsZFNraXAsIGNvbnRlbnRW
aXNpYmlsaXR5KTsKK30KKworLy8gRklYTUU6IHRoaXMgaXMgaW5jb21wbGV0ZSwgYW5kIG5lZWRz
IHRvIGJlIHJlZmFjdG9yZWQgd2l0aCBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgY29tcHV0YXRpb25z
IGluIERvY3VtZW50Lgorc3RhdGljIGJvb2wgY29tcHV0ZUludGVyc2VjdGlvbihjb25zdCBEb2N1
bWVudCYgZG9jdW1lbnQsIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVu
ZGVyZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGRv
Y3VtZW50LnZpZXcoKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIEZsb2F0UmVjdCBsb2NhbFJvb3RCb3VuZHMgPSB2aWV3LT5sYXlvdXRWaWV3cG9ydFJlY3Qo
KTsKKyAgICBMYXlvdXRSZWN0IGxvY2FsVGFyZ2V0Qm91bmRzOworICAgIGlmIChpczxSZW5kZXJC
b3g+KCpyZW5kZXJlcikpCisgICAgICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93bmNhc3Q8UmVu
ZGVyQm94PihyZW5kZXJlciktPmJvcmRlckJvdW5kaW5nQm94KCk7CisKKyAgICBzdGQ6Om9wdGlv
bmFsPExheW91dFJlY3Q+IHJvb3RMb2NhbFRhcmdldFJlY3Q7CisgICAgT3B0aW9uU2V0PFJlbmRl
ck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uPiB2aXNpYmxlUmVjdE9wdGlvbnMgPSB7
IFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpVc2VFZGdlSW5jbHVzaXZl
SW50ZXJzZWN0aW9uLCBSZW5kZXJPYmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBw
bHlDb21wb3NpdGVkQ2xpcHMsIFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9u
OjpBcHBseUNvbXBvc2l0ZWRDb250YWluZXJTY3JvbGxzIH07CisgICAgc3RkOjpvcHRpb25hbDxM
YXlvdXRSZWN0PiByZWN0SW5GcmFtZUFic29sdXRlU3BhY2UgPSByZW5kZXJlci0+Y29tcHV0ZVZp
c2libGVSZWN0SW5Db250YWluZXIobG9jYWxUYXJnZXRCb3VuZHMsICZyZW5kZXJlci0+dmlldygp
LCB7IGZhbHNlIC8qIGhhc1Bvc2l0aW9uRml4ZWREZXNjZW5kYW50ICovLCBmYWxzZSAvKiBkaXJ0
eVJlY3RJc0ZsaXBwZWQgKi8sIHZpc2libGVSZWN0T3B0aW9ucyB9KTsKKyAgICBpZiAocmVjdElu
RnJhbWVBYnNvbHV0ZVNwYWNlKQorICAgICAgICByb290TG9jYWxUYXJnZXRSZWN0ID0gcmVjdElu
RnJhbWVBYnNvbHV0ZVNwYWNlOworICAgIEZsb2F0UmVjdCByb290TG9jYWxJbnRlcnNlY3Rpb25S
ZWN0ID0gbG9jYWxSb290Qm91bmRzOworICAgIHJldHVybiByb290TG9jYWxUYXJnZXRSZWN0ICYm
IHJvb3RMb2NhbEludGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExv
Y2FsVGFyZ2V0UmVjdCk7Cit9CisKK2Jvb2wgRWxlbWVudDo6ZGV0ZXJtaW5lSWZTdWJ0cmVlSGFz
Rm9jdXMoKQoreworICAgIGZvciAoYXV0byogZm9jdXNlZCA9IGRvY3VtZW50KCkuZm9jdXNlZEVs
ZW1lbnQoKTsgZm9jdXNlZDsgZm9jdXNlZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBv
c2VkVHJlZSgpKSB7CisgICAgICAgIGlmIChmb2N1c2VkID09IHRoaXMpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEVsZW1lbnQ6
OnVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+
LCBDb250ZW50VmlzaWJpbGl0eSBuZXdDb250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAobmV3
Q29udGVudFZpc2liaWxpdHkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pIHsKKyAgICAgICAg
YXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgICAgICBkYXRh
LmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgPSBjb21wdXRlSW50ZXJzZWN0aW9uKGRvY3VtZW50KCks
IHJlbmRlcmVyKCkpOworICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBmYWxzZTsKKyAg
ICAgICAgZGF0YS5zdWJ0cmVlSGFzRm9jdXMgPSBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygp
OworICAgICAgICBkb2N1bWVudCgpLmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpLmFk
ZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oKnRoaXMpOworICAgIH0KKyAgICB1cGRhdGVD
b250ZW50VmlzaWJpbGl0eURhdGEoZmFsc2UsIG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKK30KKwor
Ym9vbCBFbGVtZW50Ojppc1NraXBwZWRDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29u
dGVudFZpc2liaWxpdHlEYXRhKCkgPyBjb250ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNTa2lwcGVk
Q29udGVudCA6IGZhbHNlOworfQorCitib29sIEVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50KCkg
Y29uc3QKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRW
aXNpYmlsaXR5OjpBdXRvKQorICAgICAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkg
PyAhY29udGVudFZpc2liaWxpdHlEYXRhKCktPmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgJiYgIWNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpLT5zdWJ0cmVlSGFzRm9jdXMgOiB0cnVlOworICAgIHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2li
aWxpdHk6OkhpZGRlbjsKK30KKwordm9pZCBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eVZpZXdw
b3J0Q2hhbmdlKGJvb2wgaXNJbnRlcnNlY3RpbmcpCit7CisgICAgYXV0byYgZGF0YSA9IGVuc3Vy
ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGRhdGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9y
dCA9IGlzSW50ZXJzZWN0aW5nOworICAgIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShmYWxz
ZSwgQ29udGVudFZpc2liaWxpdHk6OkF1dG8pOworfQorCiAjaWYgRU5BQkxFKENTU19UWVBFRF9P
TSkKIAogU3R5bGVQcm9wZXJ0eU1hcCogRWxlbWVudDo6YXR0cmlidXRlU3R5bGVNYXAoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKaW5kZXggZDc3ZDc3NGVmY2JkNjZkMDE5MjVhZjliODRlYWViNWRlNjg0NTJm
Ni4uMTQ2NTlkNWJmOThjMTBmN2VlYWVmNDZjMThkMzk0N2FmM2E4Y2M5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCkBAIC05MSw2ICs5MSwxMiBAQCBzdHJ1Y3QgU2Nyb2xsSW50b1ZpZXdPcHRpb25zOwog
c3RydWN0IFNjcm9sbFRvT3B0aW9uczsKIHN0cnVjdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2
ZW50SW5pdDsKIHN0cnVjdCBTaGFkb3dSb290SW5pdDsKK3N0cnVjdCBDb250ZW50VmlzaWJpbGl0
eURhdGEgeworICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBib29sIGlz
U2tpcHBlZENvbnRlbnQ7CisgICAgYm9vbCBpc0ludGVyc2VjdGluZ1ZpZXdwb3J0IHsgZmFsc2Ug
fTsKKyAgICBib29sIHN1YnRyZWVIYXNGb2N1cyB7IGZhbHNlIH07Cit9OwogCiBuYW1lc3BhY2Ug
U3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7CkBAIC02NjMsNiArNjY5LDEzIEBAIHB1YmxpYzoKICAg
ICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzRHVwbGlj
YXRlQXR0cmlidXRlOyB9OwogICAgIHZvaWQgc2V0SGFzRHVwbGljYXRlQXR0cmlidXRlKGJvb2wg
aGFzRHVwbGljYXRlQXR0cmlidXRlKSB7IG1faGFzRHVwbGljYXRlQXR0cmlidXRlID0gaGFzRHVw
bGljYXRlQXR0cmlidXRlOyB9OwogCisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhJiBlbnN1cmVD
b250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBDb250ZW50VmlzaWJpbGl0eURhdGEqIGNvbnRl
bnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0OworICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2liaWxp
dHkoc3RkOjpvcHRpb25hbDxDb250ZW50VmlzaWJpbGl0eT4gb2xkQ29udGVudFZpc2liaWxpdHks
IENvbnRlbnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKKyAgICB2b2lkIGNvbnRl
bnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoYm9vbCk7CisgICAgYm9vbCBpc1NraXBwZWRDb250
ZW50KCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0OworCiBwcm90
ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBDb25z
dHJ1Y3Rpb25UeXBlKTsKIApAQCAtNjg2LDYgKzY5OSwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0eU1hcD4mJik7CiAjZW5kaWYK
IAorICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGJvb2wgc2hvdWxkU2tpcCwg
Q29udGVudFZpc2liaWxpdHkpOworCisgICAgYm9vbCBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1
cygpOworCiBwcml2YXRlOgogICAgIEZyYW1lKiBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxWaWV3
KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXggODc3
YTM0OWExNDM5M2NiOWRiZDZkNDM3YTdiZDY2MTZlZjI3NTEwYS4uNWM4NmI4ZTQyZjFiNTQ4NjBh
MDFhNjJmOTkzOTg5N2NhMjhhOGNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEg
OiBOb2RlUmFyZURhdGEgewogICAgIHZvaWQqIHR5cGVkT01EYXRhOwogI2VuZGlmCiAgICAgdm9p
ZCogcmVzaXplT2JzZXJ2ZXJEYXRhOworICAgIHZvaWQqIGNvbnRlbnRWaXNpYmlsaXR5RGF0YTsK
IH07CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9mKFNh
bWVTaXplQXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5IHNt
YWxsIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMGVjNDg3ZmI4ZDFm
MGZmOTJkYjE3Njk1MzE5YzA3ZGY0ZTI3ZjZmYi4uOWYxMDlkMDM3ZTA4OWRkMGQyNTQzYjNhMmRm
YTE0OTY1OGI1ZjVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJl
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMTA2
LDYgKzEwNiw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBBdG9tU3RyaW5nJiBub25jZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbm9uY2U7IH0KICAgICB2b2lkIHNldE5vbmNlKGNvbnN0IEF0b21TdHJpbmcm
IHZhbHVlKSB7IG1fbm9uY2UgPSB2YWx1ZTsgfQogCisgICAgQ29udGVudFZpc2liaWxpdHlEYXRh
KiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRWaXNpYmls
aXR5RGF0YS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHlEYXRhKHN0ZDo6
dW5pcXVlX3B0cjxDb250ZW50VmlzaWJpbGl0eURhdGE+JiYgZGF0YSkgeyBtX2NvbnRlbnRWaXNp
YmlsaXR5RGF0YSA9IFdURk1vdmUoZGF0YSk7IH0KKwogI2lmIEVOQUJMRShDU1NfVFlQRURfT00p
CiAgICAgU3R5bGVQcm9wZXJ0eU1hcCogYXR0cmlidXRlU3R5bGVNYXAoKSB7IHJldHVybiBtX2F0
dHJpYnV0ZVN0eWxlTWFwLmdldCgpOyB9CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChS
ZWY8U3R5bGVQcm9wZXJ0eU1hcD4mJiBtYXApIHsgbV9hdHRyaWJ1dGVTdHlsZU1hcCA9IFdURk1v
dmUobWFwKTsgfQpAQCAtMTUxLDYgKzE1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3Vs
dC5hZGQoVXNlVHlwZTo6UGFydE5hbWVzKTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAgICAg
ICAgICByZXN1bHQuYWRkKFVzZVR5cGU6Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fQ29udGVudFZp
c2liaWxpdHlEYXRhKQorICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpDb250ZW50Vmlz
aWJpbGl0eSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogI2VuZGlmCkBAIC0xODQs
NiArMTg5LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJpbmcgbV9ub25jZTsKIAorICAgIHN0
ZDo6dW5pcXVlX3B0cjxDb250ZW50VmlzaWJpbGl0eURhdGE+IG1fY29udGVudFZpc2liaWxpdHlE
YXRhOworCiAgICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50Kik7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXggYzMzMWZiOGU1YTU1NzcxYzM5YTBi
NjMwYjExMDllZjkzMzdiOWE4NS4uY2U1ODQ4NzI1NjZmZmM0NDcxNDg1MjhmNWY4M2JhZGI0MWM2
YTg1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMjY0LDYgKzI2NCw3IEBAIHB1
YmxpYzoKICAgICAgICAgUGFydExpc3QgPSAxIDw8IDE2LAogICAgICAgICBQYXJ0TmFtZXMgPSAx
IDw8IDE3LAogICAgICAgICBOb25jZSA9IDEgPDwgMTgsCisgICAgICAgIENvbnRlbnRWaXNpYmls
aXR5PSAxIDw8IDE5LAogICAgIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCmluZGV4IGNmNzE0OTVmZjlkMjQ5ZTVhMzViYTVmYTRhZTIwOGU5YjBjNWVh
ZjkuLjQxNDJiNzQxMTljOTBlYWVmNzU5ZWMwYzgwMGYyNzNkOGM0NmIxMjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTQ1Niw2ICs0NTYsMTYgQEAgdm9pZCBU
ZXh0SXRlcmF0b3I6OmFkdmFuY2UoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg
IGF1dG8gaXNTa2lwcGVkQ29udGVudE9yVGV4dCA9IFsmXSgpIHsKKyAgICAgICAgaWYgKGlzPEVs
ZW1lbnQ+KG1fbm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4obV9u
b2RlKS0+aXNTa2lwcGVkQ29udGVudCgpOworICAgICAgICAKKyAgICAgICAgaWYgKG1fbm9kZS0+
aXNUZXh0Tm9kZSgpKQorICAgICAgICAgICAgcmV0dXJuIG1fbm9kZS0+cGFyZW50RWxlbWVudCgp
ID8gbV9ub2RlLT5wYXJlbnRFbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKTogZmFsc2U7CisK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH07CisKICAgICB3aGlsZSAobV9ub2RlICYmIG1f
bm9kZSAhPSBtX3Bhc3RFbmROb2RlKSB7CiAgICAgICAgIC8vIGlmIHRoZSByYW5nZSBlbmRzIGF0
IG9mZnNldCAwIG9mIGFuIGVsZW1lbnQsIHJlcHJlc2VudCB0aGUKICAgICAgICAgLy8gcG9zaXRp
b24sIGJ1dCBub3QgdGhlIGNvbnRlbnQsIG9mIHRoYXQgZWxlbWVudCBlLmcuIGlmIHRoZQpAQCAt
NDcyLDcgKzQ4Miw5IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjphZHZhbmNlKCkKICAgICAgICAgICAg
IGlmICghcmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9ICFoYXNEaXNwbGF5Q29udGVudHMo
Km1fbm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlIGlmIChp
czxFbGVtZW50PihtX25vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPnNob3VsZFNr
aXBDb250ZW50KCkpIHsKKyAgICAgICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9IHRydWU7
CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1NraXBwZWRDb250ZW50T3JUZXh0KCkpIHsKICAg
ICAgICAgICAgICAgICAvLyBoYW5kbGUgY3VycmVudCBub2RlIGFjY29yZGluZyB0byBpdHMgdHlw
ZQogICAgICAgICAgICAgICAgIGlmIChyZW5kZXJlci0+aXNUZXh0KCkgJiYgbV9ub2RlLT5pc1Rl
eHROb2RlKCkpCiAgICAgICAgICAgICAgICAgICAgIG1faGFuZGxlZE5vZGUgPSBoYW5kbGVUZXh0
Tm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggNzk4
ZmU4NmJjNGYzMjAyNjcxY2QyZDcxNDY2MDAwYjZlYmFiYjZiZi4uNDViNGQwMjA4OWQxMDI4ODVk
NDEzNjFjYjMwNmI1NDg4YjkzN2ZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwCkBAIC00ODUsOSArNDg1LDkgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6
d2lkdGgoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCiAgICAgfQogCiAgICAgaWYgKGln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6
QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBlbHNlCi0g
ICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7CisgICAgICAgIGRvY3VtZW50KCkudXBk
YXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAogICAgIFJlbmRlckJveCog
Ym94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFib3gpCkBAIC00OTgsNiArNDk4LDExIEBAIHVu
c2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6OndpZHRoKGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKQogCiB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHMpCiB7CisgICAgaWYgKGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKKyAg
ICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9j
dW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3Jj
ZUxheW91dDo6WWVzKTsKKyAgICBlbHNlCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0
KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkgewog
ICAgICAgICAvLyBjaGVjayB0aGUgYXR0cmlidXRlIGZpcnN0IGZvciBhbiBleHBsaWNpdCBwaXhl
bCB2YWx1ZQogICAgICAgICBhdXRvIG9wdGlvbmFsSGVpZ2h0ID0gcGFyc2VIVE1MTm9uTmVnYXRp
dmVJbnRlZ2VyKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oaGVpZ2h0QXR0cikpOwpA
QCAtNTA5LDExICs1MTQsNiBAQCB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9v
bCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCiAgICAgICAgICAgICByZXR1cm4gbV9pbWFnZUxv
YWRlci0+aW1hZ2UoKS0+aW1hZ2VTaXplRm9yUmVuZGVyZXIocmVuZGVyZXIoKSwgMS4wZikuaGVp
Z2h0KCkudG9VbnNpZ25lZCgpOwogICAgIH0KIAotICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7Ci0gICAgZWxzZQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOwot
CiAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKICAgICBpZiAoIWJveCkKICAgICAg
ICAgcmV0dXJuIDA7CkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpz
ZXRXaWR0aCh1bnNpZ25lZCB2YWx1ZSkKIAogaW50IEhUTUxJbWFnZUVsZW1lbnQ6OngoKSBjb25z
dAogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
RG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpG
b3JjZUxheW91dDo6WWVzKTsKICAgICBhdXRvIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsK
ICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzMiw3ICs2MzIsNyBA
QCBpbnQgSFRNTEltYWdlRWxlbWVudDo6eCgpIGNvbnN0CiAKIGludCBIVE1MSW1hZ2VFbGVtZW50
Ojp5KCkgY29uc3QKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBE
b2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJl
bmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCmluZGV4IDFjODA2Yjc5OTAwYWJjYTk2YzFlZTQz
NzNiOTUxYWEwZDQwZDRkZDIuLjNmZjA4N2FiNjA4YzdlZTUzODlmMGRlZjEyYWExMmZlMWJhOWQ3
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNzcsNyArMTc3
LDcgQEAgdW5zaWduZWQgSW1hZ2VJbnB1dFR5cGU6OmhlaWdodCgpIGNvbnN0CiAgICAgQVNTRVJU
KGVsZW1lbnQoKSk7CiAgICAgUmVmPEhUTUxJbnB1dEVsZW1lbnQ+IGVsZW1lbnQoKnRoaXMtPmVs
ZW1lbnQoKSk7CiAKLSAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOworICAg
IGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6
WWVzKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCkpCiAg
ICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpvb20oZG93bmNhc3Q8UmVuZGVyQm94Pigq
cmVuZGVyZXIpLmNvbnRlbnRIZWlnaHQoKSwgKnJlbmRlcmVyKTsKQEAgLTE5OSw3ICsxOTksNyBA
QCB1bnNpZ25lZCBJbWFnZUlucHV0VHlwZTo6d2lkdGgoKSBjb25zdAogICAgIEFTU0VSVChlbGVt
ZW50KCkpOwogICAgIFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVtZW50
KCkpOwogCi0gICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBlbGVt
ZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7
CiAKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAgICAg
ICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRl
cmVyKS5jb250ZW50V2lkdGgoKSwgKnJlbmRlcmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKaW5kZXggNmY5ZWIxZTA5MzgyNGU2YjFiMGY5YTU3YTc1
MjUzYTMyNGZlZTFmYS4uZGRjNmYwMzBmMzEyYzhiMDg1OGNhNjRlYWQ5ZTUxNmE2MzI0ZjM4YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKQEAgLTg0
LDYgKzg0LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNJbkxheW91dCgpIGNvbnN0IHsgcmV0dXJu
IGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6Ok91dHNpZGVMYXlvdXQ7IH0KICAgICBib29s
IGlzSW5SZW5kZXJUcmVlTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSA9PSBM
YXlvdXRQaGFzZTo6SW5SZW5kZXJUcmVlTGF5b3V0OyB9CiAgICAgYm9vbCBpblBhaW50YWJsZVN0
YXRlKCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQaGFzZTo6SW5SZW5k
ZXJUcmVlTGF5b3V0ICYmIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluVmlld1NpemVB
ZGp1c3QgJiYgKGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluUG9zdExheW91dCB8fCBp
bkFzeW5jaHJvbm91c1Rhc2tzKCkpOyB9CisgICAgYm9vbCBpc0xheW91dEZvcmNlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fbGF5b3V0Rm9yY2VkOyB9CisgICAgdm9pZCBzZXRMYXlvdXRGb3JjZWQoYm9v
bCBmKSB7IG1fbGF5b3V0Rm9yY2VkID0gZjsgfQogCiAgICAgdW5zaWduZWQgbGF5b3V0Q291bnQo
KSBjb25zdCB7IHJldHVybiBtX2xheW91dENvdW50OyB9CiAKQEAgLTE3OSw2ICsxODEsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9uZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9OwogICAgIGJvb2wg
bV9pbkFzeW5jaHJvbm91c1Rhc2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2V0TmVlZHNMYXlv
dXRXYXNEZWZlcnJlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2xheW91dEZvcmNlZCB7IGZhbHNl
IH07CiAgICAgTGF5b3V0UGhhc2UgbV9sYXlvdXRQaGFzZSB7IExheW91dFBoYXNlOjpPdXRzaWRl
TGF5b3V0IH07CiAgICAgZW51bSBjbGFzcyBMYXlvdXROZXN0ZWRTdGF0ZSA6IHVpbnQ4X3QgIHsg
Tm90SW5MYXlvdXQsIE5vdE5lc3RlZCwgTmVzdGVkIH07CiAgICAgTGF5b3V0TmVzdGVkU3RhdGUg
bV9sYXlvdXROZXN0ZWRTdGF0ZSB7IExheW91dE5lc3RlZFN0YXRlOjpOb3RJbkxheW91dCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAK
aW5kZXggYjVhMjM3ZTgxNDJlZDdiMjM3YWI0NDUzZGViNjVlMzNiZjRjNzYxOC4uZGVmNjEzNDM3
NmIzNjJlMzgzZmZiY2ZjYjk3NTVjNWZhNDIyYzZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCkBAIC00MSw2ICs0MSw4IEBAIElu
dGVyc2VjdGlvbk9ic2VydmVyRW50cnk6OkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkoY29uc3Qg
SW5pdCYgaW5pdCkKIHsKICAgICBpZiAoaW5pdC5yb290Qm91bmRzKQogICAgICAgICBtX3Jvb3RC
b3VuZHMgPSBET01SZWN0UmVhZE9ubHk6OmZyb21SZWN0KCppbml0LnJvb3RCb3VuZHMpOworICAg
IGlmIChtX3RhcmdldCAmJiBtX3RhcmdldC0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICBt
X2lzSW50ZXJzZWN0aW5nID0gZmFsc2U7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHAKaW5kZXggZWJjYTdlMzNiZDE3
YTA2NTJkZGVhMDhjZDRlNWJhYWRjZjZjOWVhZi4uNzJhZWI4OGI2NDA4ZWFiNGJkNGE0OWYyZjZk
ZjViMmVlNDZiMzNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNl
cnZhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5j
cHAKQEAgLTUxLDE3ICs1MSwxNyBAQCB2b2lkIFJlc2l6ZU9ic2VydmF0aW9uOjp1cGRhdGVPYnNl
cnZhdGlvblNpemUoY29uc3QgQm94U2l6ZXMmIGJveFNpemVzKQogICAgIG1fbGFzdE9ic2VydmF0
aW9uU2l6ZXMgPSBib3hTaXplczsKIH0KIAotYXV0byBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0
ZU9ic2VydmVkU2l6ZXMoKSBjb25zdCAtPiBCb3hTaXplcworc3RkOjpvcHRpb25hbDxSZXNpemVP
YnNlcnZhdGlvbjo6Qm94U2l6ZXM+IFJlc2l6ZU9ic2VydmF0aW9uOjpjb21wdXRlT2JzZXJ2ZWRT
aXplcygpIGNvbnN0CiB7CiAgICAgaWYgKG1fdGFyZ2V0LT5pc1NWR0VsZW1lbnQoKSkgewogICAg
ICAgICBpZiAoYXV0byBzdmdSZWN0ID0gZG93bmNhc3Q8U1ZHRWxlbWVudD4oKm1fdGFyZ2V0KS5n
ZXRCb3VuZGluZ0JveCgpKSB7CiAgICAgICAgICAgICBhdXRvIHNpemUgPSBMYXlvdXRTaXplKHN2
Z1JlY3QtPndpZHRoKCksIHN2Z1JlY3QtPmhlaWdodCgpKTsKLSAgICAgICAgICAgIHJldHVybiB7
IHNpemUsIHNpemUsIHNpemUgfTsKKyAgICAgICAgICAgIHJldHVybiBCb3hTaXplcyB7IHNpemUs
IHNpemUsIHNpemUgfTsKICAgICAgICAgfQogICAgIH0KICAgICBhdXRvKiBib3ggPSBtX3Rhcmdl
dC0+cmVuZGVyQm94KCk7Ci0gICAgaWYgKGJveCkgewotICAgICAgICByZXR1cm4geworICAgIGlm
IChib3ggJiYgIW1fdGFyZ2V0LT5pc1NraXBwZWRDb250ZW50KCkvKmJveCAmJiAhYm94LT5pc1Nr
aXBwZWRDb250ZW50KCkqLykgeworICAgICAgICByZXR1cm4gQm94U2l6ZXMgewogICAgICAgICAg
ICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRTaXplKCksICpi
b3gpLAogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNv
bnRlbnRMb2dpY2FsU2l6ZSgpLCAqYm94KSwKICAgICAgICAgICAgIGFkanVzdExheW91dFNpemVG
b3JBYnNvbHV0ZVpvb20oYm94LT5ib3JkZXJCb3hMb2dpY2FsU2l6ZSgpLCAqYm94KQpAQCAtMTA0
LDE1ICsxMDQsMTcgQEAgRmxvYXRTaXplIFJlc2l6ZU9ic2VydmF0aW9uOjpzbmFwcGVkQ29udGVu
dEJveFNpemUoKSBjb25zdAogc3RkOjpvcHRpb25hbDxSZXNpemVPYnNlcnZhdGlvbjo6Qm94U2l6
ZXM+IFJlc2l6ZU9ic2VydmF0aW9uOjplbGVtZW50U2l6ZUNoYW5nZWQoKSBjb25zdAogewogICAg
IGF1dG8gY3VycmVudFNpemVzID0gY29tcHV0ZU9ic2VydmVkU2l6ZXMoKTsKKyAgICBpZiAoIWN1
cnJlbnRTaXplcykKKyAgICAgICAgcmV0dXJuIGN1cnJlbnRTaXplczsKIAogICAgIHN3aXRjaCAo
bV9vYnNlcnZlZEJveCkgewogICAgIGNhc2UgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zOjpCb3Jk
ZXJCb3g6Ci0gICAgICAgIGlmIChtX2xhc3RPYnNlcnZhdGlvblNpemVzLmJvcmRlckJveExvZ2lj
YWxTaXplICE9IGN1cnJlbnRTaXplcy5ib3JkZXJCb3hMb2dpY2FsU2l6ZSkKLSAgICAgICAgICAg
IHJldHVybiBjdXJyZW50U2l6ZXM7CisgICAgICAgIGlmIChtX2xhc3RPYnNlcnZhdGlvblNpemVz
LmJvcmRlckJveExvZ2ljYWxTaXplICE9IGN1cnJlbnRTaXplcy0+Ym9yZGVyQm94TG9naWNhbFNp
emUpCisgICAgICAgICAgICByZXR1cm4gKmN1cnJlbnRTaXplczsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBSZXNpemVPYnNlcnZlckJveE9wdGlvbnM6OkNvbnRlbnRCb3g6Ci0gICAgICAgIGlm
IChtX2xhc3RPYnNlcnZhdGlvblNpemVzLmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50
U2l6ZXMuY29udGVudEJveExvZ2ljYWxTaXplKQotICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRT
aXplczsKKyAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVudEJveExvZ2lj
YWxTaXplICE9IGN1cnJlbnRTaXplcy0+Y29udGVudEJveExvZ2ljYWxTaXplKQorICAgICAgICAg
ICAgcmV0dXJuICpjdXJyZW50U2l6ZXM7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oCmluZGV4IDY4YjFjMmE5NzRlNjUzMTI1ZTky
OGZkNDg4MjEwZjVjMmRmMGQ3MTMuLjgwNTU0ZmMwOGRmZjBlZjFjOWFkZTU3ODZjZTgxNWE1ZTJm
MTg4ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgKQEAgLTY0LDcg
KzY0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBSZXNpemVPYnNlcnZhdGlvbihFbGVtZW50
JiwgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zKTsKIAotICAgIEJveFNpemVzIGNvbXB1dGVPYnNl
cnZlZFNpemVzKCkgY29uc3Q7CisgICAgc3RkOjpvcHRpb25hbDxCb3hTaXplcz4gY29tcHV0ZU9i
c2VydmVkU2l6ZXMoKSBjb25zdDsKICAgICBMYXlvdXRQb2ludCBjb21wdXRlVGFyZ2V0TG9jYXRp
b24oKSBjb25zdDsKIAogICAgIFdlYWtQdHI8RWxlbWVudD4gbV90YXJnZXQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCAzMmI0NjNjYTA1ZTk4N2QyNmQzN2Yw
Y2RmNmI2NjQ3M2Y3NjM5ODZhLi4xOTY0NjZhZjBlYmIzZTg3ZTkyMWE2M2U0ODFkZWQxMTE3ZTM0
NjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTY0OCw2
ICs2NDgsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sLCBMYXlvdXRVbml0
KQogCiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpCiB7CisgICAg
aWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250
ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIGlmIChjaGlsZHJl
bklubGluZSgpKQogICAgICAgICBhZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOwogICAg
IGVsc2UKQEAgLTczOSw2ICs3NDEsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zy
b21CbG9ja0NoaWxkcmVuKCkKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9z
aXRpb25lZE9iamVjdHMoKQogeworICAgIGlmIChzaG91bGRTa2lwQ29udGVudCgpICYmICF2aWV3
KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpCisgICAgICAg
IHJldHVybjsKICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERlc2Nl
bmRhbnRzID0gcG9zaXRpb25lZE9iamVjdHMoKTsKICAgICBpZiAoIXBvc2l0aW9uZWREZXNjZW5k
YW50cykKICAgICAgICAgcmV0dXJuOwpAQCAtMTA2NywxMCArMTA3MSwxMyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0KFJlbmRlckJveCYgciwgYm9vbCByZWxheW91
dENoaWxkcmVuLCBibwogCiB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0
cyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5KQog
eworICAgIGlmIChzaG91bGRTa2lwQ29udGVudCgpICYmICF2aWV3KCkuZnJhbWVWaWV3KCkubGF5
b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFRy
YWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlv
bmVkT2JqZWN0cygpOwogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICBy
ZXR1cm47Ci0gICAgCisKICAgICAvLyBEbyBub3QgY2FjaGUgcG9zaXRpb25lZERlc2NlbmRhbnRz
LT5lbmQoKSBpbiBhIGxvY2FsIHZhcmlhYmxlLCBzaW5jZSB8cG9zaXRpb25lZERlc2NlbmRhbnRz
fCBjYW4gYmUgbXV0YXRlZAogICAgIC8vIGFzIGl0IGlzIHdhbGtlZC4gV2UgYWx3YXlzIG5lZWQg
dG8gZmV0Y2ggdGhlIG5ldyBlbmQoKSB2YWx1ZSBkeW5hbWljYWxseS4KICAgICBmb3IgKGF1dG8g
aXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCk7IGl0ICE9IHBvc2l0aW9uZWREZXNj
ZW5kYW50cy0+ZW5kKCk7ICsraXQpCkBAIC0xMTMzLDcgKzExNDAsNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpwYWludENvbnRlbnRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2lu
dCYgcGFpbnRPZgogICAgIC8vIFN0eWxlIGlzIG5vbi1maW5hbCBpZiB0aGUgZWxlbWVudCBoYXMg
YSBwZW5kaW5nIHN0eWxlc2hlZXQgYmVmb3JlIGl0LiBXZSBlbmQgdXAgd2l0aCByZW5kZXJlcnMg
d2l0aCBzdWNoIHN0eWxlcyBpZiBhIHNjcmlwdAogICAgIC8vIGZvcmNlcyByZW5kZXJlciBjb25z
dHJ1Y3Rpb24gYnkgcXVlcnlpbmcgc29tZXRoaW5nIGxheW91dCBkZXBlbmRlbnQuCiAgICAgLy8g
QXZvaWQgRk9VQyBieSBub3QgcGFpbnRpbmcuIFN3aXRjaGluZyB0byBmaW5hbCBzdHlsZSB0cmln
Z2VycyByZXBhaW50LgotICAgIGlmIChzdHlsZSgpLmlzTm90RmluYWwoKSkKKyAgICBpZiAoc3R5
bGUoKS5pc05vdEZpbmFsKCkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCkBAIC0xMjM2LDYgKzEyNDMsOSBAQCB2b2lk
IFJlbmRlckJsb2NrOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5
b3V0UG9pbnQmIHBhaW50T2ZmcwogewogICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9IHBhaW50
SW5mby5waGFzZTsKIAorICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRD
b250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIDEuIHBhaW50IGJhY2tncm91bmQs
IGJvcmRlcnMgZXRjCiAgICAgaWYgKChwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkJsb2NrQmFj
a2dyb3VuZCB8fCBwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkNoaWxkQmxvY2tCYWNrZ3JvdW5k
KSAmJiBzdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKSB7CiAgICAg
ICAgIGlmIChoYXNWaXNpYmxlQm94RGVjb3JhdGlvbnMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggYTdlOTVjODQ3YjE4YjJhZDdjOWE2Yzhi
NzJiNzVmMTE3MzQ3NGRmOS4uNWRiYTcxYWYzMGQzNzQxZWM3ZGVkNmQxOWE3OGZmMzJkZTdkNDNh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAg
LTUyNywxMCArNTI3LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayhib29s
IHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFnZUxvZ2ljYWxICiAgICAgICAgIGlmICgh
Zmlyc3RDaGlsZCgpICYmICFpc0Fub255bW91c0Jsb2NrKCkpCiAgICAgICAgICAgICBzZXRDaGls
ZHJlbklubGluZSh0cnVlKTsKICAgICAgICAgZGlydHlGb3JMYXlvdXRGcm9tUGVyY2VudGFnZUhl
aWdodERlc2NlbmRhbnRzKCk7Ci0gICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQotICAgICAg
ICAgICAgbGF5b3V0SW5saW5lQ2hpbGRyZW4ocmVsYXlvdXRDaGlsZHJlbiwgcmVwYWludExvZ2lj
YWxUb3AsIHJlcGFpbnRMb2dpY2FsQm90dG9tKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
bGF5b3V0QmxvY2tDaGlsZHJlbihyZWxheW91dENoaWxkcmVuLCBtYXhGbG9hdExvZ2ljYWxCb3R0
b20pOworICAgICAgICBpZiAoIXNob3VsZFNraXBDb250ZW50KCkgfHwgdmlldygpLmZyYW1lVmll
dygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKSB7CisgICAgICAgICAgICBpZiAo
Y2hpbGRyZW5JbmxpbmUoKSkKKyAgICAgICAgICAgICAgICBsYXlvdXRJbmxpbmVDaGlsZHJlbihy
ZWxheW91dENoaWxkcmVuIHx8IHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNM
YXlvdXRGb3JjZWQoKSwgcmVwYWludExvZ2ljYWxUb3AsIHJlcGFpbnRMb2dpY2FsQm90dG9tKTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsYXlvdXRCbG9ja0NoaWxkcmVuKHJl
bGF5b3V0Q2hpbGRyZW4gfHwgdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xh
eW91dEZvcmNlZCgpLCBtYXhGbG9hdExvZ2ljYWxCb3R0b20pOworICAgICAgICB9CiAgICAgfQog
CiAgICAgLy8gRXhwYW5kIG91ciBpbnRyaW5zaWMgaGVpZ2h0IHRvIGVuY29tcGFzcyBmbG9hdHMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cAppbmRleCA1MjhmMDIyMDRhNjE4NmY5ODUxYTMyNGM1MGU5YjYxY2IyNTIwMzc0Li4zZTYxMzRi
NGYzY2UyMWI3ZGI3MDI3MmM1M2E0M2FlNjM1NGUzZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTIxMiw2ICsyMTIsNyBA
QCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIGlmIChz
dHlsZVRvVXNlLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5m
cmFtZVZpZXcoKS5zZXRIYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CiAgICAgc2V0UGFp
bnRDb250YWlubWVudEFwcGxpZXMoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7
CisgICAgc2V0TGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCghaXNJbmxpbmUoKSB8fCBpc0F0b21p
Y0lubGluZUxldmVsQm94KCkpICYmICFpc1J1YnlUZXh0KCkgJiYgKCFpc1RhYmxlUGFydCgpIHx8
IGlzUmVuZGVyQmxvY2tGbG93KCkpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0
ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDRlNzU5ZDdmMjUwYWY5
OGE0ODA2NGU0NjY3NzczZTc2ODM1ZmI5YTEuLjlkZmNhNzc2ZTc0NzQzNmVlMzAxZWMwNzA5ZjBi
ZmI1ZWYzM2UwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKQEAgLTI0MzcsNCArMjQzNywxMSBAQCBPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3Rp
dmVPdmVyZmxvd1koKSBjb25zdAogICAgIHJldHVybiBvdmVyZmxvd1k7CiB9CiAKK2Jvb2wgUmVu
ZGVyRWxlbWVudDo6c2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghbGF5b3V0
Q29udGFpbm1lbnRBcHBsaWVzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
ZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+c2hvdWxkU2tpcENvbnRlbnQoKTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggZjM3NmNlY2I5NzVjYTcx
OWZkZjY3NmU1YWMwZmI5NWQ4ZTJlZDIyMC4uYjExM2ZmY2NkYTI1ODg0MzYwODVhMmQ2YTAyMmM2
ZTBlZGNiM2YyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBA
IC0xNjUsNiArMTY1LDkgQEAgcHVibGljOgogICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5
KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgICAgICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmICgoIWhpdFRlc3RSZXF1ZXN0
IHx8ICFoaXRUZXN0UmVxdWVzdC0+aWdub3JlQ1NTUG9pbnRlckV2ZW50c1Byb3BlcnR5KCkpICYm
IHN0eWxlKCkucG9pbnRlckV2ZW50cygpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTI3NCw2ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAgT3Zl
cmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6
IGVmZmVjdGl2ZU92ZXJmbG93WSgpOyB9CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dC
bG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0K
IAorICAgIGJvb2wgc2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAg
IGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcg
ID0gMSA8PCAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklu
bGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRl
eCBlMmI0YjA5ZjU3ZGViM2E0NTk4ZjNiZDBjZTY3MzRiMDk3NWIxYzUyLi4yMmJlNTM3N2FlZGU5
ZDM2YTE2MWY0OGM3YzAzZjZhOThhNTcwMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcApAQCAtMjI4LDYgKzIyOCw4IEBAIGJvb2wgUmVuZGVySW5saW5lOjpt
YXlBZmZlY3RMYXlvdXQoKSBjb25zdAogCiB2b2lkIFJlbmRlcklubGluZTo6cGFpbnQoUGFpbnRJ
bmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKKyAgICBp
ZiAoc2hvdWxkU2tpcENvbnRlbnQoKSB8fCAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lw
cGVkQ29udGVudCgpKSkKKyAgICAgICAgcmV0dXJuOwogICAgIG1fbGluZUJveGVzLnBhaW50KHRo
aXMsIHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCBmZmFkZDAxZGY0ZDBjYjVjNTFhOWIyMTU4YTMyOThjZjA1
NGJkMDEzLi5mMmU3MGYyMzJjMzkxYzlkNDA1YmEyZTFlNGYxMjI5Y2E4NjljMTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTMwMzYsNiArMzAzNiw5IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBwYWludEZvckZpeGVkUm9vdEJhY2tncm91bmQoY29uc3QgUmVu
ZGVyTGF5ZXIqIGxheWVyLCBPcHRpb25TCiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIo
R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgcGFpbnRp
bmdJbmZvLCBPcHRpb25TZXQ8UGFpbnRMYXllckZsYWc+IHBhaW50RmxhZ3MpCiB7CisgICAgaWYg
KHJlbmRlcmVyKCkuZWxlbWVudCgpICYmIHJlbmRlcmVyKCkuZWxlbWVudCgpLT5pc1NraXBwZWRD
b250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gc2hvdWxkQ29udGludWVQYWlu
dCA9IFsmXSAoKSB7CiAgICAgICAgIHJldHVybiBiYWNraW5nKCktPnBhaW50c0ludG9XaW5kb3co
KQogICAgICAgICAgICAgfHwgYmFja2luZygpLT5wYWludHNJbnRvQ29tcG9zaXRlZEFuY2VzdG9y
KCkKQEAgLTMzMDgsNiArMzMxMSw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250
ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiB7CiAgICAg
QVNTRVJUKGlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2Nl
bmRhbnQoKSk7CiAKKyAgICAvLyBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIo
KS5lbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAvLyAgICAgcmV0dXJuOworCiAg
ICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgJiYgY29udGV4dC5jb250
ZW5mdWxQYWludERldGVjdGVkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMzU1Nyw3ICszNTYz
LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMaXN0KExheWVyTGlzdCBsYXllckl0ZXJhdG9y
LCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGMKICAgICBpZiAobGF5ZXJJdGVyYXRvci5iZWdp
bigpID09IGxheWVySXRlcmF0b3IuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICgh
aGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCisgICAgaWYgKCFoYXNTZWxmUGFpbnRp
bmdMYXllckRlc2NlbmRhbnQoKSB8fCByZW5kZXJlcigpLnNob3VsZFNraXBDb250ZW50KCkpCiAg
ICAgICAgIHJldHVybjsKIAogI2lmIEFTU0VSVF9FTkFCTEVECkBAIC00MDM3LDYgKzQwNDMsOCBA
QCBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBSZW5kZXJMYXllcjo6dG9wTGF5ZXJSZW5kZXJMYXllcnMo
UmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBsYXllcnM7
CiAgICAgYXV0byB0b3BMYXllckVsZW1lbnRzID0gcmVuZGVyVmlldy5kb2N1bWVudCgpLnRvcExh
eWVyRWxlbWVudHMoKTsKICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiB0b3BMYXllckVsZW1lbnRz
KSB7CisgICAgICAgIGlmIChlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigp
OwogICAgICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CkBAIC00NDU0
LDYgKzQ0NjIsOSBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMaXN0KExheWVy
TGlzdCBsYXllckl0ZXJhdG9yLCBSZW5kZXJMYXllciogcm9vdAogICAgIGlmICghaGFzU2VsZlBh
aW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAg
aWYgKHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKICAgICBSZW5kZXJMYXllciogcmVzdWx0TGF5ZXIgPSBudWxscHRyOwogCiAgICAgZm9y
IChhdXRvIGl0ZXIgPSBsYXllckl0ZXJhdG9yLnJiZWdpbigpOyBpdGVyICE9IGxheWVySXRlcmF0
b3IucmVuZCgpOyArK2l0ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKaW5kZXggOWFmNWZiMDVkMTM2MWJiZTMwMWJmYTgyNmMyMjM5ZmM1
MWM3ODExYi4uNzY5OTI2OThmMDNlZDM0OWFlM2U3MzdmNjY0Y2MxNTQ0NzY2MmE2NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTE2
MDUsNyArMTYwNSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVBZnRlckRlc2Nl
bmRhbnRzKCkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZSghbV9o
YXNTdWJwaXhlbFJvdW5kaW5nICYmIG1fb3duaW5nTGF5ZXIuYmFja2dyb3VuZElzS25vd25Ub0Jl
T3BhcXVlSW5SZWN0KGNvbXBvc2l0ZWRCb3VuZHMoKSkpOwogICAgIH0KIAotICAgIG1fZ3JhcGhp
Y3NMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNvbnRl
bnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpOworICAgIGJvb2wg
aXNTa2lwcGVkQ29udGVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpID8gcmVuZGVyZXIoKS5lbGVt
ZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSA6IGZhbHNlOworICAgIG1fZ3JhcGhpY3NMYXllci0+
c2V0Q29udGVudHNWaXNpYmxlKCFpc1NraXBwZWRDb250ZW50ICYmIChtX293bmluZ0xheWVyLmhh
c1Zpc2libGVDb250ZW50KCkgfHwgaGFzVmlzaWJsZU5vbkNvbXBvc2l0ZWREZXNjZW5kYW50cygp
KSk7CiAgICAgaWYgKG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXIpIHsKICAgICAgICAgbV9zY3JvbGxD
b250YWluZXJMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKHJlbmRlcmVyKCkuc3R5bGUoKS52aXNp
YmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAppbmRleCA4ZDk5MGYxZDUz
MWJlNjNmMmIyNWQwNjE0NWZiMTMxYzQxMDA3MjZjLi5mMGYxOGUxMTg3NmJmNzkwNTJkNDEzNjc0
YjQxZGMyMTkyNzhmYjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyTW9kZWxPYmplY3QuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oIgogCisjaW5jbHVkZSAi
RG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNv
bXBvc2l0b3IuaCIKQEAgLTExNCw2ICsxMTUsMTIgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3QK
ICAgICBSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAg
dXBkYXRlRnJvbVN0eWxlKCk7CiAKKyAgICBpZiAoZWxlbWVudCgpICYmICgob2xkU3R5bGUgJiYg
b2xkU3R5bGUtPmNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0
eSgpKSB8fCAoIW9sZFN0eWxlICYmIHN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSAhPSBDb250
ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkpKSB7CisgICAgICAgIGVsZW1lbnQoKS0+dXBkYXRlQ29u
dGVudFZpc2liaWxpdHkob2xkU3R5bGUgPyBzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmlsaXR5
PihvbGRTdHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSkgOiBzdGQ6Om51bGxvcHQsIHN0eWxlKCku
Y29udGVudFZpc2liaWxpdHkoKSk7CisgICAgICAgIGlmIChzdHlsZSgpLmNvbnRlbnRWaXNpYmls
aXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAgICBkb2N1bWVu
dCgpLnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKCk7CisgICAgfQorCiAgICAgaWYgKHJl
cXVpcmVzTGF5ZXIoKSkgewogICAgICAgICBpZiAoIWxheWVyKCkgJiYgbGF5ZXJDcmVhdGlvbkFs
bG93ZWRGb3JTdWJ0cmVlKCkpIHsKICAgICAgICAgICAgIGlmIChzX3dhc0Zsb2F0aW5nICYmIGlz
RmxvYXRpbmcoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5k
ZXggYjRiNjcxMDJkZmU3NGRmNWVhYjE1YzIwZmU0ZWRjNTYxNTJhYzNmMy4uZDUyMDFkNzM4MjAx
ZTNiZjJkNGVjZmQxNzZjNjljMDNjYjE0ZDI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKQEAgLTQ1NCw2ICs0NTQsOSBAQCBib29sIFJlbmRlck9iamVjdDo6
c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wg
aW5zaQogICAgIGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6
RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChpczxFbGVtZW50
Pihub2RlKCkpICYmIGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKCkpLmlzU2tpcHBlZENvbnRlbnQo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgUmVuZGVyTGF5ZXIqIGVuY2xvc2luZ0xh
eWVyID0gdGhpcy0+ZW5jbG9zaW5nTGF5ZXIoKTsKICAgICBpZiAoIWVuY2xvc2luZ0xheWVyKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xOTg2LDYgKzE5ODksMTIgQEAgdm9pZCBSZW5kZXJP
YmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgcGFpbnRDb250YWlubWVudEFw
cGxpZXMpCiAgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuc2V0UGFpbnRDb250YWlubWVudEFwcGxp
ZXMocGFpbnRDb250YWlubWVudEFwcGxpZXMpOwogfQogCit2b2lkIFJlbmRlck9iamVjdDo6c2V0
TGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgbGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKQor
eworICAgIGlmIChsYXlvdXRDb250YWlubWVudEFwcGxpZXMgfHwgaGFzUmFyZURhdGEoKSkKKyAg
ICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMobGF5b3V0
Q29udGFpbm1lbnRBcHBsaWVzKTsKK30KKwogUmVuZGVyT2JqZWN0OjpSYXJlRGF0YU1hcCYgUmVu
ZGVyT2JqZWN0OjpyYXJlRGF0YU1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJh
cmVEYXRhTWFwPiBtYXA7CkBAIC0yMDE1LDYgKzIwMjQsNyBAQCBSZW5kZXJPYmplY3Q6OlJlbmRl
ck9iamVjdFJhcmVEYXRhOjpSZW5kZXJPYmplY3RSYXJlRGF0YSgpCiAgICAgLCBtX2lzUmVuZGVy
RnJhZ21lbnRlZEZsb3coZmFsc2UpCiAgICAgLCBtX2hhc091dGxpbmVBdXRvQW5jZXN0b3IoZmFs
c2UpCiAgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQorICAgICwgbV9sYXlv
dXRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAppbmRleCBkMGY0Y2VjNGJhZGM1MmE2ZTc0YTBmYzgxYjc4MGYyZDI1
M2FiZjY5Li45NDA3NTNmMWNhNGRjZTVkZWMwOTI2YTQ1YjYyNWNmMWFmMDkyNWY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC00MTYsNiArNDE2LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIGNvbnN0IHsgcmV0dXJuIG1f
Yml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5pc1JlbmRlckZyYWdtZW50ZWRG
bG93KCk7IH0KICAgICBib29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3IoKSBjb25zdCB7IHJldHVy
biBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkuaGFzT3V0bGluZUF1dG9B
bmNlc3RvcigpOyB9CiAgICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsg
cmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5wYWludENvbnRh
aW5tZW50QXBwbGllcygpOyB9CisgICAgYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMoKSBj
b25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkubGF5
b3V0Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KIAogICAgIGJvb2wgaXNFeGNsdWRlZEZyb21Ob3Jt
YWxMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5pc0V4Y2x1ZGVkRnJvbU5vcm1h
bExheW91dCgpOyB9CiAgICAgdm9pZCBzZXRJc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dChib29s
IGV4Y2x1ZGVkKSB7IG1fYml0ZmllbGRzLnNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KGV4
Y2x1ZGVkKTsgfQpAQCAtNTE1LDYgKzUxNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVu
ZGVyRnJhZ21lbnRlZEZsb3coYm9vbCA9IHRydWUpOwogICAgIHZvaWQgc2V0SGFzT3V0bGluZUF1
dG9BbmNlc3Rvcihib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRQYWludENvbnRhaW5tZW50QXBw
bGllcyhib29sID0gdHJ1ZSk7CisgICAgdm9pZCBzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMo
Ym9vbCA9IHRydWUpOwogCiAgICAgLy8gSG9vayBzbyB0aGF0IFJlbmRlclRleHRDb250cm9sIGNh
biByZXR1cm4gdGhlIGxpbmUgaGVpZ2h0IG9mIGl0cyBpbm5lciByZW5kZXJlci4KICAgICAvLyBG
b3Igb3RoZXIgcmVuZGVyZXJzLCB0aGUgdmFsdWUgaXMgdGhlIHNhbWUgYXMgbGluZUhlaWdodChm
YWxzZSkuCkBAIC05NDQsNiArOTQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQUREX0JPT0xFQU5f
QklURklFTEQoaXNSZW5kZXJGcmFnbWVudGVkRmxvdywgSXNSZW5kZXJGcmFnbWVudGVkRmxvdyk7
CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGhhc091dGxpbmVBdXRvQW5jZXN0b3IsIEhh
c091dGxpbmVBdXRvQW5jZXN0b3IpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChwYWlu
dENvbnRhaW5tZW50QXBwbGllcywgUGFpbnRDb250YWlubWVudEFwcGxpZXMpOworICAgICAgICBB
RERfQk9PTEVBTl9CSVRGSUVMRChsYXlvdXRDb250YWlubWVudEFwcGxpZXMsIExheW91dENvbnRh
aW5tZW50QXBwbGllcyk7CiAKICAgICAgICAgLy8gRnJvbSBSZW5kZXJFbGVtZW50CiAgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gY2FjaGVkRmlyc3RMaW5lU3R5bGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCBlOTYzN2VlYmUy
MDYwOWFlMGM1ZDJiMWQ2ZjZiM2U2MWJjOWYxMjk4Li41NzMyNjQ4ZjY2MmFjZjI5Njg2ZjdjMjVh
ZDg3OTFmMmIyOWZiMTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5jcHAKQEAgLTI1OSw3ICsyNTksOCBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpwYWludChQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAg
IH0KIAogICAgIGlmICghY29tcGxldGVseUNsaXBwZWRPdXQpIHsKLSAgICAgICAgcGFpbnRSZXBs
YWNlZChwYWludEluZm8sIGFkanVzdGVkUGFpbnRPZmZzZXQpOworICAgICAgICBpZiAoIXNob3Vs
ZFNraXBDb250ZW50KCkpCisgICAgICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5mbywgYWRq
dXN0ZWRQYWludE9mZnNldCk7CiAKICAgICAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFkaXVz
KCkpCiAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dCgpLnJlc3RvcmUoKTsKQEAgLTI5OSw3
ICszMDAsNyBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludChQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50TwogICAgIC8vIGlmIHdlJ3JlIGludmlz
aWJsZSBvciBoYXZlbid0IHJlY2VpdmVkIGEgbGF5b3V0IHlldCwgdGhlbiBqdXN0IGJhaWwuCiAg
ICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIExheW91dFBvaW50IGFkanVzdGVkUGFpbnRP
ZmZzZXQgPSBwYWludE9mZnNldCArIGxvY2F0aW9uKCk7CiAKICAgICAvLyBFYXJseSBleGl0IGlm
IHRoZSBlbGVtZW50IHRvdWNoZXMgdGhlIGVkZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwCmluZGV4IDE3ZGY5MWQ2Y2YwNDYxZTdhODMwZTMwNDQ2ZTZhYjc0OTliNmJl
YmMuLmQyMTFjN2M0Nzc4OTA0MTFlYWEwYTAzNmY5Y2Y5NzNiOGY1NThhODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lkIFJl
bmRlclZpZXc6OmxheW91dCgpCiAgICAgfQogCiAgICAgQVNTRVJUKCFmcmFtZVZpZXcoKS5sYXlv
dXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKSk7Ci0gICAgaWYgKCFuZWVkc0xheW91dCgpKQorICAg
IGlmICghbmVlZHNMYXlvdXQoKSAmJiAhZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5
b3V0Rm9yY2VkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5l
ciBzdGF0ZVB1c2hlcigqdGhpcywgeyB9LCBmYWxzZSwgdmFsdWVPckRlZmF1bHQobV9wYWdlTG9n
aWNhbFNpemUpLmhlaWdodCgpLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IDZkZmU4MGEyNjI4MWI5Y2U2
Mjk5ZGJmNjFlNjA2MjdkZDU2NmU4YzcuLmE5MzBlMjUyYWM0ZjMwYWU0OWNkN2IwOTYxZTI4OWMx
ODA2NTAxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRn
ZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBA
IC0zMjIsNyArMzIyLDcgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGNsaXBSb3Vu
ZGVkSW5uZXJSZWN0KHBhaW50SW5mby5jb250ZXh0KCksIGJvcmRlclJlY3QsIHJvdW5kZWRJbm5l
clJlY3QpOwogICAgIH0KIAotICAgIGlmIChtX3dpZGdldCkKKyAgICBpZiAobV93aWRnZXQgJiYg
IXNob3VsZFNraXBDb250ZW50KCkpCiAgICAgICAgIHBhaW50Q29udGVudHMocGFpbnRJbmZvLCBw
YWludE9mZnNldCk7CiAKICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGQ3ZWE2
ODUzODA5OTVjNmEyODc5MzA3NmJlNWNhNmM4MzdkN2NhZTQuLmQyMzdhYzBhZGE5Mjk1ZGJiYWY0
MDgyMTgxNTA3MDY1NTVkNTE3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtNzQ3LDYgKzc0Nyw5IEBAIHN0YXRpYyBib29sIHJhcmVO
b25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChmaXJzdC5jb250
ZW50VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisgICAgICAgIHJldHVy
biB0cnVlOworCiAgICAgaWYgKGZpcnN0LmlucHV0U2VjdXJpdHkgIT0gc2Vjb25kLmlucHV0U2Vj
dXJpdHkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xMDU2LDYgKzEwNTksOSBAQCBzdGF0
aWMgYm9vbCByYXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVwYWludChjb25zdCBT
dHlsZVJhcmVOb25Jbmhlcml0ZQogICAgIGlmIChmaXJzdC5zaGFwZU91dHNpZGUgIT0gc2Vjb25k
LnNoYXBlT3V0c2lkZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoZmlyc3QuY29u
dGVudFZpc2liaWxpdHkgIT0gc2Vjb25kLmNvbnRlbnRWaXNpYmlsaXR5KQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKwogICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCB0
byBjaGFuZ2VSZXF1aXJlc0xheWVyUmVwYWludCgpLgogICAgIGlmIChmaXJzdC5jbGlwUGF0aCAh
PSBzZWNvbmQuY2xpcFBhdGgpIHsKICAgICAgICAgY2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9w
ZXJ0aWVzLmFkZChTdHlsZURpZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJvcGVydHk6OkNsaXBQ
YXRoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5k
ZXggYWMxNDJjZjAwNmRhOTBjMzNiYWNmMmQ3ODM4YjI1N2YxN2VlYWMzOC4uMWVkODIwNGFkMzY3
OWJlZWYxYTZmNDBiYjNiMzM5NjFiYzFlMWNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCwxMSArNTI4LDEzIEBAIHB1YmxpYzoKICAg
ICB9CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlv
VHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0g
QXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1l
bnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluOyB9CisgICAgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxDb250ZW50VmlzaWJpbGl0eT4obV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGVudFZpc2liaWxpdHkpOyB9CisgICAgYm9vbCBjb250ZW50VmlzaWJpbGl0eUhp
ZGRlbigpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2li
aWxpdHk6OkhpZGRlbjsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gZWZmZWN0aXZlQ29u
dGFpbm1lbnQoKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1
cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsg
fQotICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFp
bm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KLSAgICBib29sIGNvbnRhaW5z
U3R5bGUoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENv
bnRhaW5tZW50OjpTdHlsZSk7IH0KLSAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJl
dHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7
IH0KKyAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29u
dGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KSB8fCBjb250ZW50VmlzaWJp
bGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWlu
c1NpemUoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENv
bnRhaW5tZW50OjpTaXplKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmls
aXR5OjpIaWRkZW47IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBl
ZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSkgfHwgY29u
dGVudFZpc2liaWxpdHkoKSAhPSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZTsgfQorICAgIGJv
b2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCku
Y29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9IENv
bnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAgQ29udGFpbmVyVHlwZSBjb250YWluZXJU
eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29udGFpbmVyVHlwZT4obV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+Y29udGFpbmVyVHlwZSk7IH0KICAgICBjb25zdCBWZWN0b3I8QXRvbVN0
cmluZz4mIGNvbnRhaW5lck5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGFpbmVyTmFtZXM7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CkBAIC0xMDYzLDYgKzEwNjUsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb250YWluZXJUeXBlKENvbnRhaW5lclR5cGUgY29udGFp
bmVyVHlwZSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lclR5cGUs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb250YWluZXJUeXBlKSk7IH0KICAgICB2b2lkIHNldENv
bnRhaW5lck5hbWVzKGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgbmFtZXMpIHsgU0VUX1ZBUiht
X3JhcmVOb25Jbmhlcml0ZWREYXRhLCBjb250YWluZXJOYW1lcywgbmFtZXMpOyB9CiAKKyAgICB2
b2lkIHNldENvbnRlbnRWaXNpYmlsaXR5KENvbnRlbnRWaXNpYmlsaXR5IHZhbHVlKSB7IFNFVF9W
QVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGVudFZpc2liaWxpdHksIHN0YXRpY19jYXN0
PHVuc2lnbmVkPih2YWx1ZSkpOyB9CisKICAgICB2b2lkIHNldExpc3RTdHlsZVN0cmluZ1ZhbHVl
KGNvbnN0IEF0b21TdHJpbmcmIHZhbHVlKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwg
bGlzdFN0eWxlU3RyaW5nVmFsdWUsIHZhbHVlKTsgfQogICAgIHZvaWQgc2V0TGlzdFN0eWxlVHlw
ZShMaXN0U3R5bGVUeXBlIHYpIHsgbV9pbmhlcml0ZWRGbGFncy5saXN0U3R5bGVUeXBlID0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KHYpOyB9CiAgICAgdm9pZCBzZXRMaXN0U3R5bGVJbWFnZShSZWZQ
dHI8U3R5bGVJbWFnZT4mJik7CkBAIC0xNjc2LDYgKzE2ODAsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIE9wdGlvblNldDxDb250YWlubWVudD4gaW5pdGlhbENvbnRhaW5tZW50KCkgeyByZXR1cm4g
T3B0aW9uU2V0PENvbnRhaW5tZW50PiB7IH07IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRh
aW5tZW50PiBzdHJpY3RDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVu
dD4geyBDb250YWlubWVudDo6U2l6ZSwgQ29udGFpbm1lbnQ6OkxheW91dCwgQ29udGFpbm1lbnQ6
OlBhaW50LCBDb250YWlubWVudDo6U3R5bGUgfTsgfQogICAgIHN0YXRpYyBPcHRpb25TZXQ8Q29u
dGFpbm1lbnQ+IGNvbnRlbnRDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlu
bWVudD4geyBDb250YWlubWVudDo6TGF5b3V0LCBDb250YWlubWVudDo6UGFpbnQsIENvbnRhaW5t
ZW50OjpTdHlsZSB9OyB9CisgICAgc3RhdGljIENvbnRlbnRWaXNpYmlsaXR5IGluaXRpYWxDb250
ZW50VmlzaWJpbGl0eSgpIHsgcmV0dXJuIENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAg
ICAgc3RhdGljIENvbnRhaW5lclR5cGUgaW5pdGlhbENvbnRhaW5lclR5cGUoKSB7IHJldHVybiBD
b250YWluZXJUeXBlOjpOb25lOyB9CiAgICAgc3RhdGljIFZlY3RvcjxBdG9tU3RyaW5nPiBpbml0
aWFsQ29udGFpbmVyTmFtZXMoKSB7IHJldHVybiB7IH07IH0KICAgICBzdGF0aWMgZG91YmxlIGlu
aXRpYWxBc3BlY3RSYXRpb1dpZHRoKCkgeyByZXR1cm4gMS4wOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IGVi
MDZjZmY0YTI2ODA2NzM3NzgwMTFkZTNmOTljZTVjOTRmMTA0MzAuLjdlOTJjZWIyZTA4MjYwYjQx
ODdlYTA4ZDY5OTM1YTNkMjU4NzhkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0xMjM3LDYgKzEyMzcsMTIg
QEAgZW51bSBjbGFzcyBDb250YWluZXJUeXBlIDogdWludDhfdCB7CiAgICAgSW5saW5lU2l6ZSwK
IH07CiAKK2VudW0gY2xhc3MgQ29udGVudFZpc2liaWxpdHkgOiB1aW50OF90IHsKKyAgICBWaXNp
YmxlLAorICAgIEF1dG8sCisgICAgSGlkZGVuLAorfTsKKwogQ1NTQm94VHlwZSB0cmFuc2Zvcm1C
b3hUb0NTU0JveFR5cGUoVHJhbnNmb3JtQm94KTsKIAogZXh0ZXJuIGNvbnN0IGZsb2F0IGRlZmF1
bHRNaXRlckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDE5MjQ5ZWYwZTlmYTI4
ZmM1NDBiZGRiMGM0Y2M0YzIxZjE2MDAwZjIuLjc3MzRhYTZlNmNkZDY1ODExMjU4ZjZjMzM3ZmNl
ZTgzZTA5ZjFiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTk1LDYgKzk1LDcgQEAg
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAg
ICAgLCBlZmZlY3RpdmVBcHBlYXJhbmNlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHls
ZTo6aW5pdGlhbEFwcGVhcmFuY2UoKSkpCiAgICAgLCB0ZXh0RGVjb3JhdGlvblN0eWxlKHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uU3R5bGUo
KSkpCiAgICAgLCBhc3BlY3RSYXRpb1R5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0
eWxlOjppbml0aWFsQXNwZWN0UmF0aW9UeXBlKCkpKQorICAgICwgY29udGVudFZpc2liaWxpdHko
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlKSkKICNpZiBF
TkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgZWZmZWN0aXZlQmxlbmRNb2RlKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbEJsZW5kTW9kZSgpKSkKICAgICAsIGlz
b2xhdGlvbihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxJc29sYXRp
b24oKSkpCkBAIC0xOTksNiArMjAwLDcgQEAgaW5saW5lIFN0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW4KICAgICAs
IGVmZmVjdGl2ZUFwcGVhcmFuY2Uoby5lZmZlY3RpdmVBcHBlYXJhbmNlKQogICAgICwgdGV4dERl
Y29yYXRpb25TdHlsZShvLnRleHREZWNvcmF0aW9uU3R5bGUpCiAgICAgLCBhc3BlY3RSYXRpb1R5
cGUoby5hc3BlY3RSYXRpb1R5cGUpCisgICAgLCBjb250ZW50VmlzaWJpbGl0eShvLmNvbnRlbnRW
aXNpYmlsaXR5KQogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBlZmZlY3RpdmVC
bGVuZE1vZGUoby5lZmZlY3RpdmVCbGVuZE1vZGUpCiAgICAgLCBpc29sYXRpb24oby5pc29sYXRp
b24pCkBAIC0zMjAsNiArMzIyLDcgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGMKICAgICAgICAg
JiYgYXBwbGVQYXlCdXR0b25UeXBlID09IG8uYXBwbGVQYXlCdXR0b25UeXBlCiAjZW5kaWYKICAg
ICAgICAgJiYgYXNwZWN0UmF0aW9UeXBlID09IG8uYXNwZWN0UmF0aW9UeXBlCisgICAgICAgICYm
IGNvbnRlbnRWaXNpYmlsaXR5ID09IG8uY29udGVudFZpc2liaWxpdHkKICAgICAgICAgJiYgb2Jq
ZWN0Rml0ID09IG8ub2JqZWN0Rml0CiAgICAgICAgICYmIGJyZWFrQWZ0ZXIgPT0gby5icmVha0Fm
dGVyCiAgICAgICAgICYmIGJyZWFrQmVmb3JlID09IG8uYnJlYWtCZWZvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCmluZGV4IGNhMTU3ZjgzMzRlNGY5MDE2MWNlNWIxOTY4OGY3Nzc2ZGE4N2Y3ZjYuLmNi
M2U0MWU4OGU4OWEwOTA4MjQ3NjYyYjE1NDMxYTYwZGNjOWYwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGEuaApAQCAtMjA4LDcgKzIwOCw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHRleHREZWNv
cmF0aW9uU3R5bGUgOiAzOyAvLyBUZXh0RGVjb3JhdGlvblN0eWxlCiAKLSAgICB1bnNpZ25lZCBh
c3BlY3RSYXRpb1R5cGUgOiAzOworICAgIHVuc2lnbmVkIGFzcGVjdFJhdGlvVHlwZSA6IDI7Cisg
ICAgdW5zaWduZWQgY29udGVudFZpc2liaWxpdHkgOiAyOwogCiAjaWYgRU5BQkxFKENTU19DT01Q
T1NJVElORykKICAgICB1bnNpZ25lZCBlZmZlY3RpdmVCbGVuZE1vZGU6IDU7IC8vIEVCbGVuZE1v
ZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5o
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggMTNjYWQ5
YjdmZDc3MmE2Y2QyMzk4MzQwZTI4Mjc3MWJkNDliNDQ2MS4uMWI4YzNiOGQ3MWQzYTA2MzlmOWFl
NTg4ZjhiZDJjYzkyNmYyOTUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
Q3VzdG9tLmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJPUEVSVFlf
Q1VTVE9NX0hBTkRMRVJTKENsaXApOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRM
RVJTKENvbnRhaW4pOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRl
bnQpOworICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRlbnRWaXNpYmls
aXR5KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVySW5jcmVt
ZW50KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVyUmVzZXQp
OwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEN1cnNvcik7CkBAIC0xMjg3
LDYgKzEyODgsMjcgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRh
aW4oQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHUKICAgICByZXR1cm4gYnVpbGRl
clN0YXRlLnN0eWxlKCkuc2V0Q29udGFpbihjb250YWlubWVudCk7CiB9CiAKK2lubGluZSB2b2lk
IEJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KEJ1aWxkZXJTdGF0
ZSYgYnVpbGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRW
aXNpYmlsaXR5KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGVudFZpc2liaWxpdHkoKSk7Cit9CisK
K2lubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5oZXJpdENvbnRlbnRWaXNpYmlsaXR5
KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgp
LnNldENvbnRlbnRWaXNpYmlsaXR5KGZvcndhcmRJbmhlcml0ZWRWYWx1ZShidWlsZGVyU3RhdGUu
cGFyZW50U3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKSk7Cit9CisKK2lubGluZSB2b2lkIEJ1
aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1
aWxkZXJTdGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIGlmIChpczxDU1NQcmltaXRpdmVW
YWx1ZT4odmFsdWUpKSB7CisgICAgICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4o
dmFsdWUpLnZhbHVlSUQoKSA9PSBDU1NWYWx1ZUhpZGRlbikKKyAgICAgICAgICAgIHJldHVybiBi
dWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0
eTo6SGlkZGVuKTsKKyAgICAgICAgaWYgKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1
ZSkudmFsdWVJRCgpID09IENTU1ZhbHVlQXV0bykKKyAgICAgICAgICAgIHJldHVybiBidWlsZGVy
U3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0eTo6QXV0
byk7CisgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJp
bGl0eShSZW5kZXJTdHlsZTo6aW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkpOworICAgIH0KK30K
KwogaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVRleHRFbXBoYXNpc1N0eWxl
KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgaWYg
KGlzPENTU1ZhbHVlTGlzdD4odmFsdWUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTG9jYXRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3Bw
CmluZGV4IDk1YTI2ZmY4MzYxYWM2MWMzMWMwZTMyMWE1N2E2YTMxMmQxNGZiMWYuLjBhZTJmOTE1
NmZkNmY0MTljYmIyMmJmYmY2ODc5MDlkNTFmODhkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2Nh
dGFibGUuY3BwCkBAIC02Niw3ICs2Niw3IEBAIEZsb2F0UmVjdCBTVkdMb2NhdGFibGU6OmdldEJC
b3goU1ZHRWxlbWVudCogZWxlbWVudCwgU3R5bGVVcGRhdGVTdHJhdGVneSBzdHlsZVVwCiB7CiAg
ICAgQVNTRVJUKGVsZW1lbnQpOwogICAgIGlmIChzdHlsZVVwZGF0ZVN0cmF0ZWd5ID09IEFsbG93
U3R5bGVVcGRhdGUpCi0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0
VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAg
ICAvLyBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgc3VwcG9ydCBnZXRCQm94IGZvciBkZXRh
Y2hlZCBlbGVtZW50cy4KICAgICBpZiAoIWVsZW1lbnQtPnJlbmRlcmVyKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGMxNDUzYmZjNjA0MDhj
OTUwNzQ2MDc3ZDc2MWVlMTRkNzI5NjUxZmIuLjgwM2NmOTBkZTMyYzFkZGEzYzBiODI1MjE3YTFj
OTdmN2U3ZjBmYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuY3BwCkBAIC01NSwxMyArNTUsMTMgQEAgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpTVkdUZXh0
Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW0KIAogdW5z
aWduZWQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXROdW1iZXJPZkNoYXJzKCkKIHsKLSAgICBk
b2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpS
dW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6
Olllcyk7CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5udW1iZXJPZkNoYXJh
Y3RlcnMoKTsKIH0KIAogZmxvYXQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRl
eHRMZW5ndGgoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERv
Y3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRl
cmVyKCkpLnRleHRMZW5ndGgoKTsKIH0KIApAQCAtMTA5LDcgKzEwOSw3IEBAIEV4Y2VwdGlvbk9y
PGZsb2F0PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFJvdGF0aW9uT2ZDaGFyKHVuc2lnbmVk
IGNoYXJudW0pCiAKIGludCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldENoYXJOdW1BdFBvc2l0
aW9uKERPTVBvaW50SW5pdCYmIHBvaW50SW5pdCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6
OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgRmxvYXRQ
b2ludCB0cmFuc2Zvcm1Qb2ludCB7c3RhdGljX2Nhc3Q8ZmxvYXQ+KHBvaW50SW5pdC54KSwgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KHBvaW50SW5pdC55KX07CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShy
ZW5kZXJlcigpKS5jaGFyYWN0ZXJOdW1iZXJBdFBvc2l0aW9uKHRyYW5zZm9ybVBvaW50KTsKIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NmI2MzFkYjA2ZjdlMzc3ZmZjZWI4OWM2ZjY0NzViMmE2YWE5MmRhLi41YmFiMjJl
OGEwNDQ3NTA5YjFhMDE1OGMxYTk3YzgwZTA5MTNhMGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMjItMDItMDggIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBw
b3J0IGZvciBDU1MgcHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYyMzgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjItMDItMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMTlhZTZiOGVl
OTg1YmM4NjdkM2UzOTg2NTQ5MTgzOTdkMmUzNmIyOS4uYjA2NjEwZDY0ZDRhN2M3NzQzY2RhYTIw
ZDAyYmFlODU5ZWQ2YmNlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzUgQEAKKzIwMjItMDItMDggIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBTdXBwb3J0IGZvciBDU1MgcHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYyMzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5
LWxvY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MjYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDct
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNzctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODEtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LXN2Zy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbDoKKwog
MjAyMi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBzaGFyaW5nIFNoYXJlZCBXb3JrZXJzIChpbmNsdWRpbmcgYWNyb3NzIFdl
YlByb2Nlc3NlcykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE2OThjNTViNDQ5NzEyYzcwNzA5MGJj
ZGRjOGVmN2U4M2M5ZGYyNzcuLjUwM2JjMTE2ZWEyMjJmZjhmM2JmNDgyYTFkNjRkODg3NGJmNmQ4
NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDY0Nyw0NCArNDY0Nyw5IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0
bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNs
aXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTkuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMzLnN1Yi5odHRw
cy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAzNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA0MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA0NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA1MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA1Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA2NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA2Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3NS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ni5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3OC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4Mi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4My5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4NC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgt
dG9wLWxheWVyLTAwMC50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0wMDEudGVudGF0aXZlLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktd2l0aC10
b3AtbGF5ZXItMDAyLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvZWxlbWVudC1yZWFzc2lnbmVkLXRvLXNraXBwZWQtc2xvdC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvZWxlbWVudC1yZWFzc2lnbmVkLXRvLXNsb3QtaW4tc2tpcHBlZC1z
dWJ0cmVlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvdW50ZXItc2NvcGluZy0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY291bnRlci1zY29waW5nLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5n
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQKaW5kZXggNGM4
MjQwZDhkODI2NmJiN2NlODZiNjFmMDljYjY5NmZhYzY4NmQ3Ni4uMThjZWU4NGUwZjc5NzI5YTgx
MTAyMWIyZTYyZDZlMTM0MTM2M2NkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUg
QEAKIAotRkFJTCBBbmltYXRpb24gZXZlbnRzIGRvIG5vdCBmaXJlIGZvciBhIENTUyBhbmltYXRp
b24gcnVubmluZyBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUgYXNzZXJ0X2ZhbHNlOiBBbmlt
YXRpb24gZXZlbnRzIGRvIG5vIGZpcmUgd2hpbGUgdGhlIGFuaW1hdGlvbiBpcyBydW5uaW5nIGlu
IGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorRkFJTCBB
bmltYXRpb24gZXZlbnRzIGRvIG5vdCBmaXJlIGZvciBhIENTUyBhbmltYXRpb24gcnVubmluZyBp
biBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUgYXNzZXJ0X3RydWU6IFRoZSBhbmltYXRpb25pdGVy
YXRpb24gZXZlbnQgZmlyZXMgb25jZSB0aGUgYW5pbWF0aW9uIGlzIG5vIGxvbmdlciBkaXNwbGF5
IGxvY2tlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlz
ZSBkb2VzIG5vdCByZXNvbHZlIGR1ZSB0byB0aGUgbm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9y
IGEgQ1NTIGFuaW1hdGlvbiBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUKIFBBU1MgVGhlIGZp
bmlzaGVkIHByb21pc2UgZG9lcyBub3QgcmVzb2x2ZSBkdWUgdG8gdGhlIG5vcm1hbCBwYXNzYWdl
IG9mIHRpbWUgIGZvciBhIENTUyB0cmFuc2l0aW9uIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJl
ZQogRkFJTCBFdmVudHMgYW5kIHByb21pc2VzIGFyZSBoYW5kbGVkIG5vcm1hbGx5IGZvciBhbmlt
YXRpb25zIHdpdGhvdXQgYW4gb3duaW5nIGVsZW1lbnQgYXNzZXJ0X3RydWU6IEFuaW1hdGlvbiBl
dmVudCBub3QgYmxvY2tlZCBvbiBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGlmIG5vIG93bmluZyBl
bGVtZW50IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQKaW5kZXggNWQ2
ZjFmNmRlZjY1YTVhYTY0MjBmMDAxODQ4ZGI4ZDQ1ZTMwZmJkZC4uZGJlNDhhZjkyMTc2NGEyOGE0
YzY1YjQxYmI2YzU0N2M0OTQ0NzI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMg
QEAKIAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIGFzc2VydF9lcXVhbHM6
IGNlbnRlciBoaXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0IGdvdCAiaW5uZXIiCitQQVNT
IENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0CmluZGV4
IDliNzkxNDBjZGEyZDQzYzg0ZmFjODI3NDg0MThkOTNmYTNkNTQxNzcuLjQ1MWE0YTM1ZWFmOGQ1
YTlmMmNkYjc4YjJkZjk0NTIzMDI1MzY5M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRl
ZCkgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQg
Z290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9z
aXRlZCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CmluZGV4IDlmYjA4OGE3ODRiYzViMDNmMGY0OTJjZTY3
MGQ3ZjBjMGU5MDBiZWMuLmY2ZjY4MGU4MmJlYTgwZjI2MzA3MGZhNmUzYTcxZTE2MmZjN2MxYTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAxNy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNp
YmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCBjaGlsZCkgYXNzZXJ0X2VxdWFsczogY2Vu
dGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29u
dGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCBjaGlsZCkKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhw
ZWN0ZWQudHh0CmluZGV4IGUyOTJlZjcyMTYxYjA4NDk3ZGEyMjM4Njc0N2EzNTQ5YTY2Y2IwNjEu
LmI5YjgzMzUyZjhiZWYxNDY2OWJlYTcyOTA0MjhmNDJjZGQzZmY0YmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVz
dGluZyAoY29tcG9zaXRlZCB3aXRoIGEgY29tcG9zaXRlZCBjaGlsZCkgYXNzZXJ0X2VxdWFsczog
Y2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1Mg
Q29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCB3aXRoIGEgY29tcG9z
aXRlZCBjaGlsZCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CmluZGV4IDczZGE0OGRkYjRhZGM5OGJlZmE4
M2IyOGMzNTQ5ZmY0OGRiMDVmYTAuLjgzOTkzYzlkMDg1NDQ2MjIyZGY2ZWUwZDVkY2Q1ZGMxOTEx
ZjBlYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDI2LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgY29udGVu
dC12aXNpYmlsaXR5OmhpZGRlbiBkb2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2Nv
bnRhaW4nIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJoaWRkZW4iIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIGNvbnRlbnQtdmlzaWJpbGl0eTphdXRvIGRvZXMg
bm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHN0cmluZykgImF1dG8iIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNT
IGNvbnRlbnQtdmlzaWJpbGl0eTpoaWRkZW4gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVl
IG9mICdjb250YWluJworUEFTUyBjb250ZW50LXZpc2liaWxpdHk6YXV0byBkb2VzIG5vdCBhZmZl
Y3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dAppbmRleCAz
YTBlYThjOGM5NzkxMjA2M2RlMDgzNjU1ODJkY2IzNTc0YzYyYTNmLi4xY2Y0ZDBmNjIyNWNhZGE0
NWY4ZDA2ZmY1NmViZDJiZGI0ZTQ4YzNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NCBAQAogVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLgotVGhpcyB0ZXh0IHNob3VsZCBub3Qg
YmUgdmlzaWJsZS4KLVRoaXMgdGV4dCBpcyBhbHNvIG5vdCB2aXNpYmxlLgogCi1GQUlMIGlubmVy
VGV4dCBvbiBsb2NrZWQgZWxlbWVudC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgdGV4
dCBzaG91bGQgYmUgdmlzaWJsZS4iIGJ1dCBnb3QgIlRoaXMgdGV4dCBzaG91bGQgYmUgdmlzaWJs
ZS5cblRoaXMgdGV4dCBzaG91bGQgbm90IGJlIHZpc2libGUuXG5UaGlzIHRleHQgaXMgYWxzbyBu
b3QgdmlzaWJsZS4iCitQQVNTIGlubmVyVGV4dCBvbiBsb2NrZWQgZWxlbWVudC4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhw
ZWN0ZWQudHh0CmluZGV4IGRlYWE1NzdjZGRjYjk2OGYwMzk5YTI3NmQxY2I3NDU4YjlkNjljNDku
LjgyOWMyOTZiYzBkNzRmYzgxZmUwMTk3ZTAyOWVkNTBmYmE4Y2U3YzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJh
Y3Rpb25zIGFzc2VydF9lcXVhbHM6IHJ1blN0ZXAyIGV4cGVjdGVkIDEgYnV0IGdvdCAwCitQQVNT
IEludGVyc2VjdGlvbk9ic2VydmVyIGludGVyYWN0aW9ucwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50eHQKaW5k
ZXggNWNjOGI4Mjk2ZmY3YmE2OGNhZTY2ZTA3ZTE2ZjIwOWIyZGI1YzhlOS4uMWNjNmMxYzBhYzgw
N2Y2ZWMzMzQwZmRjYWE4ZGU2OTk2OGNhZmY5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dApAQCAtMSwx
MCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjog
RXJyb3I6IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9ic2V2ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5n
IHdoaWxlIHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiAKLUhhcm5lc3Mg
RXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFs
czogUmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBl
eHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQotVElNRU9VVCBSZXNpemVPYnNlcnZlciBza2lw
cGVkIHdoaWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91dAotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9ic2V2
ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5nIHdoaWxlIHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1ZSBi
dXQgZ290IGZhbHNlCi0KLVRJTUVPVVQgUmVzaXplT2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRk
ZW4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgUmVzaXplT2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRk
ZW4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMzgtZXhwZWN0ZWQudHh0CmluZGV4IDBlODgwZTA1NWYwNDE3MGNkN2U2N2M5NmZhOTcw
NWM0NGU1ODc1NDAuLmJjZmM3ODlmYTQwYTMzZTMxNWMzNTNhYTRhMWJhYmNlZGU2Mzk5ZTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAzOC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgTWVhc3VyZSBGb3JjZWQg
TGF5b3V0IGFzc2VydF9lcXVhbHM6IHNwYWNlciBmb3JjZWQgZXhwZWN0ZWQgOCBidXQgZ290IDEw
OAorUEFTUyBNZWFzdXJlIEZvcmNlZCBMYXlvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CmluZGV4IDM5
NWQ1OWM0NmE1NDcyNzJjY2FlZDkyZTYyYzAyMmFkYjc2NTIxYWQuLjRjM2M4YmI5NDNlMDRlMjJm
ZWVkMzlkMzRiMGY2ZDgxYzAzZTk0N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0
IEBACiAKIAotCi0KLUZBSUwgVGFiIG9yZGVyIG5hdmlnYXRpb24gc2tpcHMgaGlkZGVuIHN1YnRy
ZWVzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9ImZpdmUi
IHR5cGU9InRleHQiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0idHdv
IiB0eXBlPSJ0ZXh0Ij48L2lucHV0PgorUEFTUyBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBo
aWRkZW4gc3VidHJlZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0CmluZGV4IGY4YjAxMWJhODE3OGQ2ODdj
N2Y5MDlkZTQ4Mzc5OTczYzlkMDk2ZDQuLjczMjY4ZmRiMDhkZjk0NzRmMDFkZjU3NmExODBmOWJl
Mzg3ZGFhZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDQ4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgRnJh
Z21lbnQgbmF2aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgc2luZ2xlIHRleHQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZldGNoUmVzdWx0cyIKLUZBSUwgRnJhZ21l
bnQgbmF2aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgcmFuZ2UgYWNyb3NzIGJsb2Nr
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgorRkFJTCBG
cmFnbWVudCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidGV4dCIgYnV0IGdvdCAidG9wIgorRkFJTCBGcmFnbWVu
dCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxvY2tz
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXh0MiIgYnV0IGdvdCAidG9wIgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBl
Y3RlZC50eHQKaW5kZXggNDRhMjkzNjUwMzYxOWY3NmUxYmRhM2ZiYzdjYzA0OGIzZjNjMWM2Zi4u
ZWIxOTM1MTY2NmU1N2EwMGZkNDZhNzAyN2MxYjYwMDIwN2ViNWFlZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVk
LnR4dApAQCAtMSw4ICsxLDMgQEAKLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxvCi1oZWxsbwog
CiBGQUlMIE9uZSBlbGVtZW50cyBzZWxlY3RlZDogIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQogRkFJTCBSYW5nZSBleHRlbmRlZCB0byBjb3ZlciBtb3JlIGVsZW1lbnRzOiAg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKaW5k
ZXggMDNlM2JiN2MwZTg5NjAzMzc2MWI1MjQ5ZWQ2NjE2MjY5NGM1MDdlNi4uMDBmMWM3ZjQ0NDE4
NzgyYmNlYjM0MzhkN2I2ZmE1MWY1NjFlMTc2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dApAQCAtMSw3
ICsxLDcgQEAKIAogUEFTUyBvbmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6CiBGQUlMIHR3by5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBi
dXQgZ290IDMwNDEKLUZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRf
ZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDc1Ci1GQUlMIGZvdXIuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAz
MTA5Ci1GQUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5
IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMTQzCitGQUlMIHRocmVlLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQorRkFJ
TCBmb3VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3Rl
ZCAzMDA3IGJ1dCBnb3QgMzA0MQorRkFJTCBmaXZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAg
YXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3Rl
ZC50eHQKaW5kZXggOTI3MDk2ZWRmOTczZGIxODk2ZDdlMjVhOTQ0ZTFhOTQwZjJhODBhMi4uMDQ5
YmUyODRkNDdmNmNkZjA5ODMzZjUxNDMyNTEwZTkwMzE4ZGRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50LXZpc2liaWxpdHkgaXMgbm90IGFuaW1h
dGFibGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInZpc2libGUiIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5p
bWF0YWJsZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA4MC1leHBlY3RlZC50eHQKaW5kZXggZDBmMDVhZDVhMzhjZTQxMjQyMzMwZWIz
OTFhYWQwZTkxNzE5YzdiNi4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJk
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
ODAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDgwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxIEBACi1Db250ZW50IFZpc2liaWxpdHk6
IGNhcmV0IHBvc2l0aW9uIHdpdGggaHRtbCBoaWRkZW4gICAqIHsgYWxsOiBpbml0aWFsOyBjb250
ZW50LXZpc2liaWxpdHk6IGhpZGRlbjsgfSB0ZXN0KCgpID0+IHsgY29uc3QgcmFuZ2UgPSBkb2N1
bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KCk7IGFzc2VydF9ub3RfZXF1YWxzKHJhbmdlLCBudWxs
LCAicmFuZ2UgZXhpc3RzIik7IGFzc2VydF9lcXVhbHMocmFuZ2Uuc3RhcnRDb250YWluZXIsIGh0
bWwsICJzdGFydENvbnRhaW5lciBpcyBodG1sIik7IGFzc2VydF9lcXVhbHMocmFuZ2Uuc3RhcnRP
ZmZzZXQsIDAsICJzdGFydE9mZnNldCBpcyB6ZXJvIik7IGFzc2VydF9lcXVhbHMocmFuZ2UuZW5k
Q29udGFpbmVyLCBodG1sLCAiZW5kQ29udGFpbmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhy
YW5nZS5lbmRPZmZzZXQsIDAsICJlbmRPZmZzZXQgaXMgemVybyIpOyB9LCAiQ2FyZXQgcmFuZ2Ug
ZnJvbSBwb2ludCIpOwotRkFJTCBDYXJldCByYW5nZSBmcm9tIHBvaW50IGFzc2VydF9lcXVhbHM6
IHN0YXJ0Q29udGFpbmVyIGlzIGh0bWwgZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxodG1sIGlkPSJo
dG1sIj48aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTx0aXRsZT5Db250ZW4uLi4gYnV0IGdv
dCBUZXh0IG5vZGUgIkNvbnRlbnQgVmlzaWJpbGl0eTogY2FyZXQgcG9zaXRpb24gd2l0aCBodG1s
IGhpZGRlbiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wODEtZXhwZWN0ZWQudHh0CmluZGV4IDZlZWRiYWRlZjVlZjE5NzNmYWNjM2Rj
NWUxOTU0MTJjN2VjZWNhZDYuLjRkZjkzY2RjMTgzNTFiZjczZjBiZTQ0NGZmYzVmMjljMjkyYzFl
ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDgxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA4MS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgU2Nyb2xsIG9m
ZnNldCBpcyByZXN0b3JlZCB3aGVuIGNvbnRlbnQtdmlzaWJpbGl0eSBoaWRkZW4gaXMgcmVtb3Zl
ZAorRkFJTCBTY3JvbGwgb2Zmc2V0IGlzIHJlc3RvcmVkIHdoZW4gY29udGVudC12aXNpYmlsaXR5
IGhpZGRlbiBpcyByZW1vdmVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMDAgYnV0IGdvdCAw
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
aW1nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktaW1nLWV4cGVjdGVkLnR4dAppbmRleCBjYTM3ODdlNDQ4N2JkMzY0OTYwZmU0ZWI0YzkxZWRh
ZDE3N2U0ODcxLi40NDQ5ZDdjNzczYjkwNTgyZDNhMzc5NmEzNmNjY2RjYzgzY2JlODE3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1p
bWctZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAogCi0KLQotCi0KIFBBU1MgYy12OmhpZGRl
biA8aW1nPiBsYXlvdXQgQVBJcyBzaG91bGRuJ3QgcmV0dXJuIHplcm8gd2hlbiBhY2Nlc3NlZCBm
cm9tIHNjcmlwdC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dAppbmRleCBhNDVl
ZDU4MjkwMWY3YzVjMmRmOTdlNzBlYTQ1MDUwMjM3MmE1NjE2Li5lNGEzMWZiMWJhMWE2MzkyY2Vl
Yjg2NmJiN2U2MGJjZGJiMThiMDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDMgQEAKIAotCi0KIFBBU1MgPGlucHV0IHR5cGU9aW1hZ2U+IHNob3VsZCBy
ZXR1cm4gbm9uemVybyB2YWx1ZXMgZm9yIHdpZHRoIGFuZCBoZWlnaHQgaW4gYSBjLXY6aGlkZGVu
IHN1YnRyZWUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dAppbmRleCA0Njc2Yjg4YzlhY2M3ZjI5Nzk1ODI4
OTQ0NDI4ZjI0MjE4MzExZDU2Li44ZGYxYjdmZmFmNGJjMjNlMjU0NjYyZWQ4ZjM2YmE4YjA2NWFi
YTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LXN2Zy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAotSGVsbG8gV29ybGQhCi1I
ZWxsbyBXb3JsZCBBZ2FpbiEKIAogUEFTUyBnZXRCQm94KCkgc2hvdWxkIHJldHVybiBub256ZXJv
IHZhbHVlcyBpbiBhIGMtdjpoaWRkZW4gc3VidHJlZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggN2RhMTdmZmFmOWNkNTIwYTc1M2U5
ZjNlOWE1OGU5YzYxYzQ1ZmU2NS4uNjY4ODk2YWYxMmQ2YTBkOTBkMWEzYWRhNmNkODdjYWFkZWVh
NTZlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBo
YXMgaW5pdGlhbCB2YWx1ZSB2aXNpYmxlIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkg
ZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IGRvZXMg
bm90IGluaGVyaXQgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFBy
b3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBoYXMgaW5pdGlhbCB2YWx1ZSB2aXNpYmxlCitQQVNT
IFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2VzIG5vdCBpbmhlcml0CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21w
dXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50
LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDg3YTNjNjgwZWY4Y2ZlNDI5
YWU0NmQzMDkzZTc4MGU3MTI3YmRmOTIuLjBjMzRhNWRiYmRkZTdkYWMzNjllNmI4MGNkMjVhOWU3
ZDg3NmRlNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRl
bnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVkLnR4dApA
QCAtMSw1ICsxLDUgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUg
J3Zpc2libGUnIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24ndCBzZWVtIHRv
IGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdhdXRvJyBhc3NlcnRf
dHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4g
dGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5
IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnaGlkZGVuJyBhc3NlcnRfdHJ1ZTogY29udGVudC12
aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0
eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJp
bGl0eSB2YWx1ZSAndmlzaWJsZScKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZh
bHVlICdhdXRvJworUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2hpZGRl
bicKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12
aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJz
aW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKaW5kZXggNmE2NWZmNjg0
ZjYwODJkMWNlODFjMTM3ZTQwM2E0ZGU3MDA4OTU2Zi4uOWRhNDU3M2UwNzQ3N2I3NzdkNmJhODc2
OGY0NTNjNzQzNTczMzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNp
bmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0g
InZpc2libGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxz
OiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUu
c3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImF1dG8iIHNob3VsZCBzZXQgdGhlIHByb3Bl
cnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBk
aXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0g
ImhpZGRlbiIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6
IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5z
dHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAidmlzaWJsZSIgc2hvdWxkIHNldCB0aGUgcHJv
cGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAiYXV0byIg
c2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGVudC12aXNp
YmlsaXR5J10gPSAiaGlkZGVuIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFy
Z2V0LWF1dG8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFn
bWVudC10YXJnZXQtYXV0by5odG1sCmluZGV4IGQwN2VkZTVhNTQ2MDA3ZTMyN2QzNTNlZDU5OTQ4
OWRkZmU1NzQ0ODEuLjUzYTIyZjVmZDhkMWNkYjg4Mzg1MzUzNTQ1NDllMTE3NTc2ZDdlNTIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10
YXJnZXQtYXV0by5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4
dC1mcmFnbWVudC10YXJnZXQtYXV0by5odG1sCkBAIC00Miw3ICs0Miw3IEBAIGZ1bmN0aW9uIGRv
dWJsZVJhZkNoZWNrU2Nyb2xsKCkgewogICBoZWlnaHQ6IDEwMDAwcHg7CiB9CiAuYXV0byB7Ci0g
IHN1YnRyZWUtdmlzaWJpbGl0eTogYXV0bzsKKyAgY29udGVudC12aXNpYmlsaXR5OiBhdXRvOwog
fQogPC9zdHlsZT4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451353</attachid>
            <date>2022-02-09 02:54:28 -0800</date>
            <delta_ts>2022-02-09 08:35:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220209105426.patch</filename>
            <type>text/plain</type>
            <size>106769</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlkODg5ZjcyNGQ3YmM2
NjdlODkxOWFiZTBmZmZkY2Q5NzZlYzNmZC4uOGZjODU5NDI4ZTkxZGQxZWE5NmE2NmU2OTc2NTc2
MTFlYmNjNGEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0wOSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMDkgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgRG9uJ3QgcmV0dXJuIGFuIGVtcHR5IHZhbHVlIGZyb20gQWJvcnRDb250
cm9sbGVyLnNpZ25hbC5yZWFzb24gYW5kIG1ha2UgaXQgaGFyZGVyIHRvIHJldHVybiBlbXB0eSB2
YWx1ZXMgZnJvbSBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKaW5kZXggOTg4MDRjM2E4MjA0YTIzNDMyZWVhNzA5
YmUxNzNjYTQwY2M4MWFhOS4uODlkZGY4NmYyMjdhOGYxNWQ3ZTQ2ZTczNTFlNTVmYzQyOWFhNGNl
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcApA
QCAtMzk3LDYgKzM5NywxNiBAQCBBbmltYXRpb25FdmVudHMgRG9jdW1lbnRUaW1lbGluZTo6cHJl
cGFyZUZvclBlbmRpbmdBbmltYXRpb25FdmVudHNEaXNwYXRjaCgpCiB7CiAgICAgbV9zaG91bGRT
Y2hlZHVsZUFuaW1hdGlvblJlc29sdXRpb25Gb3JOZXdQZW5kaW5nRXZlbnRzID0gdHJ1ZTsKICAg
ICByZXR1cm4gc3RkOjpleGNoYW5nZShtX3BlbmRpbmdBbmltYXRpb25FdmVudHMsIHsgfSk7Cisg
ICAgQW5pbWF0aW9uRXZlbnRzIGV2ZW50czsKKyAgICBmb3IgKGF1dG8mIGV2ZW50IDogbV9wZW5k
aW5nQW5pbWF0aW9uRXZlbnRzKSB7CisgICAgICAgIGlmIChldmVudC0+YW5pbWF0aW9uKCktPmlz
SW5IaWRkZW5TdWJ0cmVlKCkpCisvLyAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IGV2ZW50LT50
YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRvd25jYXN0PE5vZGU+KCpldmVudC0+dGFyZ2V0KCkpLmlz
RG9jdW1lbnROb2RlKCkgPyBkeW5hbWljRG93bmNhc3Q8RWxlbWVudD4oKmV2ZW50LT50YXJnZXQo
KSkgOiBudWxscHRyOworLy8gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmlzU2tpcHBl
ZENvbnRlbnQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBldmVudHMuYXBwZW5k
KGV2ZW50KTsKKyAgICAgICAgbV9wZW5kaW5nQW5pbWF0aW9uRXZlbnRzLnJlbW92ZUZpcnN0KGV2
ZW50KTsKKyAgICB9CisgICAgcmV0dXJuIGV2ZW50czsKIH0KIAogVmVjdG9yPHN0ZDo6cGFpcjxT
dHJpbmcsIGRvdWJsZT4+IERvY3VtZW50VGltZWxpbmU6OmFjY2VsZXJhdGVkQW5pbWF0aW9uc0Zv
ckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5jcHAKaW5kZXggNzdi
OWZiMmNhY2VkMjIwZGU0MTU1Njc5N2Y4NTcyYjBhNmNhOGQ4My4uNjhlMzA1MzJlYTFhZmZjZGQx
NmQ1YTc1MTNmZGExZDU4NWFjMTNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0RvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5jcHAKQEAgLTEwNSw2ICsxMDUs
OCBAQCB2b2lkIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0Fu
ZFNlbmRFdmVudHMoUmVkdWNlZFJlc29sdXRpbwogICAgICAgICB0aW1lbGluZXNUb1VwZGF0ZS5h
cHBlbmQodGltZWxpbmUuY29weVJlZigpKTsKIAogICAgICAgICBmb3IgKGF1dG8mIGFuaW1hdGlv
biA6IGNvcHlUb1ZlY3Rvcih0aW1lbGluZS0+cmVsZXZhbnRBbmltYXRpb25zKCkpKSB7CisgICAg
ICAgICAgICBpZiAoYW5pbWF0aW9uLT5pc0luSGlkZGVuU3VidHJlZSgpKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+dGltZWxpbmUoKSAhPSB0
aW1lbGluZS5wdHIoKSkgewogICAgICAgICAgICAgICAgIEFTU0VSVCghYW5pbWF0aW9uLT50aW1l
bGluZSgpKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTE1MCw4ICsxNTIsMTIgQEAg
dm9pZCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5k
RXZlbnRzKFJlZHVjZWRSZXNvbHV0aW8KICAgICB9KTsKIAogICAgIC8vIDcuIERpc3BhdGNoIGVh
Y2ggb2YgdGhlIGV2ZW50cyBpbiBldmVudHMgdG8gZGlzcGF0Y2ggYXQgdGhlaXIgY29ycmVzcG9u
ZGluZyB0YXJnZXQgdXNpbmcgdGhlIG9yZGVyIGVzdGFibGlzaGVkIGluIHRoZSBwcmV2aW91cyBz
dGVwLgotICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpCisgICAgZm9yIChhdXRvJiBldmVu
dCA6IGV2ZW50cykgeworICAgICAgICAvLyBFbGVtZW50KiBlbGVtZW50ID0gZXZlbnQtPnRhcmdl
dCgpLT5pc05vZGUoKSAmJiAhZG93bmNhc3Q8Tm9kZT4oKmV2ZW50LT50YXJnZXQoKSkuaXNEb2N1
bWVudE5vZGUoKSA/IGR5bmFtaWNEb3duY2FzdDxFbGVtZW50PigqZXZlbnQtPnRhcmdldCgpKSA6
IG51bGxwdHI7CisgICAgICAgIC8vIGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmlzU2tpcHBlZENv
bnRlbnQoKSkKKyAgICAgICAgLy8gICAgY29udGludWU7CiAgICAgICAgIGV2ZW50LT50YXJnZXQo
KS0+ZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAgfQogCiAgICAgLy8gVGhpcyB3aWxsIGNhbmNl
bCBhbnkgc2NoZWR1bGVkIGludmFsaWRhdGlvbiBpZiB3ZSBlbmQgdXAgcmVtb3ZpbmcgYWxsIGFu
aW1hdGlvbnMuCiAgICAgZm9yIChhdXRvJiBhbmltYXRpb24gOiBhbmltYXRpb25zVG9SZW1vdmUp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggNTdkZjQx
NzU3N2FhODlkZGU0MTFhYmQwNTFlM2MyYTUyZWI4MDJjZC4uNmQ4MDBlZTI3MWY4MTMwYTRlZTgy
ODg2NzQ2NmMyYjUyOWM5YWFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1dlYkFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1h
dGlvbi5jcHAKQEAgLTE1MDksNCArMTUwOSwxMyBAQCBTZWNvbmRzIFdlYkFuaW1hdGlvbjo6dGlt
ZVRvTmV4dFRpY2soKSBjb25zdAogICAgIHJldHVybiBlZmZlY3QoKS0+dGltZVRvTmV4dFRpY2so
ZWZmZWN0KCktPmdldEJhc2ljVGltaW5nKCkpIC8gcGxheWJhY2tSYXRlOwogfQogCitib29sIFdl
YkFuaW1hdGlvbjo6aXNJbkhpZGRlblN1YnRyZWUoKQoreworICAgIGlmICghaXNEZWNsYXJhdGl2
ZUFuaW1hdGlvbigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGF1dG8gZWxlbWVu
dCA9IGRvd25jYXN0PERlY2xhcmF0aXZlQW5pbWF0aW9uPih0aGlzKS0+b3duaW5nRWxlbWVudCgp
KQorICAgICAgICByZXR1cm4gZWxlbWVudC0+ZWxlbWVudC5pc1NraXBwZWRDb250ZW50KCk7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKaW5kZXggMzdhNjE3ZjYwNTM3MDc5ZDJiMTJlYTBj
MDYyOGUxY2VhMmEzMmU0Ni4uMDgyYTFiMWE1YWMyZTY1OWQ1NDJlMGUyZDY1YzE3YTY1MjhhOTgx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaApAQCAtNjYsNiArNjYs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0NTU0FuaW1hdGlvbigp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQ1NTVHJhbnNpdGlv
bigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBpc0luSGlkZGVuU3VidHJlZSgp
OwogCiAgICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KICAgICB2
b2lkIHNldElkKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBjYjQ1ZTBkODE1YTY4YzQyMDE5YjBi
YjYwNDg2MTBjNjlkY2RkMjIyLi4zNGNlZjcxMWNiYWE3YzM0MTdlMjVlZGE3NzljYWY3YTQ1MDFh
MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcApAQCAtMzY0NCw2ICszNjQ0LDE0IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0
ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5
CiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVDdXN0b21J
ZGVudChuYW1lKSk7CiAgICAgICAgICAgICByZXR1cm4gbGlzdDsKICAgICAgICAgfQorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxpdHk6CisgICAgICAgICAgICBpZiAoIW1f
ZWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLmNzc0NvbnRhaW5tZW50RW5hYmxlZCgpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgaWYgKHN0eWxlLmNv
bnRlbnRWaXNpYmlsaXR5SGlkZGVuKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVl
UG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVIaWRkZW4pOworICAgICAgICAgICAg
aWYgKHN0eWxlLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8p
CisgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVBdXRvKTsKKyAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlVmlzaWJsZSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlCYWNrZmFjZVZpc2liaWxpdHk6CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZSgoc3R5bGUuYmFja2ZhY2VWaXNpYmlsaXR5KCkgPT0gQmFja2Zh
Y2VWaXNpYmlsaXR5OjpIaWRkZW4pID8gQ1NTVmFsdWVIaWRkZW4gOiBDU1NWYWx1ZVZpc2libGUp
OwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySW1hZ2U6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCAxMzYwYTA0ODg5Y2M3MWM0NTk5NzI2ZWJkMzQ3
ZTQxYTdhNTY2OWM4Li5kMTFlZjExNGRhMzU2NGU0NDFlYzlkMWZiMDVhNGQ1ZWM1OWI1YWM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUyNzAsNiArNTI3MCwxOSBA
QAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1j
b250YWluLTMvI2NvbnRhaW5lci1xdWVyaWVzIgogICAgICAgICAgICAgfQogICAgICAgICB9LAor
ICAgICAgICAiY29udGVudC12aXNpYmlsaXR5IjogeworICAgICAgICAgICAgImNvZGVnZW4tcHJv
cGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAiY3VzdG9tIjogIkFsbCIsCisgICAgICAgICAg
ICAgICAgInNldHRpbmdzLWZsYWciOiAiY3NzQ29udGFpbm1lbnRFbmFibGVkIgorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICJzdGF0dXMiOiB7CisgICAgICAgICAgICAgICAgInN0YXR1cyI6
ICJleHBlcmltZW50YWwiCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRp
b24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1jb250YWluIiwKKyAgICAg
ICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0y
LyIKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKICAgICAgICAgImJhY2tmYWNlLXZpc2liaWxp
dHkiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAg
ICAgICJhbGlhc2VzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQYXJzZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
Q29udGV4dC5jcHAKaW5kZXggNTVkMzZiYjU4NjE2ODMwZWE1YjU0Yzg5OTllMmEwYjliMDQxNDk2
My4uMDNjNjY3YzY3Y2NjMjU5MmE0Yzg5ZmY4M2I2ODEwMzFkZmU2ZjA4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCkBAIC0yMzAsNiArMjMw
LDcgQEAgYm9vbCBDU1NQYXJzZXJDb250ZXh0Ojppc1Byb3BlcnR5UnVudGltZURpc2FibGVkKENT
U1Byb3BlcnR5SUQgcHJvcGVydHkpIGNvbnN0CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFzcGVjdFJh
dGlvOgogICAgICAgICByZXR1cm4gIWFzcGVjdFJhdGlvRW5hYmxlZDsKICAgICBjYXNlIENTU1By
b3BlcnR5Q29udGFpbjoKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxpdHk6CiAg
ICAgICAgIHJldHVybiAhY29udGFpbm1lbnRFbmFibGVkOwogICAgIGNhc2UgQ1NTUHJvcGVydHlB
cHBsZUNvbG9yRmlsdGVyOgogICAgICAgICByZXR1cm4gIWNvbG9yRmlsdGVyRW5hYmxlZDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXgg
YmZiOWI2MTE1OTIyZWU2YzlkNTQ3NWZmOGZkYzE0YTcxNjM4ZTU1OS4uMzIxYWJlOTkxODBlMWE4
NTE3MTQ4MDg3ZTRlN2FiOWUzMjE2ZWY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTQwMzMsNiArNDAzMywxMyBAQCBzdGF0aWMg
UmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5n
ZSkKICAgICByZXR1cm4gUmVmUHRyPENTU1ZhbHVlPihXVEZNb3ZlKGxpc3QpKTsKIH0KIAorc3Rh
dGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChhdXRvIHNpbmdsZVZhbHVlID0gY29u
c3VtZUlkZW50PENTU1ZhbHVlVmlzaWJsZSwgQ1NTVmFsdWVBdXRvLCBDU1NWYWx1ZUhpZGRlbj4o
cmFuZ2UpKQorICAgICAgICByZXR1cm4gc2luZ2xlVmFsdWU7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVUZXh0RW1waGFzaXNQb3NpdGlv
bihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKIHsKICAgICBib29sIGZvdW5kT3Zlck9yVW5k
ZXIgPSBmYWxzZTsKQEAgLTQ2NjEsNiArNDY2OCwxMCBAQCBSZWZQdHI8Q1NTVmFsdWU+IENTU1By
b3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHksIENT
UwogICAgICAgICBpZiAoIW1fY29udGV4dC5jb250YWlubWVudEVuYWJsZWQpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgcmV0dXJuIGNvbnN1bWVDb250YWluKG1fcmFuZ2Up
OworICAgIGNhc2UgQ1NTUHJvcGVydHlDb250ZW50VmlzaWJpbGl0eToKKyAgICAgICAgaWYgKCFt
X2NvbnRleHQuY29udGFpbm1lbnRFbmFibGVkKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgICAgIHJldHVybiBjb25zdW1lQ29udGVudFZpc2liaWxpdHlIaWRkZW4obV9yYW5nZSk7
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRFbXBoYXNpc1Bvc2l0aW9uOgogICAgICAgICByZXR1
cm4gY29uc3VtZVRleHRFbXBoYXNpc1Bvc2l0aW9uKG1fcmFuZ2UpOwogI2lmIEVOQUJMRShEQVJL
X01PREVfQ1NTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYjIwNjIxMGZkNmExNDBjOTUw
N2Y4M2Y0YjE1ODYyMDUxM2QxOGVhMS4uOGRhOTUzZmU2OGMzMDlmZmFjMDVhMzk5ODA0MDlmZjFj
NzE1ZmNhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMzMsNiArMTMzLDcgQEAKICNp
bmNsdWRlICJJbWFnZU92ZXJsYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNs
dWRlICJJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNDdXN0b21F
bGVtZW50SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20uaCIKICNpbmNs
dWRlICJKU0xhenlFdmVudExpc3RlbmVyLmgiCkBAIC0zODgsNiArMzg5LDMzIEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2Rpc2FsbG93TGF5b3V0IHsgZmFsc2UgfTsKIH07CiAKK2NsYXNzIENvbnRl
bnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBmaW5hbCA6IHB1YmxpYyBJ
bnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENv
bnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaz4gY3JlYXRlKERvY3Vt
ZW50JiBkb2N1bWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENvbnRl
bnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhkb2N1bWVudCkpOworICAg
IH0KKworcHJpdmF0ZToKKyAgICBib29sIGhhc0NhbGxiYWNrKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQorCisgICAgQ2FsbGJhY2tSZXN1bHQ8dm9pZD4gaGFuZGxlRXZlbnQoSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXImLCBjb25zdCBWZWN0b3I8UmVmPEludGVyc2VjdGlvbk9ic2VydmVyRW50
cnk+PiYgZW50cmllcywgSW50ZXJzZWN0aW9uT2JzZXJ2ZXImKSBmaW5hbAorICAgIHsKKyAgICAg
ICAgQVNTRVJUKCFlbnRyaWVzLmlzRW1wdHkoKSk7CisKKyAgICAgICAgZm9yIChhdXRvJiBlbnRy
eSA6IGVudHJpZXMpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBlbGVtZW50ID0gZW50cnktPnRh
cmdldCgpKQorICAgICAgICAgICAgICAgIGVsZW1lbnQtPmNvbnRlbnRWaXNpYmlsaXR5Vmlld3Bv
cnRDaGFuZ2UoZW50cnktPmlzSW50ZXJzZWN0aW5nKCkpOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorCisgICAgQ29udGVudFZpc2liaWxpdHlJbnRlcnNlY3Rpb25PYnNl
cnZlckNhbGxiYWNrKERvY3VtZW50JiBkb2N1bWVudCkKKyAgICAgICAgOiBJbnRlcnNlY3Rpb25P
YnNlcnZlckNhbGxiYWNrKCZkb2N1bWVudCkKKyAgICB7CisgICAgfQorfTsKKwogLy8gRGVmaW5l
ZCBoZXJlIHRvIGF2b2lkIGluY2x1ZGluZyBHQ1JlYWNoYWJsZVJlZi5oIGluIERvY3VtZW50LmgK
IHN0cnVjdCBEb2N1bWVudDo6UGVuZGluZ1Njcm9sbEV2ZW50VGFyZ2V0TGlzdCB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC0yMTc3LDcgKzIyMDUsNyBAQCBib29sIERvY3VtZW50
Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBEb2N1
bWVudDo6dXBkYXRlTGF5b3V0KCkKK3ZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dChGb3JjZUxh
eW91dCBmb3JjZUxheW91dCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCkBAIC0y
MjAwLDE2ICsyMjI4LDI1IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCiAKICAgICBp
ZiAoIWZyYW1lVmlldyB8fCAhcmVuZGVyVmlldygpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYg
KCFmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSAmJiAhcmVuZGVy
VmlldygpLT5uZWVkc0xheW91dCgpKQorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gb2xkTGF5b3V0
Rm9yY2VkOworICAgIGlmIChmb3JjZUxheW91dCA9PSBGb3JjZUxheW91dDo6WWVzICYmIHZpZXco
KSkgeworICAgICAgICBvbGRMYXlvdXRGb3JjZWQgPSB2aWV3KCktPmxheW91dENvbnRleHQoKS5p
c0xheW91dEZvcmNlZCgpOworICAgICAgICB2aWV3KCktPmxheW91dENvbnRleHQoKS5zZXRMYXlv
dXRGb3JjZWQodHJ1ZSk7CisgICAgfQorCisgICAgaWYgKCFmcmFtZVZpZXctPmxheW91dENvbnRl
eHQoKS5pc0xheW91dFBlbmRpbmcoKSAmJiAhcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpICYm
IGZvcmNlTGF5b3V0ICE9IEZvcmNlTGF5b3V0OjpZZXMpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgpLmxheW91dCgpOwogCisgICAgaWYgKG9sZExheW91
dEZvcmNlZCkKKyAgICAgICAgdmlldygpLT5sYXlvdXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2Vk
KCpvbGRMYXlvdXRGb3JjZWQpOworCiAgICAgaWYgKHN0eWxlU2NvcGUoKS51cGRhdGVRdWVyeUNv
bnRhaW5lclN0YXRlKCkpCi0gICAgICAgIHVwZGF0ZUxheW91dCgpOworICAgICAgICB1cGRhdGVM
YXlvdXQoZm9yY2VMYXlvdXQpOwogfQogCi12b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcyBydW5Qb3N0
TGF5b3V0VGFza3MpCit2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcyBydW5Qb3N0TGF5b3V0VGFza3Ms
IEZvcmNlTGF5b3V0IGZvcmNlTGF5b3V0KQogewogICAgIGJvb2wgb2xkSWdub3JlID0gbV9pZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHM7CiAKQEAgLTIyMjAsNyArMjI1Nyw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9z
dExheW91dFRhc2tzCiAgICAgICAgICAgICBzY2hlZHVsZUZ1bGxTdHlsZVJlYnVpbGQoKTsKICAg
ICB9CiAKLSAgICB1cGRhdGVMYXlvdXQoKTsKKyAgICB1cGRhdGVMYXlvdXQoZm9yY2VMYXlvdXQp
OwogCiAgICAgaWYgKHJ1blBvc3RMYXlvdXRUYXNrcyA9PSBSdW5Qb3N0TGF5b3V0VGFza3M6OlN5
bmNocm9ub3VzbHkgJiYgdmlldygpKQogICAgICAgICB2aWV3KCktPmZsdXNoQW55UGVuZGluZ1Bv
c3RMYXlvdXRUYXNrcygpOwpAQCAtMjM0OCw3ICsyMzg1LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBk
YXRlTGF5b3V0SWZEaW1lbnNpb25zT3V0T2ZEYXRlKEVsZW1lbnQmIGVsZW1lbnQsIERpbWVuc2lv
bnNDaGUKICAgICAvLyBPbmx5IGRvIGEgbGF5b3V0IGlmIGNoYW5nZXMgaGF2ZSBvY2N1cnJlZCB0
aGF0IG1ha2UgaXQgbmVjZXNzYXJ5LiAgICAgIAogICAgIGlmIChyZXF1aXJlRnVsbExheW91dCAm
JiBmcmFtZVZpZXcgJiYgcmVuZGVyVmlldygpICYmIChmcmFtZVZpZXctPmxheW91dENvbnRleHQo
KS5pc0xheW91dFBlbmRpbmcoKSB8fCByZW5kZXJWaWV3KCktPm5lZWRzTGF5b3V0KCkpKQogICAg
ICAgICBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5sYXlvdXQoKTsKLSAgICAKKwogICAgIHJl
dHVybiByZXF1aXJlRnVsbExheW91dDsKIH0KIApAQCAtNDY4NCw2ICs0NzIxLDExIEBAIGJvb2wg
RG9jdW1lbnQ6OnNldEZvY3VzZWRFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEZvY3Vz
T3B0aW9ucyYgb3B0aW9ucykKICAgICAgICAgbV9mb2N1c2VkRWxlbWVudC0+c2V0Rm9jdXModHJ1
ZSwgb3B0aW9ucy52aXNpYmlsaXR5KTsKICAgICAgICAgbV9sYXRlc3RGb2N1c1RyaWdnZXIgPSBv
cHRpb25zLnRyaWdnZXI7CiAKKyAgICAgICAgZm9yIChhdXRvIGZvY3VzZWQgPSBuZXdGb2N1c2Vk
RWxlbWVudDsgZm9jdXNlZDsgZm9jdXNlZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBv
c2VkVHJlZSgpKSB7CisgICAgICAgICAgICBpZiAoYXV0byogZGF0YSA9IGZvY3VzZWQtPmNvbnRl
bnRWaXNpYmlsaXR5RGF0YSgpKQorICAgICAgICAgICAgICAgIGRhdGEtPnN1YnRyZWVIYXNGb2N1
cyA9IHRydWU7CisgICAgICAgIH0KKwogICAgICAgICAvLyBUaGUgc2V0Rm9jdXMgY2FsbCB0cmln
Z2VycyBhIGJsdXIgYW5kIGEgZm9jdXMgZXZlbnQuIEV2ZW50IGhhbmRsZXJzIGNvdWxkIGNhdXNl
IHRoZSBmb2N1c2VkIGVsZW1lbnQgdG8gYmUgY2xlYXJlZC4KICAgICAgICAgaWYgKG1fZm9jdXNl
ZEVsZW1lbnQgIT0gbmV3Rm9jdXNlZEVsZW1lbnQpIHsKICAgICAgICAgICAgIC8vIGhhbmRsZXIg
c2hpZnRlZCBmb2N1cwpAQCAtODAwOSw3ICs4MDUxLDggQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8
SW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25TdGF0ZT4gY29tcHV0ZUludGVyc2VjdGlvblN0YXRlKEZy
YW0KICAgICBGbG9hdFJlY3Qgcm9vdExvY2FsSW50ZXJzZWN0aW9uUmVjdCA9IGxvY2FsUm9vdEJv
dW5kczsKIAogICAgIEludGVyc2VjdGlvbk9ic2VydmF0aW9uU3RhdGUgaW50ZXJzZWN0aW9uU3Rh
dGU7Ci0gICAgaW50ZXJzZWN0aW9uU3RhdGUuaXNJbnRlcnNlY3RpbmcgPSByb290TG9jYWxUYXJn
ZXRSZWN0ICYmIHJvb3RMb2NhbEludGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2Vj
dCgqcm9vdExvY2FsVGFyZ2V0UmVjdCk7CisgICAgaWYgKCF0YXJnZXQuaXNTa2lwcGVkQ29udGVu
dCgpKQorICAgICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5pc0ludGVyc2VjdGluZyA9IHJvb3RMb2Nh
bFRhcmdldFJlY3QgJiYgcm9vdExvY2FsSW50ZXJzZWN0aW9uUmVjdC5lZGdlSW5jbHVzaXZlSW50
ZXJzZWN0KCpyb290TG9jYWxUYXJnZXRSZWN0KTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNv
bHV0ZVRhcmdldFJlY3QgPSB0YXJnZXRSZW5kZXJlci0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9h
dFJlY3QobG9jYWxUYXJnZXRCb3VuZHMpKS5ib3VuZGluZ0JveCgpOwogICAgIGludGVyc2VjdGlv
blN0YXRlLmFic29sdXRlUm9vdEJvdW5kcyA9IHJvb3RSZW5kZXJlci0+bG9jYWxUb0Fic29sdXRl
UXVhZChsb2NhbFJvb3RCb3VuZHMpLmJvdW5kaW5nQm94KCk7CiAKQEAgLTkwOTIsNiArOTEzNSw0
NCBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6U2Vzc2lvbklEPiBEb2N1bWVudDo6c2Vzc2lvbklEKCkg
Y29uc3QKICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQogCitDb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGUmIERvY3VtZW50Ojpjb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoKQor
eworICAgIGlmICghbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUpCisgICAgICAgIG1f
Y29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlID0gbWFrZVVuaXF1ZTxDb250ZW50VmlzaWJp
bGl0eURvY3VtZW50U3RhdGU+KCp0aGlzKTsKKyAgICByZXR1cm4gKm1fY29udGVudFZpc2liaWxp
dHlEb2N1bWVudFN0YXRlOworfQorCitDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgOiBt
X2RvY3VtZW50KGRvY3VtZW50KQoreworfQorCit2b2lkIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1l
bnRTdGF0ZTo6YWRkQ29udGVudFZpc2liaWxpdHlPYnNlcnZhdGlvbihFbGVtZW50JiBlbGVtZW50
KQoreworICAgIGlmIChhdXRvKiBpbnRlcnNlY3Rpb25PYnNlcnZlciA9IGVuc3VyZUludGVyc2Vj
dGlvbk9ic2VydmVyKCkpCisgICAgICAgIGludGVyc2VjdGlvbk9ic2VydmVyLT5vYnNlcnZlKGVs
ZW1lbnQpOworfQorCit2b2lkIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6cmVtb3Zl
Q29udGVudFZpc2liaWxpdHlPYnNlcnZhdGlvbihFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlm
IChhdXRvKiBpbnRlcnNlY3Rpb25PYnNlcnZlciA9IGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVy
KCkpCisgICAgICAgIGludGVyc2VjdGlvbk9ic2VydmVyLT51bm9ic2VydmUoZWxlbWVudCk7Cit9
CisKK0ludGVyc2VjdGlvbk9ic2VydmVyKiBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6
OmVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCkKK3sKKyAgICBpZiAoIW1fb2JzZXJ2ZXIpIHsK
KyAgICAgICAgYXV0byBjYWxsYmFjayA9IENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJDYWxsYmFjazo6Y3JlYXRlKCptX2RvY3VtZW50KTsKKyAgICAgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPGNvbnN0IFN0cmluZz4gY29udGVudFZpc2liaWxpdHlSb290TWFyZ2luRmFsbGJh
Y2soTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIjEwMCUiKSk7CisgICAgICAgIEludGVyc2VjdGlv
bk9ic2VydmVyOjpJbml0IG9wdGlvbnMgeyBzdGQ6Om51bGxvcHQsIGNvbnRlbnRWaXNpYmlsaXR5
Um9vdE1hcmdpbkZhbGxiYWNrLCB7IH0gfTsKKyAgICAgICAgYXV0byBvYnNlcnZlciA9IEludGVy
c2VjdGlvbk9ic2VydmVyOjpjcmVhdGUoKm1fZG9jdW1lbnQsIFdURk1vdmUoY2FsbGJhY2spLCBX
VEZNb3ZlKG9wdGlvbnMpKTsKKyAgICAgICAgaWYgKG9ic2VydmVyLmhhc0V4Y2VwdGlvbigpKQor
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIG1fb2JzZXJ2ZXIgPSBvYnNlcnZl
ci5yZXR1cm5WYWx1ZSgpLnB0cigpOworICAgIH0KKyAgICByZXR1cm4gbV9vYnNlcnZlci5nZXQo
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjdW5kZWYgRE9DVU1FTlRfUkVMRUFT
RV9MT0cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNGRkN2QzNmNlMjQ4YzBmNTY3NmEwZDU4ZTk4
MGQ4MDZlNjEwNmI3MC4uMjYwYjA3Yjk2ZmVlOTI5NDUwNDljNDBjMzk1OWY5ZWI0NzI5NDQ2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTMzOSw2ICszMzksMjEgQEAgcHJpdmF0ZToKICAgICBX
ZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OwogfTsKIAorY2xhc3MgQ29udGVudFZpc2liaWxp
dHlEb2N1bWVudFN0YXRlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
KyAgICBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoRG9jdW1lbnQmKTsKKworICAgIHZv
aWQgYWRkQ29udGVudFZpc2liaWxpdHlPYnNlcnZhdGlvbihFbGVtZW50Jik7CisgICAgdm9pZCBy
ZW1vdmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKEVsZW1lbnQmKTsKKworcHJpdmF0ZToK
KyAgICBJbnRlcnNlY3Rpb25PYnNlcnZlciogZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTsK
KworICAgIFJlZlB0cjxJbnRlcnNlY3Rpb25PYnNlcnZlcj4gbV9vYnNlcnZlcjsKKyAgICBXZWFr
UHRyPERvY3VtZW50PiBtX2RvY3VtZW50OworfTsKKwogY2xhc3MgRG9jdW1lbnQKICAgICA6IHB1
YmxpYyBDb250YWluZXJOb2RlCiAgICAgLCBwdWJsaWMgVHJlZVNjb3BlCkBAIC02MjAsMTIgKzYz
NSwxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkc1N0eWxlUmVjYWxjKCkgY29uc3Q7CiAgICAg
dW5zaWduZWQgbGFzdFN0eWxlVXBkYXRlU2l6ZUZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBt
X2xhc3RTdHlsZVVwZGF0ZVNpemVGb3JUZXN0aW5nOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHVwZGF0ZUxheW91dCgpOworICAgIGVudW0gY2xhc3MgRm9yY2VMYXlvdXQgeyBObywgWWVz
IH07CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgPSBG
b3JjZUxheW91dDo6Tm8pOwogICAgIAogICAgIC8vIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpIGZvcmNlcyBsYXlvdXQgZXZlbiBpZiB3ZSBhcmUgd2FpdGluZyBmb3IgcGVu
ZGluZyBzdHlsZXNoZWV0IGxvYWRzLAogICAgIC8vIHNvIGNhbGxpbmcgdGhpcyBtYXkgY2F1c2Ug
YSBmbGFzaCBvZiB1bnN0eWxlZCBjb250ZW50IChGT1VDKS4KICAgICBlbnVtIGNsYXNzIFJ1blBv
c3RMYXlvdXRUYXNrcyB7IEFzeW5jaHJvbm91c2x5LCBTeW5jaHJvbm91c2x5IH07Ci0gICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoUnVu
UG9zdExheW91dFRhc2tzID0gUnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoUnVuUG9zdExheW91dFRhc2tzID0gUnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNs
eSwgRm9yY2VMYXlvdXQgPSBGb3JjZUxheW91dDo6Tm8pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRy
PFJlbmRlclN0eWxlPiBzdHlsZUZvckVsZW1lbnRJZ25vcmluZ1BlbmRpbmdTdHlsZXNoZWV0cyhF
bGVtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBQc2V1ZG9JZCA9IFBzZXVk
b0lkOjpOb25lKTsKIApAQCAtMTY0Myw2ICsxNjU5LDggQEAgcHVibGljOgogCiAgICAgTGF6eUxv
YWRJbWFnZU9ic2VydmVyJiBsYXp5TG9hZEltYWdlT2JzZXJ2ZXIoKTsKIAorICAgIENvbnRlbnRW
aXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSYgY29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCk7
CisKICAgICB2b2lkIHNldEhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgeyBtX2hh
c1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50ID0gdHJ1ZTsgfQogICAgIGJvb2wgaGFzVmlz
dWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5
Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRy
eUlmTmVlZGVkKCk7CkBAIC0xODg0LDYgKzE5MDIsOCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPExhenlMb2FkSW1hZ2VPYnNlcnZlcj4gbV9sYXp5TG9hZEltYWdlT2JzZXJ2ZXI7
CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlPiBt
X2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTsKKwogICAgIFJlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IG1fcGVuZGluZ1N0YXRlT2JqZWN0OwogI2lmICFMT0dfRElTQUJMRUQKICAg
ICBNb25vdG9uaWNUaW1lIG1fZG9jdW1lbnRDcmVhdGlvblRpbWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKaW5kZXggMTdkNjBmNThhMTkyNDJiZTUyNmIyOWFmMTIxZTYxNjM2MDZkYTdmNy4uY2EzMzQ2
MTg3YWU1ODVmZjUzOWUzNzU1YzEzNTQ2MGFjYWZmNWVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cApAQCAtMTI4MSw3ICsxMjgxLDcgQEAgaW50IEVsZW1lbnQ6Om9mZnNldFRvcEZvckJpbmRpbmdz
KCkKIAogaW50IEVsZW1lbnQ6Om9mZnNldFRvcCgpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tz
OjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIGlmIChS
ZW5kZXJCb3hNb2RlbE9iamVjdCogcmVuZGVyZXIgPSByZW5kZXJCb3hNb2RlbE9iamVjdCgpKQog
ICAgICAgICByZXR1cm4gYWRqdXN0T2Zmc2V0Rm9yWm9vbUFuZFN1YnBpeGVsTGF5b3V0KCpyZW5k
ZXJlciwgcmVuZGVyZXItPm9mZnNldFRvcCgpKTsKICAgICByZXR1cm4gMDsKQEAgLTE3NjYsNyAr
MTc2Niw3IEBAIHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPFJlbmRlck9iamVjdCosIEZsb2F0UmVj
dD4+IEVsZW1lbnQ6OmJvdW5kaW5nQWJzb2x1dGVSZWN0CiAKIEZsb2F0UmVjdCBFbGVtZW50Ojpi
b3VuZGluZ0NsaWVudFJlY3QoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9u
b3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBhdXRvIHBhaXIgPSBib3Vu
ZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRMYXlvdXQoKTsKICAgICBpZiAoIXBhaXIpCiAgICAgICAg
IHJldHVybiB7IH07CkBAIC0zMDcwLDYgKzMwNzAsOSBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGNv
bnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9ucykKICAgICBpZiAoIWlzQ29ubmVjdGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAorICAgIGlmIChpc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVy
bjsKKwogICAgIFJlZiBkb2N1bWVudCB7IHRoaXMtPmRvY3VtZW50KCkgfTsKICAgICBpZiAoZG9j
dW1lbnQtPmZvY3VzZWRFbGVtZW50KCkgPT0gdGhpcykgewogICAgICAgICBpZiAoZG9jdW1lbnQt
PnBhZ2UoKSkKQEAgLTMzNDIsNiArMzM0NSw5IEBAIFN0cmluZyBFbGVtZW50Ojppbm5lclRleHQo
KQogICAgIC8vIFdlIG5lZWQgdG8gdXBkYXRlIGxheW91dCwgc2luY2UgcGxhaW5UZXh0IHVzZXMg
bGluZSBib3hlcyBpbiB0aGUgcmVuZGVyIHRyZWUuCiAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAorICAgIGlmIChpc1NraXBwZWRDb250ZW50
KCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkKICAg
ICAgICAgcmV0dXJuIHRleHRDb250ZW50KHRydWUpOwogCkBAIC0zNTU3LDkgKzM1NjMsOCBAQCBi
b29sIEVsZW1lbnQ6Omhhc1ZhbGlkU3R5bGUoKSBjb25zdAogCiBib29sIEVsZW1lbnQ6OmlzVmlz
aWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUoKSBjb25zdAogewotCiAgICAgaWYgKHJlbmRl
clN0eWxlKCkgfHwgaGFzVmFsaWRTdHlsZSgpKQotICAgICAgICByZXR1cm4gcmVuZGVyU3R5bGUo
KSAmJiByZW5kZXJTdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZTsK
KyAgICAgICAgcmV0dXJuIHJlbmRlclN0eWxlKCkgJiYgcmVuZGVyU3R5bGUoKS0+dmlzaWJpbGl0
eSgpID09IFZpc2liaWxpdHk6OlZpc2libGUgJiYgIWlzU2tpcHBlZENvbnRlbnQoKTsKIAogICAg
IGF1dG8gY29tcHV0ZWRTdHlsZUZvckVsZW1lbnQgPSBbXShFbGVtZW50JiBlbGVtZW50KSAtPiBj
b25zdCBSZW5kZXJTdHlsZSogewogICAgICAgICBhdXRvKiBzdHlsZSA9IGVsZW1lbnQuaGFzTm9k
ZUZsYWcoTm9kZUZsYWc6OklzQ29tcHV0ZWRTdHlsZUludmFsaWRGbGFnKSA/IG51bGxwdHIgOiBl
bGVtZW50LmV4aXN0aW5nQ29tcHV0ZWRTdHlsZSgpOwpAQCAtMzU3Nyw2ICszNTgyLDkgQEAgYm9v
bCBFbGVtZW50Ojppc1Zpc2libGVXaXRob3V0UmVzb2x2aW5nRnVsbFN0eWxlKCkgY29uc3QKICAg
ICBpZiAoc3R5bGUtPnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBjb21wb3NlZFRyZWVBbmNl
c3RvcnMoY29uc3RfY2FzdDxFbGVtZW50Jj4oKnRoaXMpKSkgewogICAgICAgICBhdXRvKiBzdHls
ZSA9IGNvbXB1dGVkU3R5bGVGb3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICBpZiAoIXN0eWxl
IHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUpCkBAIC00NzQ3LDYgKzQ3
NTUsMTAyIEBAIEVsZW1lbnRJZGVudGlmaWVyIEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRJZGVudGlm
aWVyKCkKICAgICByZXR1cm4gRWxlbWVudElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiB9CiAKK0Nv
bnRlbnRWaXNpYmlsaXR5RGF0YSYgRWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRh
KCkKK3sKKyAgICBhdXRvJiByYXJlRGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOworICAg
IGlmICghcmFyZURhdGEuY29udGVudFZpc2liaWxpdHlEYXRhKCkpCisgICAgICAgIHJhcmVEYXRh
LnNldENvbnRlbnRWaXNpYmlsaXR5RGF0YShtYWtlVW5pcXVlPENvbnRlbnRWaXNpYmlsaXR5RGF0
YT4oKSk7CisgICAgcmV0dXJuICpyYXJlRGF0YS5jb250ZW50VmlzaWJpbGl0eURhdGEoKTsKK30K
KworQ29udGVudFZpc2liaWxpdHlEYXRhKiBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eURhdGEo
KSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCkt
PmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpIDogbnVsbHB0cjsKK30KKwordm9pZCBFbGVtZW50Ojp1
cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEoYm9vbCBzaG91bGRTa2lwLCBDb250ZW50VmlzaWJp
bGl0eSBjb250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAoYXV0byogcGFyZW50ID0gcGFyZW50
RWxlbWVudCgpKQorICAgICAgICBzaG91bGRTa2lwIHw9IHBhcmVudC0+aXNTa2lwcGVkQ29udGVu
dCgpOworCisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOwor
ICAgIGlmIChpczxIVE1MRGlhbG9nRWxlbWVudD4oKnRoaXMpKQorICAgICAgICBkYXRhLmlzU2tp
cHBlZENvbnRlbnQgPSBzaG91bGRTa2lwICYmIGNvbnRlbnRWaXNpYmlsaXR5ID09IENvbnRlbnRW
aXNpYmlsaXR5OjpIaWRkZW47CisgICAgZWxzZQorICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRl
bnQgPSBzaG91bGRTa2lwOworCisgICAgaWYgKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyID0gdGhp
cy0+cmVuZGVyZXIoKSkKKyAgICAgICAgc2hvdWxkU2tpcCB8PSByZW5kZXJlci0+c2hvdWxkU2tp
cENvbnRlbnQoKTsKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8RWxlbWVu
dD4oKnRoaXMpKQorICAgICAgICBjaGlsZC51cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEoc2hv
dWxkU2tpcCwgY29udGVudFZpc2liaWxpdHkpOworfQorCisvLyBGSVhNRTogdGhpcyBpcyBpbmNv
bXBsZXRlLCBhbmQgbmVlZHMgdG8gYmUgcmVmYWN0b3JlZCB3aXRoIGludGVyc2VjdGlvbiBvYnNl
cnZlciBjb21wdXRhdGlvbnMgaW4gRG9jdW1lbnQuCitzdGF0aWMgYm9vbCBjb21wdXRlSW50ZXJz
ZWN0aW9uKGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIp
Cit7CisgICAgaWYgKCFyZW5kZXJlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgRnJh
bWVWaWV3KiB2aWV3ID0gZG9jdW1lbnQudmlldygpOworICAgIGlmICghdmlldykKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgRmxvYXRSZWN0IGxvY2FsUm9vdEJvdW5kcyA9IHZpZXctPmxh
eW91dFZpZXdwb3J0UmVjdCgpOworICAgIExheW91dFJlY3QgbG9jYWxUYXJnZXRCb3VuZHM7Cisg
ICAgaWYgKGlzPFJlbmRlckJveD4oKnJlbmRlcmVyKSkKKyAgICAgICAgbG9jYWxUYXJnZXRCb3Vu
ZHMgPSBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKS0+Ym9yZGVyQm91bmRpbmdCb3goKTsK
KworICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0UmVjdD4gcm9vdExvY2FsVGFyZ2V0UmVjdDsKKyAg
ICBPcHRpb25TZXQ8UmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb24+IHZpc2li
bGVSZWN0T3B0aW9ucyA9IHsgUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb246
OlVzZUVkZ2VJbmNsdXNpdmVJbnRlcnNlY3Rpb24sIFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RD
b250ZXh0T3B0aW9uOjpBcHBseUNvbXBvc2l0ZWRDbGlwcywgUmVuZGVyT2JqZWN0OjpWaXNpYmxl
UmVjdENvbnRleHRPcHRpb246OkFwcGx5Q29tcG9zaXRlZENvbnRhaW5lclNjcm9sbHMgfTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPExheW91dFJlY3Q+IHJlY3RJbkZyYW1lQWJzb2x1dGVTcGFjZSA9IHJl
bmRlcmVyLT5jb21wdXRlVmlzaWJsZVJlY3RJbkNvbnRhaW5lcihsb2NhbFRhcmdldEJvdW5kcywg
JnJlbmRlcmVyLT52aWV3KCksIHsgZmFsc2UgLyogaGFzUG9zaXRpb25GaXhlZERlc2NlbmRhbnQg
Ki8sIGZhbHNlIC8qIGRpcnR5UmVjdElzRmxpcHBlZCAqLywgdmlzaWJsZVJlY3RPcHRpb25zIH0p
OworICAgIGlmIChyZWN0SW5GcmFtZUFic29sdXRlU3BhY2UpCisgICAgICAgIHJvb3RMb2NhbFRh
cmdldFJlY3QgPSByZWN0SW5GcmFtZUFic29sdXRlU3BhY2U7CisgICAgRmxvYXRSZWN0IHJvb3RM
b2NhbEludGVyc2VjdGlvblJlY3QgPSBsb2NhbFJvb3RCb3VuZHM7CisgICAgcmV0dXJuIHJvb3RM
b2NhbFRhcmdldFJlY3QgJiYgcm9vdExvY2FsSW50ZXJzZWN0aW9uUmVjdC5lZGdlSW5jbHVzaXZl
SW50ZXJzZWN0KCpyb290TG9jYWxUYXJnZXRSZWN0KTsKK30KKworYm9vbCBFbGVtZW50OjpkZXRl
cm1pbmVJZlN1YnRyZWVIYXNGb2N1cygpCit7CisgICAgZm9yIChhdXRvKiBmb2N1c2VkID0gZG9j
dW1lbnQoKS5mb2N1c2VkRWxlbWVudCgpOyBmb2N1c2VkOyBmb2N1c2VkID0gZm9jdXNlZC0+cGFy
ZW50RWxlbWVudEluQ29tcG9zZWRUcmVlKCkpIHsKKyAgICAgICAgaWYgKGZvY3VzZWQgPT0gdGhp
cykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRlQ29udGVudFZpc2liaWxpdHkoc3RkOjpvcHRpb25hbDxD
b250ZW50VmlzaWJpbGl0eT4sIENvbnRlbnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5
KQoreworICAgIGlmIChuZXdDb250ZW50VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6
QXV0bykgeworICAgICAgICBhdXRvJiBkYXRhID0gZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRh
KCk7CisgICAgICAgIGRhdGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCA9IGNvbXB1dGVJbnRlcnNl
Y3Rpb24oZG9jdW1lbnQoKSwgcmVuZGVyZXIoKSk7CisgICAgICAgIGRhdGEuaXNTa2lwcGVkQ29u
dGVudCA9IGZhbHNlOworICAgICAgICBkYXRhLnN1YnRyZWVIYXNGb2N1cyA9IGRldGVybWluZUlm
U3VidHJlZUhhc0ZvY3VzKCk7CisgICAgICAgIGRvY3VtZW50KCkuY29udGVudFZpc2liaWxpdHlE
b2N1bWVudFN0YXRlKCkuYWRkQ29udGVudFZpc2liaWxpdHlPYnNlcnZhdGlvbigqdGhpcyk7Cisg
ICAgfQorICAgIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShmYWxzZSwgbmV3Q29udGVudFZp
c2liaWxpdHkpOworfQorCitib29sIEVsZW1lbnQ6OmlzU2tpcHBlZENvbnRlbnQoKSBjb25zdAor
eworICAgIHJldHVybiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSA/IGNvbnRlbnRWaXNpYmlsaXR5
RGF0YSgpLT5pc1NraXBwZWRDb250ZW50IDogZmFsc2U7Cit9CisKK2Jvb2wgRWxlbWVudDo6c2hv
dWxkU2tpcENvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghcmVuZGVyZXIoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmIChyZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRlbnRWaXNpYmls
aXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pCisgICAgICAgIHJldHVybiBjb250ZW50
VmlzaWJpbGl0eURhdGEoKSA/ICFjb250ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNJbnRlcnNlY3Rp
bmdWaWV3cG9ydCAmJiAhY29udGVudFZpc2liaWxpdHlEYXRhKCktPnN1YnRyZWVIYXNGb2N1cyA6
IHRydWU7CisgICAgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCkuY29udGVudFZpc2liaWxpdHko
KSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOworfQorCit2b2lkIEVsZW1lbnQ6OmNvbnRl
bnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoYm9vbCBpc0ludGVyc2VjdGluZykKK3sKKyAgICBh
dXRvJiBkYXRhID0gZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCk7CisgICAgZGF0YS5pc0lu
dGVyc2VjdGluZ1ZpZXdwb3J0ID0gaXNJbnRlcnNlY3Rpbmc7CisgICAgdXBkYXRlQ29udGVudFZp
c2liaWxpdHlEYXRhKGZhbHNlLCBDb250ZW50VmlzaWJpbGl0eTo6QXV0byk7Cit9CisKICNpZiBF
TkFCTEUoQ1NTX1RZUEVEX09NKQogCiBTdHlsZVByb3BlcnR5TWFwKiBFbGVtZW50OjphdHRyaWJ1
dGVTdHlsZU1hcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA2MjA5YmU2MmE3MDQ2NGZlYzczMzM0
NWU2NTUzNjNkY2NmZTlmNTg4Li5mNDEyMDJkN2Q4MzZmNTEyZmFmODgwOWFiOGVkOGY1MGYyNmQ2
NGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTkxLDYgKzkxLDEyIEBAIHN0cnVjdCBTY3JvbGxJ
bnRvVmlld09wdGlvbnM7CiBzdHJ1Y3QgU2Nyb2xsVG9PcHRpb25zOwogc3RydWN0IFNlY3VyaXR5
UG9saWN5VmlvbGF0aW9uRXZlbnRJbml0Owogc3RydWN0IFNoYWRvd1Jvb3RJbml0Oworc3RydWN0
IENvbnRlbnRWaXNpYmlsaXR5RGF0YSB7CisgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NB
VEVEOworICAgIGJvb2wgaXNTa2lwcGVkQ29udGVudDsKKyAgICBib29sIGlzSW50ZXJzZWN0aW5n
Vmlld3BvcnQgeyBmYWxzZSB9OworICAgIGJvb2wgc3VidHJlZUhhc0ZvY3VzIHsgZmFsc2UgfTsK
K307CiAKIG5hbWVzcGFjZSBTdHlsZSB7CiBjbGFzcyBSZXNvbHZlcjsKQEAgLTY2NCw2ICs2NzAs
MTMgQEAgcHVibGljOgogICAgIGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNEdXBsaWNhdGVBdHRyaWJ1dGU7IH07CiAgICAgdm9pZCBzZXRIYXNEdXBsaWNh
dGVBdHRyaWJ1dGUoYm9vbCBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUpIHsgbV9oYXNEdXBsaWNhdGVB
dHRyaWJ1dGUgPSBoYXNEdXBsaWNhdGVBdHRyaWJ1dGU7IH07CiAKKyAgICBDb250ZW50VmlzaWJp
bGl0eURhdGEmIGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIENvbnRlbnRWaXNp
YmlsaXR5RGF0YSogY29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3Q7CisgICAgdm9pZCB1cGRh
dGVDb250ZW50VmlzaWJpbGl0eShzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmlsaXR5PiBvbGRD
b250ZW50VmlzaWJpbGl0eSwgQ29udGVudFZpc2liaWxpdHkgbmV3Q29udGVudFZpc2liaWxpdHkp
OworICAgIHZvaWQgY29udGVudFZpc2liaWxpdHlWaWV3cG9ydENoYW5nZShib29sKTsKKyAgICBi
b29sIGlzU2tpcHBlZENvbnRlbnQoKSBjb25zdDsKKyAgICBib29sIHNob3VsZFNraXBDb250ZW50
KCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYsIENvbnN0cnVjdGlvblR5cGUpOwogCkBAIC02ODcsNiArNzAwLDEwIEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIHNldEF0dHJpYnV0ZVN0eWxlTWFwKFJlZjxTdHlsZVByb3BlcnR5
TWFwPiYmKTsKICNlbmRpZgogCisgICAgdm9pZCB1cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEo
Ym9vbCBzaG91bGRTa2lwLCBDb250ZW50VmlzaWJpbGl0eSk7CisKKyAgICBib29sIGRldGVybWlu
ZUlmU3VidHJlZUhhc0ZvY3VzKCk7CisKIHByaXZhdGU6CiAgICAgRnJhbWUqIGRvY3VtZW50RnJh
bWVXaXRoTm9uTnVsbFZpZXcoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmNwcAppbmRleCA4NzdhMzQ5YTE0MzkzY2I5ZGJkNmQ0MzdhN2JkNjYxNmVmMjc1MTBhLi41
Yzg2YjhlNDJmMWI1NDg2MGEwMWE2MmY5OTM5ODk3Y2EyOGE4Y2VmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDMsNiArNDMsNyBAQCBzdHJ1Y3QgU2FtZVNpemVB
c0VsZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7CiAgICAgdm9pZCogdHlwZWRPTURhdGE7
CiAjZW5kaWYKICAgICB2b2lkKiByZXNpemVPYnNlcnZlckRhdGE7CisgICAgdm9pZCogY29udGVu
dFZpc2liaWxpdHlEYXRhOwogfTsKIAogc3RhdGljX2Fzc2VydChzaXplb2YoRWxlbWVudFJhcmVE
YXRhKSA9PSBzaXplb2YoU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSksICJFbGVtZW50UmFyZURh
dGEgc2hvdWxkIHN0YXkgc21hbGwiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApp
bmRleCAwZWM0ODdmYjhkMWYwZmY5MmRiMTc2OTUzMTljMDdkZjRlMjdmNmZiLi45ZjEwOWQwMzdl
MDg5ZGQwZDI1NDNiM2EyZGZhMTQ5NjU4YjVmNWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCkBAIC0xMDYsNiArMTA2LDkgQEAgcHVibGljOgogICAgIGNvbnN0IEF0b21TdHJp
bmcmIG5vbmNlKCkgY29uc3QgeyByZXR1cm4gbV9ub25jZTsgfQogICAgIHZvaWQgc2V0Tm9uY2Uo
Y29uc3QgQXRvbVN0cmluZyYgdmFsdWUpIHsgbV9ub25jZSA9IHZhbHVlOyB9CiAKKyAgICBDb250
ZW50VmlzaWJpbGl0eURhdGEqIGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1fY29udGVudFZpc2liaWxpdHlEYXRhLmdldCgpOyB9CisgICAgdm9pZCBzZXRDb250ZW50Vmlz
aWJpbGl0eURhdGEoc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRWaXNpYmlsaXR5RGF0YT4mJiBkYXRh
KSB7IG1fY29udGVudFZpc2liaWxpdHlEYXRhID0gV1RGTW92ZShkYXRhKTsgfQorCiAjaWYgRU5B
QkxFKENTU19UWVBFRF9PTSkKICAgICBTdHlsZVByb3BlcnR5TWFwKiBhdHRyaWJ1dGVTdHlsZU1h
cCgpIHsgcmV0dXJuIG1fYXR0cmlidXRlU3R5bGVNYXAuZ2V0KCk7IH0KICAgICB2b2lkIHNldEF0
dHJpYnV0ZVN0eWxlTWFwKFJlZjxTdHlsZVByb3BlcnR5TWFwPiYmIG1hcCkgeyBtX2F0dHJpYnV0
ZVN0eWxlTWFwID0gV1RGTW92ZShtYXApOyB9CkBAIC0xNTEsNiArMTU0LDggQEAgcHVibGljOgog
ICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpQYXJ0TmFtZXMpOwogICAgICAgICBpZiAo
bV9ub25jZSkKICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6Tm9uY2UpOworICAgICAg
ICBpZiAobV9Db250ZW50VmlzaWJpbGl0eURhdGEpCisgICAgICAgICAgICByZXN1bHQuYWRkKFVz
ZVR5cGU6OkNvbnRlbnRWaXNpYmlsaXR5KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
CiAjZW5kaWYKQEAgLTE4NCw2ICsxODksOCBAQCBwcml2YXRlOgogCiAgICAgQXRvbVN0cmluZyBt
X25vbmNlOwogCisgICAgc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRWaXNpYmlsaXR5RGF0YT4gbV9j
b250ZW50VmlzaWJpbGl0eURhdGE7CisKICAgICB2b2lkIHJlbGVhc2VQc2V1ZG9FbGVtZW50KFBz
ZXVkb0VsZW1lbnQqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCBjMzMx
ZmI4ZTVhNTU3NzFjMzlhMGI2MzBiMTEwOWVmOTMzN2I5YTg1Li5jZTU4NDg3MjU2NmZmYzQ0NzE0
ODUyOGY1ZjgzYmFkYjQxYzZhODU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0y
NjQsNiArMjY0LDcgQEAgcHVibGljOgogICAgICAgICBQYXJ0TGlzdCA9IDEgPDwgMTYsCiAgICAg
ICAgIFBhcnROYW1lcyA9IDEgPDwgMTcsCiAgICAgICAgIE5vbmNlID0gMSA8PCAxOCwKKyAgICAg
ICAgQ29udGVudFZpc2liaWxpdHk9IDEgPDwgMTksCiAgICAgfTsKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKaW5kZXggY2Y3MTQ5NWZmOWQyNDllNWEzNWJh
NWZhNGFlMjA4ZTliMGM1ZWFmOS4uNDE0MmI3NDExOWM5MGVhZWY3NTllYzBjODAwZjI3M2Q4YzQ2
YjEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtNDU2LDYg
KzQ1NiwxNiBAQCB2b2lkIFRleHRJdGVyYXRvcjo6YWR2YW5jZSgpCiAgICAgICAgICAgICByZXR1
cm47CiAgICAgfQogCisgICAgYXV0byBpc1NraXBwZWRDb250ZW50T3JUZXh0ID0gWyZdKCkgewor
ICAgICAgICBpZiAoaXM8RWxlbWVudD4obV9ub2RlKSkKKyAgICAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxFbGVtZW50PihtX25vZGUpLT5pc1NraXBwZWRDb250ZW50KCk7CisgICAgICAgIAorICAg
ICAgICBpZiAobV9ub2RlLT5pc1RleHROb2RlKCkpCisgICAgICAgICAgICByZXR1cm4gbV9ub2Rl
LT5wYXJlbnRFbGVtZW50KCkgPyBtX25vZGUtPnBhcmVudEVsZW1lbnQoKS0+aXNTa2lwcGVkQ29u
dGVudCgpOiBmYWxzZTsKKworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfTsKKwogICAgIHdo
aWxlIChtX25vZGUgJiYgbV9ub2RlICE9IG1fcGFzdEVuZE5vZGUpIHsKICAgICAgICAgLy8gaWYg
dGhlIHJhbmdlIGVuZHMgYXQgb2Zmc2V0IDAgb2YgYW4gZWxlbWVudCwgcmVwcmVzZW50IHRoZQog
ICAgICAgICAvLyBwb3NpdGlvbiwgYnV0IG5vdCB0aGUgY29udGVudCwgb2YgdGhhdCBlbGVtZW50
IGUuZy4gaWYgdGhlCkBAIC00NzIsNyArNDgyLDkgQEAgdm9pZCBUZXh0SXRlcmF0b3I6OmFkdmFu
Y2UoKQogICAgICAgICAgICAgaWYgKCFyZW5kZXJlcikgewogICAgICAgICAgICAgICAgIG1faGFu
ZGxlZE5vZGUgPSB0cnVlOwogICAgICAgICAgICAgICAgIG1faGFuZGxlZENoaWxkcmVuID0gIWhh
c0Rpc3BsYXlDb250ZW50cygqbV9ub2RlKTsKLSAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICB9IGVsc2UgaWYgKGlzPEVsZW1lbnQ+KG1fbm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVudD4o
bV9ub2RlKS0+c2hvdWxkU2tpcENvbnRlbnQoKSkgeworICAgICAgICAgICAgICAgIG1faGFuZGxl
ZENoaWxkcmVuID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzU2tpcHBlZENvbnRl
bnRPclRleHQoKSkgewogICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBjdXJyZW50IG5vZGUgYWNj
b3JkaW5nIHRvIGl0cyB0eXBlCiAgICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVyLT5pc1RleHQo
KSAmJiBtX25vZGUtPmlzVGV4dE5vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgbV9oYW5kbGVk
Tm9kZSA9IGhhbmRsZVRleHROb2RlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcAppbmRleCA3OThmZTg2YmM0ZjMyMDI2NzFjZDJkNzE0NjYwMDBiNmViYWJiNmJmLi40
NWI0ZDAyMDg5ZDEwMjg4NWQ0MTM2MWNiMzA2YjU0ODhiOTM3ZmExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTQ4NSw5ICs0ODUsOSBAQCB1bnNpZ25lZCBI
VE1MSW1hZ2VFbGVtZW50Ojp3aWR0aChib29sIGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKICAg
ICB9CiAKICAgICBpZiAoaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQotICAgICAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgICAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVu
UG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZ
ZXMpOwogICAgIGVsc2UKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICAg
ICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwog
CiAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKICAgICBpZiAoIWJveCkKQEAgLTQ5
OCw2ICs0OTgsMTEgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6d2lkdGgoYm9vbCBpZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMpCiAKIHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdo
dChib29sIGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKIHsKKyAgICBpZiAoaWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKQorICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNs
eSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOworICAgIGVsc2UKKyAgICAgICAgZG9jdW1l
bnQoKS51cGRhdGVMYXlvdXQoRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOworCiAgICAgaWYg
KCFyZW5kZXJlcigpKSB7CiAgICAgICAgIC8vIGNoZWNrIHRoZSBhdHRyaWJ1dGUgZmlyc3QgZm9y
IGFuIGV4cGxpY2l0IHBpeGVsIHZhbHVlCiAgICAgICAgIGF1dG8gb3B0aW9uYWxIZWlnaHQgPSBw
YXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIoYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlv
bihoZWlnaHRBdHRyKSk7CkBAIC01MDksMTEgKzUxNCw2IEBAIHVuc2lnbmVkIEhUTUxJbWFnZUVs
ZW1lbnQ6OmhlaWdodChib29sIGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKICAgICAgICAgICAg
IHJldHVybiBtX2ltYWdlTG9hZGVyLT5pbWFnZSgpLT5pbWFnZVNpemVGb3JSZW5kZXJlcihyZW5k
ZXJlcigpLCAxLjBmKS5oZWlnaHQoKS50b1Vuc2lnbmVkKCk7CiAgICAgfQogCi0gICAgaWYgKGln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAgICBlbHNlCi0gICAgICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0KCk7Ci0KICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwogICAg
IGlmICghYm94KQogICAgICAgICByZXR1cm4gMDsKQEAgLTYyMSw3ICs2MjEsNyBAQCB2b2lkIEhU
TUxJbWFnZUVsZW1lbnQ6OnNldFdpZHRoKHVuc2lnbmVkIHZhbHVlKQogCiBpbnQgSFRNTEltYWdl
RWxlbWVudDo6eCgpIGNvbnN0CiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25v
dXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIGF1dG8gcmVuZGVyZXIgPSB0
aGlzLT5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwpA
QCAtNjMyLDcgKzYzMiw3IEBAIGludCBIVE1MSW1hZ2VFbGVtZW50Ojp4KCkgY29uc3QKIAogaW50
IEhUTUxJbWFnZUVsZW1lbnQ6OnkoKSBjb25zdAogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6
QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBhdXRvIHJl
bmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICBy
ZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0VHlwZS5jcHAKaW5kZXggMWM4MDZi
Nzk5MDBhYmNhOTZjMWVlNDM3M2I5NTFhYTBkNDBkNGRkMi4uM2ZmMDg3YWI2MDhjN2VlNTM4OWYw
ZGVmMTJhYTEyZmUxYmE5ZDc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFn
ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0VHlwZS5j
cHAKQEAgLTE3Nyw3ICsxNzcsNyBAQCB1bnNpZ25lZCBJbWFnZUlucHV0VHlwZTo6aGVpZ2h0KCkg
Y29uc3QKICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAgICBSZWY8SFRNTElucHV0RWxlbWVudD4g
ZWxlbWVudCgqdGhpcy0+ZWxlbWVudCgpKTsKIAotICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBk
YXRlTGF5b3V0KCk7CisgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoRG9jdW1l
bnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gZWxlbWVu
dC0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShkb3du
Y2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlcikuY29udGVudEhlaWdodCgpLCAqcmVuZGVyZXIpOwpA
QCAtMTk5LDcgKzE5OSw3IEBAIHVuc2lnbmVkIEltYWdlSW5wdXRUeXBlOjp3aWR0aCgpIGNvbnN0
CiAgICAgQVNTRVJUKGVsZW1lbnQoKSk7CiAgICAgUmVmPEhUTUxJbnB1dEVsZW1lbnQ+IGVsZW1l
bnQoKnRoaXMtPmVsZW1lbnQoKSk7CiAKLSAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxh
eW91dCgpOworICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpG
b3JjZUxheW91dDo6WWVzKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJl
bmRlcmVyKCkpCiAgICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpvb20oZG93bmNhc3Q8
UmVuZGVyQm94PigqcmVuZGVyZXIpLmNvbnRlbnRXaWR0aCgpLCAqcmVuZGVyZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaAppbmRleCA2ZjllYjFlMDkz
ODI0ZTZiMWIwZjlhNTdhNzUyNTNhMzI0ZmVlMWZhLi5kZGM2ZjAzMGYzMTJjOGIwODU4Y2E2NGVh
ZDllNTE2YTYzMjRmMzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
d0xheW91dENvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91
dENvbnRleHQuaApAQCAtODQsNiArODQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0luTGF5b3V0
KCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQaGFzZTo6T3V0c2lkZUxh
eW91dDsgfQogICAgIGJvb2wgaXNJblJlbmRlclRyZWVMYXlvdXQoKSBjb25zdCB7IHJldHVybiBs
YXlvdXRQaGFzZSgpID09IExheW91dFBoYXNlOjpJblJlbmRlclRyZWVMYXlvdXQ7IH0KICAgICBi
b29sIGluUGFpbnRhYmxlU3RhdGUoKSBjb25zdCB7IHJldHVybiBsYXlvdXRQaGFzZSgpICE9IExh
eW91dFBoYXNlOjpJblJlbmRlclRyZWVMYXlvdXQgJiYgbGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQ
aGFzZTo6SW5WaWV3U2l6ZUFkanVzdCAmJiAobGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQaGFzZTo6
SW5Qb3N0TGF5b3V0IHx8IGluQXN5bmNocm9ub3VzVGFza3MoKSk7IH0KKyAgICBib29sIGlzTGF5
b3V0Rm9yY2VkKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRGb3JjZWQ7IH0KKyAgICB2b2lkIHNl
dExheW91dEZvcmNlZChib29sIGYpIHsgbV9sYXlvdXRGb3JjZWQgPSBmOyB9CiAKICAgICB1bnNp
Z25lZCBsYXlvdXRDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Q291bnQ7IH0KIApAQCAt
MTc5LDYgKzE4MSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRzRnVsbFJlcGFpbnQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2luQXN5bmNocm9ub3VzVGFza3MgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9zZXROZWVkc0xheW91dFdhc0RlZmVycmVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fbGF5
b3V0Rm9yY2VkIHsgZmFsc2UgfTsKICAgICBMYXlvdXRQaGFzZSBtX2xheW91dFBoYXNlIHsgTGF5
b3V0UGhhc2U6Ok91dHNpZGVMYXlvdXQgfTsKICAgICBlbnVtIGNsYXNzIExheW91dE5lc3RlZFN0
YXRlIDogdWludDhfdCAgeyBOb3RJbkxheW91dCwgTm90TmVzdGVkLCBOZXN0ZWQgfTsKICAgICBM
YXlvdXROZXN0ZWRTdGF0ZSBtX2xheW91dE5lc3RlZFN0YXRlIHsgTGF5b3V0TmVzdGVkU3RhdGU6
Ok5vdEluTGF5b3V0IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2Vj
dGlvbk9ic2VydmVyRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5LmNwcAppbmRleCBiNWEyMzdlODE0MmVkN2IyMzdhYjQ0NTNkZWI2NWUzM2Jm
NGM3NjE4Li5kZWY2MTM0Mzc2YjM2MmUzODNmZmJjZmNiOTc1NWM1ZmE0MjJjNmEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKQEAg
LTQxLDYgKzQxLDggQEAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJFbnRyeShjb25zdCBJbml0JiBpbml0KQogewogICAgIGlmIChpbml0LnJvb3RCb3VuZHMp
CiAgICAgICAgIG1fcm9vdEJvdW5kcyA9IERPTVJlY3RSZWFkT25seTo6ZnJvbVJlY3QoKmluaXQu
cm9vdEJvdW5kcyk7CisgICAgaWYgKG1fdGFyZ2V0ICYmIG1fdGFyZ2V0LT5pc1NraXBwZWRDb250
ZW50KCkpCisgICAgICAgIG1faXNJbnRlcnNlY3RpbmcgPSBmYWxzZTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNl
cnZhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmNwcApp
bmRleCBlYmNhN2UzM2JkMTdhMDY1MmRkZWEwOGNkNGU1YmFhZGNmNmM5ZWFmLi43MmFlYjg4YjY0
MDhlYWI0YmQ0YTQ5ZjJmNmRmNWIyZWU0NmIzM2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jl
c2l6ZU9ic2VydmF0aW9uLmNwcApAQCAtNTEsMTcgKzUxLDE3IEBAIHZvaWQgUmVzaXplT2JzZXJ2
YXRpb246OnVwZGF0ZU9ic2VydmF0aW9uU2l6ZShjb25zdCBCb3hTaXplcyYgYm94U2l6ZXMpCiAg
ICAgbV9sYXN0T2JzZXJ2YXRpb25TaXplcyA9IGJveFNpemVzOwogfQogCi1hdXRvIFJlc2l6ZU9i
c2VydmF0aW9uOjpjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0IC0+IEJveFNpemVzCitzdGQ6
Om9wdGlvbmFsPFJlc2l6ZU9ic2VydmF0aW9uOjpCb3hTaXplcz4gUmVzaXplT2JzZXJ2YXRpb246
OmNvbXB1dGVPYnNlcnZlZFNpemVzKCkgY29uc3QKIHsKICAgICBpZiAobV90YXJnZXQtPmlzU1ZH
RWxlbWVudCgpKSB7CiAgICAgICAgIGlmIChhdXRvIHN2Z1JlY3QgPSBkb3duY2FzdDxTVkdFbGVt
ZW50PigqbV90YXJnZXQpLmdldEJvdW5kaW5nQm94KCkpIHsKICAgICAgICAgICAgIGF1dG8gc2l6
ZSA9IExheW91dFNpemUoc3ZnUmVjdC0+d2lkdGgoKSwgc3ZnUmVjdC0+aGVpZ2h0KCkpOwotICAg
ICAgICAgICAgcmV0dXJuIHsgc2l6ZSwgc2l6ZSwgc2l6ZSB9OworICAgICAgICAgICAgcmV0dXJu
IEJveFNpemVzIHsgc2l6ZSwgc2l6ZSwgc2l6ZSB9OwogICAgICAgICB9CiAgICAgfQogICAgIGF1
dG8qIGJveCA9IG1fdGFyZ2V0LT5yZW5kZXJCb3goKTsKLSAgICBpZiAoYm94KSB7Ci0gICAgICAg
IHJldHVybiB7CisgICAgaWYgKGJveCAmJiAhbV90YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKS8q
Ym94ICYmICFib3gtPmlzU2tpcHBlZENvbnRlbnQoKSovKSB7CisgICAgICAgIHJldHVybiBCb3hT
aXplcyB7CiAgICAgICAgICAgICBhZGp1c3RMYXlvdXRTaXplRm9yQWJzb2x1dGVab29tKGJveC0+
Y29udGVudFNpemUoKSwgKmJveCksCiAgICAgICAgICAgICBhZGp1c3RMYXlvdXRTaXplRm9yQWJz
b2x1dGVab29tKGJveC0+Y29udGVudExvZ2ljYWxTaXplKCksICpib3gpLAogICAgICAgICAgICAg
YWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmJvcmRlckJveExvZ2ljYWxTaXpl
KCksICpib3gpCkBAIC0xMDQsMTUgKzEwNCwxNyBAQCBGbG9hdFNpemUgUmVzaXplT2JzZXJ2YXRp
b246OnNuYXBwZWRDb250ZW50Qm94U2l6ZSgpIGNvbnN0CiBzdGQ6Om9wdGlvbmFsPFJlc2l6ZU9i
c2VydmF0aW9uOjpCb3hTaXplcz4gUmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdl
ZCgpIGNvbnN0CiB7CiAgICAgYXV0byBjdXJyZW50U2l6ZXMgPSBjb21wdXRlT2JzZXJ2ZWRTaXpl
cygpOworICAgIGlmICghY3VycmVudFNpemVzKQorICAgICAgICByZXR1cm4gY3VycmVudFNpemVz
OwogCiAgICAgc3dpdGNoIChtX29ic2VydmVkQm94KSB7CiAgICAgY2FzZSBSZXNpemVPYnNlcnZl
ckJveE9wdGlvbnM6OkJvcmRlckJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6
ZXMuYm9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLmJvcmRlckJveExvZ2ljYWxT
aXplKQotICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRTaXplczsKKyAgICAgICAgaWYgKG1fbGFz
dE9ic2VydmF0aW9uU2l6ZXMuYm9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5i
b3JkZXJCb3hMb2dpY2FsU2l6ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVudFNpemVzOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9uczo6Q29udGVu
dEJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVudEJveExvZ2lj
YWxTaXplICE9IGN1cnJlbnRTaXplcy5jb250ZW50Qm94TG9naWNhbFNpemUpCi0gICAgICAgICAg
ICByZXR1cm4gY3VycmVudFNpemVzOworICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXpl
cy5jb250ZW50Qm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5jb250ZW50Qm94TG9naWNh
bFNpemUpCisgICAgICAgICAgICByZXR1cm4gKmN1cnJlbnRTaXplczsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgKaW5kZXggNjhi
MWMyYTk3NGU2NTMxMjVlOTI4ZmQ0ODgyMTBmNWMyZGYwZDcxMy4uODA1NTRmYzA4ZGZmMGVmMWM5
YWRlNTc4NmNlODE1YTVlMmYxODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9S
ZXNpemVPYnNlcnZhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2
YXRpb24uaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlc2l6ZU9i
c2VydmF0aW9uKEVsZW1lbnQmLCBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMpOwogCi0gICAgQm94
U2l6ZXMgY29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEJv
eFNpemVzPiBjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0OwogICAgIExheW91dFBvaW50IGNv
bXB1dGVUYXJnZXRMb2NhdGlvbigpIGNvbnN0OwogCiAgICAgV2Vha1B0cjxFbGVtZW50PiBtX3Rh
cmdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDMyYjQ2
M2NhMDVlOTg3ZDI2ZDM3ZjBjZGY2YjY2NDczZjc2Mzk4NmEuLjE5NjQ2NmFmMGViYjNlODdlOTIx
YTYzZTQ4MWRlZDExMTdlMzQ2OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtNjQ4LDYgKzY0OCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2Nr
KGJvb2wsIExheW91dFVuaXQpCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNo
aWxkcmVuKCkKIHsKKyAgICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1l
VmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICByZXR1cm47
CiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIGFkZE92ZXJmbG93RnJvbUlubGlu
ZUNoaWxkcmVuKCk7CiAgICAgZWxzZQpAQCAtNzM5LDYgKzc0MSw4IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKQogCiB2b2lkIFJlbmRlckJsb2NrOjph
ZGRPdmVyZmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpCiB7CisgICAgaWYgKHNob3VsZFNraXBD
b250ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRG
b3JjZWQoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0
KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAgIGlmICgh
cG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47CkBAIC0xMDY3LDEwICsxMDcx
LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3QoUmVuZGVyQm94
JiByLCBib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91
dFBvc2l0aW9uZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0
aW9uT2JqZWN0c09ubHkpCiB7CisgICAgaWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXco
KS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQqIHBvc2l0aW9uZWREZXNj
ZW5kYW50cyA9IHBvc2l0aW9uZWRPYmplY3RzKCk7CiAgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIC8vIERvIG5vdCBjYWNoZSBwb3Np
dGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpIGluIGEgbG9jYWwgdmFyaWFibGUsIHNpbmNlIHxwb3Np
dGlvbmVkRGVzY2VuZGFudHN8IGNhbiBiZSBtdXRhdGVkCiAgICAgLy8gYXMgaXQgaXMgd2Fsa2Vk
LiBXZSBhbHdheXMgbmVlZCB0byBmZXRjaCB0aGUgbmV3IGVuZCgpIHZhbHVlIGR5bmFtaWNhbGx5
LgogICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKTsgaXQg
IT0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgKytpdCkKQEAgLTExMzMsNyArMTE0MCw3
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50Q29udGVudHMoUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IExheW91dFBvaW50JiBwYWludE9mCiAgICAgLy8gU3R5bGUgaXMgbm9uLWZpbmFsIGlm
IHRoZSBlbGVtZW50IGhhcyBhIHBlbmRpbmcgc3R5bGVzaGVldCBiZWZvcmUgaXQuIFdlIGVuZCB1
cCB3aXRoIHJlbmRlcmVycyB3aXRoIHN1Y2ggc3R5bGVzIGlmIGEgc2NyaXB0CiAgICAgLy8gZm9y
Y2VzIHJlbmRlcmVyIGNvbnN0cnVjdGlvbiBieSBxdWVyeWluZyBzb21ldGhpbmcgbGF5b3V0IGRl
cGVuZGVudC4KICAgICAvLyBBdm9pZCBGT1VDIGJ5IG5vdCBwYWludGluZy4gU3dpdGNoaW5nIHRv
IGZpbmFsIHN0eWxlIHRyaWdnZXJzIHJlcGFpbnQuCi0gICAgaWYgKHN0eWxlKCkuaXNOb3RGaW5h
bCgpKQorICAgIGlmIChzdHlsZSgpLmlzTm90RmluYWwoKSB8fCBzaG91bGRTa2lwQ29udGVudCgp
KQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKQEAgLTEyMzYs
NiArMTI0Myw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzCiB7CiAgICAgUGFpbnRQaGFzZSBw
YWludFBoYXNlID0gcGFpbnRJbmZvLnBoYXNlOwogCisgICAgaWYgKGVsZW1lbnQoKSAmJiBlbGVt
ZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgLy8gMS4g
cGFpbnQgYmFja2dyb3VuZCwgYm9yZGVycyBldGMKICAgICBpZiAoKHBhaW50UGhhc2UgPT0gUGFp
bnRQaGFzZTo6QmxvY2tCYWNrZ3JvdW5kIHx8IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZTo6Q2hp
bGRCbG9ja0JhY2tncm91bmQpICYmIHN0eWxlKCkudmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6
OlZpc2libGUpIHsKICAgICAgICAgaWYgKGhhc1Zpc2libGVCb3hEZWNvcmF0aW9ucygpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCBhN2U5NWM4
NDdiMThiMmFkN2M5YTZjOGI3MmI3NWYxMTczNDc0ZGY5Li41ZGJhNzFhZjMwZDM3NDFlYzdkZWQ2
ZDE5YTc4ZmYzMmRlN2Q0M2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcApAQCAtNTI3LDEwICs1MjcsMTIgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6
OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdlTG9naWNh
bEgKICAgICAgICAgaWYgKCFmaXJzdENoaWxkKCkgJiYgIWlzQW5vbnltb3VzQmxvY2soKSkKICAg
ICAgICAgICAgIHNldENoaWxkcmVuSW5saW5lKHRydWUpOwogICAgICAgICBkaXJ0eUZvckxheW91
dEZyb21QZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMoKTsKLSAgICAgICAgaWYgKGNoaWxkcmVu
SW5saW5lKCkpCi0gICAgICAgICAgICBsYXlvdXRJbmxpbmVDaGlsZHJlbihyZWxheW91dENoaWxk
cmVuLCByZXBhaW50TG9naWNhbFRvcCwgcmVwYWludExvZ2ljYWxCb3R0b20pOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBsYXlvdXRCbG9ja0NoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIG1h
eEZsb2F0TG9naWNhbEJvdHRvbSk7CisgICAgICAgIGlmICghc2hvdWxkU2tpcENvbnRlbnQoKSB8
fCB2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpIHsK
KyAgICAgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQorICAgICAgICAgICAgICAgIGxheW91
dElubGluZUNoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4gfHwgdmlldygpLmZyYW1lVmlldygpLmxh
eW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpLCByZXBhaW50TG9naWNhbFRvcCwgcmVwYWlu
dExvZ2ljYWxCb3R0b20pOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxheW91
dEJsb2NrQ2hpbGRyZW4ocmVsYXlvdXRDaGlsZHJlbiB8fCB2aWV3KCkuZnJhbWVWaWV3KCkubGF5
b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCksIG1heEZsb2F0TG9naWNhbEJvdHRvbSk7Cisg
ICAgICAgIH0KICAgICB9CiAKICAgICAvLyBFeHBhbmQgb3VyIGludHJpbnNpYyBoZWlnaHQgdG8g
ZW5jb21wYXNzIGZsb2F0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGI3YzYwMTZiZDRhOTAzYmIxMzAxOGI3NDM3ZTA0NjQz
NzBmNGM3NjMuLjRhZDI1OWFlYmM0Yzc2ZWJlZTExOGRhYTNmZjVhZjk5OGM0MzY4MmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApA
QCAtMjEyLDYgKzIxMiw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21T
dHlsZSgpCiAgICAgaWYgKHN0eWxlVG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkK
ICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0
cnVlKTsKICAgICBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29u
dGFpbm1lbnQoKnRoaXMpKTsKKyAgICBzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoKCFpc0lu
bGluZSgpIHx8IGlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIWlzUnVieVRleHQoKSAmJiAo
IWlzVGFibGVQYXJ0KCkgfHwgaXNSZW5kZXJCbG9ja0Zsb3coKSkpOwogfQogCiBzdGF0aWMgTGF5
b3V0U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZzZXRzKGNvbnN0IFJlbmRlck9iamVj
dCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5k
ZXggNGU3NTlkN2YyNTBhZjk4YTQ4MDY0ZTQ2Njc3NzNlNzY4MzVmYjlhMS4uOWRmY2E3NzZlNzQ3
NDM2ZWUzMDFlYzA3MDlmMGJmYjVlZjMzZTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMjQzNyw0ICsyNDM3LDExIEBAIE92ZXJmbG93IFJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0CiAgICAgcmV0dXJuIG92ZXJmbG93
WTsKIH0KIAorYm9vbCBSZW5kZXJFbGVtZW50OjpzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0Cit7
CisgICAgaWYgKCFsYXlvdXRDb250YWlubWVudEFwcGxpZXMoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiBlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5zaG91bGRTa2lwQ29udGVu
dCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRl
eCBmMzc2Y2VjYjk3NWNhNzE5ZmRmNjc2ZTVhYzBmYjk1ZDhlMmVkMjIwLi5iMTEzZmZjY2RhMjU4
ODQzNjA4NWEyZDZhMDIyYzZlMGVkY2IzZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKQEAgLTE2NSw2ICsxNjUsOSBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChz
dHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1Nr
aXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYg
KCghaGl0VGVzdFJlcXVlc3QgfHwgIWhpdFRlc3RSZXF1ZXN0LT5pZ25vcmVDU1NQb2ludGVyRXZl
bnRzUHJvcGVydHkoKSkgJiYgc3R5bGUoKS5wb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50
czo6Tm9uZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjc0LDYgKzI3Nyw4IEBA
IHB1YmxpYzoKICAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigp
IGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVj
dGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3ZlcmZsb3dZKCk7IH0KICAgICBPdmVyZmxvdyBl
ZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3Rp
dmVPdmVyZmxvd1goKTsgfQogCisgICAgYm9vbCBzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0Owor
CiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCmluZGV4IGUyYjRiMDlmNTdkZWIzYTQ1OThmM2JkMGNlNjczNGIwOTc1YjFj
NTIuLjIyYmU1Mzc3YWVkZTlkMzZhMTYxZjQ4YzdjMDNmNmE5OGE1NzAwNjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBAIC0yMjgsNiArMjI4LDggQEAgYm9v
bCBSZW5kZXJJbmxpbmU6Om1heUFmZmVjdExheW91dCgpIGNvbnN0CiAKIHZvaWQgUmVuZGVySW5s
aW5lOjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50
T2Zmc2V0KQogeworICAgIGlmIChzaG91bGRTa2lwQ29udGVudCgpIHx8IChlbGVtZW50KCkgJiYg
ZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpKQorICAgICAgICByZXR1cm47CiAgICAgbV9s
aW5lQm94ZXMucGFpbnQodGhpcywgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGZmYWRkMDFkZjRkMGNiNWM1
MWE5YjIxNThhMzI5OGNmMDU0YmQwMTMuLmYyZTcwZjIzMmMzOTFjOWQ0MDViYTJlMWU0ZjEyMjlj
YTg2OWMxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAt
MzAzNiw2ICszMDM2LDkgQEAgc3RhdGljIGlubGluZSBib29sIHBhaW50Rm9yRml4ZWRSb290QmFj
a2dyb3VuZChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIE9wdGlvblMKIAogdm9pZCBSZW5kZXJM
YXllcjo6cGFpbnRMYXllcihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFp
bnRpbmdJbmZvJiBwYWludGluZ0luZm8sIE9wdGlvblNldDxQYWludExheWVyRmxhZz4gcGFpbnRG
bGFncykKIHsKKyAgICBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIoKS5lbGVt
ZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBz
aG91bGRDb250aW51ZVBhaW50ID0gWyZdICgpIHsKICAgICAgICAgcmV0dXJuIGJhY2tpbmcoKS0+
cGFpbnRzSW50b1dpbmRvdygpCiAgICAgICAgICAgICB8fCBiYWNraW5nKCktPnBhaW50c0ludG9D
b21wb3NpdGVkQW5jZXN0b3IoKQpAQCAtMzMwOCw2ICszMzExLDkgQEAgdm9pZCBSZW5kZXJMYXll
cjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgTGF5
ZXJQYWludGkKIHsKICAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQ
YWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKIAorICAgIC8vIGlmIChyZW5kZXJlcigpLmVsZW1l
bnQoKSAmJiByZW5kZXJlcigpLmVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgIC8v
ICAgICByZXR1cm47CisKICAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQo
KSAmJiBjb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC0zNTU3LDcgKzM1NjMsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExpc3QoTGF5ZXJM
aXN0IGxheWVySXRlcmF0b3IsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgYwogICAgIGlmIChs
YXllckl0ZXJhdG9yLmJlZ2luKCkgPT0gbGF5ZXJJdGVyYXRvci5lbmQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKCFoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKKyAgICBp
ZiAoIWhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpIHx8IHJlbmRlcmVyKCkuc2hvdWxk
U2tpcENvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAjaWYgQVNTRVJUX0VOQUJMRUQKQEAg
LTQwMzcsNiArNDA0Myw4IEBAIFZlY3RvcjxSZW5kZXJMYXllcio+IFJlbmRlckxheWVyOjp0b3BM
YXllclJlbmRlckxheWVycyhSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIFZlY3RvcjxSZW5k
ZXJMYXllcio+IGxheWVyczsKICAgICBhdXRvIHRvcExheWVyRWxlbWVudHMgPSByZW5kZXJWaWV3
LmRvY3VtZW50KCkudG9wTGF5ZXJFbGVtZW50cygpOwogICAgIGZvciAoYXV0byYgZWxlbWVudCA6
IHRvcExheWVyRWxlbWVudHMpIHsKKyAgICAgICAgaWYgKGVsZW1lbnQtPmlzU2tpcHBlZENvbnRl
bnQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBhdXRvKiByZW5kZXJlciA9IGVs
ZW1lbnQtPnJlbmRlcmVyKCk7CiAgICAgICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgICAgICBj
b250aW51ZTsKQEAgLTQ0NTQsNiArNDQ2Miw5IEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6
aGl0VGVzdExpc3QoTGF5ZXJMaXN0IGxheWVySXRlcmF0b3IsIFJlbmRlckxheWVyKiByb290CiAg
ICAgaWYgKCFoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAKKyAgICBpZiAocmVuZGVyZXIoKS5zaG91bGRTa2lwQ29udGVudCgpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIFJlbmRlckxheWVyKiByZXN1bHRMYXllciA9IG51
bGxwdHI7CiAKICAgICBmb3IgKGF1dG8gaXRlciA9IGxheWVySXRlcmF0b3IucmJlZ2luKCk7IGl0
ZXIgIT0gbGF5ZXJJdGVyYXRvci5yZW5kKCk7ICsraXRlcikgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA5YWY1ZmIwNWQxMzYxYmJl
MzAxYmZhODI2YzIyMzlmYzUxYzc4MTFiLi43Njk5MjY5OGYwM2VkMzQ5YWUzZTczN2Y2NjRjYzE1
NDQ3NjYyYTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcApAQCAtMTYwNSw3ICsxNjA1LDggQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6
OnVwZGF0ZUFmdGVyRGVzY2VuZGFudHMoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENv
bnRlbnRzT3BhcXVlKCFtX2hhc1N1YnBpeGVsUm91bmRpbmcgJiYgbV9vd25pbmdMYXllci5iYWNr
Z3JvdW5kSXNLbm93blRvQmVPcGFxdWVJblJlY3QoY29tcG9zaXRlZEJvdW5kcygpKSk7CiAgICAg
fQogCi0gICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1Zpc2libGUobV9vd25pbmdMYXll
ci5oYXNWaXNpYmxlQ29udGVudCgpIHx8IGhhc1Zpc2libGVOb25Db21wb3NpdGVkRGVzY2VuZGFu
dHMoKSk7CisgICAgYm9vbCBpc1NraXBwZWRDb250ZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkg
PyByZW5kZXJlcigpLmVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpIDogZmFsc2U7CisgICAg
bV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1Zpc2libGUoIWlzU2tpcHBlZENvbnRlbnQgJiYg
KG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNvbnRlbnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9z
aXRlZERlc2NlbmRhbnRzKCkpKTsKICAgICBpZiAobV9zY3JvbGxDb250YWluZXJMYXllcikgewog
ICAgICAgICBtX3Njcm9sbENvbnRhaW5lckxheWVyLT5zZXRDb250ZW50c1Zpc2libGUocmVuZGVy
ZXIoKS5zdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3Bw
CmluZGV4IDhkOTkwZjFkNTMxYmU2M2YyYjI1ZDA2MTQ1ZmIxMzFjNDEwMDcyNmMuLmYwZjE4ZTEx
ODc2YmY3OTA1MmQ0MTM2NzRiNDFkYzIxOTI3OGZiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTI1LDYgKzI1LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllck1vZGVsT2JqZWN0
LmgiCiAKKyNpbmNsdWRlICJEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQmFja2luZy5oIgogI2luY2x1
ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgpAQCAtMTE0LDYgKzExNSwxMiBAQCB2b2lkIFJl
bmRlckxheWVyTW9kZWxPYmplY3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZm
LCBjb25zdCBSZW5kZXJTdAogICAgIFJlbmRlckVsZW1lbnQ6OnN0eWxlRGlkQ2hhbmdlKGRpZmYs
IG9sZFN0eWxlKTsKICAgICB1cGRhdGVGcm9tU3R5bGUoKTsKIAorICAgIGlmIChlbGVtZW50KCkg
JiYgKChvbGRTdHlsZSAmJiBvbGRTdHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSAhPSBzdHlsZSgp
LmNvbnRlbnRWaXNpYmlsaXR5KCkpIHx8ICghb2xkU3R5bGUgJiYgc3R5bGUoKS5jb250ZW50Vmlz
aWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlKSkpIHsKKyAgICAgICAgZWxl
bWVudCgpLT51cGRhdGVDb250ZW50VmlzaWJpbGl0eShvbGRTdHlsZSA/IHN0ZDo6b3B0aW9uYWw8
Q29udGVudFZpc2liaWxpdHk+KG9sZFN0eWxlLT5jb250ZW50VmlzaWJpbGl0eSgpKSA6IHN0ZDo6
bnVsbG9wdCwgc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKTsKKyAgICAgICAgaWYgKHN0eWxl
KCkuY29udGVudFZpc2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAg
ICAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKTsKKyAg
ICB9CisKICAgICBpZiAocmVxdWlyZXNMYXllcigpKSB7CiAgICAgICAgIGlmICghbGF5ZXIoKSAm
JiBsYXllckNyZWF0aW9uQWxsb3dlZEZvclN1YnRyZWUoKSkgewogICAgICAgICAgICAgaWYgKHNf
d2FzRmxvYXRpbmcgJiYgaXNGbG9hdGluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcAppbmRleCBiNGI2NzEwMmRmZTc0ZGY1ZWFiMTVjMjBmZTRlZGM1NjE1MmFj
M2YzLi5kNTIwMWQ3MzgyMDFlM2JmMmQ0ZWNmZDE3NmM2OWMwM2NiMTRkMjcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDU0LDYgKzQ1NCw5IEBAIGJv
b2wgUmVuZGVyT2JqZWN0OjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFi
c29sdXRlUmVjdCwgYm9vbCBpbnNpCiAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgaWYgKGlzPEVsZW1lbnQ+KG5vZGUoKSkgJiYgZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUoKSku
aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBSZW5kZXJM
YXllciogZW5jbG9zaW5nTGF5ZXIgPSB0aGlzLT5lbmNsb3NpbmdMYXllcigpOwogICAgIGlmICgh
ZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE5ODYsNiArMTk4OSwx
MiBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBw
YWludENvbnRhaW5tZW50QXBwbGllcykKICAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRQYWlu
dENvbnRhaW5tZW50QXBwbGllcyhwYWludENvbnRhaW5tZW50QXBwbGllcyk7CiB9CiAKK3ZvaWQg
UmVuZGVyT2JqZWN0OjpzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoYm9vbCBsYXlvdXRDb250
YWlubWVudEFwcGxpZXMpCit7CisgICAgaWYgKGxheW91dENvbnRhaW5tZW50QXBwbGllcyB8fCBo
YXNSYXJlRGF0YSgpKQorICAgICAgICBlbnN1cmVSYXJlRGF0YSgpLnNldExheW91dENvbnRhaW5t
ZW50QXBwbGllcyhsYXlvdXRDb250YWlubWVudEFwcGxpZXMpOworfQorCiBSZW5kZXJPYmplY3Q6
OlJhcmVEYXRhTWFwJiBSZW5kZXJPYmplY3Q6OnJhcmVEYXRhTWFwKCkKIHsKICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8UmFyZURhdGFNYXA+IG1hcDsKQEAgLTIwMTUsNiArMjAyNCw3IEBAIFJl
bmRlck9iamVjdDo6UmVuZGVyT2JqZWN0UmFyZURhdGE6OlJlbmRlck9iamVjdFJhcmVEYXRhKCkK
ICAgICAsIG1faXNSZW5kZXJGcmFnbWVudGVkRmxvdyhmYWxzZSkKICAgICAsIG1faGFzT3V0bGlu
ZUF1dG9BbmNlc3RvcihmYWxzZSkKICAgICAsIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMoZmFs
c2UpCisgICAgLCBtX2xheW91dENvbnRhaW5tZW50QXBwbGllcyhmYWxzZSkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGQwZjRjZWM0YmFkYzUyYTZl
NzRhMGZjODFiNzgwZjJkMjUzYWJmNjkuLjk0MDc1M2YxY2E0ZGNlNWRlYzA5MjZhNDViNjI1Y2Yx
YWYwOTI1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQx
Niw2ICs0MTYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkg
Y29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLmlz
UmVuZGVyRnJhZ21lbnRlZEZsb3coKTsgfQogICAgIGJvb2wgaGFzT3V0bGluZUF1dG9BbmNlc3Rv
cigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEo
KS5oYXNPdXRsaW5lQXV0b0FuY2VzdG9yKCk7IH0KICAgICBib29sIHBhaW50Q29udGFpbm1lbnRB
cHBsaWVzKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJl
RGF0YSgpLnBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KKyAgICBib29sIGxheW91dENvbnRh
aW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkg
JiYgcmFyZURhdGEoKS5sYXlvdXRDb250YWlubWVudEFwcGxpZXMoKTsgfQogCiAgICAgYm9vbCBp
c0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmlz
RXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCk7IH0KICAgICB2b2lkIHNldElzRXhjbHVkZWRGcm9t
Tm9ybWFsTGF5b3V0KGJvb2wgZXhjbHVkZWQpIHsgbV9iaXRmaWVsZHMuc2V0SXNFeGNsdWRlZEZy
b21Ob3JtYWxMYXlvdXQoZXhjbHVkZWQpOyB9CkBAIC01MTUsNiArNTE2LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0SXNSZW5kZXJGcmFnbWVudGVkRmxvdyhib29sID0gdHJ1ZSk7CiAgICAgdm9p
ZCBzZXRIYXNPdXRsaW5lQXV0b0FuY2VzdG9yKGJvb2wgPSB0cnVlKTsKICAgICB2b2lkIHNldFBh
aW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgPSB0cnVlKTsKKyAgICB2b2lkIHNldExheW91dENv
bnRhaW5tZW50QXBwbGllcyhib29sID0gdHJ1ZSk7CiAKICAgICAvLyBIb29rIHNvIHRoYXQgUmVu
ZGVyVGV4dENvbnRyb2wgY2FuIHJldHVybiB0aGUgbGluZSBoZWlnaHQgb2YgaXRzIGlubmVyIHJl
bmRlcmVyLgogICAgIC8vIEZvciBvdGhlciByZW5kZXJlcnMsIHRoZSB2YWx1ZSBpcyB0aGUgc2Ft
ZSBhcyBsaW5lSGVpZ2h0KGZhbHNlKS4KQEAgLTk0NCw2ICs5NDYsNyBAQCBwcml2YXRlOgogICAg
ICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChpc1JlbmRlckZyYWdtZW50ZWRGbG93LCBJc1JlbmRl
ckZyYWdtZW50ZWRGbG93KTsKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFzT3V0bGlu
ZUF1dG9BbmNlc3RvciwgSGFzT3V0bGluZUF1dG9BbmNlc3Rvcik7CiAgICAgICAgIEFERF9CT09M
RUFOX0JJVEZJRUxEKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzLCBQYWludENvbnRhaW5tZW50QXBw
bGllcyk7CisgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGxheW91dENvbnRhaW5tZW50QXBw
bGllcywgTGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKTsKIAogICAgICAgICAvLyBGcm9tIFJlbmRl
ckVsZW1lbnQKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjYWNoZWRGaXJz
dExpbmVTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3Bw
CmluZGV4IGU5NjM3ZWViZTIwNjA5YWUwYzVkMmIxZDZmNmIzZTYxYmM5ZjEyOTguLjU3MzI2NDhm
NjYyYWNmMjk2ODZmN2MyNWFkODc5MWYyYjI5ZmIxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtMjU5LDcgKzI1OSw4IEBAIHZvaWQgUmVuZGVy
UmVwbGFjZWQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYg
cGFpbnRPZmZzZXQpCiAgICAgfQogCiAgICAgaWYgKCFjb21wbGV0ZWx5Q2xpcHBlZE91dCkgewot
ICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNldCk7Cisg
ICAgICAgIGlmICghc2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgICAgIHBhaW50UmVwbGFj
ZWQocGFpbnRJbmZvLCBhZGp1c3RlZFBhaW50T2Zmc2V0KTsKIAogICAgICAgICBpZiAoc3R5bGUo
KS5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0KCkucmVz
dG9yZSgpOwpAQCAtMjk5LDcgKzMwMCw3IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBh
aW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPCiAgICAg
Ly8gaWYgd2UncmUgaW52aXNpYmxlIG9yIGhhdmVuJ3QgcmVjZWl2ZWQgYSBsYXlvdXQgeWV0LCB0
aGVuIGp1c3QgYmFpbC4KICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0
eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAorCiAgICAgTGF5b3V0UG9p
bnQgYWRqdXN0ZWRQYWludE9mZnNldCA9IHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKTsKIAogICAg
IC8vIEVhcmx5IGV4aXQgaWYgdGhlIGVsZW1lbnQgdG91Y2hlcyB0aGUgZWRnZXMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggYWFmZDlkY2QwNTY4MzlmODc3Yjkz
NjcxNmFkZGI2YmMwY2VhM2IyZC4uNGU0YWJhZDlmYTk5NTMzNzkyNzM2OGFmYTkyOTQ3MmVlMjgx
YTZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTc2LDcg
KzE3Niw3IEBAIHZvaWQgUmVuZGVyVmlldzo6bGF5b3V0KCkKICAgICB9CiAKICAgICBBU1NFUlQo
IWZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpKTsKLSAgICBpZiAoIW5l
ZWRzTGF5b3V0KCkpCisgICAgaWYgKCFuZWVkc0xheW91dCgpICYmICFmcmFtZVZpZXcoKS5sYXlv
dXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgTGF5
b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKCp0aGlzLCB7IH0sIGZhbHNlLCB2YWx1ZU9y
RGVmYXVsdChtX3BhZ2VMb2dpY2FsU2l6ZSkuaGVpZ2h0KCksIG1fcGFnZUxvZ2ljYWxIZWlnaHRD
aGFuZ2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRn
ZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAKaW5kZXgg
NmRmZTgwYTI2MjgxYjljZTYyOTlkYmY2MWU2MDYyN2RkNTY2ZThjNy4uYTkzMGUyNTJhYzRmMzBh
ZTQ5Y2Q3YjA5NjFlMjg5YzE4MDY1MDE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcldpZGdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcldpZGdldC5jcHAKQEAgLTMyMiw3ICszMjIsNyBAQCB2b2lkIFJlbmRlcldpZGdldDo6cGFp
bnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkK
ICAgICAgICAgY2xpcFJvdW5kZWRJbm5lclJlY3QocGFpbnRJbmZvLmNvbnRleHQoKSwgYm9yZGVy
UmVjdCwgcm91bmRlZElubmVyUmVjdCk7CiAgICAgfQogCi0gICAgaWYgKG1fd2lkZ2V0KQorICAg
IGlmIChtX3dpZGdldCAmJiAhc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAgcGFpbnRDb250
ZW50cyhwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKIAogICAgIGlmIChzdHlsZSgpLmhhc0JvcmRl
clJhZGl1cygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHAKaW5kZXggZDdlYTY4NTM4MDk5NWM2YTI4NzkzMDc2YmU1Y2E2YzgzN2Q3Y2FlNC4uZDIz
N2FjMGFkYTkyOTVkYmJhZjQwODIxODE1MDcwNjU1NWQ1MTdhNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC03NDcsNiArNzQ3LDkgQEAg
c3RhdGljIGJvb2wgcmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VSZXF1aXJlc0xheW91dChjb25z
dCBTdHlsZVJhcmVOb25Jbmhlcml0ZWQKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisg
ICAgaWYgKGZpcnN0LmNvbnRlbnRWaXNpYmlsaXR5ICE9IHNlY29uZC5jb250ZW50VmlzaWJpbGl0
eSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoZmlyc3QuaW5wdXRTZWN1cml0eSAh
PSBzZWNvbmQuaW5wdXRTZWN1cml0eSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTEwNTYs
NiArMTA1OSw5IEBAIHN0YXRpYyBib29sIHJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNSZXBhaW50KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlCiAgICAgaWYgKGZpcnN0LnNoYXBl
T3V0c2lkZSAhPSBzZWNvbmQuc2hhcGVPdXRzaWRlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAor
ICAgIGlmIChmaXJzdC5jb250ZW50VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxp
dHkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgLy8gRklYTUU6IHRoaXMgc2hvdWxkIHBy
b2JhYmx5IGJlIG1vdmVkIHRvIGNoYW5nZVJlcXVpcmVzTGF5ZXJSZXBhaW50KCkuCiAgICAgaWYg
KGZpcnN0LmNsaXBQYXRoICE9IHNlY29uZC5jbGlwUGF0aCkgewogICAgICAgICBjaGFuZ2VkQ29u
dGV4dFNlbnNpdGl2ZVByb3BlcnRpZXMuYWRkKFN0eWxlRGlmZmVyZW5jZUNvbnRleHRTZW5zaXRp
dmVQcm9wZXJ0eTo6Q2xpcFBhdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAppbmRleCBhYzE0MmNmMDA2ZGE5MGMzM2JhY2YyZDc4MzhiMjU3ZjE3ZWVh
YzM4Li4xZWQ4MjA0YWQzNjc5YmVlZjFhNmY0MGJiM2IzMzk2MWJjMWUxY2IzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTI4LDExICs1Mjgs
MTMgQEAgcHVibGljOgogICAgIH0KICAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3QgeyBy
ZXR1cm4gYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCBhc3Bl
Y3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbzsgfQogICAgIE9w
dGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPmNvbnRhaW47IH0KKyAgICBDb250ZW50VmlzaWJpbGl0eSBjb250ZW50Vmlz
aWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PENvbnRlbnRWaXNpYmlsaXR5Piht
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250ZW50VmlzaWJpbGl0eSk7IH0KKyAgICBib29sIGNv
bnRlbnRWaXNpYmlsaXR5SGlkZGVuKCkgY29uc3QgeyByZXR1cm4gY29udGVudFZpc2liaWxpdHko
KSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOyB9CiAgICAgT3B0aW9uU2V0PENvbnRhaW5t
ZW50PiBlZmZlY3RpdmVDb250YWlubWVudCgpIGNvbnN0OwotICAgIGJvb2wgY29udGFpbnNMYXlv
dXQoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRh
aW5tZW50OjpMYXlvdXQpOyB9Ci0gICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVy
biBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQot
ICAgIGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5t
ZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxlKTsgfQotICAgIGJvb2wgY29udGFpbnNQ
YWludCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29u
dGFpbm1lbnQ6OlBhaW50KTsgfQorICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJl
dHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQp
IHx8IGNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0K
KyAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5t
ZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpIHx8IGNvbnRlbnRWaXNpYmlsaXR5KCkg
PT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsgfQorICAgIGJvb2wgY29udGFpbnNTdHlsZSgp
IGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1l
bnQ6OlN0eWxlKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpW
aXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0
aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6UGFpbnQpIHx8IGNvbnRlbnRW
aXNpYmlsaXR5KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0KICAgICBDb250YWlu
ZXJUeXBlIGNvbnRhaW5lclR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250YWlu
ZXJUeXBlPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJUeXBlKTsgfQogICAgIGNv
bnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgY29udGFpbmVyTmFtZXMoKSBjb25zdCB7IHJldHVybiBt
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJOYW1lczsgfQogICAgIEJveEFsaWdubWVu
dCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KQEAg
LTEwNjMsNiArMTA2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbnRhaW5lclR5cGUoQ29u
dGFpbmVyVHlwZSBjb250YWluZXJUeXBlKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0
YSwgY29udGFpbmVyVHlwZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbnRhaW5lclR5cGUpKTsg
fQogICAgIHZvaWQgc2V0Q29udGFpbmVyTmFtZXMoY29uc3QgVmVjdG9yPEF0b21TdHJpbmc+JiBu
YW1lcykgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lck5hbWVzLCBu
YW1lcyk7IH0KIAorICAgIHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxp
dHkgdmFsdWUpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBjb250ZW50VmlzaWJp
bGl0eSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSk7IH0KKwogICAgIHZvaWQgc2V0TGlz
dFN0eWxlU3RyaW5nVmFsdWUoY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpIHsgU0VUX1ZBUihtX3Jh
cmVJbmhlcml0ZWREYXRhLCBsaXN0U3R5bGVTdHJpbmdWYWx1ZSwgdmFsdWUpOyB9CiAgICAgdm9p
ZCBzZXRMaXN0U3R5bGVUeXBlKExpc3RTdHlsZVR5cGUgdikgeyBtX2luaGVyaXRlZEZsYWdzLmxp
c3RTdHlsZVR5cGUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odik7IH0KICAgICB2b2lkIHNldExp
c3RTdHlsZUltYWdlKFJlZlB0cjxTdHlsZUltYWdlPiYmKTsKQEAgLTE2NzYsNiArMTY4MCw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBpbml0aWFsQ29udGFp
bm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHsgfTsgfQogICAgIHN0YXRp
YyBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHN0cmljdENvbnRhaW5tZW50KCkgeyByZXR1cm4gT3B0
aW9uU2V0PENvbnRhaW5tZW50PiB7IENvbnRhaW5tZW50OjpTaXplLCBDb250YWlubWVudDo6TGF5
b3V0LCBDb250YWlubWVudDo6UGFpbnQsIENvbnRhaW5tZW50OjpTdHlsZSB9OyB9CiAgICAgc3Rh
dGljIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGVudENvbnRhaW5tZW50KCkgeyByZXR1cm4g
T3B0aW9uU2V0PENvbnRhaW5tZW50PiB7IENvbnRhaW5tZW50OjpMYXlvdXQsIENvbnRhaW5tZW50
OjpQYWludCwgQ29udGFpbm1lbnQ6OlN0eWxlIH07IH0KKyAgICBzdGF0aWMgQ29udGVudFZpc2li
aWxpdHkgaW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkgeyByZXR1cm4gQ29udGVudFZpc2liaWxp
dHk6OlZpc2libGU7IH0KICAgICBzdGF0aWMgQ29udGFpbmVyVHlwZSBpbml0aWFsQ29udGFpbmVy
VHlwZSgpIHsgcmV0dXJuIENvbnRhaW5lclR5cGU6Ok5vbmU7IH0KICAgICBzdGF0aWMgVmVjdG9y
PEF0b21TdHJpbmc+IGluaXRpYWxDb250YWluZXJOYW1lcygpIHsgcmV0dXJuIHsgfTsgfQogICAg
IHN0YXRpYyBkb3VibGUgaW5pdGlhbEFzcGVjdFJhdGlvV2lkdGgoKSB7IHJldHVybiAxLjA7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNv
bnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29u
c3RhbnRzLmgKaW5kZXggZWIwNmNmZjRhMjY4MDY3Mzc3ODAxMWRlM2Y5OWNlNWM5NGYxMDQzMC4u
N2U5MmNlYjJlMDgyNjBiNDE4N2VhMDhkNjk5MzVhM2QyNTg3OGQxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAg
LTEyMzcsNiArMTIzNywxMiBAQCBlbnVtIGNsYXNzIENvbnRhaW5lclR5cGUgOiB1aW50OF90IHsK
ICAgICBJbmxpbmVTaXplLAogfTsKIAorZW51bSBjbGFzcyBDb250ZW50VmlzaWJpbGl0eSA6IHVp
bnQ4X3QgeworICAgIFZpc2libGUsCisgICAgQXV0bywKKyAgICBIaWRkZW4sCit9OworCiBDU1NC
b3hUeXBlIHRyYW5zZm9ybUJveFRvQ1NTQm94VHlwZShUcmFuc2Zvcm1Cb3gpOwogCiBleHRlcm4g
Y29uc3QgZmxvYXQgZGVmYXVsdE1pdGVyTGltaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5k
ZXggMTkyNDllZjBlOWZhMjhmYzU0MGJkZGIwYzRjYzRjMjFmMTYwMDBmMi4uNzczNGFhNmU2Y2Rk
NjU4MTEyNThmNmMzMzdmY2VlODNlMDlmMWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcApA
QCAtOTUsNiArOTUsNyBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhKCkKICAgICAsIGVmZmVjdGl2ZUFwcGVhcmFuY2Uoc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQXBwZWFyYW5jZSgpKSkKICAgICAsIHRleHREZWNv
cmF0aW9uU3R5bGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsVGV4
dERlY29yYXRpb25TdHlsZSgpKSkKICAgICAsIGFzcGVjdFJhdGlvVHlwZShzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxBc3BlY3RSYXRpb1R5cGUoKSkpCisgICAgLCBj
b250ZW50VmlzaWJpbGl0eShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oQ29udGVudFZpc2liaWxpdHk6
OlZpc2libGUpKQogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBlZmZlY3RpdmVC
bGVuZE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQmxlbmRN
b2RlKCkpKQogICAgICwgaXNvbGF0aW9uKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHls
ZTo6aW5pdGlhbElzb2xhdGlvbigpKSkKQEAgLTE5OSw2ICsyMDAsNyBAQCBpbmxpbmUgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShjb25zdCBTdHls
ZVJhcmVOb25JbgogICAgICwgZWZmZWN0aXZlQXBwZWFyYW5jZShvLmVmZmVjdGl2ZUFwcGVhcmFu
Y2UpCiAgICAgLCB0ZXh0RGVjb3JhdGlvblN0eWxlKG8udGV4dERlY29yYXRpb25TdHlsZSkKICAg
ICAsIGFzcGVjdFJhdGlvVHlwZShvLmFzcGVjdFJhdGlvVHlwZSkKKyAgICAsIGNvbnRlbnRWaXNp
YmlsaXR5KG8uY29udGVudFZpc2liaWxpdHkpCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykK
ICAgICAsIGVmZmVjdGl2ZUJsZW5kTW9kZShvLmVmZmVjdGl2ZUJsZW5kTW9kZSkKICAgICAsIGlz
b2xhdGlvbihvLmlzb2xhdGlvbikKQEAgLTMyMCw2ICszMjIsNyBAQCBib29sIFN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YSYgbykgYwogICAgICAgICAmJiBhcHBsZVBheUJ1dHRvblR5cGUgPT0gby5hcHBsZVBheUJ1dHRv
blR5cGUKICNlbmRpZgogICAgICAgICAmJiBhc3BlY3RSYXRpb1R5cGUgPT0gby5hc3BlY3RSYXRp
b1R5cGUKKyAgICAgICAgJiYgY29udGVudFZpc2liaWxpdHkgPT0gby5jb250ZW50VmlzaWJpbGl0
eQogICAgICAgICAmJiBvYmplY3RGaXQgPT0gby5vYmplY3RGaXQKICAgICAgICAgJiYgYnJlYWtB
ZnRlciA9PSBvLmJyZWFrQWZ0ZXIKICAgICAgICAgJiYgYnJlYWtCZWZvcmUgPT0gby5icmVha0Jl
Zm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXggY2ExNTdmODMzNGU0ZjkwMTYxY2U1YjE5Njg4
Zjc3NzZkYTg3ZjdmNi4uY2IzZTQxZTg4ZTg5YTA5MDgyNDc2NjJiMTU0MzFhNjBkY2M5ZjA5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0yMDgsNyArMjA4LDggQEAgcHVibGljOgogCiAgICAg
dW5zaWduZWQgdGV4dERlY29yYXRpb25TdHlsZSA6IDM7IC8vIFRleHREZWNvcmF0aW9uU3R5bGUK
IAotICAgIHVuc2lnbmVkIGFzcGVjdFJhdGlvVHlwZSA6IDM7CisgICAgdW5zaWduZWQgYXNwZWN0
UmF0aW9UeXBlIDogMjsKKyAgICB1bnNpZ25lZCBjb250ZW50VmlzaWJpbGl0eSA6IDI7CiAKICNp
ZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIGVmZmVjdGl2ZUJsZW5kTW9k
ZTogNTsgLy8gRUJsZW5kTW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0
b20uaAppbmRleCAxM2NhZDliN2ZkNzcyYTZjZDIzOTgzNDBlMjgyNzcxYmQ0OWI0NDYxLi4xYjhj
M2I4ZDcxZDNhMDYzOWY5YWU1ODhmOGJkMmNjOTI2ZjI5NTJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtODEsNiArODEsNyBAQCBwdWJsaWM6CiAgICAg
REVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ2xpcCk7CiAgICAgREVDTEFSRV9QUk9Q
RVJUWV9DVVNUT01fSEFORExFUlMoQ29udGFpbik7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNU
T01fSEFORExFUlMoQ29udGVudCk7CisgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExF
UlMoQ29udGVudFZpc2liaWxpdHkpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRM
RVJTKENvdW50ZXJJbmNyZW1lbnQpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRM
RVJTKENvdW50ZXJSZXNldCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMo
Q3Vyc29yKTsKQEAgLTEyODcsNiArMTI4OCwyNyBAQCBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9t
OjphcHBseVZhbHVlQ29udGFpbihCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdQog
ICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250YWluKGNvbnRhaW5tZW50KTsK
IH0KIAoraW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsQ29udGVudFZpc2li
aWxpdHkoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCit7CisgICAgYnVpbGRlclN0YXRlLnN0
eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoUmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50Vmlz
aWJpbGl0eSgpKTsKK30KKworaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0
Q29udGVudFZpc2liaWxpdHkoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCit7CisgICAgYnVp
bGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoZm9yd2FyZEluaGVyaXRlZFZh
bHVlKGJ1aWxkZXJTdGF0ZS5wYXJlbnRTdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkpKTsKK30K
KworaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5
KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAgaWYg
KGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAgaWYgKGRvd25jYXN0PENT
U1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFsdWVJRCgpID09IENTU1ZhbHVlSGlkZGVuKQorICAg
ICAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNpYmlsaXR5
KENvbnRlbnRWaXNpYmlsaXR5OjpIaWRkZW4pOworICAgICAgICBpZiAoZG93bmNhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU+KHZhbHVlKS52YWx1ZUlEKCkgPT0gQ1NTVmFsdWVBdXRvKQorICAgICAgICAg
ICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNpYmlsaXR5KENvbnRl
bnRWaXNpYmlsaXR5OjpBdXRvKTsKKyAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgp
LnNldENvbnRlbnRWaXNpYmlsaXR5KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGVudFZpc2liaWxp
dHkoKSk7CisgICAgfQorfQorCiBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
VGV4dEVtcGhhc2lzU3R5bGUoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHVlJiB2
YWx1ZSkKIHsKICAgICBpZiAoaXM8Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0xvY2F0YWJsZS5jcHAKaW5kZXggOTVhMjZmZjgzNjFhYzYxYzMxYzBlMzIxYTU3YTZhMzEy
ZDE0ZmIxZi4uMGFlMmY5MTU2ZmQ2ZjQxOWNiYjIyYmZiZjY4NzkwOWQ1MWY4OGQzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgRmxvYXRSZWN0IFNW
R0xvY2F0YWJsZTo6Z2V0QkJveChTVkdFbGVtZW50KiBlbGVtZW50LCBTdHlsZVVwZGF0ZVN0cmF0
ZWd5IHN0eWxlVXAKIHsKICAgICBBU1NFUlQoZWxlbWVudCk7CiAgICAgaWYgKHN0eWxlVXBkYXRl
U3RyYXRlZ3kgPT0gQWxsb3dTdHlsZVVwZGF0ZSkKLSAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQo
KS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgZWxlbWVu
dC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1l
bnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxh
eW91dDo6WWVzKTsKIAogICAgIC8vIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBzdXBwb3J0
IGdldEJCb3ggZm9yIGRldGFjaGVkIGVsZW1lbnRzLgogICAgIGlmICghZWxlbWVudC0+cmVuZGVy
ZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKaW5k
ZXggYzE0NTNiZmM2MDQwOGM5NTA3NDYwNzdkNzYxZWUxNGQ3Mjk2NTFmYi4uODAzY2Y5MGRlMzJj
MWRkYTNjMGI4MjUyMTdhMWM5N2Y3ZTdmMGZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5jcHAKQEAgLTU1LDEzICs1NSwxMyBAQCBTVkdUZXh0Q29udGVu
dEVsZW1lbnQ6OlNWR1RleHRDb250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bQogCiB1bnNpZ25lZCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9m
Q2hhcnMoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3Vt
ZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVy
KCkpLm51bWJlck9mQ2hhcmFjdGVycygpOwogfQogCiBmbG9hdCBTVkdUZXh0Q29udGVudEVsZW1l
bnQ6OmdldENvbXB1dGVkVGV4dExlbmd0aCgpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpB
c3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIHJldHVybiBT
VkdUZXh0UXVlcnkocmVuZGVyZXIoKSkudGV4dExlbmd0aCgpOwogfQogCkBAIC0xMDksNyArMTA5
LDcgQEAgRXhjZXB0aW9uT3I8ZmxvYXQ+IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Um90YXRp
b25PZkNoYXIodW5zaWduZWQgY2hhcm51bSkKIAogaW50IFNWR1RleHRDb250ZW50RWxlbWVudDo6
Z2V0Q2hhck51bUF0UG9zaXRpb24oRE9NUG9pbnRJbml0JiYgcG9pbnRJbml0KQogewotICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9j
dW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1
blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6
WWVzKTsKICAgICBGbG9hdFBvaW50IHRyYW5zZm9ybVBvaW50IHtzdGF0aWNfY2FzdDxmbG9hdD4o
cG9pbnRJbml0LngpLCBzdGF0aWNfY2FzdDxmbG9hdD4ocG9pbnRJbml0LnkpfTsKICAgICByZXR1
cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLmNoYXJhY3Rlck51bWJlckF0UG9zaXRpb24odHJh
bnNmb3JtUG9pbnQpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDczMDMwNWZmNmVlM2JhZTUwM2I5MjMwMDQ1MzZmN2I0
YjlhOTYyZTcuLjNiYTAzNDJjZmZkOWM2ZWE1YWE3MjdjNjhmZmRhZDc5MmQ2NWYwNGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAyMi0wMi0wOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjIzOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczoKKwogMjAyMi0wMi0wOSAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHTElCXSBHYXJkZW4gc2V2ZXJhbCBXUFQgdGVzdHMgdGhhdCBh
cmUgbm93IHBhc3NpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDFlNzQwY2M1
NjhhNGUxNjMzNjk2MTA4NzQwYWUwOTUxYzcyNGVjZmEuLjZkNzU2YzM5OGE3NWZlM2UwNGE3ZmM2
NzQyMDcyM2Q3NTlhZjAyZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM1IEBACisyMDIyLTAyLTA5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxh
eS1sb2NrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDI2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDc3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0bWw6CisK
IDIwMjItMDItMDggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgW3dlYi1hbmltYXRpb25zXSBhZGRpdGl2ZSBhbmQgYWNjdW11bGF0aW9uIGludGVycG9sYXRp
b24gZG9lcyBub3Qgd29yayBjb3JyZWN0bHkgd2l0aCBpbXBsaWNpdCAwJSBhbmQgMTAwJSBrZXlm
cmFtZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE2OThjNTViNDQ5NzEyYzcwNzA5MGJjZGRjOGVm
N2U4M2M5ZGYyNzcuLjUwM2JjMTE2ZWEyMjJmZjhmM2JmNDgyYTFkNjRkODg3NGJmNmQ4NWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNDY0Nyw0NCArNDY0Nyw5IEBAIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJ
bWFnZU9uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDYu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMTkuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMzLnN1Yi5odHRwcy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzNC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAz
Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA0MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA0MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA0NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA1MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA1Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA1OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA2NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA2Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3OC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4Mi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4My5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4NC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxh
eWVyLTAwMC50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0wMDEudGVudGF0aXZlLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktd2l0aC10b3AtbGF5
ZXItMDAyLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvZWxl
bWVudC1yZWFzc2lnbmVkLXRvLXNraXBwZWQtc2xvdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvZWxlbWVudC1yZWFzc2lnbmVkLXRvLXNsb3QtaW4tc2tpcHBlZC1zdWJ0cmVl
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvdW50ZXItc2NvcGluZy0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y291bnRlci1zY29waW5nLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQKaW5kZXggNGM4MjQwZDhk
ODI2NmJiN2NlODZiNjFmMDljYjY5NmZhYzY4NmQ3Ni4uMThjZWU4NGUwZjc5NzI5YTgxMTAyMWIy
ZTYyZDZlMTM0MTM2M2NkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1h
dGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAot
RkFJTCBBbmltYXRpb24gZXZlbnRzIGRvIG5vdCBmaXJlIGZvciBhIENTUyBhbmltYXRpb24gcnVu
bmluZyBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUgYXNzZXJ0X2ZhbHNlOiBBbmltYXRpb24g
ZXZlbnRzIGRvIG5vIGZpcmUgd2hpbGUgdGhlIGFuaW1hdGlvbiBpcyBydW5uaW5nIGluIGEgZGlz
cGxheSBsb2NrZWQgc3VidHJlZSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorRkFJTCBBbmltYXRp
b24gZXZlbnRzIGRvIG5vdCBmaXJlIGZvciBhIENTUyBhbmltYXRpb24gcnVubmluZyBpbiBhIGRp
c3BsYXkgbG9ja2VkIHN1YnRyZWUgYXNzZXJ0X3RydWU6IFRoZSBhbmltYXRpb25pdGVyYXRpb24g
ZXZlbnQgZmlyZXMgb25jZSB0aGUgYW5pbWF0aW9uIGlzIG5vIGxvbmdlciBkaXNwbGF5IGxvY2tl
ZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlzZSBkb2Vz
IG5vdCByZXNvbHZlIGR1ZSB0byB0aGUgbm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9yIGEgQ1NT
IGFuaW1hdGlvbiBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUKIFBBU1MgVGhlIGZpbmlzaGVk
IHByb21pc2UgZG9lcyBub3QgcmVzb2x2ZSBkdWUgdG8gdGhlIG5vcm1hbCBwYXNzYWdlIG9mIHRp
bWUgIGZvciBhIENTUyB0cmFuc2l0aW9uIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZQogRkFJ
TCBFdmVudHMgYW5kIHByb21pc2VzIGFyZSBoYW5kbGVkIG5vcm1hbGx5IGZvciBhbmltYXRpb25z
IHdpdGhvdXQgYW4gb3duaW5nIGVsZW1lbnQgYXNzZXJ0X3RydWU6IEFuaW1hdGlvbiBldmVudCBu
b3QgYmxvY2tlZCBvbiBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGlmIG5vIG93bmluZyBlbGVtZW50
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQKaW5kZXggNWQ2ZjFmNmRl
ZjY1YTVhYTY0MjBmMDAxODQ4ZGI4ZDQ1ZTMwZmJkZC4uZGJlNDhhZjkyMTc2NGEyOGE0YzY1YjQx
YmI2YzU0N2M0OTQ0NzI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIGFzc2VydF9lcXVhbHM6IGNlbnRl
ciBoaXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0IGdvdCAiaW5uZXIiCitQQVNTIENvbnRl
bnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0CmluZGV4IDliNzkx
NDBjZGEyZDQzYzg0ZmFjODI3NDg0MThkOTNmYTNkNTQxNzcuLjQ1MWE0YTM1ZWFmOGQ1YTlmMmNk
Yjc4YjJkZjk0NTIzMDI1MzY5M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCkgYXNz
ZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQgZ290ICJp
bm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCkK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMTctZXhwZWN0ZWQudHh0CmluZGV4IDlmYjA4OGE3ODRiYzViMDNmMGY0OTJjZTY3MGQ3ZjBj
MGU5MDBiZWMuLmY2ZjY4MGU4MmJlYTgwZjI2MzA3MGZhNmUzYTcxZTE2MmZjN2MxYTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAx
Ny1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5
OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCBjaGlsZCkgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhp
dHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBW
aXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCBjaGlsZCkKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQu
dHh0CmluZGV4IGUyOTJlZjcyMTYxYjA4NDk3ZGEyMjM4Njc0N2EzNTQ5YTY2Y2IwNjEuLmI5Yjgz
MzUyZjhiZWYxNDY2OWJlYTcyOTA0MjhmNDJjZGQzZmY0YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAo
Y29tcG9zaXRlZCB3aXRoIGEgY29tcG9zaXRlZCBjaGlsZCkgYXNzZXJ0X2VxdWFsczogY2VudGVy
IGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVu
dCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCB3aXRoIGEgY29tcG9zaXRlZCBj
aGlsZCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CmluZGV4IDczZGE0OGRkYjRhZGM5OGJlZmE4M2IyOGMz
NTQ5ZmY0OGRiMDVmYTAuLjgzOTkzYzlkMDg1NDQ2MjIyZGY2ZWUwZDVkY2Q1ZGMxOTExZjBlYmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAyNi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgY29udGVudC12aXNp
YmlsaXR5OmhpZGRlbiBkb2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4n
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJoaWRkZW4iIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCi1GQUlMIGNvbnRlbnQtdmlzaWJpbGl0eTphdXRvIGRvZXMgbm90IGFm
ZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KHN0cmluZykgImF1dG8iIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIGNvbnRl
bnQtdmlzaWJpbGl0eTpoaWRkZW4gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9mICdj
b250YWluJworUEFTUyBjb250ZW50LXZpc2liaWxpdHk6YXV0byBkb2VzIG5vdCBhZmZlY3QgY29t
cHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dAppbmRleCAzYTBlYThj
OGM5NzkxMjA2M2RlMDgzNjU1ODJkY2IzNTc0YzYyYTNmLi4xY2Y0ZDBmNjIyNWNhZGE0NWY4ZDA2
ZmY1NmViZDJiZGI0ZTQ4YzNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAyOS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAog
VGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLgotVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgdmlz
aWJsZS4KLVRoaXMgdGV4dCBpcyBhbHNvIG5vdCB2aXNpYmxlLgogCi1GQUlMIGlubmVyVGV4dCBv
biBsb2NrZWQgZWxlbWVudC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgdGV4dCBzaG91
bGQgYmUgdmlzaWJsZS4iIGJ1dCBnb3QgIlRoaXMgdGV4dCBzaG91bGQgYmUgdmlzaWJsZS5cblRo
aXMgdGV4dCBzaG91bGQgbm90IGJlIHZpc2libGUuXG5UaGlzIHRleHQgaXMgYWxzbyBub3Qgdmlz
aWJsZS4iCitQQVNTIGlubmVyVGV4dCBvbiBsb2NrZWQgZWxlbWVudC4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQu
dHh0CmluZGV4IGRlYWE1NzdjZGRjYjk2OGYwMzk5YTI3NmQxY2I3NDU4YjlkNjljNDkuLjgyOWMy
OTZiYzBkNzRmYzgxZmUwMTk3ZTAyOWVkNTBmYmE4Y2U3YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSwzIEBACiAKLUZBSUwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJhY3Rpb25z
IGFzc2VydF9lcXVhbHM6IHJ1blN0ZXAyIGV4cGVjdGVkIDEgYnV0IGdvdCAwCitQQVNTIEludGVy
c2VjdGlvbk9ic2VydmVyIGludGVyYWN0aW9ucwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50eHQKaW5kZXggNWNj
OGI4Mjk2ZmY3YmE2OGNhZTY2ZTA3ZTE2ZjIwOWIyZGI1YzhlOS4uMWNjNmMxYzBhYzgwN2Y2ZWMz
MzQwZmRjYWE4ZGU2OTk2OGNhZmY5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwz
IEBACi1DT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogRXJyb3I6
IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9ic2V2ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5nIHdoaWxl
IHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiAKLUhhcm5lc3MgRXJyb3Ig
KEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogUmVz
aXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBleHBlY3Rl
ZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQotVElNRU9VVCBSZXNpemVPYnNlcnZlciBza2lwcGVkIHdo
aWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91dAotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9ic2V2ZXIgc2hv
dWxkIG5vdCBydW4gZHVyaW5nIHdoaWxlIHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290
IGZhbHNlCi0KLVRJTUVPVVQgUmVzaXplT2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRkZW4gVGVz
dCB0aW1lZCBvdXQKK1BBU1MgUmVzaXplT2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRkZW4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MzgtZXhwZWN0ZWQudHh0CmluZGV4IDBlODgwZTA1NWYwNDE3MGNkN2U2N2M5NmZhOTcwNWM0NGU1
ODc1NDAuLmJjZmM3ODlmYTQwYTMzZTMxNWMzNTNhYTRhMWJhYmNlZGU2Mzk5ZTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgTWVhc3VyZSBGb3JjZWQgTGF5b3V0
IGFzc2VydF9lcXVhbHM6IHNwYWNlciBmb3JjZWQgZXhwZWN0ZWQgOCBidXQgZ290IDEwOAorUEFT
UyBNZWFzdXJlIEZvcmNlZCBMYXlvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CmluZGV4IDM5NWQ1OWM0
NmE1NDcyNzJjY2FlZDkyZTYyYzAyMmFkYjc2NTIxYWQuLjRjM2M4YmI5NDNlMDRlMjJmZWVkMzlk
MzRiMGY2ZDgxYzAzZTk0N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAK
IAotCi0KLUZBSUwgVGFiIG9yZGVyIG5hdmlnYXRpb24gc2tpcHMgaGlkZGVuIHN1YnRyZWVzIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9ImZpdmUiIHR5cGU9
InRleHQiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0idHdvIiB0eXBl
PSJ0ZXh0Ij48L2lucHV0PgorUEFTUyBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBoaWRkZW4g
c3VidHJlZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0CmluZGV4IGY4YjAxMWJhODE3OGQ2ODdjN2Y5MDlk
ZTQ4Mzc5OTczYzlkMDk2ZDQuLjczMjY4ZmRiMDhkZjk0NzRmMDFkZjU3NmExODBmOWJlMzg3ZGFh
ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDQ4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0OC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgRnJhZ21lbnQg
bmF2aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgc2luZ2xlIHRleHQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZldGNoUmVzdWx0cyIKLUZBSUwgRnJhZ21lbnQgbmF2
aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgcmFuZ2UgYWNyb3NzIGJsb2NrcyBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgorRkFJTCBGcmFnbWVu
dCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAidGV4dCIgYnV0IGdvdCAidG9wIgorRkFJTCBGcmFnbWVudCBuYXZp
Z2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxvY2tzIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXh0MiIgYnV0IGdvdCAidG9wIgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50
eHQKaW5kZXggNDRhMjkzNjUwMzYxOWY3NmUxYmRhM2ZiYzdjYzA0OGIzZjNjMWM2Zi4uZWIxOTM1
MTY2NmU1N2EwMGZkNDZhNzAyN2MxYjYwMDIwN2ViNWFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dApA
QCAtMSw4ICsxLDMgQEAKLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxvCi1oZWxsbwogCiBGQUlM
IE9uZSBlbGVtZW50cyBzZWxlY3RlZDogIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQogRkFJTCBSYW5nZSBleHRlbmRlZCB0byBjb3ZlciBtb3JlIGVsZW1lbnRzOiAgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKaW5kZXggMDNl
M2JiN2MwZTg5NjAzMzc2MWI1MjQ5ZWQ2NjE2MjY5NGM1MDdlNi4uMDBmMWM3ZjQ0NDE4NzgyYmNl
YjM0MzhkN2I2ZmE1MWY1NjFlMTc2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcg
QEAKIAogUEFTUyBvbmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6CiBGQUlMIHR3by5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290
IDMwNDEKLUZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxz
OiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDc1Ci1GQUlMIGZvdXIuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMTA5Ci1G
QUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVj
dGVkIDMwMDcgYnV0IGdvdCAzMTQzCitGQUlMIHRocmVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQorRkFJTCBmb3Vy
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3
IGJ1dCBnb3QgMzA0MQorRkFJTCBmaXZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0
X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQK
aW5kZXggOTI3MDk2ZWRmOTczZGIxODk2ZDdlMjVhOTQ0ZTFhOTQwZjJhODBhMi4uMDQ5YmUyODRk
NDdmNmNkZjA5ODMzZjUxNDMyNTEwZTkwMzE4ZGRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50LXZpc2liaWxpdHkgaXMgbm90IGFuaW1hdGFibGUg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInZpc2libGUiIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCitQQVNTIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5pbWF0YWJs
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA4MC1leHBlY3RlZC50eHQKaW5kZXggZDBmMDVhZDVhMzhjZTQxMjQyMzMwZWIzOTFhYWQw
ZTkxNzE5YzdiNi4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDgwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxIEBACi1Db250ZW50IFZpc2liaWxpdHk6IGNhcmV0
IHBvc2l0aW9uIHdpdGggaHRtbCBoaWRkZW4gICAqIHsgYWxsOiBpbml0aWFsOyBjb250ZW50LXZp
c2liaWxpdHk6IGhpZGRlbjsgfSB0ZXN0KCgpID0+IHsgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5j
YXJldFJhbmdlRnJvbVBvaW50KCk7IGFzc2VydF9ub3RfZXF1YWxzKHJhbmdlLCBudWxsLCAicmFu
Z2UgZXhpc3RzIik7IGFzc2VydF9lcXVhbHMocmFuZ2Uuc3RhcnRDb250YWluZXIsIGh0bWwsICJz
dGFydENvbnRhaW5lciBpcyBodG1sIik7IGFzc2VydF9lcXVhbHMocmFuZ2Uuc3RhcnRPZmZzZXQs
IDAsICJzdGFydE9mZnNldCBpcyB6ZXJvIik7IGFzc2VydF9lcXVhbHMocmFuZ2UuZW5kQ29udGFp
bmVyLCBodG1sLCAiZW5kQ29udGFpbmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5l
bmRPZmZzZXQsIDAsICJlbmRPZmZzZXQgaXMgemVybyIpOyB9LCAiQ2FyZXQgcmFuZ2UgZnJvbSBw
b2ludCIpOwotRkFJTCBDYXJldCByYW5nZSBmcm9tIHBvaW50IGFzc2VydF9lcXVhbHM6IHN0YXJ0
Q29udGFpbmVyIGlzIGh0bWwgZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxodG1sIGlkPSJodG1sIj48
aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTx0aXRsZT5Db250ZW4uLi4gYnV0IGdvdCBUZXh0
IG5vZGUgIkNvbnRlbnQgVmlzaWJpbGl0eTogY2FyZXQgcG9zaXRpb24gd2l0aCBodG1sIGhpZGRl
biIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wODEtZXhwZWN0ZWQudHh0CmluZGV4IDZlZWRiYWRlZjVlZjE5NzNmYWNjM2RjNWUxOTU0
MTJjN2VjZWNhZDYuLjRkZjkzY2RjMTgzNTFiZjczZjBiZTQ0NGZmYzVmMjljMjkyYzFlZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA4MS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgU2Nyb2xsIG9mZnNldCBp
cyByZXN0b3JlZCB3aGVuIGNvbnRlbnQtdmlzaWJpbGl0eSBoaWRkZW4gaXMgcmVtb3ZlZAorRkFJ
TCBTY3JvbGwgb2Zmc2V0IGlzIHJlc3RvcmVkIHdoZW4gY29udGVudC12aXNpYmlsaXR5IGhpZGRl
biBpcyByZW1vdmVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMDAgYnV0IGdvdCAwCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1n
LWV4cGVjdGVkLnR4dAppbmRleCBjYTM3ODdlNDQ4N2JkMzY0OTYwZmU0ZWI0YzkxZWRhZDE3N2U0
ODcxLi40NDQ5ZDdjNzczYjkwNTgyZDNhMzc5NmEzNmNjY2RjYzgzY2JlODE3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAogCi0KLQotCi0KIFBBU1MgYy12OmhpZGRlbiA8aW1n
PiBsYXlvdXQgQVBJcyBzaG91bGRuJ3QgcmV0dXJuIHplcm8gd2hlbiBhY2Nlc3NlZCBmcm9tIHNj
cmlwdC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dAppbmRleCBhNDVlZDU4Mjkw
MWY3YzVjMmRmOTdlNzBlYTQ1MDUwMjM3MmE1NjE2Li5lNGEzMWZiMWJhMWE2MzkyY2VlYjg2NmJi
N2U2MGJjZGJiMThiMDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dApAQCAt
MSw1ICsxLDMgQEAKIAotCi0KIFBBU1MgPGlucHV0IHR5cGU9aW1hZ2U+IHNob3VsZCByZXR1cm4g
bm9uemVybyB2YWx1ZXMgZm9yIHdpZHRoIGFuZCBoZWlnaHQgaW4gYSBjLXY6aGlkZGVuIHN1YnRy
ZWUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktc3ZnLWV4cGVjdGVkLnR4dAppbmRleCA0Njc2Yjg4YzlhY2M3ZjI5Nzk1ODI4OTQ0NDI4
ZjI0MjE4MzExZDU2Li44ZGYxYjdmZmFmNGJjMjNlMjU0NjYyZWQ4ZjM2YmE4YjA2NWFiYTBjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS1zdmctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAotSGVsbG8gV29ybGQhCi1IZWxsbyBX
b3JsZCBBZ2FpbiEKIAogUEFTUyBnZXRCQm94KCkgc2hvdWxkIHJldHVybiBub256ZXJvIHZhbHVl
cyBpbiBhIGMtdjpoaWRkZW4gc3VidHJlZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggN2RhMTdmZmFmOWNkNTIwYTc1M2U5ZjNlOWE1
OGU5YzYxYzQ1ZmU2NS4uNjY4ODk2YWYxMmQ2YTBkOTBkMWEzYWRhNmNkODdjYWFkZWVhNTZlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBoYXMgaW5p
dGlhbCB2YWx1ZSB2aXNpYmxlIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24n
dCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IGRvZXMgbm90IGlu
aGVyaXQgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5
IGNvbnRlbnQtdmlzaWJpbGl0eSBoYXMgaW5pdGlhbCB2YWx1ZSB2aXNpYmxlCitQQVNTIFByb3Bl
cnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2VzIG5vdCBpbmhlcml0CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2li
aWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDg3YTNjNjgwZWY4Y2ZlNDI5YWU0NmQz
MDkzZTc4MGU3MTI3YmRmOTIuLjBjMzRhNWRiYmRkZTdkYWMzNjllNmI4MGNkMjVhOWU3ZDg3NmRl
NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlz
aWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDUgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ3Zpc2li
bGUnIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1
cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdhdXRvJyBhc3NlcnRfdHJ1ZTog
Y29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNv
bXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRl
bnQtdmlzaWJpbGl0eSB2YWx1ZSAnaGlkZGVuJyBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmls
aXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2
YWx1ZSAndmlzaWJsZScKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdh
dXRvJworUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2hpZGRlbicKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmls
aXR5LXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2Nv
bnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKaW5kZXggNmE2NWZmNjg0ZjYwODJk
MWNlODFjMTM3ZTQwM2E0ZGU3MDA4OTU2Zi4uOWRhNDU3M2UwNzQ3N2I3NzdkNmJhODc2OGY0NTNj
NzQzNTczMzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29u
dGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0x
LDUgKzEsNSBAQAogCi1GQUlMIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gInZpc2li
bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9w
ZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVb
J2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImF1dG8iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZh
bHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxv
d2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImhpZGRl
biIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3Bl
cnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsn
Y29udGVudC12aXNpYmlsaXR5J10gPSAidmlzaWJsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkg
dmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAiYXV0byIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5
J10gPSAiaGlkZGVuIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1
dG8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10
YXJnZXQtYXV0by5odG1sCmluZGV4IGQwN2VkZTVhNTQ2MDA3ZTMyN2QzNTNlZDU5OTQ4OWRkZmU1
NzQ0ODEuLjUzYTIyZjVmZDhkMWNkYjg4Mzg1MzUzNTQ1NDllMTE3NTc2ZDdlNTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQt
YXV0by5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFn
bWVudC10YXJnZXQtYXV0by5odG1sCkBAIC00Miw3ICs0Miw3IEBAIGZ1bmN0aW9uIGRvdWJsZVJh
ZkNoZWNrU2Nyb2xsKCkgewogICBoZWlnaHQ6IDEwMDAwcHg7CiB9CiAuYXV0byB7Ci0gIHN1YnRy
ZWUtdmlzaWJpbGl0eTogYXV0bzsKKyAgY29udGVudC12aXNpYmlsaXR5OiBhdXRvOwogfQogPC9z
dHlsZT4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451385</attachid>
            <date>2022-02-09 08:35:23 -0800</date>
            <delta_ts>2022-02-09 12:02:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220209163521.patch</filename>
            <type>text/plain</type>
            <size>107731</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU2ZDg5YjMxNjkyZGVk
NDhkNDgyMWM3MWFjODExOGMwNWQxM2E2Ni4uYjhkNzM1MmI2MWQ3YmQzNGQ5YzNkODdkNjY5ODVl
ZTc0MjU3Y2RkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0wOSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMDkgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMgYWZ0ZXIgcjI4OTI0NwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCmluZGV4IDk4ODA0
YzNhODIwNGEyMzQzMmVlYTcwOWJlMTczY2E0MGNjODFhYTkuLjg5ZGRmODZmMjI3YThmMTVkN2U0
NmU3MzUxZTU1ZmM0MjlhYTRjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9j
dW1lbnRUaW1lbGluZS5jcHAKQEAgLTM5Nyw2ICszOTcsMTYgQEAgQW5pbWF0aW9uRXZlbnRzIERv
Y3VtZW50VGltZWxpbmU6OnByZXBhcmVGb3JQZW5kaW5nQW5pbWF0aW9uRXZlbnRzRGlzcGF0Y2go
KQogewogICAgIG1fc2hvdWxkU2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9uRm9yTmV3UGVuZGlu
Z0V2ZW50cyA9IHRydWU7CiAgICAgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9wZW5kaW5nQW5pbWF0
aW9uRXZlbnRzLCB7IH0pOworICAgIEFuaW1hdGlvbkV2ZW50cyBldmVudHM7CisgICAgZm9yIChh
dXRvJiBldmVudCA6IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cykgeworICAgICAgICBpZiAoZXZl
bnQtPmFuaW1hdGlvbigpLT5pc0luSGlkZGVuU3VidHJlZSgpKQorLy8gICAgICAgIEVsZW1lbnQq
IGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgpICYmICFkb3duY2FzdDxOb2RlPigq
ZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8gZHluYW1pY0Rvd25jYXN0PEVsZW1l
bnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKy8vICAgICAgICBpZiAoZWxlbWVudCAm
JiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgZXZlbnRzLmFwcGVuZChldmVudCk7CisgICAgICAgIG1fcGVuZGluZ0FuaW1hdGlvbkV2
ZW50cy5yZW1vdmVGaXJzdChldmVudCk7CisgICAgfQorICAgIHJldHVybiBldmVudHM7CiB9CiAK
IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBkb3VibGU+PiBEb2N1bWVudFRpbWVsaW5lOjphY2Nl
bGVyYXRlZEFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuY3BwCmluZGV4IDc3YjlmYjJjYWNlZDIyMGRlNDE1NTY3OTdmODU3MmIwYTZjYThkODMu
LjY4ZTMwNTMyZWExYWZmY2RkMTZkNWE3NTEzZmRhMWQ1ODVhYzEzYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIu
Y3BwCkBAIC0xMDUsNiArMTA1LDggQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6
OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0aW8KICAgICAgICAg
dGltZWxpbmVzVG9VcGRhdGUuYXBwZW5kKHRpbWVsaW5lLmNvcHlSZWYoKSk7CiAKICAgICAgICAg
Zm9yIChhdXRvJiBhbmltYXRpb24gOiBjb3B5VG9WZWN0b3IodGltZWxpbmUtPnJlbGV2YW50QW5p
bWF0aW9ucygpKSkgeworICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aXNJbkhpZGRlblN1YnRy
ZWUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChhbmltYXRp
b24tPnRpbWVsaW5lKCkgIT0gdGltZWxpbmUucHRyKCkpIHsKICAgICAgICAgICAgICAgICBBU1NF
UlQoIWFuaW1hdGlvbi0+dGltZWxpbmUoKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CkBA
IC0xNTAsOCArMTUyLDEyIEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjp1cGRh
dGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhSZWR1Y2VkUmVzb2x1dGlvCiAgICAgfSk7CiAKICAg
ICAvLyA3LiBEaXNwYXRjaCBlYWNoIG9mIHRoZSBldmVudHMgaW4gZXZlbnRzIHRvIGRpc3BhdGNo
IGF0IHRoZWlyIGNvcnJlc3BvbmRpbmcgdGFyZ2V0IHVzaW5nIHRoZSBvcmRlciBlc3RhYmxpc2hl
ZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICBmb3IgKGF1dG8mIGV2ZW50IDogZXZlbnRzKQor
ICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpIHsKKyAgICAgICAgLy8gRWxlbWVudCogZWxl
bWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRvd25jYXN0PE5vZGU+KCpldmVu
dC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWljRG93bmNhc3Q8RWxlbWVudD4o
KmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworICAgICAgICAvLyBpZiAoZWxlbWVudCAmJiBl
bGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIC8vICAgIGNvbnRpbnVlOwogICAg
ICAgICBldmVudC0+dGFyZ2V0KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgIH0KIAogICAg
IC8vIFRoaXMgd2lsbCBjYW5jZWwgYW55IHNjaGVkdWxlZCBpbnZhbGlkYXRpb24gaWYgd2UgZW5k
IHVwIHJlbW92aW5nIGFsbCBhbmltYXRpb25zLgogICAgIGZvciAoYXV0byYgYW5pbWF0aW9uIDog
YW5pbWF0aW9uc1RvUmVtb3ZlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uY3BwCmluZGV4IDU3ZGY0MTc1NzdhYTg5ZGRlNDExYWJkMDUxZTNjMmE1MmViODAyY2QuLjZk
ODAwZWUyNzFmODEzMGE0ZWU4Mjg4Njc0NjZjMmI1MjljOWFhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xNTA5LDQgKzE1MDksMTMgQEAgU2Vjb25k
cyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QKICAgICByZXR1cm4gZWZmZWN0
KCktPnRpbWVUb05leHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNpY1RpbWluZygpKSAvIHBsYXliYWNr
UmF0ZTsKIH0KIAorYm9vbCBXZWJBbmltYXRpb246OmlzSW5IaWRkZW5TdWJ0cmVlKCkKK3sKKyAg
ICBpZiAoIWlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChhdXRvIGVsZW1lbnQgPSBkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4odGhp
cyktPm93bmluZ0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmVsZW1lbnQuaXNT
a2lwcGVkQ29udGVudCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDM3YTYx
N2Y2MDUzNzA3OWQyYjEyZWEwYzA2MjhlMWNlYTJhMzJlNDYuLjA4MmExYjFhNWFjMmU2NTlkNTQy
ZTBlMmQ2NWMxN2E2NTI4YTk4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0
aW9uLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0RlY2xh
cmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaXNDU1NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc0NTU1RyYW5zaXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wg
aXNJbkhpZGRlblN1YnRyZWUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJl
dHVybiBtX2lkOyB9CiAgICAgdm9pZCBzZXRJZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggY2I0
NWUwZDgxNWE2OGM0MjAxOWIwYmI2MDQ4NjEwYzY5ZGNkZDIyMi4uMzRjZWY3MTFjYmFhN2MzNDE3
ZTI1ZWRhNzc5Y2FmN2E0NTAxYTBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM2NDQsNiArMzY0NCwxNCBAQCBSZWZQ
dHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0
eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wuY3JlYXRlQ3VzdG9tSWRlbnQobmFtZSkpOwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7
CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5Ogor
ICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5jc3NDb250
YWlubWVudEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eUhpZGRlbigpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlSGlk
ZGVuKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRl
bnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wu
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisgICAgICAgICAgICByZXR1cm4g
Y3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVZpc2libGUpOwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2ZhY2VWaXNpYmlsaXR5OgogICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoKHN0eWxlLmJhY2tmYWNlVmlz
aWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0eTo6SGlkZGVuKSA/IENTU1ZhbHVlSGlkZGVu
IDogQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
ckltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggMTM2MGEwNDg4
OWNjNzFjNDU5OTcyNmViZDM0N2U0MWE3YTU2NjljOC4uZDExZWYxMTRkYTM1NjRlNDQxZWM5ZDFm
YjA1YTRkNWVjNTliNWFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBA
IC01MjcwLDYgKzUyNzAsMTkgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcXVlcmllcyIKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImNvbnRlbnQtdmlzaWJpbGl0eSI6IHsKKyAgICAg
ICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgImN1c3RvbSI6
ICJBbGwiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvbnRhaW5tZW50
RW5hYmxlZCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3RhdHVzIjogeworICAgICAg
ICAgICAgICAgICJzdGF0dXMiOiAiZXhwZXJpbWVudGFsIgorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJj
c3MtY29udGFpbiIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWNvbnRhaW4tMi8iCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICJiYWNrZmFjZS12aXNpYmlsaXR5IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4IDU1ZDM2YmI1ODYxNjgzMGVhNWI1
NGM4OTk5ZTJhMGI5YjA0MTQ5NjMuLjAzYzY2N2M2N2NjYzI1OTJhNGM4OWZmODNiNjgxMDMxZGZl
NmYwODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0
LmNwcApAQCAtMjMwLDYgKzIzMCw3IEBAIGJvb2wgQ1NTUGFyc2VyQ29udGV4dDo6aXNQcm9wZXJ0
eVJ1bnRpbWVEaXNhYmxlZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25zdAogICAgIGNhc2Ug
Q1NTUHJvcGVydHlBc3BlY3RSYXRpbzoKICAgICAgICAgcmV0dXJuICFhc3BlY3RSYXRpb0VuYWJs
ZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CisgICAgY2FzZSBDU1NQcm9wZXJ0eUNv
bnRlbnRWaXNpYmlsaXR5OgogICAgICAgICByZXR1cm4gIWNvbnRhaW5tZW50RW5hYmxlZDsKICAg
ICBjYXNlIENTU1Byb3BlcnR5QXBwbGVDb2xvckZpbHRlcjoKICAgICAgICAgcmV0dXJuICFjb2xv
ckZpbHRlckVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwCmluZGV4IGJmYjliNjExNTkyMmVlNmM5ZDU0NzVmZjhmZGMxNGE3MTYzOGU1
NTkuLjMyMWFiZTk5MTgwZTFhODUxNzE0ODA4N2U0ZTdhYjllMzIxNmVmODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC00MDMzLDYg
KzQwMzMsMTMgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIFJlZlB0cjxDU1NWYWx1ZT4oV1RGTW92
ZShsaXN0KSk7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb250ZW50Vmlz
aWJpbGl0eUhpZGRlbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0
byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZVZpc2libGUsIENTU1ZhbHVlQXV0
bywgQ1NTVmFsdWVIaWRkZW4+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNpbmdsZVZhbHVlOwor
ICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1l
VGV4dEVtcGhhc2lzUG9zaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7CiAgICAg
Ym9vbCBmb3VuZE92ZXJPclVuZGVyID0gZmFsc2U7CkBAIC00NjYxLDYgKzQ2NjgsMTAgQEAgUmVm
UHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgaWYgKCFtX2NvbnRleHQuY29udGFpbm1lbnRF
bmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiBjb25z
dW1lQ29udGFpbihtX3JhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxp
dHk6CisgICAgICAgIGlmICghbV9jb250ZXh0LmNvbnRhaW5tZW50RW5hYmxlZCkKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY29uc3VtZUNvbnRlbnRWaXNpYmls
aXR5SGlkZGVuKG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0RW1waGFzaXNQb3Np
dGlvbjoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVUZXh0RW1waGFzaXNQb3NpdGlvbihtX3Jhbmdl
KTsKICNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGIyMDYyMTBmZDZhMTQwYzk1MDdmODNmNGIxNTg2MjA1MTNkMThlYTEuLjhkYTk1M2ZlNjhjMzA5
ZmZhYzA1YTM5OTgwNDA5ZmYxYzcxNWZjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MTMzLDYgKzEzMyw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludGVyc2VjdGlv
bk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIgog
I2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NV2lu
ZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5oIgpAQCAtMzg4LDYg
KzM4OSwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaXNhbGxvd0xheW91dCB7IGZhbHNlIH07
CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2sgZmluYWwgOiBwdWJsaWMgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2s+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2soZG9jdW1lbnQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBoYXNDYWxsYmFjaygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIENhbGxiYWNrUmVzdWx0PHZvaWQ+
IGhhbmRsZUV2ZW50KEludGVyc2VjdGlvbk9ic2VydmVyJiwgY29uc3QgVmVjdG9yPFJlZjxJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyJikg
ZmluYWwKKyAgICB7CisgICAgICAgIEFTU0VSVCghZW50cmllcy5pc0VtcHR5KCkpOworCisgICAg
ICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoYXV0byog
ZWxlbWVudCA9IGVudHJ5LT50YXJnZXQoKSkKKyAgICAgICAgICAgICAgICBlbGVtZW50LT5jb250
ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGVudHJ5LT5pc0ludGVyc2VjdGluZygpKTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENvbnRlbnRWaXNpYmls
aXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhEb2N1bWVudCYgZG9jdW1lbnQpCisgICAg
ICAgIDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaygmZG9jdW1lbnQpCisgICAgeworICAg
IH0KK307CisKIC8vIERlZmluZWQgaGVyZSB0byBhdm9pZCBpbmNsdWRpbmcgR0NSZWFjaGFibGVS
ZWYuaCBpbiBEb2N1bWVudC5oCiBzdHJ1Y3QgRG9jdW1lbnQ6OlBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldExpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtMjE3Nyw3ICsyMjA1
LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCit2b2lkIERvY3VtZW50Ojp1
cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgZm9yY2VMYXlvdXQpCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKIApAQCAtMjIwMCwxNiArMjIyOCwyNSBAQCB2b2lkIERvY3VtZW50Ojp1cGRh
dGVMYXlvdXQoKQogCiAgICAgaWYgKCFmcmFtZVZpZXcgfHwgIXJlbmRlclZpZXcoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQ
ZW5kaW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKKyAgICBzdGQ6Om9wdGlv
bmFsPGJvb2w+IG9sZExheW91dEZvcmNlZDsKKyAgICBpZiAoZm9yY2VMYXlvdXQgPT0gRm9yY2VM
YXlvdXQ6OlllcyAmJiB2aWV3KCkpIHsKKyAgICAgICAgb2xkTGF5b3V0Rm9yY2VkID0gdmlldygp
LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKTsKKyAgICAgICAgdmlldygpLT5sYXlv
dXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKHRydWUpOworICAgIH0KKworICAgIGlmICghZnJh
bWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYgIXJlbmRlclZpZXco
KS0+bmVlZHNMYXlvdXQoKSAmJiBmb3JjZUxheW91dCAhPSBGb3JjZUxheW91dDo6WWVzKQogICAg
ICAgICByZXR1cm47CiAKICAgICBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5sYXlvdXQoKTsK
IAorICAgIGlmIChvbGRMYXlvdXRGb3JjZWQpCisgICAgICAgIHZpZXcoKS0+bGF5b3V0Q29udGV4
dCgpLnNldExheW91dEZvcmNlZCgqb2xkTGF5b3V0Rm9yY2VkKTsKKwogICAgIGlmIChzdHlsZVNj
b3BlKCkudXBkYXRlUXVlcnlDb250YWluZXJTdGF0ZSgpKQotICAgICAgICB1cGRhdGVMYXlvdXQo
KTsKKyAgICAgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIH0KIAotdm9pZCBEb2N1bWVu
dDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzKQordm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3Mg
cnVuUG9zdExheW91dFRhc2tzLCBGb3JjZUxheW91dCBmb3JjZUxheW91dCkKIHsKICAgICBib29s
IG9sZElnbm9yZSA9IG1faWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzOwogCkBAIC0yMjIwLDcgKzIy
NTcsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcwogICAgICAgICAgICAgc2NoZWR1bGVGdWxs
U3R5bGVSZWJ1aWxkKCk7CiAgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0KCk7CisgICAgdXBkYXRl
TGF5b3V0KGZvcmNlTGF5b3V0KTsKIAogICAgIGlmIChydW5Qb3N0TGF5b3V0VGFza3MgPT0gUnVu
UG9zdExheW91dFRhc2tzOjpTeW5jaHJvbm91c2x5ICYmIHZpZXcoKSkKICAgICAgICAgdmlldygp
LT5mbHVzaEFueVBlbmRpbmdQb3N0TGF5b3V0VGFza3MoKTsKQEAgLTIzNDgsNyArMjM4NSw3IEBA
IGJvb2wgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElmRGltZW5zaW9uc091dE9mRGF0ZShFbGVtZW50
JiBlbGVtZW50LCBEaW1lbnNpb25zQ2hlCiAgICAgLy8gT25seSBkbyBhIGxheW91dCBpZiBjaGFu
Z2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2FyeS4gICAgICAKICAgICBpZiAo
cmVxdWlyZUZ1bGxMYXlvdXQgJiYgZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAmJiAoZnJhbWVW
aWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5u
ZWVkc0xheW91dCgpKSkKICAgICAgICAgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkubGF5b3V0
KCk7Ci0gICAgCisKICAgICByZXR1cm4gcmVxdWlyZUZ1bGxMYXlvdXQ7CiB9CiAKQEAgLTQ2ODQs
NiArNDcyMSwxMSBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1c2VkRWxlbWVudChFbGVtZW50KiBl
bGVtZW50LCBjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAgICAgICAgIG1fZm9jdXNlZEVs
ZW1lbnQtPnNldEZvY3VzKHRydWUsIG9wdGlvbnMudmlzaWJpbGl0eSk7CiAgICAgICAgIG1fbGF0
ZXN0Rm9jdXNUcmlnZ2VyID0gb3B0aW9ucy50cmlnZ2VyOwogCisgICAgICAgIGZvciAoYXV0byBm
b2N1c2VkID0gbmV3Rm9jdXNlZEVsZW1lbnQ7IGZvY3VzZWQ7IGZvY3VzZWQgPSBmb2N1c2VkLT5w
YXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkgeworICAgICAgICAgICAgaWYgKGF1dG8qIGRh
dGEgPSBmb2N1c2VkLT5jb250ZW50VmlzaWJpbGl0eURhdGEoKSkKKyAgICAgICAgICAgICAgICBk
YXRhLT5zdWJ0cmVlSGFzRm9jdXMgPSB0cnVlOworICAgICAgICB9CisKICAgICAgICAgLy8gVGhl
IHNldEZvY3VzIGNhbGwgdHJpZ2dlcnMgYSBibHVyIGFuZCBhIGZvY3VzIGV2ZW50LiBFdmVudCBo
YW5kbGVycyBjb3VsZCBjYXVzZSB0aGUgZm9jdXNlZCBlbGVtZW50IHRvIGJlIGNsZWFyZWQuCiAg
ICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0ZvY3VzZWRFbGVtZW50KSB7CiAgICAg
ICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAgLTgwMDksNyArODA1MSw4IEBAIHN0
YXRpYyBzdGQ6Om9wdGlvbmFsPEludGVyc2VjdGlvbk9ic2VydmF0aW9uU3RhdGU+IGNvbXB1dGVJ
bnRlcnNlY3Rpb25TdGF0ZShGcmFtCiAgICAgRmxvYXRSZWN0IHJvb3RMb2NhbEludGVyc2VjdGlv
blJlY3QgPSBsb2NhbFJvb3RCb3VuZHM7CiAKICAgICBJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblN0
YXRlIGludGVyc2VjdGlvblN0YXRlOwotICAgIGludGVyc2VjdGlvblN0YXRlLmlzSW50ZXJzZWN0
aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJbnRlcnNlY3Rpb25SZWN0LmVk
Z2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJlY3QpOworICAgIGlmICghdGFy
Z2V0LmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgaW50ZXJzZWN0aW9uU3RhdGUuaXNJbnRl
cnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbEludGVyc2VjdGlvblJl
Y3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVjdCk7CiAgICAgaW50
ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVUYXJnZXRSZWN0ID0gdGFyZ2V0UmVuZGVyZXItPmxvY2Fs
VG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KGxvY2FsVGFyZ2V0Qm91bmRzKSkuYm91bmRpbmdCb3go
KTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVJvb3RCb3VuZHMgPSByb290UmVuZGVy
ZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQobG9jYWxSb290Qm91bmRzKS5ib3VuZGluZ0JveCgpOwog
CkBAIC05MDkyLDYgKzkxMzUsNDQgQEAgc3RkOjpvcHRpb25hbDxQQUw6OlNlc3Npb25JRD4gRG9j
dW1lbnQ6OnNlc3Npb25JRCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIAor
Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBEb2N1bWVudDo6Y29udGVudFZpc2liaWxp
dHlEb2N1bWVudFN0YXRlKCkKK3sKKyAgICBpZiAoIW1fY29udGVudFZpc2liaWxpdHlEb2N1bWVu
dFN0YXRlKQorICAgICAgICBtX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSA9IG1ha2VV
bmlxdWU8Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlPigqdGhpcyk7CisgICAgcmV0dXJu
ICptX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTsKK30KKworQ29udGVudFZpc2liaWxp
dHlEb2N1bWVudFN0YXRlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoRG9jdW1lbnQm
IGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK3sKK30KKwordm9pZCBDb250
ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRp
b24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0aW9uT2JzZXJ2
ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRlcnNlY3Rpb25P
YnNlcnZlci0+b2JzZXJ2ZShlbGVtZW50KTsKK30KKwordm9pZCBDb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGU6OnJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oRWxlbWVudCYg
ZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJ
bnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlci0+dW5v
YnNlcnZlKGVsZW1lbnQpOworfQorCitJbnRlcnNlY3Rpb25PYnNlcnZlciogQ29udGVudFZpc2li
aWxpdHlEb2N1bWVudFN0YXRlOjplbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpCit7CisgICAg
aWYgKCFtX29ic2VydmVyKSB7CisgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBDb250ZW50VmlzaWJp
bGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s6OmNyZWF0ZSgqbV9kb2N1bWVudCk7Cisg
ICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IGNvbnRlbnRWaXNpYmls
aXR5Um9vdE1hcmdpbkZhbGxiYWNrKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCIxMDAlIikpOwor
ICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6SW5pdCBvcHRpb25zIHsgc3RkOjpudWxsb3B0
LCBjb250ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFjaywgeyB9IH07CisgICAgICAgIGF1
dG8gb2JzZXJ2ZXIgPSBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6Y3JlYXRlKCptX2RvY3VtZW50LCBX
VEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7CisgICAgICAgIGlmIChvYnNlcnZl
ci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBt
X29ic2VydmVyID0gb2JzZXJ2ZXIucmV0dXJuVmFsdWUoKS5wdHIoKTsKKyAgICB9CisgICAgcmV0
dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI3Vu
ZGVmIERPQ1VNRU5UX1JFTEVBU0VfTE9HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDRkZDdkMzZj
ZTI0OGMwZjU2NzZhMGQ1OGU5ODBkODA2ZTYxMDZiNzAuLjI2MGIwN2I5NmZlZTkyOTQ1MDQ5YzQw
YzM5NTlmOWViNDcyOTQ0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0zMzksNiArMzM5LDIx
IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKIH07CiAKK2Ns
YXNzIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKERv
Y3VtZW50Jik7CisKKyAgICB2b2lkIGFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oRWxl
bWVudCYpOworICAgIHZvaWQgcmVtb3ZlQ29udGVudFZpc2liaWxpdHlPYnNlcnZhdGlvbihFbGVt
ZW50Jik7CisKK3ByaXZhdGU6CisgICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIqIGVuc3VyZUludGVy
c2VjdGlvbk9ic2VydmVyKCk7CisKKyAgICBSZWZQdHI8SW50ZXJzZWN0aW9uT2JzZXJ2ZXI+IG1f
b2JzZXJ2ZXI7CisgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKK307CisKIGNsYXNz
IERvY3VtZW50CiAgICAgOiBwdWJsaWMgQ29udGFpbmVyTm9kZQogICAgICwgcHVibGljIFRyZWVT
Y29wZQpAQCAtNjIwLDEyICs2MzUsMTMgQEAgcHVibGljOgogICAgIGJvb2wgbmVlZHNTdHlsZVJl
Y2FsYygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxhc3RTdHlsZVVwZGF0ZVNpemVGb3JUZXN0aW5n
KCkgY29uc3QgeyByZXR1cm4gbV9sYXN0U3R5bGVVcGRhdGVTaXplRm9yVGVzdGluZzsgfQogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXQoKTsKKyAgICBlbnVtIGNsYXNzIEZv
cmNlTGF5b3V0IHsgTm8sIFllcyB9OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5
b3V0KEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsKICAgICAKICAgICAvLyB1cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKSBmb3JjZXMgbGF5b3V0IGV2ZW4gaWYgd2Ug
YXJlIHdhaXRpbmcgZm9yIHBlbmRpbmcgc3R5bGVzaGVldCBsb2FkcywKICAgICAvLyBzbyBjYWxs
aW5nIHRoaXMgbWF5IGNhdXNlIGEgZmxhc2ggb2YgdW5zdHlsZWQgY29udGVudCAoRk9VQykuCiAg
ICAgZW51bSBjbGFzcyBSdW5Qb3N0TGF5b3V0VGFza3MgeyBBc3luY2hyb25vdXNseSwgU3luY2hy
b25vdXNseSB9OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1blBvc3RMYXlvdXRUYXNrczo6
QXN5bmNocm9ub3VzbHkpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1blBvc3RMYXlvdXRU
YXNrczo6QXN5bmNocm9ub3VzbHksIEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsKIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JFbGVtZW50SWdub3JpbmdQ
ZW5kaW5nU3R5bGVzaGVldHMoRWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSwgUHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZSk7CiAKQEAgLTE2NDMsNiArMTY1OSw4IEBAIHB1
YmxpYzoKIAogICAgIExhenlMb2FkSW1hZ2VPYnNlcnZlciYgbGF6eUxvYWRJbWFnZU9ic2VydmVy
KCk7CiAKKyAgICBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUmIGNvbnRlbnRWaXNpYmls
aXR5RG9jdW1lbnRTdGF0ZSgpOworCiAgICAgdm9pZCBzZXRIYXNWaXN1YWxseU5vbkVtcHR5Q3Vz
dG9tQ29udGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCA9IHRydWU7
IH0KICAgICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudDsgfQogICAgIHZvaWQgZW5x
dWV1ZVBhaW50VGltaW5nRW50cnlJZk5lZWRlZCgpOwpAQCAtMTg4NCw2ICsxOTAyLDggQEAgcHJp
dmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5TG9hZEltYWdlT2JzZXJ2ZXI+IG1fbGF6
eUxvYWRJbWFnZU9ic2VydmVyOwogCisgICAgc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRWaXNpYmls
aXR5RG9jdW1lbnRTdGF0ZT4gbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU7CisKICAg
ICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3BlbmRpbmdTdGF0ZU9iamVjdDsKICNp
ZiAhTE9HX0RJU0FCTEVECiAgICAgTW9ub3RvbmljVGltZSBtX2RvY3VtZW50Q3JlYXRpb25UaW1l
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDE3ZDYwZjU4YTE5MjQyYmU1MjZiMjlhZjEyMWU2
MTYzNjA2ZGE3ZjcuLmNhMzM0NjE4N2FlNTg1ZmY1MzllMzc1NWMxMzU0NjBhY2FmZjVlYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyODEsNyArMTI4MSw3IEBAIGludCBFbGVtZW50Ojpv
ZmZzZXRUb3BGb3JCaW5kaW5ncygpCiAKIGludCBFbGVtZW50OjpvZmZzZXRUb3AoKQogewotICAg
IGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAg
ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6
OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91
dDo6WWVzKTsKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyID0gcmVuZGVy
Qm94TW9kZWxPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGFkanVzdE9mZnNldEZvclpvb21BbmRT
dWJwaXhlbExheW91dCgqcmVuZGVyZXIsIHJlbmRlcmVyLT5vZmZzZXRUb3AoKSk7CiAgICAgcmV0
dXJuIDA7CkBAIC0xNzY2LDcgKzE3NjYsNyBAQCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxSZW5k
ZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBFbGVtZW50Ojpib3VuZGluZ0Fic29sdXRlUmVjdAogCiBG
bG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKIHsKLSAgICBkb2N1bWVudCgp
LnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5
b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAg
ICAgYXV0byBwYWlyID0gYm91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0KCk7CiAgICAg
aWYgKCFwYWlyKQogICAgICAgICByZXR1cm4geyB9OwpAQCAtMzA3MCw2ICszMDcwLDkgQEAgdm9p
ZCBFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAgICAgaWYgKCFp
c0Nvbm5lY3RlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoaXNTa2lwcGVkQ29udGVu
dCgpKQorICAgICAgICByZXR1cm47CisKICAgICBSZWYgZG9jdW1lbnQgeyB0aGlzLT5kb2N1bWVu
dCgpIH07CiAgICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkRWxlbWVudCgpID09IHRoaXMpIHsKICAg
ICAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCkpCkBAIC0zMzQyLDYgKzMzNDUsOSBAQCBTdHJpbmcg
RWxlbWVudDo6aW5uZXJUZXh0KCkKICAgICAvLyBXZSBuZWVkIHRvIHVwZGF0ZSBsYXlvdXQsIHNp
bmNlIHBsYWluVGV4dCB1c2VzIGxpbmUgYm94ZXMgaW4gdGhlIHJlbmRlciB0cmVlLgogICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKKyAgICBp
ZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKICAgICBp
ZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiB0ZXh0Q29udGVudCh0cnVlKTsKIApAQCAt
MzU1Nyw5ICszNTYzLDggQEAgYm9vbCBFbGVtZW50OjpoYXNWYWxpZFN0eWxlKCkgY29uc3QKIAog
Ym9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRob3V0UmVzb2x2aW5nRnVsbFN0eWxlKCkgY29uc3QK
IHsKLQogICAgIGlmIChyZW5kZXJTdHlsZSgpIHx8IGhhc1ZhbGlkU3R5bGUoKSkKLSAgICAgICAg
cmV0dXJuIHJlbmRlclN0eWxlKCkgJiYgcmVuZGVyU3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZp
c2liaWxpdHk6OlZpc2libGU7CisgICAgICAgIHJldHVybiByZW5kZXJTdHlsZSgpICYmIHJlbmRl
clN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmICFpc1NraXBw
ZWRDb250ZW50KCk7CiAKICAgICBhdXRvIGNvbXB1dGVkU3R5bGVGb3JFbGVtZW50ID0gW10oRWxl
bWVudCYgZWxlbWVudCkgLT4gY29uc3QgUmVuZGVyU3R5bGUqIHsKICAgICAgICAgYXV0byogc3R5
bGUgPSBlbGVtZW50Lmhhc05vZGVGbGFnKE5vZGVGbGFnOjpJc0NvbXB1dGVkU3R5bGVJbnZhbGlk
RmxhZykgPyBudWxscHRyIDogZWxlbWVudC5leGlzdGluZ0NvbXB1dGVkU3R5bGUoKTsKQEAgLTM1
NzcsNiArMzU4Miw5IEBAIGJvb2wgRWxlbWVudDo6aXNWaXNpYmxlV2l0aG91dFJlc29sdmluZ0Z1
bGxTdHlsZSgpIGNvbnN0CiAgICAgaWYgKHN0eWxlLT52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0
eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGlzU2tpcHBlZENv
bnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgZm9yIChhdXRvJiBlbGVtZW50
IDogY29tcG9zZWRUcmVlQW5jZXN0b3JzKGNvbnN0X2Nhc3Q8RWxlbWVudCY+KCp0aGlzKSkpIHsK
ICAgICAgICAgYXV0byogc3R5bGUgPSBjb21wdXRlZFN0eWxlRm9yRWxlbWVudChlbGVtZW50KTsK
ICAgICAgICAgaWYgKCFzdHlsZSB8fCBzdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpO
b25lKQpAQCAtNDc0Nyw2ICs0NzU1LDEwMiBAQCBFbGVtZW50SWRlbnRpZmllciBFbGVtZW50Ojpj
cmVhdGVFbGVtZW50SWRlbnRpZmllcigpCiAgICAgcmV0dXJuIEVsZW1lbnRJZGVudGlmaWVyOjpn
ZW5lcmF0ZSgpOwogfQogCitDb250ZW50VmlzaWJpbGl0eURhdGEmIEVsZW1lbnQ6OmVuc3VyZUNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpCit7CisgICAgYXV0byYgcmFyZURhdGEgPSBlbnN1cmVFbGVt
ZW50UmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhLmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgp
KQorICAgICAgICByYXJlRGF0YS5zZXRDb250ZW50VmlzaWJpbGl0eURhdGEobWFrZVVuaXF1ZTxD
b250ZW50VmlzaWJpbGl0eURhdGE+KCkpOworICAgIHJldHVybiAqcmFyZURhdGEuY29udGVudFZp
c2liaWxpdHlEYXRhKCk7Cit9CisKK0NvbnRlbnRWaXNpYmlsaXR5RGF0YSogRWxlbWVudDo6Y29u
dGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/
IGVsZW1lbnRSYXJlRGF0YSgpLT5jb250ZW50VmlzaWJpbGl0eURhdGEoKSA6IG51bGxwdHI7Cit9
CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGJvb2wgc2hvdWxk
U2tpcCwgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkpCit7CisgICAgaWYgKGF1
dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKSkKKyAgICAgICAgc2hvdWxkU2tpcCB8PSBwYXJl
bnQtPmlzU2tpcHBlZENvbnRlbnQoKTsKKworICAgIGF1dG8mIGRhdGEgPSBlbnN1cmVDb250ZW50
VmlzaWJpbGl0eURhdGEoKTsKKyAgICBpZiAoaXM8SFRNTERpYWxvZ0VsZW1lbnQ+KCp0aGlzKSkK
KyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcCAmJiBjb250ZW50Vmlz
aWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOworICAgIGVsc2UKKyAgICAgICAg
ZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcDsKKworICAgIGlmIChSZW5kZXJFbGVt
ZW50KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCisgICAgICAgIHNob3VsZFNraXAgfD0g
cmVuZGVyZXItPnNob3VsZFNraXBDb250ZW50KCk7CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNo
aWxkcmVuT2ZUeXBlPEVsZW1lbnQ+KCp0aGlzKSkKKyAgICAgICAgY2hpbGQudXBkYXRlQ29udGVu
dFZpc2liaWxpdHlEYXRhKHNob3VsZFNraXAsIGNvbnRlbnRWaXNpYmlsaXR5KTsKK30KKworLy8g
RklYTUU6IHRoaXMgaXMgaW5jb21wbGV0ZSwgYW5kIG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQgd2l0
aCBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgY29tcHV0YXRpb25zIGluIERvY3VtZW50Lgorc3RhdGlj
IGJvb2wgY29tcHV0ZUludGVyc2VjdGlvbihjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRl
ckVsZW1lbnQqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVuZGVyZXIpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGRvY3VtZW50LnZpZXcoKTsKKyAgICBp
ZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZsb2F0UmVjdCBsb2NhbFJv
b3RCb3VuZHMgPSB2aWV3LT5sYXlvdXRWaWV3cG9ydFJlY3QoKTsKKyAgICBMYXlvdXRSZWN0IGxv
Y2FsVGFyZ2V0Qm91bmRzOworICAgIGlmIChpczxSZW5kZXJCb3g+KCpyZW5kZXJlcikpCisgICAg
ICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlciktPmJv
cmRlckJvdW5kaW5nQm94KCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPExheW91dFJlY3Q+IHJvb3RM
b2NhbFRhcmdldFJlY3Q7CisgICAgT3B0aW9uU2V0PFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RD
b250ZXh0T3B0aW9uPiB2aXNpYmxlUmVjdE9wdGlvbnMgPSB7IFJlbmRlck9iamVjdDo6VmlzaWJs
ZVJlY3RDb250ZXh0T3B0aW9uOjpVc2VFZGdlSW5jbHVzaXZlSW50ZXJzZWN0aW9uLCBSZW5kZXJP
YmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21wb3NpdGVkQ2xpcHMsIFJl
bmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBvc2l0ZWRDb250
YWluZXJTY3JvbGxzIH07CisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRSZWN0PiByZWN0SW5GcmFt
ZUFic29sdXRlU3BhY2UgPSByZW5kZXJlci0+Y29tcHV0ZVZpc2libGVSZWN0SW5Db250YWluZXIo
bG9jYWxUYXJnZXRCb3VuZHMsICZyZW5kZXJlci0+dmlldygpLCB7IGZhbHNlIC8qIGhhc1Bvc2l0
aW9uRml4ZWREZXNjZW5kYW50ICovLCBmYWxzZSAvKiBkaXJ0eVJlY3RJc0ZsaXBwZWQgKi8sIHZp
c2libGVSZWN0T3B0aW9ucyB9KTsKKyAgICBpZiAocmVjdEluRnJhbWVBYnNvbHV0ZVNwYWNlKQor
ICAgICAgICByb290TG9jYWxUYXJnZXRSZWN0ID0gcmVjdEluRnJhbWVBYnNvbHV0ZVNwYWNlOwor
ICAgIEZsb2F0UmVjdCByb290TG9jYWxJbnRlcnNlY3Rpb25SZWN0ID0gbG9jYWxSb290Qm91bmRz
OworICAgIHJldHVybiByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbEludGVyc2VjdGlv
blJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVjdCk7Cit9CisK
K2Jvb2wgRWxlbWVudDo6ZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9jdXMoKQoreworICAgIGZvciAo
YXV0byogZm9jdXNlZCA9IGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKTsgZm9jdXNlZDsgZm9j
dXNlZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAg
IGlmIChmb2N1c2VkID09IHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEVsZW1lbnQ6OnVwZGF0ZUNvbnRlbnRWaXNpYmls
aXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+LCBDb250ZW50VmlzaWJpbGl0eSBu
ZXdDb250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAobmV3Q29udGVudFZpc2liaWxpdHkgPT0g
Q29udGVudFZpc2liaWxpdHk6OkF1dG8pIHsKKyAgICAgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgICAgICBkYXRhLmlzSW50ZXJzZWN0aW5nVmlld3Bv
cnQgPSBjb21wdXRlSW50ZXJzZWN0aW9uKGRvY3VtZW50KCksIHJlbmRlcmVyKCkpOworICAgICAg
ICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBmYWxzZTsKKyAgICAgICAgZGF0YS5zdWJ0cmVlSGFz
Rm9jdXMgPSBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygpOworICAgICAgICBkb2N1bWVudCgp
LmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpLmFkZENvbnRlbnRWaXNpYmlsaXR5T2Jz
ZXJ2YXRpb24oKnRoaXMpOworICAgIH0KKyAgICB1cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEo
ZmFsc2UsIG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKK30KKworYm9vbCBFbGVtZW50Ojppc1NraXBw
ZWRDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkg
PyBjb250ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNTa2lwcGVkQ29udGVudCA6IGZhbHNlOworfQor
Citib29sIEVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAoIXJl
bmRlcmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAocmVuZGVyZXIoKS0+c3R5
bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAg
ICAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkgPyAhY29udGVudFZpc2liaWxpdHlE
YXRhKCktPmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgJiYgIWNvbnRlbnRWaXNpYmlsaXR5RGF0YSgp
LT5zdWJ0cmVlSGFzRm9jdXMgOiB0cnVlOworICAgIHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgp
LmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsKK30KKwor
dm9pZCBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGJvb2wgaXNJbnRl
cnNlY3RpbmcpCit7CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0
YSgpOworICAgIGRhdGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCA9IGlzSW50ZXJzZWN0aW5nOwor
ICAgIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShmYWxzZSwgQ29udGVudFZpc2liaWxpdHk6
OkF1dG8pOworfQorCiAjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKIAogU3R5bGVQcm9wZXJ0eU1h
cCogRWxlbWVudDo6YXR0cmlidXRlU3R5bGVNYXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNjIw
OWJlNjJhNzA0NjRmZWM3MzMzNDVlNjU1MzYzZGNjZmU5ZjU4OC4uZjQxMjAyZDdkODM2ZjUxMmZh
Zjg4MDlhYjhlZDhmNTBmMjZkNjRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC05MSw2ICs5MSwx
MiBAQCBzdHJ1Y3QgU2Nyb2xsSW50b1ZpZXdPcHRpb25zOwogc3RydWN0IFNjcm9sbFRvT3B0aW9u
czsKIHN0cnVjdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVjdCBTaGFk
b3dSb290SW5pdDsKK3N0cnVjdCBDb250ZW50VmlzaWJpbGl0eURhdGEgeworICAgIFdURl9NQUtF
X1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBib29sIGlzU2tpcHBlZENvbnRlbnQ7CisgICAg
Ym9vbCBpc0ludGVyc2VjdGluZ1ZpZXdwb3J0IHsgZmFsc2UgfTsKKyAgICBib29sIHN1YnRyZWVI
YXNGb2N1cyB7IGZhbHNlIH07Cit9OwogCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2
ZXI7CkBAIC02NjQsNiArNjcwLDEzIEBAIHB1YmxpYzoKICAgICBib29sIGhhc0R1cGxpY2F0ZUF0
dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzRHVwbGljYXRlQXR0cmlidXRlOyB9OwogICAg
IHZvaWQgc2V0SGFzRHVwbGljYXRlQXR0cmlidXRlKGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRl
KSB7IG1faGFzRHVwbGljYXRlQXR0cmlidXRlID0gaGFzRHVwbGljYXRlQXR0cmlidXRlOyB9Owog
CisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhJiBlbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEo
KTsKKyAgICBDb250ZW50VmlzaWJpbGl0eURhdGEqIGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNv
bnN0OworICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2liaWxpdHkoc3RkOjpvcHRpb25hbDxDb250
ZW50VmlzaWJpbGl0eT4gb2xkQ29udGVudFZpc2liaWxpdHksIENvbnRlbnRWaXNpYmlsaXR5IG5l
d0NvbnRlbnRWaXNpYmlsaXR5KTsKKyAgICB2b2lkIGNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRD
aGFuZ2UoYm9vbCk7CisgICAgYm9vbCBpc1NraXBwZWRDb250ZW50KCkgY29uc3Q7CisgICAgYm9v
bCBzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBDb25zdHJ1Y3Rpb25UeXBlKTsKIApAQCAt
Njg3LDYgKzcwMCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1h
cChSZWY8U3R5bGVQcm9wZXJ0eU1hcD4mJik7CiAjZW5kaWYKIAorICAgIHZvaWQgdXBkYXRlQ29u
dGVudFZpc2liaWxpdHlEYXRhKGJvb2wgc2hvdWxkU2tpcCwgQ29udGVudFZpc2liaWxpdHkpOwor
CisgICAgYm9vbCBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygpOworCiBwcml2YXRlOgogICAg
IEZyYW1lKiBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxWaWV3KCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXggODc3YTM0OWExNDM5M2NiOWRiZDZkNDM3
YTdiZDY2MTZlZjI3NTEwYS4uNWM4NmI4ZTQyZjFiNTQ4NjBhMDFhNjJmOTkzOTg5N2NhMjhhOGNl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKQEAgLTQzLDYgKzQzLDcg
QEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgOiBOb2RlUmFyZURhdGEgewogICAg
IHZvaWQqIHR5cGVkT01EYXRhOwogI2VuZGlmCiAgICAgdm9pZCogcmVzaXplT2JzZXJ2ZXJEYXRh
OworICAgIHZvaWQqIGNvbnRlbnRWaXNpYmlsaXR5RGF0YTsKIH07CiAKIHN0YXRpY19hc3NlcnQo
c2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9mKFNhbWVTaXplQXNFbGVtZW50UmFyZURh
dGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5IHNtYWxsIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMGVjNDg3ZmI4ZDFmMGZmOTJkYjE3Njk1MzE5YzA3ZGY0
ZTI3ZjZmYi4uOWYxMDlkMDM3ZTA4OWRkMGQyNTQzYjNhMmRmYTE0OTY1OGI1ZjVhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMTA2LDYgKzEwNiw5IEBAIHB1YmxpYzoK
ICAgICBjb25zdCBBdG9tU3RyaW5nJiBub25jZSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9uY2U7IH0K
ICAgICB2b2lkIHNldE5vbmNlKGNvbnN0IEF0b21TdHJpbmcmIHZhbHVlKSB7IG1fbm9uY2UgPSB2
YWx1ZTsgfQogCisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhKiBjb250ZW50VmlzaWJpbGl0eURh
dGEoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRWaXNpYmlsaXR5RGF0YS5nZXQoKTsgfQorICAg
IHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHlEYXRhKHN0ZDo6dW5pcXVlX3B0cjxDb250ZW50Vmlz
aWJpbGl0eURhdGE+JiYgZGF0YSkgeyBtX2NvbnRlbnRWaXNpYmlsaXR5RGF0YSA9IFdURk1vdmUo
ZGF0YSk7IH0KKwogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAgICAgU3R5bGVQcm9wZXJ0eU1h
cCogYXR0cmlidXRlU3R5bGVNYXAoKSB7IHJldHVybiBtX2F0dHJpYnV0ZVN0eWxlTWFwLmdldCgp
OyB9CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0eU1hcD4m
JiBtYXApIHsgbV9hdHRyaWJ1dGVTdHlsZU1hcCA9IFdURk1vdmUobWFwKTsgfQpAQCAtMTUxLDYg
KzE1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6UGFydE5h
bWVzKTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5
cGU6Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fQ29udGVudFZpc2liaWxpdHlEYXRhKQorICAgICAg
ICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpDb250ZW50VmlzaWJpbGl0eSk7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogI2VuZGlmCkBAIC0xODQsNiArMTg5LDggQEAgcHJpdmF0ZToK
IAogICAgIEF0b21TdHJpbmcgbV9ub25jZTsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250ZW50
VmlzaWJpbGl0eURhdGE+IG1fY29udGVudFZpc2liaWxpdHlEYXRhOworCiAgICAgdm9pZCByZWxl
YXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJh
cmVEYXRhLmgKaW5kZXggYzMzMWZiOGU1YTU1NzcxYzM5YTBiNjMwYjExMDllZjkzMzdiOWE4NS4u
Y2U1ODQ4NzI1NjZmZmM0NDcxNDg1MjhmNWY4M2JhZGI0MWM2YTg1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlUmFyZURhdGEuaApAQCAtMjY0LDYgKzI2NCw3IEBAIHB1YmxpYzoKICAgICAgICAgUGFydExp
c3QgPSAxIDw8IDE2LAogICAgICAgICBQYXJ0TmFtZXMgPSAxIDw8IDE3LAogICAgICAgICBOb25j
ZSA9IDEgPDwgMTgsCisgICAgICAgIENvbnRlbnRWaXNpYmlsaXR5PSAxIDw8IDE5LAogICAgIH07
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGNm
NzE0OTVmZjlkMjQ5ZTVhMzViYTVmYTRhZTIwOGU5YjBjNWVhZjkuLjQxNDJiNzQxMTljOTBlYWVm
NzU5ZWMwYzgwMGYyNzNkOGM0NmIxMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVy
YXRvci5jcHAKQEAgLTQ1Niw2ICs0NTYsMTYgQEAgdm9pZCBUZXh0SXRlcmF0b3I6OmFkdmFuY2Uo
KQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGF1dG8gaXNTa2lwcGVkQ29udGVu
dE9yVGV4dCA9IFsmXSgpIHsKKyAgICAgICAgaWYgKGlzPEVsZW1lbnQ+KG1fbm9kZSkpCisgICAg
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4obV9ub2RlKS0+aXNTa2lwcGVkQ29udGVu
dCgpOworICAgICAgICAKKyAgICAgICAgaWYgKG1fbm9kZS0+aXNUZXh0Tm9kZSgpKQorICAgICAg
ICAgICAgcmV0dXJuIG1fbm9kZS0+cGFyZW50RWxlbWVudCgpID8gbV9ub2RlLT5wYXJlbnRFbGVt
ZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKTogZmFsc2U7CisKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH07CisKICAgICB3aGlsZSAobV9ub2RlICYmIG1fbm9kZSAhPSBtX3Bhc3RFbmROb2Rl
KSB7CiAgICAgICAgIC8vIGlmIHRoZSByYW5nZSBlbmRzIGF0IG9mZnNldCAwIG9mIGFuIGVsZW1l
bnQsIHJlcHJlc2VudCB0aGUKICAgICAgICAgLy8gcG9zaXRpb24sIGJ1dCBub3QgdGhlIGNvbnRl
bnQsIG9mIHRoYXQgZWxlbWVudCBlLmcuIGlmIHRoZQpAQCAtNDcyLDcgKzQ4Miw5IEBAIHZvaWQg
VGV4dEl0ZXJhdG9yOjphZHZhbmNlKCkKICAgICAgICAgICAgIGlmICghcmVuZGVyZXIpIHsKICAg
ICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBtX2hh
bmRsZWRDaGlsZHJlbiA9ICFoYXNEaXNwbGF5Q29udGVudHMoKm1fbm9kZSk7Ci0gICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxFbGVtZW50PihtX25vZGUpICYm
IGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPnNob3VsZFNraXBDb250ZW50KCkpIHsKKyAgICAg
ICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9IHRydWU7CisgICAgICAgICAgICB9IGVsc2Ug
aWYgKCFpc1NraXBwZWRDb250ZW50T3JUZXh0KCkpIHsKICAgICAgICAgICAgICAgICAvLyBoYW5k
bGUgY3VycmVudCBub2RlIGFjY29yZGluZyB0byBpdHMgdHlwZQogICAgICAgICAgICAgICAgIGlm
IChyZW5kZXJlci0+aXNUZXh0KCkgJiYgbV9ub2RlLT5pc1RleHROb2RlKCkpCiAgICAgICAgICAg
ICAgICAgICAgIG1faGFuZGxlZE5vZGUgPSBoYW5kbGVUZXh0Tm9kZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggNzk4ZmU4NmJjNGYzMjAyNjcxY2QyZDcx
NDY2MDAwYjZlYmFiYjZiZi4uNDViNGQwMjA4OWQxMDI4ODVkNDEzNjFjYjMwNmI1NDg4YjkzN2Zh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCkBAIC00ODUsOSAr
NDg1LDkgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6d2lkdGgoYm9vbCBpZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHMpCiAgICAgfQogCiAgICAgaWYgKGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cykKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKKyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3Vt
ZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBlbHNlCi0gICAgICAgIGRvY3VtZW50KCkudXBk
YXRlTGF5b3V0KCk7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpG
b3JjZUxheW91dDo6WWVzKTsKIAogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAg
ICAgaWYgKCFib3gpCkBAIC00OTgsNiArNDk4LDExIEBAIHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1l
bnQ6OndpZHRoKGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogCiB1bnNpZ25lZCBIVE1M
SW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCiB7Cisg
ICAgaWYgKGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKKyAgICAgICAgZG9jdW1lbnQoKS51cGRh
dGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRU
YXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKKyAgICBl
bHNlCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91
dDo6WWVzKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkgewogICAgICAgICAvLyBjaGVjayB0aGUg
YXR0cmlidXRlIGZpcnN0IGZvciBhbiBleHBsaWNpdCBwaXhlbCB2YWx1ZQogICAgICAgICBhdXRv
IG9wdGlvbmFsSGVpZ2h0ID0gcGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKGF0dHJpYnV0ZVdp
dGhvdXRTeW5jaHJvbml6YXRpb24oaGVpZ2h0QXR0cikpOwpAQCAtNTA5LDExICs1MTQsNiBAQCB1
bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMpCiAgICAgICAgICAgICByZXR1cm4gbV9pbWFnZUxvYWRlci0+aW1hZ2UoKS0+aW1hZ2VT
aXplRm9yUmVuZGVyZXIocmVuZGVyZXIoKSwgMS4wZikuaGVpZ2h0KCkudG9VbnNpZ25lZCgpOwog
ICAgIH0KIAotICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCi0gICAgICAgIGRvY3Vt
ZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgZWxzZQot
ICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOwotCiAgICAgUmVuZGVyQm94KiBib3gg
PSByZW5kZXJCb3goKTsKICAgICBpZiAoIWJveCkKICAgICAgICAgcmV0dXJuIDA7CkBAIC02MjEs
NyArNjIxLDcgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpzZXRXaWR0aCh1bnNpZ25lZCB2YWx1
ZSkKIAogaW50IEhUTUxJbWFnZUVsZW1lbnQ6OngoKSBjb25zdAogewotICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlv
dXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAg
ICBhdXRvIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyKQog
ICAgICAgICByZXR1cm4gMDsKQEAgLTYzMiw3ICs2MzIsNyBAQCBpbnQgSFRNTEltYWdlRWxlbWVu
dDo6eCgpIGNvbnN0CiAKIGludCBIVE1MSW1hZ2VFbGVtZW50Ojp5KCkgY29uc3QKIHsKLSAgICBk
b2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpS
dW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6
Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFy
ZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ltYWdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwCmluZGV4IDFjODA2Yjc5OTAwYWJjYTk2YzFlZTQzNzNiOTUxYWEwZDQwZDRkZDIuLjNm
ZjA4N2FiNjA4YzdlZTUzODlmMGRlZjEyYWExMmZlMWJhOWQ3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNzcsNyArMTc3LDcgQEAgdW5zaWduZWQgSW1hZ2VJ
bnB1dFR5cGU6OmhlaWdodCgpIGNvbnN0CiAgICAgQVNTRVJUKGVsZW1lbnQoKSk7CiAgICAgUmVm
PEhUTUxJbnB1dEVsZW1lbnQ+IGVsZW1lbnQoKnRoaXMtPmVsZW1lbnQoKSk7CiAKLSAgICBlbGVt
ZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOworICAgIGVsZW1lbnQtPmRvY3VtZW50KCku
dXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAogICAgIGlmIChhdXRv
KiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiBhZGp1c3RG
b3JBYnNvbHV0ZVpvb20oZG93bmNhc3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpLmNvbnRlbnRIZWln
aHQoKSwgKnJlbmRlcmVyKTsKQEAgLTE5OSw3ICsxOTksNyBAQCB1bnNpZ25lZCBJbWFnZUlucHV0
VHlwZTo6d2lkdGgoKSBjb25zdAogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIFJlZjxIVE1M
SW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVtZW50KCkpOwogCi0gICAgZWxlbWVudC0+
ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0
ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBpZiAoYXV0byogcmVu
ZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJz
b2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRlcmVyKS5jb250ZW50V2lkdGgoKSwg
KnJlbmRlcmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5
b3V0Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmgKaW5kZXggNmY5ZWIxZTA5MzgyNGU2YjFiMGY5YTU3YTc1MjUzYTMyNGZlZTFmYS4uZGRjNmYw
MzBmMzEyYzhiMDg1OGNhNjRlYWQ5ZTUxNmE2MzI0ZjM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKQEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgog
ICAgIGJvb2wgaXNJbkxheW91dCgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5
b3V0UGhhc2U6Ok91dHNpZGVMYXlvdXQ7IH0KICAgICBib29sIGlzSW5SZW5kZXJUcmVlTGF5b3V0
KCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSA9PSBMYXlvdXRQaGFzZTo6SW5SZW5kZXJU
cmVlTGF5b3V0OyB9CiAgICAgYm9vbCBpblBhaW50YWJsZVN0YXRlKCkgY29uc3QgeyByZXR1cm4g
bGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQaGFzZTo6SW5SZW5kZXJUcmVlTGF5b3V0ICYmIGxheW91
dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluVmlld1NpemVBZGp1c3QgJiYgKGxheW91dFBoYXNl
KCkgIT0gTGF5b3V0UGhhc2U6OkluUG9zdExheW91dCB8fCBpbkFzeW5jaHJvbm91c1Rhc2tzKCkp
OyB9CisgICAgYm9vbCBpc0xheW91dEZvcmNlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Rm9y
Y2VkOyB9CisgICAgdm9pZCBzZXRMYXlvdXRGb3JjZWQoYm9vbCBmKSB7IG1fbGF5b3V0Rm9yY2Vk
ID0gZjsgfQogCiAgICAgdW5zaWduZWQgbGF5b3V0Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2xh
eW91dENvdW50OyB9CiAKQEAgLTE3OSw2ICsxODEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9u
ZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pbkFzeW5jaHJvbm91c1Rhc2tz
IHsgZmFsc2UgfTsKICAgICBib29sIG1fc2V0TmVlZHNMYXlvdXRXYXNEZWZlcnJlZCB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2xheW91dEZvcmNlZCB7IGZhbHNlIH07CiAgICAgTGF5b3V0UGhhc2Ug
bV9sYXlvdXRQaGFzZSB7IExheW91dFBoYXNlOjpPdXRzaWRlTGF5b3V0IH07CiAgICAgZW51bSBj
bGFzcyBMYXlvdXROZXN0ZWRTdGF0ZSA6IHVpbnQ4X3QgIHsgTm90SW5MYXlvdXQsIE5vdE5lc3Rl
ZCwgTmVzdGVkIH07CiAgICAgTGF5b3V0TmVzdGVkU3RhdGUgbV9sYXlvdXROZXN0ZWRTdGF0ZSB7
IExheW91dE5lc3RlZFN0YXRlOjpOb3RJbkxheW91dCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKaW5kZXggYjVhMjM3ZTgxNDJlZDdi
MjM3YWI0NDUzZGViNjVlMzNiZjRjNzYxOC4uZGVmNjEzNDM3NmIzNjJlMzgzZmZiY2ZjYjk3NTVj
NWZhNDIyYzZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9i
c2VydmVyRW50cnkuY3BwCkBAIC00MSw2ICs0MSw4IEBAIEludGVyc2VjdGlvbk9ic2VydmVyRW50
cnk6OkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkoY29uc3QgSW5pdCYgaW5pdCkKIHsKICAgICBp
ZiAoaW5pdC5yb290Qm91bmRzKQogICAgICAgICBtX3Jvb3RCb3VuZHMgPSBET01SZWN0UmVhZE9u
bHk6OmZyb21SZWN0KCppbml0LnJvb3RCb3VuZHMpOworICAgIGlmIChtX3RhcmdldCAmJiBtX3Rh
cmdldC0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICBtX2lzSW50ZXJzZWN0aW5nID0gZmFs
c2U7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNp
emVPYnNlcnZhdGlvbi5jcHAKaW5kZXggZWJjYTdlMzNiZDE3YTA2NTJkZGVhMDhjZDRlNWJhYWRj
ZjZjOWVhZi4uNzJhZWI4OGI2NDA4ZWFiNGJkNGE0OWYyZjZkZjViMmVlNDZiMzNhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHAKQEAgLTUxLDE3ICs1MSwxNyBA
QCB2b2lkIFJlc2l6ZU9ic2VydmF0aW9uOjp1cGRhdGVPYnNlcnZhdGlvblNpemUoY29uc3QgQm94
U2l6ZXMmIGJveFNpemVzKQogICAgIG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMgPSBib3hTaXplczsK
IH0KIAotYXV0byBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25z
dCAtPiBCb3hTaXplcworc3RkOjpvcHRpb25hbDxSZXNpemVPYnNlcnZhdGlvbjo6Qm94U2l6ZXM+
IFJlc2l6ZU9ic2VydmF0aW9uOjpjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0CiB7CiAgICAg
aWYgKG1fdGFyZ2V0LT5pc1NWR0VsZW1lbnQoKSkgewogICAgICAgICBpZiAoYXV0byBzdmdSZWN0
ID0gZG93bmNhc3Q8U1ZHRWxlbWVudD4oKm1fdGFyZ2V0KS5nZXRCb3VuZGluZ0JveCgpKSB7CiAg
ICAgICAgICAgICBhdXRvIHNpemUgPSBMYXlvdXRTaXplKHN2Z1JlY3QtPndpZHRoKCksIHN2Z1Jl
Y3QtPmhlaWdodCgpKTsKLSAgICAgICAgICAgIHJldHVybiB7IHNpemUsIHNpemUsIHNpemUgfTsK
KyAgICAgICAgICAgIHJldHVybiBCb3hTaXplcyB7IHNpemUsIHNpemUsIHNpemUgfTsKICAgICAg
ICAgfQogICAgIH0KICAgICBhdXRvKiBib3ggPSBtX3RhcmdldC0+cmVuZGVyQm94KCk7Ci0gICAg
aWYgKGJveCkgewotICAgICAgICByZXR1cm4geworICAgIGlmIChib3ggJiYgIW1fdGFyZ2V0LT5p
c1NraXBwZWRDb250ZW50KCkvKmJveCAmJiAhYm94LT5pc1NraXBwZWRDb250ZW50KCkqLykgewor
ICAgICAgICByZXR1cm4gQm94U2l6ZXMgewogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6ZUZv
ckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRTaXplKCksICpib3gpLAogICAgICAgICAgICAgYWRq
dXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRMb2dpY2FsU2l6ZSgpLCAq
Ym94KSwKICAgICAgICAgICAgIGFkanVzdExheW91dFNpemVGb3JBYnNvbHV0ZVpvb20oYm94LT5i
b3JkZXJCb3hMb2dpY2FsU2l6ZSgpLCAqYm94KQpAQCAtMTA0LDE1ICsxMDQsMTcgQEAgRmxvYXRT
aXplIFJlc2l6ZU9ic2VydmF0aW9uOjpzbmFwcGVkQ29udGVudEJveFNpemUoKSBjb25zdAogc3Rk
OjpvcHRpb25hbDxSZXNpemVPYnNlcnZhdGlvbjo6Qm94U2l6ZXM+IFJlc2l6ZU9ic2VydmF0aW9u
OjplbGVtZW50U2l6ZUNoYW5nZWQoKSBjb25zdAogewogICAgIGF1dG8gY3VycmVudFNpemVzID0g
Y29tcHV0ZU9ic2VydmVkU2l6ZXMoKTsKKyAgICBpZiAoIWN1cnJlbnRTaXplcykKKyAgICAgICAg
cmV0dXJuIGN1cnJlbnRTaXplczsKIAogICAgIHN3aXRjaCAobV9vYnNlcnZlZEJveCkgewogICAg
IGNhc2UgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zOjpCb3JkZXJCb3g6Ci0gICAgICAgIGlmICht
X2xhc3RPYnNlcnZhdGlvblNpemVzLmJvcmRlckJveExvZ2ljYWxTaXplICE9IGN1cnJlbnRTaXpl
cy5ib3JkZXJCb3hMb2dpY2FsU2l6ZSkKLSAgICAgICAgICAgIHJldHVybiBjdXJyZW50U2l6ZXM7
CisgICAgICAgIGlmIChtX2xhc3RPYnNlcnZhdGlvblNpemVzLmJvcmRlckJveExvZ2ljYWxTaXpl
ICE9IGN1cnJlbnRTaXplcy0+Ym9yZGVyQm94TG9naWNhbFNpemUpCisgICAgICAgICAgICByZXR1
cm4gKmN1cnJlbnRTaXplczsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZXNpemVPYnNlcnZl
ckJveE9wdGlvbnM6OkNvbnRlbnRCb3g6Ci0gICAgICAgIGlmIChtX2xhc3RPYnNlcnZhdGlvblNp
emVzLmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMuY29udGVudEJveExvZ2lj
YWxTaXplKQotICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRTaXplczsKKyAgICAgICAgaWYgKG1f
bGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVudEJveExvZ2ljYWxTaXplICE9IGN1cnJlbnRTaXpl
cy0+Y29udGVudEJveExvZ2ljYWxTaXplKQorICAgICAgICAgICAgcmV0dXJuICpjdXJyZW50U2l6
ZXM7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNl
cnZhdGlvbi5oCmluZGV4IDY4YjFjMmE5NzRlNjUzMTI1ZTkyOGZkNDg4MjEwZjVjMmRmMGQ3MTMu
LjgwNTU0ZmMwOGRmZjBlZjFjOWFkZTU3ODZjZTgxNWE1ZTJmMTg4ZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBSZXNpemVPYnNlcnZhdGlvbihFbGVtZW50JiwgUmVzaXplT2JzZXJ2ZXJCb3hP
cHRpb25zKTsKIAotICAgIEJveFNpemVzIGNvbXB1dGVPYnNlcnZlZFNpemVzKCkgY29uc3Q7Cisg
ICAgc3RkOjpvcHRpb25hbDxCb3hTaXplcz4gY29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25zdDsK
ICAgICBMYXlvdXRQb2ludCBjb21wdXRlVGFyZ2V0TG9jYXRpb24oKSBjb25zdDsKIAogICAgIFdl
YWtQdHI8RWxlbWVudD4gbV90YXJnZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAppbmRleCAzMmI0NjNjYTA1ZTk4N2QyNmQzN2YwY2RmNmI2NjQ3M2Y3NjM5ODZhLi4x
OTY0NjZhZjBlYmIzZTg3ZTkyMWE2M2U0ODFkZWQxMTE3ZTM0NjhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTY0OCw2ICs2NDgsOCBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRCbG9jayhib29sLCBMYXlvdXRVbml0KQogCiB2b2lkIFJlbmRlckJsb2Nr
OjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpCiB7CisgICAgaWYgKHNob3VsZFNraXBDb250ZW50
KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQo
KSkKKyAgICAgICAgcmV0dXJuOwogICAgIGlmIChjaGlsZHJlbklubGluZSgpKQogICAgICAgICBh
ZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOwogICAgIGVsc2UKQEAgLTczOSw2ICs3NDEs
OCBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCkKIAog
dm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25lZE9iamVjdHMoKQogewor
ICAgIGlmIChzaG91bGRTa2lwQ29udGVudCgpICYmICF2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0
Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpCisgICAgICAgIHJldHVybjsKICAgICBUcmFja2Vk
UmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERlc2NlbmRhbnRzID0gcG9zaXRpb25lZE9i
amVjdHMoKTsKICAgICBpZiAoIXBvc2l0aW9uZWREZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJu
OwpAQCAtMTA2NywxMCArMTA3MSwxMyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlv
bmVkT2JqZWN0KFJlbmRlckJveCYgciwgYm9vbCByZWxheW91dENoaWxkcmVuLCBibwogCiB2b2lk
IFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhib29sIHJlbGF5b3V0Q2hpbGRy
ZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5KQogeworICAgIGlmIChzaG91bGRTa2lw
Q29udGVudCgpICYmICF2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0
Rm9yY2VkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNo
U2V0KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAgIGlm
ICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICAv
LyBEbyBub3QgY2FjaGUgcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKSBpbiBhIGxvY2FsIHZh
cmlhYmxlLCBzaW5jZSB8cG9zaXRpb25lZERlc2NlbmRhbnRzfCBjYW4gYmUgbXV0YXRlZAogICAg
IC8vIGFzIGl0IGlzIHdhbGtlZC4gV2UgYWx3YXlzIG5lZWQgdG8gZmV0Y2ggdGhlIG5ldyBlbmQo
KSB2YWx1ZSBkeW5hbWljYWxseS4KICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMtPmJlZ2luKCk7IGl0ICE9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7ICsraXQp
CkBAIC0xMTMzLDcgKzExNDAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludENvbnRlbnRzKFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZgogICAgIC8vIFN0
eWxlIGlzIG5vbi1maW5hbCBpZiB0aGUgZWxlbWVudCBoYXMgYSBwZW5kaW5nIHN0eWxlc2hlZXQg
YmVmb3JlIGl0LiBXZSBlbmQgdXAgd2l0aCByZW5kZXJlcnMgd2l0aCBzdWNoIHN0eWxlcyBpZiBh
IHNjcmlwdAogICAgIC8vIGZvcmNlcyByZW5kZXJlciBjb25zdHJ1Y3Rpb24gYnkgcXVlcnlpbmcg
c29tZXRoaW5nIGxheW91dCBkZXBlbmRlbnQuCiAgICAgLy8gQXZvaWQgRk9VQyBieSBub3QgcGFp
bnRpbmcuIFN3aXRjaGluZyB0byBmaW5hbCBzdHlsZSB0cmlnZ2VycyByZXBhaW50LgotICAgIGlm
IChzdHlsZSgpLmlzTm90RmluYWwoKSkKKyAgICBpZiAoc3R5bGUoKS5pc05vdEZpbmFsKCkgfHwg
c2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNoaWxkcmVu
SW5saW5lKCkpCkBAIC0xMjM2LDYgKzEyNDMsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludE9i
amVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmcwog
ewogICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9IHBhaW50SW5mby5waGFzZTsKIAorICAgIGlm
IChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJl
dHVybjsKKwogICAgIC8vIDEuIHBhaW50IGJhY2tncm91bmQsIGJvcmRlcnMgZXRjCiAgICAgaWYg
KChwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkJsb2NrQmFja2dyb3VuZCB8fCBwYWludFBoYXNl
ID09IFBhaW50UGhhc2U6OkNoaWxkQmxvY2tCYWNrZ3JvdW5kKSAmJiBzdHlsZSgpLnZpc2liaWxp
dHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKSB7CiAgICAgICAgIGlmIChoYXNWaXNpYmxlQm94
RGVjb3JhdGlvbnMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAKaW5kZXggOTA3NGY1N2MwMmZmZTM1NjNhNGFjYTE0ZDA3MWIyYzY2OGM5MGI4NS4uNTFi
YWY5N2I5YmFjMjNiNTcwNTY1YTEwNjVlNzUzYmNmYmFmNTBjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTUyNywxMCArNTI3LDE0IEBAIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExh
eW91dFVuaXQgcGFnZUxvZ2ljYWxICiAgICAgICAgIGlmICghZmlyc3RDaGlsZCgpICYmICFpc0Fu
b255bW91c0Jsb2NrKCkpCiAgICAgICAgICAgICBzZXRDaGlsZHJlbklubGluZSh0cnVlKTsKICAg
ICAgICAgZGlydHlGb3JMYXlvdXRGcm9tUGVyY2VudGFnZUhlaWdodERlc2NlbmRhbnRzKCk7Ci0g
ICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQotICAgICAgICAgICAgbGF5b3V0SW5saW5lQ2hp
bGRyZW4ocmVsYXlvdXRDaGlsZHJlbiwgcmVwYWludExvZ2ljYWxUb3AsIHJlcGFpbnRMb2dpY2Fs
Qm90dG9tKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbGF5b3V0QmxvY2tDaGlsZHJlbihy
ZWxheW91dENoaWxkcmVuLCBtYXhGbG9hdExvZ2ljYWxCb3R0b20pOworICAgICAgICBpZiAoIXNo
b3VsZFNraXBDb250ZW50KCkgfHwgdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5p
c0xheW91dEZvcmNlZCgpKSB7CisgICAgICAgICAgICBpZiAodmlldygpLmZyYW1lVmlldygpLmxh
eW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpICYmICgoZWxlbWVudCgpICYmIGVsZW1lbnQo
KS0+aXNTa2lwcGVkQ29udGVudCgpKSB8fCBzaG91bGRTa2lwQ29udGVudCgpKSkKKyAgICAgICAg
ICAgICAgICByZWxheW91dENoaWxkcmVuID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChjaGlsZHJl
bklubGluZSgpKQorICAgICAgICAgICAgICAgIGxheW91dElubGluZUNoaWxkcmVuKHJlbGF5b3V0
Q2hpbGRyZW4sIHJlcGFpbnRMb2dpY2FsVG9wLCByZXBhaW50TG9naWNhbEJvdHRvbSk7CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbGF5b3V0QmxvY2tDaGlsZHJlbihyZWxheW91
dENoaWxkcmVuLCBtYXhGbG9hdExvZ2ljYWxCb3R0b20pOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgLy8gRXhwYW5kIG91ciBpbnRyaW5zaWMgaGVpZ2h0IHRvIGVuY29tcGFzcyBmbG9hdHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApp
bmRleCBiN2M2MDE2YmQ0YTkwM2JiMTMwMThiNzQzN2UwNDY0MzcwZjRjNzYzLi40YWQyNTlhZWJj
NGM3NmViZWUxMThkYWEzZmY1YWY5OThjNDM2ODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTIxMiw2ICsyMTIsNyBAQCB2
b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIGlmIChzdHls
ZVRvVXNlLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5mcmFt
ZVZpZXcoKS5zZXRIYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CiAgICAgc2V0UGFpbnRD
b250YWlubWVudEFwcGxpZXMoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7Cisg
ICAgc2V0TGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCghaXNJbmxpbmUoKSB8fCBpc0F0b21pY0lu
bGluZUxldmVsQm94KCkpICYmICFpc1J1YnlUZXh0KCkgJiYgKCFpc1RhYmxlUGFydCgpIHx8IGlz
UmVuZGVyQmxvY2tGbG93KCkpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUlu
Rmxvd1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDRlNzU5ZDdmMjUwYWY5OGE0
ODA2NGU0NjY3NzczZTc2ODM1ZmI5YTEuLjlkZmNhNzc2ZTc0NzQzNmVlMzAxZWMwNzA5ZjBiZmI1
ZWYzM2UwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAK
QEAgLTI0MzcsNCArMjQzNywxMSBAQCBPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVP
dmVyZmxvd1koKSBjb25zdAogICAgIHJldHVybiBvdmVyZmxvd1k7CiB9CiAKK2Jvb2wgUmVuZGVy
RWxlbWVudDo6c2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghbGF5b3V0Q29u
dGFpbm1lbnRBcHBsaWVzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZWxl
bWVudCgpICYmIGVsZW1lbnQoKS0+c2hvdWxkU2tpcENvbnRlbnQoKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggZjM3NmNlY2I5NzVjYTcxOWZk
ZjY3NmU1YWMwZmI5NWQ4ZTJlZDIyMC4uYjExM2ZmY2NkYTI1ODg0MzYwODVhMmQ2YTAyMmM2ZTBl
ZGNiM2YyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0x
NjUsNiArMTY1LDkgQEAgcHVibGljOgogICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkg
IT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAg
ICAgICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmICgoIWhpdFRlc3RSZXF1ZXN0IHx8
ICFoaXRUZXN0UmVxdWVzdC0+aWdub3JlQ1NTUG9pbnRlckV2ZW50c1Byb3BlcnR5KCkpICYmIHN0
eWxlKCkucG9pbnRlckV2ZW50cygpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTI3NCw2ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAgT3ZlcmZs
b3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHls
ZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6IGVm
ZmVjdGl2ZU92ZXJmbG93WSgpOyB9CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dCbG9j
a0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0KIAor
ICAgIGJvb2wgc2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIGVu
dW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcgID0g
MSA8PCAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGlu
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRleCBl
MmI0YjA5ZjU3ZGViM2E0NTk4ZjNiZDBjZTY3MzRiMDk3NWIxYzUyLi4yMmJlNTM3N2FlZGU5ZDM2
YTE2MWY0OGM3YzAzZjZhOThhNTcwMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmNwcApAQCAtMjI4LDYgKzIyOCw4IEBAIGJvb2wgUmVuZGVySW5saW5lOjptYXlB
ZmZlY3RMYXlvdXQoKSBjb25zdAogCiB2b2lkIFJlbmRlcklubGluZTo6cGFpbnQoUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKKyAgICBpZiAo
c2hvdWxkU2tpcENvbnRlbnQoKSB8fCAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVk
Q29udGVudCgpKSkKKyAgICAgICAgcmV0dXJuOwogICAgIG1fbGluZUJveGVzLnBhaW50KHRoaXMs
IHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAppbmRleCBmZmFkZDAxZGY0ZDBjYjVjNTFhOWIyMTU4YTMyOThjZjA1NGJk
MDEzLi5mMmU3MGYyMzJjMzkxYzlkNDA1YmEyZTFlNGYxMjI5Y2E4NjljMTBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTMwMzYsNiArMzAzNiw5IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBwYWludEZvckZpeGVkUm9vdEJhY2tncm91bmQoY29uc3QgUmVuZGVy
TGF5ZXIqIGxheWVyLCBPcHRpb25TCiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgcGFpbnRpbmdJ
bmZvLCBPcHRpb25TZXQ8UGFpbnRMYXllckZsYWc+IHBhaW50RmxhZ3MpCiB7CisgICAgaWYgKHJl
bmRlcmVyKCkuZWxlbWVudCgpICYmIHJlbmRlcmVyKCkuZWxlbWVudCgpLT5pc1NraXBwZWRDb250
ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gc2hvdWxkQ29udGludWVQYWludCA9
IFsmXSAoKSB7CiAgICAgICAgIHJldHVybiBiYWNraW5nKCktPnBhaW50c0ludG9XaW5kb3coKQog
ICAgICAgICAgICAgfHwgYmFja2luZygpLT5wYWludHNJbnRvQ29tcG9zaXRlZEFuY2VzdG9yKCkK
QEAgLTMzMDgsNiArMzMxMSw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50
cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiB7CiAgICAgQVNT
RVJUKGlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRh
bnQoKSk7CiAKKyAgICAvLyBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIoKS5l
bGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAvLyAgICAgcmV0dXJuOworCiAgICAg
aWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgJiYgY29udGV4dC5jb250ZW5m
dWxQYWludERldGVjdGVkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMzU1Nyw3ICszNTYzLDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMaXN0KExheWVyTGlzdCBsYXllckl0ZXJhdG9yLCBH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGMKICAgICBpZiAobGF5ZXJJdGVyYXRvci5iZWdpbigp
ID09IGxheWVySXRlcmF0b3IuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghaGFz
U2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCisgICAgaWYgKCFoYXNTZWxmUGFpbnRpbmdM
YXllckRlc2NlbmRhbnQoKSB8fCByZW5kZXJlcigpLnNob3VsZFNraXBDb250ZW50KCkpCiAgICAg
ICAgIHJldHVybjsKIAogI2lmIEFTU0VSVF9FTkFCTEVECkBAIC00MDM3LDYgKzQwNDMsOCBAQCBW
ZWN0b3I8UmVuZGVyTGF5ZXIqPiBSZW5kZXJMYXllcjo6dG9wTGF5ZXJSZW5kZXJMYXllcnMoUmVu
ZGVyVmlldyYgcmVuZGVyVmlldykKICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBsYXllcnM7CiAg
ICAgYXV0byB0b3BMYXllckVsZW1lbnRzID0gcmVuZGVyVmlldy5kb2N1bWVudCgpLnRvcExheWVy
RWxlbWVudHMoKTsKICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiB0b3BMYXllckVsZW1lbnRzKSB7
CisgICAgICAgIGlmIChlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpOwog
ICAgICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CkBAIC00NDU0LDYg
KzQ0NjIsOSBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMaXN0KExheWVyTGlz
dCBsYXllckl0ZXJhdG9yLCBSZW5kZXJMYXllciogcm9vdAogICAgIGlmICghaGFzU2VsZlBhaW50
aW5nTGF5ZXJEZXNjZW5kYW50KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgaWYg
KHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKICAgICBSZW5kZXJMYXllciogcmVzdWx0TGF5ZXIgPSBudWxscHRyOwogCiAgICAgZm9yIChh
dXRvIGl0ZXIgPSBsYXllckl0ZXJhdG9yLnJiZWdpbigpOyBpdGVyICE9IGxheWVySXRlcmF0b3Iu
cmVuZCgpOyArK2l0ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKaW5kZXggOWFmNWZiMDVkMTM2MWJiZTMwMWJmYTgyNmMyMjM5ZmM1MWM3
ODExYi4uNzY5OTI2OThmMDNlZDM0OWFlM2U3MzdmNjY0Y2MxNTQ0NzY2MmE2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTE2MDUs
NyArMTYwNSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVBZnRlckRlc2NlbmRh
bnRzKCkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZSghbV9oYXNT
dWJwaXhlbFJvdW5kaW5nICYmIG1fb3duaW5nTGF5ZXIuYmFja2dyb3VuZElzS25vd25Ub0JlT3Bh
cXVlSW5SZWN0KGNvbXBvc2l0ZWRCb3VuZHMoKSkpOwogICAgIH0KIAotICAgIG1fZ3JhcGhpY3NM
YXllci0+c2V0Q29udGVudHNWaXNpYmxlKG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNvbnRlbnQo
KSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpOworICAgIGJvb2wgaXNT
a2lwcGVkQ29udGVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpID8gcmVuZGVyZXIoKS5lbGVtZW50
KCktPmlzU2tpcHBlZENvbnRlbnQoKSA6IGZhbHNlOworICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0
Q29udGVudHNWaXNpYmxlKCFpc1NraXBwZWRDb250ZW50ICYmIChtX293bmluZ0xheWVyLmhhc1Zp
c2libGVDb250ZW50KCkgfHwgaGFzVmlzaWJsZU5vbkNvbXBvc2l0ZWREZXNjZW5kYW50cygpKSk7
CiAgICAgaWYgKG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXIpIHsKICAgICAgICAgbV9zY3JvbGxDb250
YWluZXJMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKHJlbmRlcmVyKCkuc3R5bGUoKS52aXNpYmls
aXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAppbmRleCA4ZDk5MGYxZDUzMWJl
NjNmMmIyNWQwNjE0NWZiMTMxYzQxMDA3MjZjLi5mMGYxOGUxMTg3NmJmNzkwNTJkNDEzNjc0YjQx
ZGMyMTkyNzhmYjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyTW9kZWxPYmplY3QuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oIgogCisjaW5jbHVkZSAiRG9j
dW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBv
c2l0b3IuaCIKQEAgLTExNCw2ICsxMTUsMTIgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3QKICAg
ICBSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAgdXBk
YXRlRnJvbVN0eWxlKCk7CiAKKyAgICBpZiAoZWxlbWVudCgpICYmICgob2xkU3R5bGUgJiYgb2xk
U3R5bGUtPmNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgp
KSB8fCAoIW9sZFN0eWxlICYmIHN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSAhPSBDb250ZW50
VmlzaWJpbGl0eTo6VmlzaWJsZSkpKSB7CisgICAgICAgIGVsZW1lbnQoKS0+dXBkYXRlQ29udGVu
dFZpc2liaWxpdHkob2xkU3R5bGUgPyBzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmlsaXR5Pihv
bGRTdHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSkgOiBzdGQ6Om51bGxvcHQsIHN0eWxlKCkuY29u
dGVudFZpc2liaWxpdHkoKSk7CisgICAgICAgIGlmIChzdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5
KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAgICBkb2N1bWVudCgp
LnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKCk7CisgICAgfQorCiAgICAgaWYgKHJlcXVp
cmVzTGF5ZXIoKSkgewogICAgICAgICBpZiAoIWxheWVyKCkgJiYgbGF5ZXJDcmVhdGlvbkFsbG93
ZWRGb3JTdWJ0cmVlKCkpIHsKICAgICAgICAgICAgIGlmIChzX3dhc0Zsb2F0aW5nICYmIGlzRmxv
YXRpbmcoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXgg
YjRiNjcxMDJkZmU3NGRmNWVhYjE1YzIwZmU0ZWRjNTYxNTJhYzNmMy4uZDUyMDFkNzM4MjAxZTNi
ZjJkNGVjZmQxNzZjNjljMDNjYjE0ZDI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAKQEAgLTQ1NCw2ICs0NTQsOSBAQCBib29sIFJlbmRlck9iamVjdDo6c2Ny
b2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5z
aQogICAgIGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9O
b3RSZXZlYWwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChpczxFbGVtZW50Pihu
b2RlKCkpICYmIGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKCkpLmlzU2tpcHBlZENvbnRlbnQoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgUmVuZGVyTGF5ZXIqIGVuY2xvc2luZ0xheWVy
ID0gdGhpcy0+ZW5jbG9zaW5nTGF5ZXIoKTsKICAgICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CkBAIC0xOTg2LDYgKzE5ODksMTIgQEAgdm9pZCBSZW5kZXJPYmpl
Y3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgcGFpbnRDb250YWlubWVudEFwcGxp
ZXMpCiAgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuc2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMo
cGFpbnRDb250YWlubWVudEFwcGxpZXMpOwogfQogCit2b2lkIFJlbmRlck9iamVjdDo6c2V0TGF5
b3V0Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgbGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKQorewor
ICAgIGlmIChsYXlvdXRDb250YWlubWVudEFwcGxpZXMgfHwgaGFzUmFyZURhdGEoKSkKKyAgICAg
ICAgZW5zdXJlUmFyZURhdGEoKS5zZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMobGF5b3V0Q29u
dGFpbm1lbnRBcHBsaWVzKTsKK30KKwogUmVuZGVyT2JqZWN0OjpSYXJlRGF0YU1hcCYgUmVuZGVy
T2JqZWN0OjpyYXJlRGF0YU1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJhcmVE
YXRhTWFwPiBtYXA7CkBAIC0yMDE1LDYgKzIwMjQsNyBAQCBSZW5kZXJPYmplY3Q6OlJlbmRlck9i
amVjdFJhcmVEYXRhOjpSZW5kZXJPYmplY3RSYXJlRGF0YSgpCiAgICAgLCBtX2lzUmVuZGVyRnJh
Z21lbnRlZEZsb3coZmFsc2UpCiAgICAgLCBtX2hhc091dGxpbmVBdXRvQW5jZXN0b3IoZmFsc2Up
CiAgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQorICAgICwgbV9sYXlvdXRD
b250YWlubWVudEFwcGxpZXMoZmFsc2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAppbmRleCBkMGY0Y2VjNGJhZGM1MmE2ZTc0YTBmYzgxYjc4MGYyZDI1M2Fi
ZjY5Li45NDA3NTNmMWNhNGRjZTVkZWMwOTI2YTQ1YjYyNWNmMWFmMDkyNWY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC00MTYsNiArNDE2LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fYml0
ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5pc1JlbmRlckZyYWdtZW50ZWRGbG93
KCk7IH0KICAgICBib29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3IoKSBjb25zdCB7IHJldHVybiBt
X2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkuaGFzT3V0bGluZUF1dG9BbmNl
c3RvcigpOyB9CiAgICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0
dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5wYWludENvbnRhaW5t
ZW50QXBwbGllcygpOyB9CisgICAgYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMoKSBjb25z
dCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkubGF5b3V0
Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KIAogICAgIGJvb2wgaXNFeGNsdWRlZEZyb21Ob3JtYWxM
YXlvdXQoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5pc0V4Y2x1ZGVkRnJvbU5vcm1hbExh
eW91dCgpOyB9CiAgICAgdm9pZCBzZXRJc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dChib29sIGV4
Y2x1ZGVkKSB7IG1fYml0ZmllbGRzLnNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KGV4Y2x1
ZGVkKTsgfQpAQCAtNTE1LDYgKzUxNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVuZGVy
RnJhZ21lbnRlZEZsb3coYm9vbCA9IHRydWUpOwogICAgIHZvaWQgc2V0SGFzT3V0bGluZUF1dG9B
bmNlc3Rvcihib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRQYWludENvbnRhaW5tZW50QXBwbGll
cyhib29sID0gdHJ1ZSk7CisgICAgdm9pZCBzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoYm9v
bCA9IHRydWUpOwogCiAgICAgLy8gSG9vayBzbyB0aGF0IFJlbmRlclRleHRDb250cm9sIGNhbiBy
ZXR1cm4gdGhlIGxpbmUgaGVpZ2h0IG9mIGl0cyBpbm5lciByZW5kZXJlci4KICAgICAvLyBGb3Ig
b3RoZXIgcmVuZGVyZXJzLCB0aGUgdmFsdWUgaXMgdGhlIHNhbWUgYXMgbGluZUhlaWdodChmYWxz
ZSkuCkBAIC05NDQsNiArOTQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQUREX0JPT0xFQU5fQklU
RklFTEQoaXNSZW5kZXJGcmFnbWVudGVkRmxvdywgSXNSZW5kZXJGcmFnbWVudGVkRmxvdyk7CiAg
ICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGhhc091dGxpbmVBdXRvQW5jZXN0b3IsIEhhc091
dGxpbmVBdXRvQW5jZXN0b3IpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChwYWludENv
bnRhaW5tZW50QXBwbGllcywgUGFpbnRDb250YWlubWVudEFwcGxpZXMpOworICAgICAgICBBRERf
Qk9PTEVBTl9CSVRGSUVMRChsYXlvdXRDb250YWlubWVudEFwcGxpZXMsIExheW91dENvbnRhaW5t
ZW50QXBwbGllcyk7CiAKICAgICAgICAgLy8gRnJvbSBSZW5kZXJFbGVtZW50CiAgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gY2FjaGVkRmlyc3RMaW5lU3R5bGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCBlOTYzN2VlYmUyMDYw
OWFlMGM1ZDJiMWQ2ZjZiM2U2MWJjOWYxMjk4Li41NzMyNjQ4ZjY2MmFjZjI5Njg2ZjdjMjVhZDg3
OTFmMmIyOWZiMTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHAKQEAgLTI1OSw3ICsyNTksOCBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpwYWludChQYWlu
dEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIH0K
IAogICAgIGlmICghY29tcGxldGVseUNsaXBwZWRPdXQpIHsKLSAgICAgICAgcGFpbnRSZXBsYWNl
ZChwYWludEluZm8sIGFkanVzdGVkUGFpbnRPZmZzZXQpOworICAgICAgICBpZiAoIXNob3VsZFNr
aXBDb250ZW50KCkpCisgICAgICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5mbywgYWRqdXN0
ZWRQYWludE9mZnNldCk7CiAKICAgICAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkp
CiAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dCgpLnJlc3RvcmUoKTsKQEAgLTI5OSw3ICsz
MDAsNyBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50TwogICAgIC8vIGlmIHdlJ3JlIGludmlzaWJs
ZSBvciBoYXZlbid0IHJlY2VpdmVkIGEgbGF5b3V0IHlldCwgdGhlbiBqdXN0IGJhaWwuCiAgICAg
aWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIExheW91dFBvaW50IGFkanVzdGVkUGFpbnRPZmZz
ZXQgPSBwYWludE9mZnNldCArIGxvY2F0aW9uKCk7CiAKICAgICAvLyBFYXJseSBleGl0IGlmIHRo
ZSBlbGVtZW50IHRvdWNoZXMgdGhlIGVkZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwCmluZGV4IGFhZmQ5ZGNkMDU2ODM5Zjg3N2I5MzY3MTZhZGRiNmJjMGNlYTNiMmQu
LjRlNGFiYWQ5ZmE5OTUzMzc5MjczNjhhZmE5Mjk0NzJlZTI4MWE2ZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lkIFJlbmRl
clZpZXc6OmxheW91dCgpCiAgICAgfQogCiAgICAgQVNTRVJUKCFmcmFtZVZpZXcoKS5sYXlvdXRD
b250ZXh0KCkubGF5b3V0U3RhdGUoKSk7Ci0gICAgaWYgKCFuZWVkc0xheW91dCgpKQorICAgIGlm
ICghbmVlZHNMYXlvdXQoKSAmJiAhZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0
Rm9yY2VkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBz
dGF0ZVB1c2hlcigqdGhpcywgeyB9LCBmYWxzZSwgdmFsdWVPckRlZmF1bHQobV9wYWdlTG9naWNh
bFNpemUpLmhlaWdodCgpLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IDZkZmU4MGEyNjI4MWI5Y2U2Mjk5
ZGJmNjFlNjA2MjdkZDU2NmU4YzcuLmE5MzBlMjUyYWM0ZjMwYWU0OWNkN2IwOTYxZTI4OWMxODA2
NTAxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBAIC0z
MjIsNyArMzIyLDcgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGNsaXBSb3VuZGVk
SW5uZXJSZWN0KHBhaW50SW5mby5jb250ZXh0KCksIGJvcmRlclJlY3QsIHJvdW5kZWRJbm5lclJl
Y3QpOwogICAgIH0KIAotICAgIGlmIChtX3dpZGdldCkKKyAgICBpZiAobV93aWRnZXQgJiYgIXNo
b3VsZFNraXBDb250ZW50KCkpCiAgICAgICAgIHBhaW50Q29udGVudHMocGFpbnRJbmZvLCBwYWlu
dE9mZnNldCk7CiAKICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGU4ZjQ0ZjUy
MGQ3ODZlOGE2YjRlMjhhMmJlYTE4NTllNmY5NzhmNjcuLjMyNGE4NTY4ZDEzZjllODk1YjdiMWVm
ODRhM2YwYzI1MzY1ODVjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcApAQCAtNzQ3LDYgKzc0Nyw5IEBAIHN0YXRpYyBib29sIHJhcmVOb25J
bmhlcml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJp
dGVkCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChmaXJzdC5jb250ZW50
VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisgICAgICAgIHJldHVybiB0
cnVlOworCiAgICAgaWYgKGZpcnN0LmlucHV0U2VjdXJpdHkgIT0gc2Vjb25kLmlucHV0U2VjdXJp
dHkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xMDU2LDYgKzEwNTksOSBAQCBzdGF0aWMg
Ym9vbCByYXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVwYWludChjb25zdCBTdHls
ZVJhcmVOb25Jbmhlcml0ZQogICAgIGlmIChmaXJzdC5zaGFwZU91dHNpZGUgIT0gc2Vjb25kLnNo
YXBlT3V0c2lkZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoZmlyc3QuY29udGVu
dFZpc2liaWxpdHkgIT0gc2Vjb25kLmNvbnRlbnRWaXNpYmlsaXR5KQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKwogICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCB0byBj
aGFuZ2VSZXF1aXJlc0xheWVyUmVwYWludCgpLgogICAgIGlmIChmaXJzdC5jbGlwUGF0aCAhPSBz
ZWNvbmQuY2xpcFBhdGgpIHsKICAgICAgICAgY2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9wZXJ0
aWVzLmFkZChTdHlsZURpZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJvcGVydHk6OkNsaXBQYXRo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXgg
YWMxNDJjZjAwNmRhOTBjMzNiYWNmMmQ3ODM4YjI1N2YxN2VlYWMzOC4uMWVkODIwNGFkMzY3OWJl
ZWYxYTZmNDBiYjNiMzM5NjFiYzFlMWNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCwxMSArNTI4LDEzIEBAIHB1YmxpYzoKICAgICB9
CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlvVHlw
ZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNw
ZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+
IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWlu
OyB9CisgICAgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkoKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxDb250ZW50VmlzaWJpbGl0eT4obV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+Y29udGVudFZpc2liaWxpdHkpOyB9CisgICAgYm9vbCBjb250ZW50VmlzaWJpbGl0eUhpZGRl
bigpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxp
dHk6OkhpZGRlbjsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gZWZmZWN0aXZlQ29udGFp
bm1lbnQoKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4g
ZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQot
ICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1l
bnQoKS5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KLSAgICBib29sIGNvbnRhaW5zU3R5
bGUoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRh
aW5tZW50OjpTdHlsZSk7IH0KLSAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVy
biBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0K
KyAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFp
bm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KSB8fCBjb250ZW50VmlzaWJpbGl0
eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1Np
emUoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRh
aW5tZW50OjpTaXplKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5
OjpIaWRkZW47IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBlZmZl
Y3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSkgfHwgY29udGVu
dFZpc2liaWxpdHkoKSAhPSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZTsgfQorICAgIGJvb2wg
Y29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29u
dGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRl
bnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAgQ29udGFpbmVyVHlwZSBjb250YWluZXJUeXBl
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29udGFpbmVyVHlwZT4obV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+Y29udGFpbmVyVHlwZSk7IH0KICAgICBjb25zdCBWZWN0b3I8QXRvbVN0cmlu
Zz4mIGNvbnRhaW5lck5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+Y29udGFpbmVyTmFtZXM7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CkBAIC0xMDYzLDYgKzEwNjUsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRDb250YWluZXJUeXBlKENvbnRhaW5lclR5cGUgY29udGFpbmVy
VHlwZSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lclR5cGUsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihjb250YWluZXJUeXBlKSk7IH0KICAgICB2b2lkIHNldENvbnRh
aW5lck5hbWVzKGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgbmFtZXMpIHsgU0VUX1ZBUihtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLCBjb250YWluZXJOYW1lcywgbmFtZXMpOyB9CiAKKyAgICB2b2lk
IHNldENvbnRlbnRWaXNpYmlsaXR5KENvbnRlbnRWaXNpYmlsaXR5IHZhbHVlKSB7IFNFVF9WQVIo
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGVudFZpc2liaWxpdHksIHN0YXRpY19jYXN0PHVu
c2lnbmVkPih2YWx1ZSkpOyB9CisKICAgICB2b2lkIHNldExpc3RTdHlsZVN0cmluZ1ZhbHVlKGNv
bnN0IEF0b21TdHJpbmcmIHZhbHVlKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgbGlz
dFN0eWxlU3RyaW5nVmFsdWUsIHZhbHVlKTsgfQogICAgIHZvaWQgc2V0TGlzdFN0eWxlVHlwZShM
aXN0U3R5bGVUeXBlIHYpIHsgbV9pbmhlcml0ZWRGbGFncy5saXN0U3R5bGVUeXBlID0gc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KHYpOyB9CiAgICAgdm9pZCBzZXRMaXN0U3R5bGVJbWFnZShSZWZQdHI8
U3R5bGVJbWFnZT4mJik7CkBAIC0xNjc2LDYgKzE2ODAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IE9wdGlvblNldDxDb250YWlubWVudD4gaW5pdGlhbENvbnRhaW5tZW50KCkgeyByZXR1cm4gT3B0
aW9uU2V0PENvbnRhaW5tZW50PiB7IH07IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5t
ZW50PiBzdHJpY3RDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVudD4g
eyBDb250YWlubWVudDo6U2l6ZSwgQ29udGFpbm1lbnQ6OkxheW91dCwgQ29udGFpbm1lbnQ6OlBh
aW50LCBDb250YWlubWVudDo6U3R5bGUgfTsgfQogICAgIHN0YXRpYyBPcHRpb25TZXQ8Q29udGFp
bm1lbnQ+IGNvbnRlbnRDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVu
dD4geyBDb250YWlubWVudDo6TGF5b3V0LCBDb250YWlubWVudDo6UGFpbnQsIENvbnRhaW5tZW50
OjpTdHlsZSB9OyB9CisgICAgc3RhdGljIENvbnRlbnRWaXNpYmlsaXR5IGluaXRpYWxDb250ZW50
VmlzaWJpbGl0eSgpIHsgcmV0dXJuIENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAg
c3RhdGljIENvbnRhaW5lclR5cGUgaW5pdGlhbENvbnRhaW5lclR5cGUoKSB7IHJldHVybiBDb250
YWluZXJUeXBlOjpOb25lOyB9CiAgICAgc3RhdGljIFZlY3RvcjxBdG9tU3RyaW5nPiBpbml0aWFs
Q29udGFpbmVyTmFtZXMoKSB7IHJldHVybiB7IH07IH0KICAgICBzdGF0aWMgZG91YmxlIGluaXRp
YWxBc3BlY3RSYXRpb1dpZHRoKCkgeyByZXR1cm4gMS4wOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDBhOTRi
NmRmM2Q0NzQ4YjQyYWEzN2NjY2VkYzM3YmM5Mzc1MjZhZmIuLjFhNTA0NTQxMDEwZDY4ZWZmNGMx
ODM2NDZhOWU5OTdkNjJhYTNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0xMjM4LDYgKzEyMzgsMTIgQEAg
ZW51bSBjbGFzcyBDb250YWluZXJUeXBlIDogdWludDhfdCB7CiAgICAgSW5saW5lU2l6ZSwKIH07
CiAKK2VudW0gY2xhc3MgQ29udGVudFZpc2liaWxpdHkgOiB1aW50OF90IHsKKyAgICBWaXNpYmxl
LAorICAgIEF1dG8sCisgICAgSGlkZGVuLAorfTsKKwogQ1NTQm94VHlwZSB0cmFuc2Zvcm1Cb3hU
b0NTU0JveFR5cGUoVHJhbnNmb3JtQm94KTsKIAogZXh0ZXJuIGNvbnN0IGZsb2F0IGRlZmF1bHRN
aXRlckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDE5MjQ5ZWYwZTlmYTI4ZmM1
NDBiZGRiMGM0Y2M0YzIxZjE2MDAwZjIuLjc3MzRhYTZlNmNkZDY1ODExMjU4ZjZjMzM3ZmNlZTgz
ZTA5ZjFiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTk1LDYgKzk1LDcgQEAgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAg
LCBlZmZlY3RpdmVBcHBlYXJhbmNlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6
aW5pdGlhbEFwcGVhcmFuY2UoKSkpCiAgICAgLCB0ZXh0RGVjb3JhdGlvblN0eWxlKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uU3R5bGUoKSkp
CiAgICAgLCBhc3BlY3RSYXRpb1R5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxl
Ojppbml0aWFsQXNwZWN0UmF0aW9UeXBlKCkpKQorICAgICwgY29udGVudFZpc2liaWxpdHkoc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlKSkKICNpZiBFTkFC
TEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgZWZmZWN0aXZlQmxlbmRNb2RlKHN0YXRpY19jYXN0
PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbEJsZW5kTW9kZSgpKSkKICAgICAsIGlzb2xh
dGlvbihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxJc29sYXRpb24o
KSkpCkBAIC0xOTksNiArMjAwLDcgQEAgaW5saW5lIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW4KICAgICAsIGVm
ZmVjdGl2ZUFwcGVhcmFuY2Uoby5lZmZlY3RpdmVBcHBlYXJhbmNlKQogICAgICwgdGV4dERlY29y
YXRpb25TdHlsZShvLnRleHREZWNvcmF0aW9uU3R5bGUpCiAgICAgLCBhc3BlY3RSYXRpb1R5cGUo
by5hc3BlY3RSYXRpb1R5cGUpCisgICAgLCBjb250ZW50VmlzaWJpbGl0eShvLmNvbnRlbnRWaXNp
YmlsaXR5KQogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBlZmZlY3RpdmVCbGVu
ZE1vZGUoby5lZmZlY3RpdmVCbGVuZE1vZGUpCiAgICAgLCBpc29sYXRpb24oby5pc29sYXRpb24p
CkBAIC0zMjAsNiArMzIyLDcgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVy
YXRvcj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGMKICAgICAgICAgJiYg
YXBwbGVQYXlCdXR0b25UeXBlID09IG8uYXBwbGVQYXlCdXR0b25UeXBlCiAjZW5kaWYKICAgICAg
ICAgJiYgYXNwZWN0UmF0aW9UeXBlID09IG8uYXNwZWN0UmF0aW9UeXBlCisgICAgICAgICYmIGNv
bnRlbnRWaXNpYmlsaXR5ID09IG8uY29udGVudFZpc2liaWxpdHkKICAgICAgICAgJiYgb2JqZWN0
Rml0ID09IG8ub2JqZWN0Rml0CiAgICAgICAgICYmIGJyZWFrQWZ0ZXIgPT0gby5icmVha0FmdGVy
CiAgICAgICAgICYmIGJyZWFrQmVmb3JlID09IG8uYnJlYWtCZWZvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5oCmluZGV4IGNhMTU3ZjgzMzRlNGY5MDE2MWNlNWIxOTY4OGY3Nzc2ZGE4N2Y3ZjYuLmNiM2U0
MWU4OGU4OWEwOTA4MjQ3NjYyYjE1NDMxYTYwZGNjOWYwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
aApAQCAtMjA4LDcgKzIwOCw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHRleHREZWNvcmF0
aW9uU3R5bGUgOiAzOyAvLyBUZXh0RGVjb3JhdGlvblN0eWxlCiAKLSAgICB1bnNpZ25lZCBhc3Bl
Y3RSYXRpb1R5cGUgOiAzOworICAgIHVuc2lnbmVkIGFzcGVjdFJhdGlvVHlwZSA6IDI7CisgICAg
dW5zaWduZWQgY29udGVudFZpc2liaWxpdHkgOiAyOwogCiAjaWYgRU5BQkxFKENTU19DT01QT1NJ
VElORykKICAgICB1bnNpZ25lZCBlZmZlY3RpdmVCbGVuZE1vZGU6IDU7IC8vIEVCbGVuZE1vZGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggMTNjYWQ5Yjdm
ZDc3MmE2Y2QyMzk4MzQwZTI4Mjc3MWJkNDliNDQ2MS4uMWI4YzNiOGQ3MWQzYTA2MzlmOWFlNTg4
ZjhiZDJjYzkyNmYyOTUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVC
dWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3Vz
dG9tLmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VT
VE9NX0hBTkRMRVJTKENsaXApOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJT
KENvbnRhaW4pOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRlbnQp
OworICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRlbnRWaXNpYmlsaXR5
KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVySW5jcmVtZW50
KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVyUmVzZXQpOwog
ICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEN1cnNvcik7CkBAIC0xMjg3LDYg
KzEyODgsMjcgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRhaW4o
QnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHUKICAgICByZXR1cm4gYnVpbGRlclN0
YXRlLnN0eWxlKCkuc2V0Q29udGFpbihjb250YWlubWVudCk7CiB9CiAKK2lubGluZSB2b2lkIEJ1
aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KEJ1aWxkZXJTdGF0ZSYg
YnVpbGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNp
YmlsaXR5KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGVudFZpc2liaWxpdHkoKSk7Cit9CisKK2lu
bGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5oZXJpdENvbnRlbnRWaXNpYmlsaXR5KEJ1
aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNl
dENvbnRlbnRWaXNpYmlsaXR5KGZvcndhcmRJbmhlcml0ZWRWYWx1ZShidWlsZGVyU3RhdGUucGFy
ZW50U3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKSk7Cit9CisKK2lubGluZSB2b2lkIEJ1aWxk
ZXJDdXN0b206OmFwcGx5VmFsdWVDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxk
ZXJTdGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1
ZT4odmFsdWUpKSB7CisgICAgICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFs
dWUpLnZhbHVlSUQoKSA9PSBDU1NWYWx1ZUhpZGRlbikKKyAgICAgICAgICAgIHJldHVybiBidWls
ZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0eTo6
SGlkZGVuKTsKKyAgICAgICAgaWYgKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSku
dmFsdWVJRCgpID09IENTU1ZhbHVlQXV0bykKKyAgICAgICAgICAgIHJldHVybiBidWlsZGVyU3Rh
dGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0eTo6QXV0byk7
CisgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0
eShSZW5kZXJTdHlsZTo6aW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkpOworICAgIH0KK30KKwog
aW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVRleHRFbXBoYXNpc1N0eWxlKEJ1
aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgaWYgKGlz
PENTU1ZhbHVlTGlzdD4odmFsdWUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTG9jYXRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwCmlu
ZGV4IDk1YTI2ZmY4MzYxYWM2MWMzMWMwZTMyMWE1N2E2YTMxMmQxNGZiMWYuLjBhZTJmOTE1NmZk
NmY0MTljYmIyMmJmYmY2ODc5MDlkNTFmODhkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdMb2NhdGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFi
bGUuY3BwCkBAIC02Niw3ICs2Niw3IEBAIEZsb2F0UmVjdCBTVkdMb2NhdGFibGU6OmdldEJCb3go
U1ZHRWxlbWVudCogZWxlbWVudCwgU3R5bGVVcGRhdGVTdHJhdGVneSBzdHlsZVVwCiB7CiAgICAg
QVNTRVJUKGVsZW1lbnQpOwogICAgIGlmIChzdHlsZVVwZGF0ZVN0cmF0ZWd5ID09IEFsbG93U3R5
bGVVcGRhdGUpCi0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRl
TGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFz
a3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICAv
LyBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgc3VwcG9ydCBnZXRCQm94IGZvciBkZXRhY2hl
ZCBlbGVtZW50cy4KICAgICBpZiAoIWVsZW1lbnQtPnJlbmRlcmVyKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGMxNDUzYmZjNjA0MDhjOTUw
NzQ2MDc3ZDc2MWVlMTRkNzI5NjUxZmIuLjgwM2NmOTBkZTMyYzFkZGEzYzBiODI1MjE3YTFjOTdm
N2U3ZjBmYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQu
Y3BwCkBAIC01NSwxMyArNTUsMTMgQEAgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpTVkdUZXh0Q29u
dGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW0KIAogdW5zaWdu
ZWQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXROdW1iZXJPZkNoYXJzKCkKIHsKLSAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3Vt
ZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Q
b3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olll
cyk7CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5udW1iZXJPZkNoYXJhY3Rl
cnMoKTsKIH0KIAogZmxvYXQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRM
ZW5ndGgoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3Vt
ZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVy
KCkpLnRleHRMZW5ndGgoKTsKIH0KIApAQCAtMTA5LDcgKzEwOSw3IEBAIEV4Y2VwdGlvbk9yPGZs
b2F0PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFJvdGF0aW9uT2ZDaGFyKHVuc2lnbmVkIGNo
YXJudW0pCiAKIGludCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldENoYXJOdW1BdFBvc2l0aW9u
KERPTVBvaW50SW5pdCYmIHBvaW50SW5pdCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFz
eW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgRmxvYXRQb2lu
dCB0cmFuc2Zvcm1Qb2ludCB7c3RhdGljX2Nhc3Q8ZmxvYXQ+KHBvaW50SW5pdC54KSwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KHBvaW50SW5pdC55KX07CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5k
ZXJlcigpKS5jaGFyYWN0ZXJOdW1iZXJBdFBvc2l0aW9uKHRyYW5zZm9ybVBvaW50KTsKIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1OWRlNWQ3NmY1MzkwYmY5NGJjOTFhOGNmNGEzYmVmNGI4YTMyNDI3Li4yMDM4OGEwZDY0
M2U0ZmIwNWY4N2RhMmUyMTllMjI4NThhMzVhZDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjItMDItMDkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0
IGZvciBDU1MgcHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYyMzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjIt
MDItMDkgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbRm9ybXNdIElt
cHJvdmluZyBhcHBseVN0ZXAoKSB0byBiZSBpbiBsaW5lIHdpdGggc3BlY3MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDEwYWFlMWYwODI0ZDcxN2RkN2U1ODAyNjg3Y2FlMGE1YmE1
NzAxMzUuLmQxY2Y2YzA3MGNiMWQ5YzczNGJiNjBmMzExZWU1MWYxMThiZWNlMjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIyLTAyLTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3Bl
cnR5IGNvbnRlbnQtdmlzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDMwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDcxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDgxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
aW1nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2Ut
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRl
bnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250
ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0
LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0bWw6CisKIDIwMjItMDItMDkgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIElt
cGxlbWVudCBpbmxpbmUtc2l6ZSBjb250YWlubWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTY5
OGM1NWI0NDk3MTJjNzA3MDkwYmNkZGM4ZWY3ZTgzYzlkZjI3Ny4uNTAzYmMxMTZlYTIyMmZmOGYz
YmY0ODJhMWQ2NGQ4ODc0YmY2ZDg1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NjQ3LDQ0ICs0
NjQ3LDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT24KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jbGlwLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOS5zdWIuaHR0cHMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjAu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMzMuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDM0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDUxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDU2Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDU4Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDY0Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDY3Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDc2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDc4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDgyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDgzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDg0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktd2l0aC10b3AtbGF5ZXItMDAwLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxheWVy
LTAwMS50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0wMDIudGVudGF0aXZlLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9lbGVtZW50LXJlYXNzaWduZWQtdG8tc2tpcHBlZC1zbG90
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9lbGVtZW50LXJlYXNzaWduZWQt
dG8tc2xvdC1pbi1za2lwcGVkLXN1YnRyZWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY291bnRlci1zY29w
aW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb3VudGVyLXNjb3BpbmctMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL3F1b3RlLXNjb3BpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4
cGVjdGVkLnR4dAppbmRleCA0YzgyNDBkOGQ4MjY2YmI3Y2U4NmI2MWYwOWNiNjk2ZmFjNjg2ZDc2
Li4xOGNlZTg0ZTBmNzk3MjlhODExMDIxYjJlNjJkNmUxMzQxMzYzY2QzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0
ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEFuaW1hdGlvbiBldmVudHMgZG8gbm90IGZp
cmUgZm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJl
ZSBhc3NlcnRfZmFsc2U6IEFuaW1hdGlvbiBldmVudHMgZG8gbm8gZmlyZSB3aGlsZSB0aGUgYW5p
bWF0aW9uIGlzIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGV4cGVjdGVkIGZh
bHNlIGdvdCB0cnVlCitGQUlMIEFuaW1hdGlvbiBldmVudHMgZG8gbm90IGZpcmUgZm9yIGEgQ1NT
IGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZSBhc3NlcnRfdHJ1
ZTogVGhlIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudCBmaXJlcyBvbmNlIHRoZSBhbmltYXRpb24g
aXMgbm8gbG9uZ2VyIGRpc3BsYXkgbG9ja2VkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNT
IFRoZSBmaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVlIHRvIHRoZSBub3JtYWwg
cGFzc2FnZSBvZiB0aW1lICBmb3IgYSBDU1MgYW5pbWF0aW9uIGluIGEgZGlzcGxheSBsb2NrZWQg
c3VidHJlZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCByZXNvbHZlIGR1ZSB0
byB0aGUgbm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9yIGEgQ1NTIHRyYW5zaXRpb24gaW4gYSBk
aXNwbGF5IGxvY2tlZCBzdWJ0cmVlCiBGQUlMIEV2ZW50cyBhbmQgcHJvbWlzZXMgYXJlIGhhbmRs
ZWQgbm9ybWFsbHkgZm9yIGFuaW1hdGlvbnMgd2l0aG91dCBhbiBvd25pbmcgZWxlbWVudCBhc3Nl
cnRfdHJ1ZTogQW5pbWF0aW9uIGV2ZW50IG5vdCBibG9ja2VkIG9uIGRpc3BsYXkgbG9ja2VkIHN1
YnRyZWUgaWYgbm8gb3duaW5nIGVsZW1lbnQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4
cGVjdGVkLnR4dAppbmRleCA1ZDZmMWY2ZGVmNjVhNWFhNjQyMGYwMDE4NDhkYjhkNDVlMzBmYmRk
Li5kYmU0OGFmOTIxNzY0YTI4YTRjNjViNDFiYjZjNTQ3YzQ5NDQ3MjlkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRl
c3RpbmcgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBi
dXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAx
Ni1leHBlY3RlZC50eHQKaW5kZXggOWI3OTE0MGNkYTJkNDNjODRmYWM4Mjc0ODQxOGQ5M2ZhM2Q1
NDE3Ny4uNDUxYTRhMzVlYWY4ZDVhOWYyY2RiNzhiMmRmOTQ1MjMwMjUzNjkzZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhp
dCB0ZXN0aW5nIChjb21wb3NpdGVkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBl
eHBlY3RlZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6
IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQKaW5kZXggOWZiMDg4
YTc4NGJjNWIwM2YwZjQ5MmNlNjcwZDdmMGMwZTkwMGJlYy4uZjZmNjgwZTgyYmVhODBmMjYzMDcw
ZmE2ZTNhNzFlMTYyZmM3YzFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkIGNoaWxk
KSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1dCBn
b3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3Np
dGVkIGNoaWxkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQKaW5kZXggZTI5MmVmNzIxNjFiMDg0OTdkYTIy
Mzg2NzQ3YTM1NDlhNjZjYjA2MS4uYjliODMzNTJmOGJlZjE0NjY5YmVhNzI5MDQyOGY0MmNkZDNm
ZjRiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMTgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50
IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkIHdpdGggYSBjb21wb3NpdGVkIGNo
aWxkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1
dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21w
b3NpdGVkIHdpdGggYSBjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKaW5kZXgg
NzNkYTQ4ZGRiNGFkYzk4YmVmYTgzYjI4YzM1NDlmZjQ4ZGIwNWZhMC4uODM5OTNjOWQwODU0NDYy
MjJkZjZlZTBkNWRjZDVkYzE5MTFmMGViZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAotRkFJTCBjb250ZW50LXZpc2liaWxpdHk6aGlkZGVuIGRvZXMgbm90IGFmZmVjdCBj
b21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmlu
ZykgImhpZGRlbiIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgY29udGVudC12
aXNpYmlsaXR5OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9mICdjb250YWlu
JyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXV0byIgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5OmhpZGRlbiBkb2VzIG5vdCBh
ZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nCitQQVNTIGNvbnRlbnQtdmlzaWJpbGl0
eTphdXRvIGRvZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjkt
ZXhwZWN0ZWQudHh0CmluZGV4IDNhMGVhOGM4Yzk3OTEyMDYzZGUwODM2NTU4MmRjYjM1NzRjNjJh
M2YuLjFjZjRkMGY2MjI1Y2FkYTQ1ZjhkMDZmZjU2ZWJkMmJkYjRlNDhjM2UgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBl
Y3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiBUaGlzIHRleHQgc2hvdWxkIGJlIHZpc2libGUuCi1U
aGlzIHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLgotVGhpcyB0ZXh0IGlzIGFsc28gbm90IHZp
c2libGUuCiAKLUZBSUwgaW5uZXJUZXh0IG9uIGxvY2tlZCBlbGVtZW50LiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLiIgYnV0IGdvdCAiVGhpcyB0
ZXh0IHNob3VsZCBiZSB2aXNpYmxlLlxuVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5c
blRoaXMgdGV4dCBpcyBhbHNvIG5vdCB2aXNpYmxlLiIKK1BBU1MgaW5uZXJUZXh0IG9uIGxvY2tl
ZCBlbGVtZW50LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQKaW5kZXggZGVhYTU3N2NkZGNiOTY4ZjAzOTlh
Mjc2ZDFjYjc0NThiOWQ2OWM0OS4uODI5YzI5NmJjMGQ3NGZjODFmZTAxOTdlMDI5ZWQ1MGZiYThj
ZTdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMzAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBJbnRlcnNl
Y3Rpb25PYnNlcnZlciBpbnRlcmFjdGlvbnMgYXNzZXJ0X2VxdWFsczogcnVuU3RlcDIgZXhwZWN0
ZWQgMSBidXQgZ290IDAKK1BBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJhY3Rpb25zCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDMxLWV4cGVjdGVkLnR4dAppbmRleCA1Y2M4YjgyOTZmZjdiYTY4Y2FlNjZlMDdlMTZmMjA5YjJk
YjVjOGU5Li4xY2M2YzFjMGFjODA3ZjZlYzMzNDBmZGNhYThkZTY5OTY4Y2FmZjk1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEt
ZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVk
IFByb21pc2UgUmVqZWN0aW9uOiBFcnJvcjogYXNzZXJ0X2VxdWFsczogUmVzaXplT2JzZXZlciBz
aG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBleHBlY3RlZCB0cnVlIGJ1dCBn
b3QgZmFsc2UKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVq
ZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3VsZCBub3QgcnVuIGR1cmlu
ZyB3aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQotCi1USU1FT1VU
IFJlc2l6ZU9ic2VydmVyIHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3QgdGltZWQgb3V0Ci0KLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogYXNzZXJ0
X2VxdWFsczogUmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5k
ZXJlZCBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQotVElNRU9VVCBSZXNpemVPYnNlcnZl
ciBza2lwcGVkIHdoaWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91dAorUEFTUyBSZXNpemVPYnNlcnZl
ciBza2lwcGVkIHdoaWxlIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQKaW5kZXggMGU4ODBlMDU1
ZjA0MTcwY2Q3ZTY3Yzk2ZmE5NzA1YzQ0ZTU4NzU0MC4uYmNmYzc4OWZhNDBhMzNlMzE1YzM1M2Fh
NGExYmFiY2VkZTYzOTllNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBNZWFzdXJlIEZvcmNlZCBMYXlvdXQgYXNzZXJ0X2VxdWFsczogc3BhY2VyIGZvcmNlZCBl
eHBlY3RlZCA4IGJ1dCBnb3QgMTA4CitQQVNTIE1lYXN1cmUgRm9yY2VkIExheW91dAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NC1l
eHBlY3RlZC50eHQKaW5kZXggYzNiNjRiMTIwODBhMDg4MWE5Nzg1Nzg0MDcyZTNiMzJiODk0NWNi
Mi4uZTEzNzJiOGQyZjFhOWIwYWQxOTczYTllMmRlMzkzZjNmMjNhMDYyMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDQtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4cGVj
dGVkLnR4dApAQCAtMSwxMSArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IEVycm9yOiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMgogCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBt
ZXNzYWdlID0gRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAyCi0KLVRJ
TUVPVVQgQ29udGVudCBWaXNpYmlsaXR5OiBzbG90IG1vdmVkIGFmdGVyIGNvbnRhaW5lciBpcyBo
aWRkZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBF
cnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIKLQotVElNRU9VVCBDb250
ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhpZGRlbiBUZXN0
IHRpbWVkIG91dAorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29u
dGFpbmVyIGlzIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKaW5kZXggMzk1ZDU5YzQ2YTU0NzI3
MmNjYWVkOTJlNjJjMDIyYWRiNzY1MjFhZC4uNGMzYzhiYjk0M2UwNGUyMmZlZWQzOWQzNGIwZjZk
ODFjMDNlOTQ3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIAogCi0KLQot
RkFJTCBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBoaWRkZW4gc3VidHJlZXMgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0iZml2ZSIgdHlwZT0idGV4dCI+
PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJ0d28iIHR5cGU9InRleHQi
PjwvaW5wdXQ+CitQQVNTIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNraXBzIGhpZGRlbiBzdWJ0cmVl
cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA0OC1leHBlY3RlZC50eHQKaW5kZXggZjhiMDExYmE4MTc4ZDY4N2M3ZjkwOWRlNDgzNzk5
NzNjOWQwOTZkNC4uNzMyNjhmZGIwOGRmOTQ3NGYwMWRmNTc2YTE4MGY5YmUzODdkYWFlOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDgtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDQ4LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBGcmFnbWVudCBuYXZpZ2F0
aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgotRkFJTCBGcmFnbWVudCBuYXZpZ2F0aW9u
IHdpdGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxvY2tzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3VsdHMiCitGQUlMIEZyYWdtZW50IG5hdmln
YXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHNpbmdsZSB0ZXh0IGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJ0ZXh0IiBidXQgZ290ICJ0b3AiCitGQUlMIEZyYWdtZW50IG5hdmlnYXRpb24g
d2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHJhbmdlIGFjcm9zcyBibG9ja3MgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInRleHQyIiBidXQgZ290ICJ0b3AiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dAppbmRl
eCA0NGEyOTM2NTAzNjE5Zjc2ZTFiZGEzZmJjN2NjMDQ4YjNmM2MxYzZmLi5lYjE5MzUxNjY2ZTU3
YTAwZmQ0NmE3MDI3YzFiNjAwMjA3ZWI1YWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0CkBAIC0xLDgg
KzEsMyBAQAotaGVsbG8KLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxvCiAKIEZBSUwgT25lIGVs
ZW1lbnRzIHNlbGVjdGVkOiAgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBG
QUlMIFJhbmdlIGV4dGVuZGVkIHRvIGNvdmVyIG1vcmUgZWxlbWVudHM6ICBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dAppbmRleCAwM2UzYmI3YzBl
ODk2MDMzNzYxYjUyNDllZDY2MTYyNjk0YzUwN2U2Li4wMGYxYzdmNDQ0MTg3ODJiY2ViMzQzOGQ3
YjZmYTUxZjU2MWUxNzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQ
QVNTIG9uZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKToKIEZBSUwgdHdvLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQot
RkFJTCB0aHJlZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhw
ZWN0ZWQgMzAwNyBidXQgZ290IDMwNzUKLUZBSUwgZm91ci5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMxMDkKLUZBSUwgZml2
ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAw
NyBidXQgZ290IDMxNDMKK0ZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3Nl
cnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCitGQUlMIGZvdXIuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdv
dCAzMDQxCitGQUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxz
OiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dAppbmRleCA5
MjcwOTZlZGY5NzNkYjE4OTZkN2UyNWE5NDRlMWE5NDBmMmE4MGEyLi4wNDliZTI4NGQ0N2Y2Y2Rm
MDk4MzNmNTE0MzI1MTBlOTAzMThkZGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5pbWF0YWJsZSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAidmlzaWJsZSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKK1BBU1MgQ29udGVudC12aXNpYmlsaXR5IGlzIG5vdCBhbmltYXRhYmxlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgw
LWV4cGVjdGVkLnR4dAppbmRleCBkMGYwNWFkNWEzOGNlNDEyNDIzMzBlYjM5MWFhZDBlOTE3MTlj
N2I2Li44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEgQEAKLUNvbnRlbnQgVmlzaWJpbGl0eTogY2FyZXQgcG9zaXRp
b24gd2l0aCBodG1sIGhpZGRlbiAgICogeyBhbGw6IGluaXRpYWw7IGNvbnRlbnQtdmlzaWJpbGl0
eTogaGlkZGVuOyB9IHRlc3QoKCkgPT4geyBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNhcmV0UmFu
Z2VGcm9tUG9pbnQoKTsgYXNzZXJ0X25vdF9lcXVhbHMocmFuZ2UsIG51bGwsICJyYW5nZSBleGlz
dHMiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydENvbnRhaW5lciwgaHRtbCwgInN0YXJ0Q29u
dGFpbmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydE9mZnNldCwgMCwgInN0
YXJ0T2Zmc2V0IGlzIHplcm8iKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5lbmRDb250YWluZXIsIGh0
bWwsICJlbmRDb250YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLmVuZE9mZnNl
dCwgMCwgImVuZE9mZnNldCBpcyB6ZXJvIik7IH0sICJDYXJldCByYW5nZSBmcm9tIHBvaW50Iik7
Ci1GQUlMIENhcmV0IHJhbmdlIGZyb20gcG9pbnQgYXNzZXJ0X2VxdWFsczogc3RhcnRDb250YWlu
ZXIgaXMgaHRtbCBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGh0bWwgaWQ9Imh0bWwiPjxoZWFkPjxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgotPHRpdGxlPkNvbnRlbi4uLiBidXQgZ290IFRleHQgbm9kZSAi
Q29udGVudCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlvbiB3aXRoIGh0bWwgaGlkZGVuIgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4
MS1leHBlY3RlZC50eHQKaW5kZXggNmVlZGJhZGVmNWVmMTk3M2ZhY2MzZGM1ZTE5NTQxMmM3ZWNl
Y2FkNi4uNGRmOTNjZGMxODM1MWJmNzNmMGJlNDQ0ZmZjNWYyOWMyOTJjMWVkZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODEtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBTY3JvbGwgb2Zmc2V0IGlzIHJlc3Rv
cmVkIHdoZW4gY29udGVudC12aXNpYmlsaXR5IGhpZGRlbiBpcyByZW1vdmVkCitGQUlMIFNjcm9s
bCBvZmZzZXQgaXMgcmVzdG9yZWQgd2hlbiBjb250ZW50LXZpc2liaWxpdHkgaGlkZGVuIGlzIHJl
bW92ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwMCBidXQgZ290IDAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0
ZWQudHh0CmluZGV4IGNhMzc4N2U0NDg3YmQzNjQ5NjBmZTRlYjRjOTFlZGFkMTc3ZTQ4NzEuLjQ0
NDlkN2M3NzNiOTA1ODJkM2EzNzk2YTM2Y2NjZGNjODNjYmU4MTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50
eHQKQEAgLTEsNyArMSwzIEBACiAKLQotCi0KLQogUEFTUyBjLXY6aGlkZGVuIDxpbWc+IGxheW91
dCBBUElzIHNob3VsZG4ndCByZXR1cm4gemVybyB3aGVuIGFjY2Vzc2VkIGZyb20gc2NyaXB0Lgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlu
cHV0LWltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGE0NWVkNTgyOTAxZjdjNWMy
ZGY5N2U3MGVhNDUwNTAyMzcyYTU2MTYuLmU0YTMxZmIxYmExYTYzOTJjZWViODY2YmI3ZTYwYmNk
YmIxOGIwNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEs
MyBAQAogCi0KLQogUEFTUyA8aW5wdXQgdHlwZT1pbWFnZT4gc2hvdWxkIHJldHVybiBub256ZXJv
IHZhbHVlcyBmb3Igd2lkdGggYW5kIGhlaWdodCBpbiBhIGMtdjpoaWRkZW4gc3VidHJlZS4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1z
dmctZXhwZWN0ZWQudHh0CmluZGV4IDQ2NzZiODhjOWFjYzdmMjk3OTU4Mjg5NDQ0MjhmMjQyMTgz
MTFkNTYuLjhkZjFiN2ZmYWY0YmMyM2UyNTQ2NjJlZDhmMzZiYThiMDY1YWJhMGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1IZWxsbyBXb3JsZCEKLUhlbGxvIFdvcmxkIEFn
YWluIQogCiBQQVNTIGdldEJCb3goKSBzaG91bGQgcmV0dXJuIG5vbnplcm8gdmFsdWVzIGluIGEg
Yy12OmhpZGRlbiBzdWJ0cmVlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
aW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRh
bmNlLWV4cGVjdGVkLnR4dAppbmRleCA3ZGExN2ZmYWY5Y2Q1MjBhNzUzZTlmM2U5YTU4ZTljNjFj
NDVmZTY1Li42Njg4OTZhZjEyZDZhMGQ5MGQxYTNhZGE2Y2Q4N2NhYWRlZWE1NmVlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACiAKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IGhhcyBpbml0aWFsIHZh
bHVlIHZpc2libGUgYXNzZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0g
dG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgZG9lcyBub3QgaW5oZXJpdCBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGVu
dC12aXNpYmlsaXR5IGhhcyBpbml0aWFsIHZhbHVlIHZpc2libGUKK1BBU1MgUHJvcGVydHkgY29u
dGVudC12aXNpYmlsaXR5IGRvZXMgbm90IGluaGVyaXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1j
b21wdXRlZC1leHBlY3RlZC50eHQKaW5kZXggODdhM2M2ODBlZjhjZmU0MjlhZTQ2ZDMwOTNlNzgw
ZTcxMjdiZGY5Mi4uMGMzNGE1ZGJiZGRlN2RhYzM2OWU2YjgwY2QyNWE5ZTdkODc2ZGU2NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5
LWNvbXB1dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2lu
Zy9jb250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBA
QAogCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAndmlzaWJsZScgYXNz
ZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVk
IGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2F1dG8nIGFzc2VydF90cnVlOiBjb250ZW50
LXZpc2liaWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQg
c3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNp
YmlsaXR5IHZhbHVlICdoaWRkZW4nIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9l
c24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICd2
aXNpYmxlJworUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2F1dG8nCitQ
QVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnaGlkZGVuJwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFs
aWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12
aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dAppbmRleCA2YTY1ZmY2ODRmNjA4MmQxY2U4MWMx
MzdlNDAzYTRkZTcwMDg5NTZmLi45ZGE0NTczZTA3NDc3Yjc3N2Q2YmE4NzY4ZjQ1M2M3NDM1NzMz
NWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZp
c2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9w
YXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1
IEBACiAKLUZBSUwgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAidmlzaWJsZSIgc2hv
dWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNo
b3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKLUZBSUwgZS5zdHlsZVsnY29udGVu
dC12aXNpYmlsaXR5J10gPSAiYXV0byIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNz
ZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFs
dWUgIiIKLUZBSUwgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAiaGlkZGVuIiBzaG91
bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hv
dWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydjb250ZW50
LXZpc2liaWxpdHknXSA9ICJ2aXNpYmxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQor
UEFTUyBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJhdXRvIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJo
aWRkZW4iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQtYXV0by5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1h
dXRvLmh0bWwKaW5kZXggZDA3ZWRlNWE1NDYwMDdlMzI3ZDM1M2VkNTk5NDg5ZGRmZTU3NDQ4MS4u
NTNhMjJmNWZkOGQxY2RiODgzODUzNTM1NDU0OWUxMTc1NzZkN2U1MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRh
cmdldC1hdXRvLmh0bWwKQEAgLTQyLDcgKzQyLDcgQEAgZnVuY3Rpb24gZG91YmxlUmFmQ2hlY2tT
Y3JvbGwoKSB7CiAgIGhlaWdodDogMTAwMDBweDsKIH0KIC5hdXRvIHsKLSAgc3VidHJlZS12aXNp
YmlsaXR5OiBhdXRvOworICBjb250ZW50LXZpc2liaWxpdHk6IGF1dG87CiB9CiA8L3N0eWxlPgog
Cg==
</data>
<flag name="commit-queue"
          id="478148"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451414</attachid>
            <date>2022-02-09 11:20:25 -0800</date>
            <delta_ts>2022-02-17 05:48:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220209192023.patch</filename>
            <type>text/plain</type>
            <size>109168</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU2ZDg5YjMxNjkyZGVk
NDhkNDgyMWM3MWFjODExOGMwNWQxM2E2Ni4uYjhkNzM1MmI2MWQ3YmQzNGQ5YzNkODdkNjY5ODVl
ZTc0MjU3Y2RkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0wOSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMDkgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMgYWZ0ZXIgcjI4OTI0NwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCmluZGV4IDk4ODA0
YzNhODIwNGEyMzQzMmVlYTcwOWJlMTczY2E0MGNjODFhYTkuLjg5ZGRmODZmMjI3YThmMTVkN2U0
NmU3MzUxZTU1ZmM0MjlhYTRjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9j
dW1lbnRUaW1lbGluZS5jcHAKQEAgLTM5Nyw2ICszOTcsMTYgQEAgQW5pbWF0aW9uRXZlbnRzIERv
Y3VtZW50VGltZWxpbmU6OnByZXBhcmVGb3JQZW5kaW5nQW5pbWF0aW9uRXZlbnRzRGlzcGF0Y2go
KQogewogICAgIG1fc2hvdWxkU2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9uRm9yTmV3UGVuZGlu
Z0V2ZW50cyA9IHRydWU7CiAgICAgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9wZW5kaW5nQW5pbWF0
aW9uRXZlbnRzLCB7IH0pOworICAgIEFuaW1hdGlvbkV2ZW50cyBldmVudHM7CisgICAgZm9yIChh
dXRvJiBldmVudCA6IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cykgeworICAgICAgICBpZiAoZXZl
bnQtPmFuaW1hdGlvbigpLT5pc0luSGlkZGVuU3VidHJlZSgpKQorLy8gICAgICAgIEVsZW1lbnQq
IGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgpICYmICFkb3duY2FzdDxOb2RlPigq
ZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8gZHluYW1pY0Rvd25jYXN0PEVsZW1l
bnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKy8vICAgICAgICBpZiAoZWxlbWVudCAm
JiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgZXZlbnRzLmFwcGVuZChldmVudCk7CisgICAgICAgIG1fcGVuZGluZ0FuaW1hdGlvbkV2
ZW50cy5yZW1vdmVGaXJzdChldmVudCk7CisgICAgfQorICAgIHJldHVybiBldmVudHM7CiB9CiAK
IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBkb3VibGU+PiBEb2N1bWVudFRpbWVsaW5lOjphY2Nl
bGVyYXRlZEFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuY3BwCmluZGV4IDc3YjlmYjJjYWNlZDIyMGRlNDE1NTY3OTdmODU3MmIwYTZjYThkODMu
LjY4ZTMwNTMyZWExYWZmY2RkMTZkNWE3NTEzZmRhMWQ1ODVhYzEzYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIu
Y3BwCkBAIC0xMDUsNiArMTA1LDggQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6
OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0aW8KICAgICAgICAg
dGltZWxpbmVzVG9VcGRhdGUuYXBwZW5kKHRpbWVsaW5lLmNvcHlSZWYoKSk7CiAKICAgICAgICAg
Zm9yIChhdXRvJiBhbmltYXRpb24gOiBjb3B5VG9WZWN0b3IodGltZWxpbmUtPnJlbGV2YW50QW5p
bWF0aW9ucygpKSkgeworICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aXNJbkhpZGRlblN1YnRy
ZWUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChhbmltYXRp
b24tPnRpbWVsaW5lKCkgIT0gdGltZWxpbmUucHRyKCkpIHsKICAgICAgICAgICAgICAgICBBU1NF
UlQoIWFuaW1hdGlvbi0+dGltZWxpbmUoKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CkBA
IC0xNTAsOCArMTUyLDEyIEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjp1cGRh
dGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhSZWR1Y2VkUmVzb2x1dGlvCiAgICAgfSk7CiAKICAg
ICAvLyA3LiBEaXNwYXRjaCBlYWNoIG9mIHRoZSBldmVudHMgaW4gZXZlbnRzIHRvIGRpc3BhdGNo
IGF0IHRoZWlyIGNvcnJlc3BvbmRpbmcgdGFyZ2V0IHVzaW5nIHRoZSBvcmRlciBlc3RhYmxpc2hl
ZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICBmb3IgKGF1dG8mIGV2ZW50IDogZXZlbnRzKQor
ICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpIHsKKyAgICAgICAgLy8gRWxlbWVudCogZWxl
bWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRvd25jYXN0PE5vZGU+KCpldmVu
dC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWljRG93bmNhc3Q8RWxlbWVudD4o
KmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworICAgICAgICAvLyBpZiAoZWxlbWVudCAmJiBl
bGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIC8vICAgIGNvbnRpbnVlOwogICAg
ICAgICBldmVudC0+dGFyZ2V0KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgIH0KIAogICAg
IC8vIFRoaXMgd2lsbCBjYW5jZWwgYW55IHNjaGVkdWxlZCBpbnZhbGlkYXRpb24gaWYgd2UgZW5k
IHVwIHJlbW92aW5nIGFsbCBhbmltYXRpb25zLgogICAgIGZvciAoYXV0byYgYW5pbWF0aW9uIDog
YW5pbWF0aW9uc1RvUmVtb3ZlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uY3BwCmluZGV4IDU3ZGY0MTc1NzdhYTg5ZGRlNDExYWJkMDUxZTNjMmE1MmViODAyY2QuLjZk
ODAwZWUyNzFmODEzMGE0ZWU4Mjg4Njc0NjZjMmI1MjljOWFhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xNTA5LDQgKzE1MDksMTMgQEAgU2Vjb25k
cyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QKICAgICByZXR1cm4gZWZmZWN0
KCktPnRpbWVUb05leHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNpY1RpbWluZygpKSAvIHBsYXliYWNr
UmF0ZTsKIH0KIAorYm9vbCBXZWJBbmltYXRpb246OmlzSW5IaWRkZW5TdWJ0cmVlKCkKK3sKKyAg
ICBpZiAoIWlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChhdXRvIGVsZW1lbnQgPSBkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4odGhp
cyktPm93bmluZ0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmVsZW1lbnQuaXNT
a2lwcGVkQ29udGVudCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDM3YTYx
N2Y2MDUzNzA3OWQyYjEyZWEwYzA2MjhlMWNlYTJhMzJlNDYuLjA4MmExYjFhNWFjMmU2NTlkNTQy
ZTBlMmQ2NWMxN2E2NTI4YTk4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0
aW9uLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0RlY2xh
cmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaXNDU1NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc0NTU1RyYW5zaXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wg
aXNJbkhpZGRlblN1YnRyZWUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJl
dHVybiBtX2lkOyB9CiAgICAgdm9pZCBzZXRJZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggY2I0
NWUwZDgxNWE2OGM0MjAxOWIwYmI2MDQ4NjEwYzY5ZGNkZDIyMi4uMzRjZWY3MTFjYmFhN2MzNDE3
ZTI1ZWRhNzc5Y2FmN2E0NTAxYTBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM2NDQsNiArMzY0NCwxNCBAQCBSZWZQ
dHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0
eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wuY3JlYXRlQ3VzdG9tSWRlbnQobmFtZSkpOwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7
CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5Ogor
ICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5jc3NDb250
YWlubWVudEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eUhpZGRlbigpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlSGlk
ZGVuKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRl
bnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wu
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisgICAgICAgICAgICByZXR1cm4g
Y3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVZpc2libGUpOwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2ZhY2VWaXNpYmlsaXR5OgogICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoKHN0eWxlLmJhY2tmYWNlVmlz
aWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0eTo6SGlkZGVuKSA/IENTU1ZhbHVlSGlkZGVu
IDogQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
ckltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggMTM2MGEwNDg4
OWNjNzFjNDU5OTcyNmViZDM0N2U0MWE3YTU2NjljOC4uZDExZWYxMTRkYTM1NjRlNDQxZWM5ZDFm
YjA1YTRkNWVjNTliNWFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBA
IC01MjcwLDYgKzUyNzAsMTkgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcXVlcmllcyIKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImNvbnRlbnQtdmlzaWJpbGl0eSI6IHsKKyAgICAg
ICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgImN1c3RvbSI6
ICJBbGwiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvbnRhaW5tZW50
RW5hYmxlZCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3RhdHVzIjogeworICAgICAg
ICAgICAgICAgICJzdGF0dXMiOiAiZXhwZXJpbWVudGFsIgorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJj
c3MtY29udGFpbiIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWNvbnRhaW4tMi8iCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICJiYWNrZmFjZS12aXNpYmlsaXR5IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4IDU1ZDM2YmI1ODYxNjgzMGVhNWI1
NGM4OTk5ZTJhMGI5YjA0MTQ5NjMuLjAzYzY2N2M2N2NjYzI1OTJhNGM4OWZmODNiNjgxMDMxZGZl
NmYwODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0
LmNwcApAQCAtMjMwLDYgKzIzMCw3IEBAIGJvb2wgQ1NTUGFyc2VyQ29udGV4dDo6aXNQcm9wZXJ0
eVJ1bnRpbWVEaXNhYmxlZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25zdAogICAgIGNhc2Ug
Q1NTUHJvcGVydHlBc3BlY3RSYXRpbzoKICAgICAgICAgcmV0dXJuICFhc3BlY3RSYXRpb0VuYWJs
ZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CisgICAgY2FzZSBDU1NQcm9wZXJ0eUNv
bnRlbnRWaXNpYmlsaXR5OgogICAgICAgICByZXR1cm4gIWNvbnRhaW5tZW50RW5hYmxlZDsKICAg
ICBjYXNlIENTU1Byb3BlcnR5QXBwbGVDb2xvckZpbHRlcjoKICAgICAgICAgcmV0dXJuICFjb2xv
ckZpbHRlckVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwCmluZGV4IGJmYjliNjExNTkyMmVlNmM5ZDU0NzVmZjhmZGMxNGE3MTYzOGU1
NTkuLjMyMWFiZTk5MTgwZTFhODUxNzE0ODA4N2U0ZTdhYjllMzIxNmVmODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC00MDMzLDYg
KzQwMzMsMTMgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIFJlZlB0cjxDU1NWYWx1ZT4oV1RGTW92
ZShsaXN0KSk7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb250ZW50Vmlz
aWJpbGl0eUhpZGRlbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0
byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZVZpc2libGUsIENTU1ZhbHVlQXV0
bywgQ1NTVmFsdWVIaWRkZW4+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNpbmdsZVZhbHVlOwor
ICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1l
VGV4dEVtcGhhc2lzUG9zaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7CiAgICAg
Ym9vbCBmb3VuZE92ZXJPclVuZGVyID0gZmFsc2U7CkBAIC00NjYxLDYgKzQ2NjgsMTAgQEAgUmVm
UHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgaWYgKCFtX2NvbnRleHQuY29udGFpbm1lbnRF
bmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiBjb25z
dW1lQ29udGFpbihtX3JhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxp
dHk6CisgICAgICAgIGlmICghbV9jb250ZXh0LmNvbnRhaW5tZW50RW5hYmxlZCkKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY29uc3VtZUNvbnRlbnRWaXNpYmls
aXR5SGlkZGVuKG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0RW1waGFzaXNQb3Np
dGlvbjoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVUZXh0RW1waGFzaXNQb3NpdGlvbihtX3Jhbmdl
KTsKICNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGIyMDYyMTBmZDZhMTQwYzk1MDdmODNmNGIxNTg2MjA1MTNkMThlYTEuLjhkYTk1M2ZlNjhjMzA5
ZmZhYzA1YTM5OTgwNDA5ZmYxYzcxNWZjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MTMzLDYgKzEzMyw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludGVyc2VjdGlv
bk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIgog
I2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NV2lu
ZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5oIgpAQCAtMzg4LDYg
KzM4OSwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaXNhbGxvd0xheW91dCB7IGZhbHNlIH07
CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2sgZmluYWwgOiBwdWJsaWMgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2s+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2soZG9jdW1lbnQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBoYXNDYWxsYmFjaygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIENhbGxiYWNrUmVzdWx0PHZvaWQ+
IGhhbmRsZUV2ZW50KEludGVyc2VjdGlvbk9ic2VydmVyJiwgY29uc3QgVmVjdG9yPFJlZjxJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyJikg
ZmluYWwKKyAgICB7CisgICAgICAgIEFTU0VSVCghZW50cmllcy5pc0VtcHR5KCkpOworCisgICAg
ICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoYXV0byog
ZWxlbWVudCA9IGVudHJ5LT50YXJnZXQoKSkKKyAgICAgICAgICAgICAgICBlbGVtZW50LT5jb250
ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGVudHJ5LT5pc0ludGVyc2VjdGluZygpKTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENvbnRlbnRWaXNpYmls
aXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhEb2N1bWVudCYgZG9jdW1lbnQpCisgICAg
ICAgIDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaygmZG9jdW1lbnQpCisgICAgeworICAg
IH0KK307CisKIC8vIERlZmluZWQgaGVyZSB0byBhdm9pZCBpbmNsdWRpbmcgR0NSZWFjaGFibGVS
ZWYuaCBpbiBEb2N1bWVudC5oCiBzdHJ1Y3QgRG9jdW1lbnQ6OlBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldExpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtMjE3Nyw3ICsyMjA1
LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCit2b2lkIERvY3VtZW50Ojp1
cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgZm9yY2VMYXlvdXQpCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKIApAQCAtMjIwMCwxNiArMjIyOCwyNSBAQCB2b2lkIERvY3VtZW50Ojp1cGRh
dGVMYXlvdXQoKQogCiAgICAgaWYgKCFmcmFtZVZpZXcgfHwgIXJlbmRlclZpZXcoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQ
ZW5kaW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKKyAgICBzdGQ6Om9wdGlv
bmFsPGJvb2w+IG9sZExheW91dEZvcmNlZDsKKyAgICBpZiAoZm9yY2VMYXlvdXQgPT0gRm9yY2VM
YXlvdXQ6OlllcyAmJiB2aWV3KCkpIHsKKyAgICAgICAgb2xkTGF5b3V0Rm9yY2VkID0gdmlldygp
LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKTsKKyAgICAgICAgdmlldygpLT5sYXlv
dXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKHRydWUpOworICAgIH0KKworICAgIGlmICghZnJh
bWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYgIXJlbmRlclZpZXco
KS0+bmVlZHNMYXlvdXQoKSAmJiBmb3JjZUxheW91dCAhPSBGb3JjZUxheW91dDo6WWVzKQogICAg
ICAgICByZXR1cm47CiAKICAgICBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5sYXlvdXQoKTsK
IAorICAgIGlmIChvbGRMYXlvdXRGb3JjZWQpCisgICAgICAgIHZpZXcoKS0+bGF5b3V0Q29udGV4
dCgpLnNldExheW91dEZvcmNlZCgqb2xkTGF5b3V0Rm9yY2VkKTsKKwogICAgIGlmIChzdHlsZVNj
b3BlKCkudXBkYXRlUXVlcnlDb250YWluZXJTdGF0ZSgpKQotICAgICAgICB1cGRhdGVMYXlvdXQo
KTsKKyAgICAgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIH0KIAotdm9pZCBEb2N1bWVu
dDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzKQordm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3Mg
cnVuUG9zdExheW91dFRhc2tzLCBGb3JjZUxheW91dCBmb3JjZUxheW91dCkKIHsKICAgICBib29s
IG9sZElnbm9yZSA9IG1faWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzOwogCkBAIC0yMjIwLDcgKzIy
NTcsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcwogICAgICAgICAgICAgc2NoZWR1bGVGdWxs
U3R5bGVSZWJ1aWxkKCk7CiAgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0KCk7CisgICAgdXBkYXRl
TGF5b3V0KGZvcmNlTGF5b3V0KTsKIAogICAgIGlmIChydW5Qb3N0TGF5b3V0VGFza3MgPT0gUnVu
UG9zdExheW91dFRhc2tzOjpTeW5jaHJvbm91c2x5ICYmIHZpZXcoKSkKICAgICAgICAgdmlldygp
LT5mbHVzaEFueVBlbmRpbmdQb3N0TGF5b3V0VGFza3MoKTsKQEAgLTIzNDgsNyArMjM4NSw3IEBA
IGJvb2wgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElmRGltZW5zaW9uc091dE9mRGF0ZShFbGVtZW50
JiBlbGVtZW50LCBEaW1lbnNpb25zQ2hlCiAgICAgLy8gT25seSBkbyBhIGxheW91dCBpZiBjaGFu
Z2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2FyeS4gICAgICAKICAgICBpZiAo
cmVxdWlyZUZ1bGxMYXlvdXQgJiYgZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAmJiAoZnJhbWVW
aWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5u
ZWVkc0xheW91dCgpKSkKICAgICAgICAgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkubGF5b3V0
KCk7Ci0gICAgCisKICAgICByZXR1cm4gcmVxdWlyZUZ1bGxMYXlvdXQ7CiB9CiAKQEAgLTQ2ODQs
NiArNDcyMSwxMSBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1c2VkRWxlbWVudChFbGVtZW50KiBl
bGVtZW50LCBjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAgICAgICAgIG1fZm9jdXNlZEVs
ZW1lbnQtPnNldEZvY3VzKHRydWUsIG9wdGlvbnMudmlzaWJpbGl0eSk7CiAgICAgICAgIG1fbGF0
ZXN0Rm9jdXNUcmlnZ2VyID0gb3B0aW9ucy50cmlnZ2VyOwogCisgICAgICAgIGZvciAoYXV0byBm
b2N1c2VkID0gbmV3Rm9jdXNlZEVsZW1lbnQ7IGZvY3VzZWQ7IGZvY3VzZWQgPSBmb2N1c2VkLT5w
YXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkgeworICAgICAgICAgICAgaWYgKGF1dG8qIGRh
dGEgPSBmb2N1c2VkLT5jb250ZW50VmlzaWJpbGl0eURhdGEoKSkKKyAgICAgICAgICAgICAgICBk
YXRhLT5zdWJ0cmVlSGFzRm9jdXMgPSB0cnVlOworICAgICAgICB9CisKICAgICAgICAgLy8gVGhl
IHNldEZvY3VzIGNhbGwgdHJpZ2dlcnMgYSBibHVyIGFuZCBhIGZvY3VzIGV2ZW50LiBFdmVudCBo
YW5kbGVycyBjb3VsZCBjYXVzZSB0aGUgZm9jdXNlZCBlbGVtZW50IHRvIGJlIGNsZWFyZWQuCiAg
ICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0ZvY3VzZWRFbGVtZW50KSB7CiAgICAg
ICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAgLTgwMDksNyArODA1MSw4IEBAIHN0
YXRpYyBzdGQ6Om9wdGlvbmFsPEludGVyc2VjdGlvbk9ic2VydmF0aW9uU3RhdGU+IGNvbXB1dGVJ
bnRlcnNlY3Rpb25TdGF0ZShGcmFtCiAgICAgRmxvYXRSZWN0IHJvb3RMb2NhbEludGVyc2VjdGlv
blJlY3QgPSBsb2NhbFJvb3RCb3VuZHM7CiAKICAgICBJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblN0
YXRlIGludGVyc2VjdGlvblN0YXRlOwotICAgIGludGVyc2VjdGlvblN0YXRlLmlzSW50ZXJzZWN0
aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJbnRlcnNlY3Rpb25SZWN0LmVk
Z2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJlY3QpOworICAgIGlmICghdGFy
Z2V0LmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgaW50ZXJzZWN0aW9uU3RhdGUuaXNJbnRl
cnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbEludGVyc2VjdGlvblJl
Y3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVjdCk7CiAgICAgaW50
ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVUYXJnZXRSZWN0ID0gdGFyZ2V0UmVuZGVyZXItPmxvY2Fs
VG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KGxvY2FsVGFyZ2V0Qm91bmRzKSkuYm91bmRpbmdCb3go
KTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVJvb3RCb3VuZHMgPSByb290UmVuZGVy
ZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQobG9jYWxSb290Qm91bmRzKS5ib3VuZGluZ0JveCgpOwog
CkBAIC05MDkyLDYgKzkxMzUsNDQgQEAgc3RkOjpvcHRpb25hbDxQQUw6OlNlc3Npb25JRD4gRG9j
dW1lbnQ6OnNlc3Npb25JRCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIAor
Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBEb2N1bWVudDo6Y29udGVudFZpc2liaWxp
dHlEb2N1bWVudFN0YXRlKCkKK3sKKyAgICBpZiAoIW1fY29udGVudFZpc2liaWxpdHlEb2N1bWVu
dFN0YXRlKQorICAgICAgICBtX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSA9IG1ha2VV
bmlxdWU8Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlPigqdGhpcyk7CisgICAgcmV0dXJu
ICptX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTsKK30KKworQ29udGVudFZpc2liaWxp
dHlEb2N1bWVudFN0YXRlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoRG9jdW1lbnQm
IGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK3sKK30KKwordm9pZCBDb250
ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRp
b24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0aW9uT2JzZXJ2
ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRlcnNlY3Rpb25P
YnNlcnZlci0+b2JzZXJ2ZShlbGVtZW50KTsKK30KKwordm9pZCBDb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGU6OnJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oRWxlbWVudCYg
ZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJ
bnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlci0+dW5v
YnNlcnZlKGVsZW1lbnQpOworfQorCitJbnRlcnNlY3Rpb25PYnNlcnZlciogQ29udGVudFZpc2li
aWxpdHlEb2N1bWVudFN0YXRlOjplbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpCit7CisgICAg
aWYgKCFtX29ic2VydmVyKSB7CisgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBDb250ZW50VmlzaWJp
bGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s6OmNyZWF0ZSgqbV9kb2N1bWVudCk7Cisg
ICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IGNvbnRlbnRWaXNpYmls
aXR5Um9vdE1hcmdpbkZhbGxiYWNrKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCIxMDAlIikpOwor
ICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6SW5pdCBvcHRpb25zIHsgc3RkOjpudWxsb3B0
LCBjb250ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFjaywgeyB9IH07CisgICAgICAgIGF1
dG8gb2JzZXJ2ZXIgPSBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6Y3JlYXRlKCptX2RvY3VtZW50LCBX
VEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7CisgICAgICAgIGlmIChvYnNlcnZl
ci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBt
X29ic2VydmVyID0gb2JzZXJ2ZXIucmV0dXJuVmFsdWUoKS5wdHIoKTsKKyAgICB9CisgICAgcmV0
dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI3Vu
ZGVmIERPQ1VNRU5UX1JFTEVBU0VfTE9HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDRkZDdkMzZj
ZTI0OGMwZjU2NzZhMGQ1OGU5ODBkODA2ZTYxMDZiNzAuLjI2MGIwN2I5NmZlZTkyOTQ1MDQ5YzQw
YzM5NTlmOWViNDcyOTQ0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0zMzksNiArMzM5LDIx
IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKIH07CiAKK2Ns
YXNzIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKERv
Y3VtZW50Jik7CisKKyAgICB2b2lkIGFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oRWxl
bWVudCYpOworICAgIHZvaWQgcmVtb3ZlQ29udGVudFZpc2liaWxpdHlPYnNlcnZhdGlvbihFbGVt
ZW50Jik7CisKK3ByaXZhdGU6CisgICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIqIGVuc3VyZUludGVy
c2VjdGlvbk9ic2VydmVyKCk7CisKKyAgICBSZWZQdHI8SW50ZXJzZWN0aW9uT2JzZXJ2ZXI+IG1f
b2JzZXJ2ZXI7CisgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKK307CisKIGNsYXNz
IERvY3VtZW50CiAgICAgOiBwdWJsaWMgQ29udGFpbmVyTm9kZQogICAgICwgcHVibGljIFRyZWVT
Y29wZQpAQCAtNjIwLDEyICs2MzUsMTMgQEAgcHVibGljOgogICAgIGJvb2wgbmVlZHNTdHlsZVJl
Y2FsYygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxhc3RTdHlsZVVwZGF0ZVNpemVGb3JUZXN0aW5n
KCkgY29uc3QgeyByZXR1cm4gbV9sYXN0U3R5bGVVcGRhdGVTaXplRm9yVGVzdGluZzsgfQogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXQoKTsKKyAgICBlbnVtIGNsYXNzIEZv
cmNlTGF5b3V0IHsgTm8sIFllcyB9OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5
b3V0KEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsKICAgICAKICAgICAvLyB1cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKSBmb3JjZXMgbGF5b3V0IGV2ZW4gaWYgd2Ug
YXJlIHdhaXRpbmcgZm9yIHBlbmRpbmcgc3R5bGVzaGVldCBsb2FkcywKICAgICAvLyBzbyBjYWxs
aW5nIHRoaXMgbWF5IGNhdXNlIGEgZmxhc2ggb2YgdW5zdHlsZWQgY29udGVudCAoRk9VQykuCiAg
ICAgZW51bSBjbGFzcyBSdW5Qb3N0TGF5b3V0VGFza3MgeyBBc3luY2hyb25vdXNseSwgU3luY2hy
b25vdXNseSB9OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1blBvc3RMYXlvdXRUYXNrczo6
QXN5bmNocm9ub3VzbHkpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1blBvc3RMYXlvdXRU
YXNrczo6QXN5bmNocm9ub3VzbHksIEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsKIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JFbGVtZW50SWdub3JpbmdQ
ZW5kaW5nU3R5bGVzaGVldHMoRWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSwgUHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZSk7CiAKQEAgLTE2NDMsNiArMTY1OSw4IEBAIHB1
YmxpYzoKIAogICAgIExhenlMb2FkSW1hZ2VPYnNlcnZlciYgbGF6eUxvYWRJbWFnZU9ic2VydmVy
KCk7CiAKKyAgICBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUmIGNvbnRlbnRWaXNpYmls
aXR5RG9jdW1lbnRTdGF0ZSgpOworCiAgICAgdm9pZCBzZXRIYXNWaXN1YWxseU5vbkVtcHR5Q3Vz
dG9tQ29udGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCA9IHRydWU7
IH0KICAgICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudDsgfQogICAgIHZvaWQgZW5x
dWV1ZVBhaW50VGltaW5nRW50cnlJZk5lZWRlZCgpOwpAQCAtMTg4NCw2ICsxOTAyLDggQEAgcHJp
dmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5TG9hZEltYWdlT2JzZXJ2ZXI+IG1fbGF6
eUxvYWRJbWFnZU9ic2VydmVyOwogCisgICAgc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRWaXNpYmls
aXR5RG9jdW1lbnRTdGF0ZT4gbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU7CisKICAg
ICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3BlbmRpbmdTdGF0ZU9iamVjdDsKICNp
ZiAhTE9HX0RJU0FCTEVECiAgICAgTW9ub3RvbmljVGltZSBtX2RvY3VtZW50Q3JlYXRpb25UaW1l
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDE3ZDYwZjU4YTE5MjQyYmU1MjZiMjlhZjEyMWU2
MTYzNjA2ZGE3ZjcuLmNhMzM0NjE4N2FlNTg1ZmY1MzllMzc1NWMxMzU0NjBhY2FmZjVlYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyODEsNyArMTI4MSw3IEBAIGludCBFbGVtZW50Ojpv
ZmZzZXRUb3BGb3JCaW5kaW5ncygpCiAKIGludCBFbGVtZW50OjpvZmZzZXRUb3AoKQogewotICAg
IGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAg
ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6
OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91
dDo6WWVzKTsKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyID0gcmVuZGVy
Qm94TW9kZWxPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGFkanVzdE9mZnNldEZvclpvb21BbmRT
dWJwaXhlbExheW91dCgqcmVuZGVyZXIsIHJlbmRlcmVyLT5vZmZzZXRUb3AoKSk7CiAgICAgcmV0
dXJuIDA7CkBAIC0xNzY2LDcgKzE3NjYsNyBAQCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxSZW5k
ZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBFbGVtZW50Ojpib3VuZGluZ0Fic29sdXRlUmVjdAogCiBG
bG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKIHsKLSAgICBkb2N1bWVudCgp
LnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5
b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAg
ICAgYXV0byBwYWlyID0gYm91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0KCk7CiAgICAg
aWYgKCFwYWlyKQogICAgICAgICByZXR1cm4geyB9OwpAQCAtMzA3MCw2ICszMDcwLDkgQEAgdm9p
ZCBFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAgICAgaWYgKCFp
c0Nvbm5lY3RlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoaXNTa2lwcGVkQ29udGVu
dCgpKQorICAgICAgICByZXR1cm47CisKICAgICBSZWYgZG9jdW1lbnQgeyB0aGlzLT5kb2N1bWVu
dCgpIH07CiAgICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkRWxlbWVudCgpID09IHRoaXMpIHsKICAg
ICAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCkpCkBAIC0zMzQyLDYgKzMzNDUsOSBAQCBTdHJpbmcg
RWxlbWVudDo6aW5uZXJUZXh0KCkKICAgICAvLyBXZSBuZWVkIHRvIHVwZGF0ZSBsYXlvdXQsIHNp
bmNlIHBsYWluVGV4dCB1c2VzIGxpbmUgYm94ZXMgaW4gdGhlIHJlbmRlciB0cmVlLgogICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKKyAgICBp
ZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKICAgICBp
ZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiB0ZXh0Q29udGVudCh0cnVlKTsKIApAQCAt
MzU1Nyw5ICszNTYzLDggQEAgYm9vbCBFbGVtZW50OjpoYXNWYWxpZFN0eWxlKCkgY29uc3QKIAog
Ym9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRob3V0UmVzb2x2aW5nRnVsbFN0eWxlKCkgY29uc3QK
IHsKLQogICAgIGlmIChyZW5kZXJTdHlsZSgpIHx8IGhhc1ZhbGlkU3R5bGUoKSkKLSAgICAgICAg
cmV0dXJuIHJlbmRlclN0eWxlKCkgJiYgcmVuZGVyU3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZp
c2liaWxpdHk6OlZpc2libGU7CisgICAgICAgIHJldHVybiByZW5kZXJTdHlsZSgpICYmIHJlbmRl
clN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmICFpc1NraXBw
ZWRDb250ZW50KCk7CiAKICAgICBhdXRvIGNvbXB1dGVkU3R5bGVGb3JFbGVtZW50ID0gW10oRWxl
bWVudCYgZWxlbWVudCkgLT4gY29uc3QgUmVuZGVyU3R5bGUqIHsKICAgICAgICAgYXV0byogc3R5
bGUgPSBlbGVtZW50Lmhhc05vZGVGbGFnKE5vZGVGbGFnOjpJc0NvbXB1dGVkU3R5bGVJbnZhbGlk
RmxhZykgPyBudWxscHRyIDogZWxlbWVudC5leGlzdGluZ0NvbXB1dGVkU3R5bGUoKTsKQEAgLTM1
NzcsNiArMzU4Miw5IEBAIGJvb2wgRWxlbWVudDo6aXNWaXNpYmxlV2l0aG91dFJlc29sdmluZ0Z1
bGxTdHlsZSgpIGNvbnN0CiAgICAgaWYgKHN0eWxlLT52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0
eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGlzU2tpcHBlZENv
bnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgZm9yIChhdXRvJiBlbGVtZW50
IDogY29tcG9zZWRUcmVlQW5jZXN0b3JzKGNvbnN0X2Nhc3Q8RWxlbWVudCY+KCp0aGlzKSkpIHsK
ICAgICAgICAgYXV0byogc3R5bGUgPSBjb21wdXRlZFN0eWxlRm9yRWxlbWVudChlbGVtZW50KTsK
ICAgICAgICAgaWYgKCFzdHlsZSB8fCBzdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpO
b25lKQpAQCAtNDc0Nyw2ICs0NzU1LDEwMiBAQCBFbGVtZW50SWRlbnRpZmllciBFbGVtZW50Ojpj
cmVhdGVFbGVtZW50SWRlbnRpZmllcigpCiAgICAgcmV0dXJuIEVsZW1lbnRJZGVudGlmaWVyOjpn
ZW5lcmF0ZSgpOwogfQogCitDb250ZW50VmlzaWJpbGl0eURhdGEmIEVsZW1lbnQ6OmVuc3VyZUNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpCit7CisgICAgYXV0byYgcmFyZURhdGEgPSBlbnN1cmVFbGVt
ZW50UmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhLmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgp
KQorICAgICAgICByYXJlRGF0YS5zZXRDb250ZW50VmlzaWJpbGl0eURhdGEobWFrZVVuaXF1ZTxD
b250ZW50VmlzaWJpbGl0eURhdGE+KCkpOworICAgIHJldHVybiAqcmFyZURhdGEuY29udGVudFZp
c2liaWxpdHlEYXRhKCk7Cit9CisKK0NvbnRlbnRWaXNpYmlsaXR5RGF0YSogRWxlbWVudDo6Y29u
dGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/
IGVsZW1lbnRSYXJlRGF0YSgpLT5jb250ZW50VmlzaWJpbGl0eURhdGEoKSA6IG51bGxwdHI7Cit9
CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGJvb2wgc2hvdWxk
U2tpcCwgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkpCit7CisgICAgaWYgKGF1
dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKSkKKyAgICAgICAgc2hvdWxkU2tpcCB8PSBwYXJl
bnQtPmlzU2tpcHBlZENvbnRlbnQoKTsKKworICAgIGF1dG8mIGRhdGEgPSBlbnN1cmVDb250ZW50
VmlzaWJpbGl0eURhdGEoKTsKKyAgICBpZiAoaXM8SFRNTERpYWxvZ0VsZW1lbnQ+KCp0aGlzKSkK
KyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcCAmJiBjb250ZW50Vmlz
aWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOworICAgIGVsc2UKKyAgICAgICAg
ZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcDsKKworICAgIGlmIChSZW5kZXJFbGVt
ZW50KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCisgICAgICAgIHNob3VsZFNraXAgfD0g
cmVuZGVyZXItPnNob3VsZFNraXBDb250ZW50KCk7CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNo
aWxkcmVuT2ZUeXBlPEVsZW1lbnQ+KCp0aGlzKSkKKyAgICAgICAgY2hpbGQudXBkYXRlQ29udGVu
dFZpc2liaWxpdHlEYXRhKHNob3VsZFNraXAsIGNvbnRlbnRWaXNpYmlsaXR5KTsKK30KKworLy8g
RklYTUU6IHRoaXMgaXMgaW5jb21wbGV0ZSwgYW5kIG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQgd2l0
aCBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgY29tcHV0YXRpb25zIGluIERvY3VtZW50Lgorc3RhdGlj
IGJvb2wgY29tcHV0ZUludGVyc2VjdGlvbihjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRl
ckVsZW1lbnQqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVuZGVyZXIpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGRvY3VtZW50LnZpZXcoKTsKKyAgICBp
ZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZsb2F0UmVjdCBsb2NhbFJv
b3RCb3VuZHMgPSB2aWV3LT5sYXlvdXRWaWV3cG9ydFJlY3QoKTsKKyAgICBMYXlvdXRSZWN0IGxv
Y2FsVGFyZ2V0Qm91bmRzOworICAgIGlmIChpczxSZW5kZXJCb3g+KCpyZW5kZXJlcikpCisgICAg
ICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlciktPmJv
cmRlckJvdW5kaW5nQm94KCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPExheW91dFJlY3Q+IHJvb3RM
b2NhbFRhcmdldFJlY3Q7CisgICAgT3B0aW9uU2V0PFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RD
b250ZXh0T3B0aW9uPiB2aXNpYmxlUmVjdE9wdGlvbnMgPSB7IFJlbmRlck9iamVjdDo6VmlzaWJs
ZVJlY3RDb250ZXh0T3B0aW9uOjpVc2VFZGdlSW5jbHVzaXZlSW50ZXJzZWN0aW9uLCBSZW5kZXJP
YmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21wb3NpdGVkQ2xpcHMsIFJl
bmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBvc2l0ZWRDb250
YWluZXJTY3JvbGxzIH07CisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRSZWN0PiByZWN0SW5GcmFt
ZUFic29sdXRlU3BhY2UgPSByZW5kZXJlci0+Y29tcHV0ZVZpc2libGVSZWN0SW5Db250YWluZXIo
bG9jYWxUYXJnZXRCb3VuZHMsICZyZW5kZXJlci0+dmlldygpLCB7IGZhbHNlIC8qIGhhc1Bvc2l0
aW9uRml4ZWREZXNjZW5kYW50ICovLCBmYWxzZSAvKiBkaXJ0eVJlY3RJc0ZsaXBwZWQgKi8sIHZp
c2libGVSZWN0T3B0aW9ucyB9KTsKKyAgICBpZiAocmVjdEluRnJhbWVBYnNvbHV0ZVNwYWNlKQor
ICAgICAgICByb290TG9jYWxUYXJnZXRSZWN0ID0gcmVjdEluRnJhbWVBYnNvbHV0ZVNwYWNlOwor
ICAgIEZsb2F0UmVjdCByb290TG9jYWxJbnRlcnNlY3Rpb25SZWN0ID0gbG9jYWxSb290Qm91bmRz
OworICAgIHJldHVybiByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbEludGVyc2VjdGlv
blJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVjdCk7Cit9CisK
K2Jvb2wgRWxlbWVudDo6ZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9jdXMoKQoreworICAgIGZvciAo
YXV0byogZm9jdXNlZCA9IGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKTsgZm9jdXNlZDsgZm9j
dXNlZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAg
IGlmIChmb2N1c2VkID09IHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEVsZW1lbnQ6OnVwZGF0ZUNvbnRlbnRWaXNpYmls
aXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+LCBDb250ZW50VmlzaWJpbGl0eSBu
ZXdDb250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAobmV3Q29udGVudFZpc2liaWxpdHkgPT0g
Q29udGVudFZpc2liaWxpdHk6OkF1dG8pIHsKKyAgICAgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgICAgICBkYXRhLmlzSW50ZXJzZWN0aW5nVmlld3Bv
cnQgPSBjb21wdXRlSW50ZXJzZWN0aW9uKGRvY3VtZW50KCksIHJlbmRlcmVyKCkpOworICAgICAg
ICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBmYWxzZTsKKyAgICAgICAgZGF0YS5zdWJ0cmVlSGFz
Rm9jdXMgPSBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygpOworICAgICAgICBkb2N1bWVudCgp
LmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpLmFkZENvbnRlbnRWaXNpYmlsaXR5T2Jz
ZXJ2YXRpb24oKnRoaXMpOworICAgIH0KKyAgICB1cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEo
ZmFsc2UsIG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKK30KKworYm9vbCBFbGVtZW50Ojppc1NraXBw
ZWRDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkg
PyBjb250ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNTa2lwcGVkQ29udGVudCA6IGZhbHNlOworfQor
Citib29sIEVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAoIXJl
bmRlcmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAocmVuZGVyZXIoKS0+c3R5
bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAg
ICAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkgPyAhY29udGVudFZpc2liaWxpdHlE
YXRhKCktPmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgJiYgIWNvbnRlbnRWaXNpYmlsaXR5RGF0YSgp
LT5zdWJ0cmVlSGFzRm9jdXMgOiB0cnVlOworICAgIHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgp
LmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsKK30KKwor
dm9pZCBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGJvb2wgaXNJbnRl
cnNlY3RpbmcpCit7CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0
YSgpOworICAgIGRhdGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCA9IGlzSW50ZXJzZWN0aW5nOwor
ICAgIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShmYWxzZSwgQ29udGVudFZpc2liaWxpdHk6
OkF1dG8pOworfQorCiAjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKIAogU3R5bGVQcm9wZXJ0eU1h
cCogRWxlbWVudDo6YXR0cmlidXRlU3R5bGVNYXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNjIw
OWJlNjJhNzA0NjRmZWM3MzMzNDVlNjU1MzYzZGNjZmU5ZjU4OC4uYTkzNmM0OWIwMWI3NDA2OTY2
Mjc4YjE5OTg3ODExNDRhZTczNjc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC05MSw2ICs5MSwx
MiBAQCBzdHJ1Y3QgU2Nyb2xsSW50b1ZpZXdPcHRpb25zOwogc3RydWN0IFNjcm9sbFRvT3B0aW9u
czsKIHN0cnVjdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVjdCBTaGFk
b3dSb290SW5pdDsKK3N0cnVjdCBDb250ZW50VmlzaWJpbGl0eURhdGEgeworICAgIFdURl9NQUtF
X1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBib29sIGlzU2tpcHBlZENvbnRlbnQgeyBmYWxz
ZSB9OworICAgIGJvb2wgaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCB7IGZhbHNlIH07CisgICAgYm9v
bCBzdWJ0cmVlSGFzRm9jdXMgeyBmYWxzZSB9OworfTsKIAogbmFtZXNwYWNlIFN0eWxlIHsKIGNs
YXNzIFJlc29sdmVyOwpAQCAtNjY0LDYgKzY3MCwxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNE
dXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0
ZTsgfTsKICAgICB2b2lkIHNldEhhc0R1cGxpY2F0ZUF0dHJpYnV0ZShib29sIGhhc0R1cGxpY2F0
ZUF0dHJpYnV0ZSkgeyBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZSA9IGhhc0R1cGxpY2F0ZUF0dHJp
YnV0ZTsgfTsKIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RGF0YSYgZW5zdXJlQ29udGVudFZpc2li
aWxpdHlEYXRhKCk7CisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhKiBjb250ZW50VmlzaWJpbGl0
eURhdGEoKSBjb25zdDsKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5KHN0ZDo6b3B0
aW9uYWw8Q29udGVudFZpc2liaWxpdHk+IG9sZENvbnRlbnRWaXNpYmlsaXR5LCBDb250ZW50Vmlz
aWJpbGl0eSBuZXdDb250ZW50VmlzaWJpbGl0eSk7CisgICAgdm9pZCBjb250ZW50VmlzaWJpbGl0
eVZpZXdwb3J0Q2hhbmdlKGJvb2wpOworICAgIGJvb2wgaXNTa2lwcGVkQ29udGVudCgpIGNvbnN0
OworICAgIGJvb2wgc2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAg
IEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlw
ZSk7CiAKQEAgLTY4Nyw2ICs3MDAsMTAgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0QXR0cmli
dXRlU3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlNYXA+JiYpOwogI2VuZGlmCiAKKyAgICB2b2lk
IHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShib29sIHNob3VsZFNraXAsIENvbnRlbnRWaXNp
YmlsaXR5KTsKKworICAgIGJvb2wgZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9jdXMoKTsKKwogcHJp
dmF0ZToKICAgICBGcmFtZSogZG9jdW1lbnRGcmFtZVdpdGhOb25OdWxsVmlldygpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IDg3N2EzNDlhMTQzOTNj
YjlkYmQ2ZDQzN2E3YmQ2NjE2ZWYyNzUxMGEuLjVjODZiOGU0MmYxYjU0ODYwYTAxYTYyZjk5Mzk4
OTdjYTI4YThjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCkBAIC00
Myw2ICs0Myw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhIDogTm9kZVJhcmVE
YXRhIHsKICAgICB2b2lkKiB0eXBlZE9NRGF0YTsKICNlbmRpZgogICAgIHZvaWQqIHJlc2l6ZU9i
c2VydmVyRGF0YTsKKyAgICB2b2lkKiBjb250ZW50VmlzaWJpbGl0eURhdGE7CiB9OwogCiBzdGF0
aWNfYXNzZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09IHNpemVvZihTYW1lU2l6ZUFzRWxl
bWVudFJhcmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91bGQgc3RheSBzbWFsbCIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDBlYzQ4N2ZiOGQxZjBmZjkyZGIxNzY5
NTMxOWMwN2RmNGUyN2Y2ZmIuLjlmMTA5ZDAzN2UwODlkZDBkMjU0M2IzYTJkZmExNDk2NThiNWY1
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTEwNiw2ICsxMDYsOSBA
QCBwdWJsaWM6CiAgICAgY29uc3QgQXRvbVN0cmluZyYgbm9uY2UoKSBjb25zdCB7IHJldHVybiBt
X25vbmNlOyB9CiAgICAgdm9pZCBzZXROb25jZShjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSkgeyBt
X25vbmNlID0gdmFsdWU7IH0KIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RGF0YSogY29udGVudFZp
c2liaWxpdHlEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50VmlzaWJpbGl0eURhdGEuZ2V0
KCk7IH0KKyAgICB2b2lkIHNldENvbnRlbnRWaXNpYmlsaXR5RGF0YShzdGQ6OnVuaXF1ZV9wdHI8
Q29udGVudFZpc2liaWxpdHlEYXRhPiYmIGRhdGEpIHsgbV9jb250ZW50VmlzaWJpbGl0eURhdGEg
PSBXVEZNb3ZlKGRhdGEpOyB9CisKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogICAgIFN0eWxl
UHJvcGVydHlNYXAqIGF0dHJpYnV0ZVN0eWxlTWFwKCkgeyByZXR1cm4gbV9hdHRyaWJ1dGVTdHls
ZU1hcC5nZXQoKTsgfQogICAgIHZvaWQgc2V0QXR0cmlidXRlU3R5bGVNYXAoUmVmPFN0eWxlUHJv
cGVydHlNYXA+JiYgbWFwKSB7IG1fYXR0cmlidXRlU3R5bGVNYXAgPSBXVEZNb3ZlKG1hcCk7IH0K
QEAgLTE1MSw2ICsxNTQsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5
cGU6OlBhcnROYW1lcyk7CiAgICAgICAgIGlmIChtX25vbmNlKQogICAgICAgICAgICAgcmVzdWx0
LmFkZChVc2VUeXBlOjpOb25jZSk7CisgICAgICAgIGlmIChtX0NvbnRlbnRWaXNpYmlsaXR5RGF0
YSkKKyAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6Q29udGVudFZpc2liaWxpdHkpOwog
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNlbmRpZgpAQCAtMTg0LDYgKzE4OSw4IEBA
IHByaXZhdGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9uY2U7CiAKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8Q29udGVudFZpc2liaWxpdHlEYXRhPiBtX2NvbnRlbnRWaXNpYmlsaXR5RGF0YTsKKwogICAg
IHZvaWQgcmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGMzMzFmYjhlNWE1NTc3MWMzOWEwYjYzMGIxMTA5ZWY5
MzM3YjlhODUuLmNlNTg0ODcyNTY2ZmZjNDQ3MTQ4NTI4ZjVmODNiYWRiNDFjNmE4NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NCw2ICsyNjQsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIFBhcnRMaXN0ID0gMSA8PCAxNiwKICAgICAgICAgUGFydE5hbWVzID0gMSA8PCAxNywKICAg
ICAgICAgTm9uY2UgPSAxIDw8IDE4LAorICAgICAgICBDb250ZW50VmlzaWJpbGl0eT0gMSA8PCAx
OSwKICAgICB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cAppbmRleCBjZjcxNDk1ZmY5ZDI0OWU1YTM1YmE1ZmE0YWUyMDhlOWIwYzVlYWY5Li40MTQyYjc0
MTE5YzkwZWFlZjc1OWVjMGM4MDBmMjczZDhjNDZiMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0SXRlcmF0b3IuY3BwCkBAIC00NTYsNiArNDU2LDE2IEBAIHZvaWQgVGV4dEl0ZXJhdG9y
OjphZHZhbmNlKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBhdXRvIGlzU2tp
cHBlZENvbnRlbnRPclRleHQgPSBbJl0oKSB7CisgICAgICAgIGlmIChpczxFbGVtZW50PihtX25v
ZGUpKQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPmlzU2tp
cHBlZENvbnRlbnQoKTsKKyAgICAgICAgCisgICAgICAgIGlmIChtX25vZGUtPmlzVGV4dE5vZGUo
KSkKKyAgICAgICAgICAgIHJldHVybiBtX25vZGUtPnBhcmVudEVsZW1lbnQoKSA/IG1fbm9kZS0+
cGFyZW50RWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCk6IGZhbHNlOworCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9OworCiAgICAgd2hpbGUgKG1fbm9kZSAmJiBtX25vZGUgIT0gbV9w
YXN0RW5kTm9kZSkgewogICAgICAgICAvLyBpZiB0aGUgcmFuZ2UgZW5kcyBhdCBvZmZzZXQgMCBv
ZiBhbiBlbGVtZW50LCByZXByZXNlbnQgdGhlCiAgICAgICAgIC8vIHBvc2l0aW9uLCBidXQgbm90
IHRoZSBjb250ZW50LCBvZiB0aGF0IGVsZW1lbnQgZS5nLiBpZiB0aGUKQEAgLTQ3Miw3ICs0ODIs
OSBAQCB2b2lkIFRleHRJdGVyYXRvcjo6YWR2YW5jZSgpCiAgICAgICAgICAgICBpZiAoIXJlbmRl
cmVyKSB7CiAgICAgICAgICAgICAgICAgbV9oYW5kbGVkTm9kZSA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgbV9oYW5kbGVkQ2hpbGRyZW4gPSAhaGFzRGlzcGxheUNvbnRlbnRzKCptX25vZGUpOwot
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXM8RWxlbWVudD4o
bV9ub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50PihtX25vZGUpLT5zaG91bGRTa2lwQ29udGVudCgp
KSB7CisgICAgICAgICAgICAgICAgbV9oYW5kbGVkQ2hpbGRyZW4gPSB0cnVlOworICAgICAgICAg
ICAgfSBlbHNlIGlmICghaXNTa2lwcGVkQ29udGVudE9yVGV4dCgpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gaGFuZGxlIGN1cnJlbnQgbm9kZSBhY2NvcmRpbmcgdG8gaXRzIHR5cGUKICAgICAgICAg
ICAgICAgICBpZiAocmVuZGVyZXItPmlzVGV4dCgpICYmIG1fbm9kZS0+aXNUZXh0Tm9kZSgpKQog
ICAgICAgICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gaGFuZGxlVGV4dE5vZGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc5OGZlODZiYzRmMzIw
MjY3MWNkMmQ3MTQ2NjAwMGI2ZWJhYmI2YmYuLjQ1YjRkMDIwODlkMTAyODg1ZDQxMzYxY2IzMDZi
NTQ4OGI5MzdmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApA
QCAtNDg1LDkgKzQ4NSw5IEBAIHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6OndpZHRoKGJvb2wg
aWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogICAgIH0KIAogICAgIGlmIChpZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91
c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgZWxzZQotICAgICAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dCgpOworICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dChE
b2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRl
ckJveCgpOwogICAgIGlmICghYm94KQpAQCAtNDk4LDYgKzQ5OCwxMSBAQCB1bnNpZ25lZCBIVE1M
SW1hZ2VFbGVtZW50Ojp3aWR0aChib29sIGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKIAogdW5z
aWduZWQgSFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKQogeworICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCisgICAgICAgIGRvY3Vt
ZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Q
b3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olll
cyk7CisgICAgZWxzZQorICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6
Rm9yY2VMYXlvdXQ6Olllcyk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpIHsKICAgICAgICAgLy8g
Y2hlY2sgdGhlIGF0dHJpYnV0ZSBmaXJzdCBmb3IgYW4gZXhwbGljaXQgcGl4ZWwgdmFsdWUKICAg
ICAgICAgYXV0byBvcHRpb25hbEhlaWdodCA9IHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcihh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGhlaWdodEF0dHIpKTsKQEAgLTUwOSwxMSAr
NTE0LDYgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wgaWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKQogICAgICAgICAgICAgcmV0dXJuIG1faW1hZ2VMb2FkZXItPmltYWdl
KCktPmltYWdlU2l6ZUZvclJlbmRlcmVyKHJlbmRlcmVyKCksIDEuMGYpLmhlaWdodCgpLnRvVW5z
aWduZWQoKTsKICAgICB9CiAKLSAgICBpZiAoaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQotICAg
ICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwot
ICAgIGVsc2UKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKLQogICAgIFJlbmRl
ckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybiAw
OwpAQCAtNjIxLDcgKzYyMSw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6c2V0V2lkdGgodW5z
aWduZWQgdmFsdWUpCiAKIGludCBIVE1MSW1hZ2VFbGVtZW50Ojp4KCkgY29uc3QKIHsKLSAgICBk
b2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpS
dW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6
Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFy
ZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CkBAIC02MzIsNyArNjMyLDcgQEAgaW50IEhUTUxJ
bWFnZUVsZW1lbnQ6OngoKSBjb25zdAogCiBpbnQgSFRNTEltYWdlRWxlbWVudDo6eSgpIGNvbnN0
CiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
KTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhE
b2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZv
cmNlTGF5b3V0OjpZZXMpOwogICAgIGF1dG8gcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpOwog
ICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lt
YWdlSW5wdXRUeXBlLmNwcAppbmRleCAxYzgwNmI3OTkwMGFiY2E5NmMxZWU0MzczYjk1MWFhMGQ0
MGQ0ZGQyLi4zZmYwODdhYjYwOGM3ZWU1Mzg5ZjBkZWYxMmFhMTJmZTFiYTlkNzY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIHVuc2ln
bmVkIEltYWdlSW5wdXRUeXBlOjpoZWlnaHQoKSBjb25zdAogICAgIEFTU0VSVChlbGVtZW50KCkp
OwogICAgIFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVtZW50KCkpOwog
Ci0gICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBlbGVtZW50LT5k
b2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAg
ICBpZiAoYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAgICAgICByZXR1
cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRlcmVyKS5j
b250ZW50SGVpZ2h0KCksICpyZW5kZXJlcik7CkBAIC0xOTksNyArMTk5LDcgQEAgdW5zaWduZWQg
SW1hZ2VJbnB1dFR5cGU6OndpZHRoKCkgY29uc3QKICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAg
ICBSZWY8SFRNTElucHV0RWxlbWVudD4gZWxlbWVudCgqdGhpcy0+ZWxlbWVudCgpKTsKIAotICAg
IGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7CisgICAgZWxlbWVudC0+ZG9jdW1l
bnQoKS51cGRhdGVMYXlvdXQoRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogCiAgICAgaWYg
KGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIGFk
anVzdEZvckFic29sdXRlWm9vbShkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlcikuY29udGVu
dFdpZHRoKCksICpyZW5kZXJlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlld0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdM
YXlvdXRDb250ZXh0LmNwcAppbmRleCA2OWE0YzIzYzlhMzYxODJjMTcwOWUzN2ExYWI0ZDhlNzQ4
MThmODcxLi41MjJkYmIyYzc0OWRiMGNjMTAxMWVmMGQwODRhN2M3NTdhZTc4NWIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKQEAgLTIzNiw3
ICsyMzYsOCBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCgpCiAjaWYgRU5B
QkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgICAgIGxheW91dFVzaW5nRm9ybWF0
dGluZ0NvbnRleHQoKTsKICNlbmRpZgotICAgICAgICArK21fbGF5b3V0Q291bnQ7CisgICAgICAg
IGlmICghbV9sYXlvdXRGb3JjZWQpCisgICAgICAgICAgICArK21fbGF5b3V0Q291bnQ7CiAjaWYg
RU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICAgICAgYXBwbHlUZXh0U2l6aW5nSWZOZWVkZWQo
KmxheW91dFJvb3QuZ2V0KCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5oCmluZGV4IDZmOWViMWUwOTM4MjRlNmIxYjBmOWE1N2E3NTI1M2Ez
MjRmZWUxZmEuLmRkYzZmMDMwZjMxMmM4YjA4NThjYTY0ZWFkOWU1MTZhNjMyNGYzOGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCkBAIC04NCw2ICs4
NCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzSW5MYXlvdXQoKSBjb25zdCB7IHJldHVybiBsYXlv
dXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpPdXRzaWRlTGF5b3V0OyB9CiAgICAgYm9vbCBpc0lu
UmVuZGVyVHJlZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgPT0gTGF5b3V0
UGhhc2U6OkluUmVuZGVyVHJlZUxheW91dDsgfQogICAgIGJvb2wgaW5QYWludGFibGVTdGF0ZSgp
IGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluUmVuZGVyVHJl
ZUxheW91dCAmJiBsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblZpZXdTaXplQWRqdXN0
ICYmIChsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblBvc3RMYXlvdXQgfHwgaW5Bc3lu
Y2hyb25vdXNUYXNrcygpKTsgfQorICAgIGJvb2wgaXNMYXlvdXRGb3JjZWQoKSBjb25zdCB7IHJl
dHVybiBtX2xheW91dEZvcmNlZDsgfQorICAgIHZvaWQgc2V0TGF5b3V0Rm9yY2VkKGJvb2wgZikg
eyBtX2xheW91dEZvcmNlZCA9IGY7IH0KIAogICAgIHVuc2lnbmVkIGxheW91dENvdW50KCkgY29u
c3QgeyByZXR1cm4gbV9sYXlvdXRDb3VudDsgfQogCkBAIC0xNzksNiArMTgxLDcgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fbmVlZHNGdWxsUmVwYWludCB7IHRydWUgfTsKICAgICBib29sIG1faW5B
c3luY2hyb25vdXNUYXNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NldE5lZWRzTGF5b3V0V2Fz
RGVmZXJyZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9sYXlvdXRGb3JjZWQgeyBmYWxzZSB9Owog
ICAgIExheW91dFBoYXNlIG1fbGF5b3V0UGhhc2UgeyBMYXlvdXRQaGFzZTo6T3V0c2lkZUxheW91
dCB9OwogICAgIGVudW0gY2xhc3MgTGF5b3V0TmVzdGVkU3RhdGUgOiB1aW50OF90ICB7IE5vdElu
TGF5b3V0LCBOb3ROZXN0ZWQsIE5lc3RlZCB9OwogICAgIExheW91dE5lc3RlZFN0YXRlIG1fbGF5
b3V0TmVzdGVkU3RhdGUgeyBMYXlvdXROZXN0ZWRTdGF0ZTo6Tm90SW5MYXlvdXQgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCmluZGV4
IGI1YTIzN2U4MTQyZWQ3YjIzN2FiNDQ1M2RlYjY1ZTMzYmY0Yzc2MTguLmRlZjYxMzQzNzZiMzYy
ZTM4M2ZmYmNmY2I5NzU1YzVmYTQyMmM2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcApAQCAtNDEsNiArNDEsOCBAQCBJbnRlcnNl
Y3Rpb25PYnNlcnZlckVudHJ5OjpJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KGNvbnN0IEluaXQm
IGluaXQpCiB7CiAgICAgaWYgKGluaXQucm9vdEJvdW5kcykKICAgICAgICAgbV9yb290Qm91bmRz
ID0gRE9NUmVjdFJlYWRPbmx5Ojpmcm9tUmVjdCgqaW5pdC5yb290Qm91bmRzKTsKKyAgICBpZiAo
bV90YXJnZXQgJiYgbV90YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgbV9pc0lu
dGVyc2VjdGluZyA9IGZhbHNlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCmluZGV4IGViY2E3ZTMzYmQxN2EwNjUy
ZGRlYTA4Y2Q0ZTViYWFkY2Y2YzllYWYuLmQ4ZGVmM2ExNGQ1MDczYmFhMTBlYzkwZWM0YzFmMDNl
ODdhMWQ3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCkBA
IC01MSwyNCArNTEsMjYgQEAgdm9pZCBSZXNpemVPYnNlcnZhdGlvbjo6dXBkYXRlT2JzZXJ2YXRp
b25TaXplKGNvbnN0IEJveFNpemVzJiBib3hTaXplcykKICAgICBtX2xhc3RPYnNlcnZhdGlvblNp
emVzID0gYm94U2l6ZXM7CiB9CiAKLWF1dG8gUmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVPYnNl
cnZlZFNpemVzKCkgY29uc3QgLT4gQm94U2l6ZXMKK3N0ZDo6b3B0aW9uYWw8UmVzaXplT2JzZXJ2
YXRpb246OkJveFNpemVzPiBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMo
KSBjb25zdAogewogICAgIGlmIChtX3RhcmdldC0+aXNTVkdFbGVtZW50KCkpIHsKICAgICAgICAg
aWYgKGF1dG8gc3ZnUmVjdCA9IGRvd25jYXN0PFNWR0VsZW1lbnQ+KCptX3RhcmdldCkuZ2V0Qm91
bmRpbmdCb3goKSkgewogICAgICAgICAgICAgYXV0byBzaXplID0gTGF5b3V0U2l6ZShzdmdSZWN0
LT53aWR0aCgpLCBzdmdSZWN0LT5oZWlnaHQoKSk7Ci0gICAgICAgICAgICByZXR1cm4geyBzaXpl
LCBzaXplLCBzaXplIH07CisgICAgICAgICAgICByZXR1cm4gQm94U2l6ZXMgeyBzaXplLCBzaXpl
LCBzaXplIH07CiAgICAgICAgIH0KICAgICB9CiAgICAgYXV0byogYm94ID0gbV90YXJnZXQtPnJl
bmRlckJveCgpOwogICAgIGlmIChib3gpIHsKLSAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgaWYg
KG1fdGFyZ2V0LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworICAgICAgICByZXR1cm4gQm94U2l6ZXMgewogICAgICAgICAgICAgYWRqdXN0TGF5
b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRTaXplKCksICpib3gpLAogICAgICAg
ICAgICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRMb2dpY2Fs
U2l6ZSgpLCAqYm94KSwKICAgICAgICAgICAgIGFkanVzdExheW91dFNpemVGb3JBYnNvbHV0ZVpv
b20oYm94LT5ib3JkZXJCb3hMb2dpY2FsU2l6ZSgpLCAqYm94KQogICAgICAgICB9OwogICAgIH0K
IAotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIEJveFNpemVzIHsgfTsKIH0KIAogTGF5b3V0
UG9pbnQgUmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVUYXJnZXRMb2NhdGlvbigpIGNvbnN0CkBA
IC0xMDQsMTUgKzEwNiwxNyBAQCBGbG9hdFNpemUgUmVzaXplT2JzZXJ2YXRpb246OnNuYXBwZWRD
b250ZW50Qm94U2l6ZSgpIGNvbnN0CiBzdGQ6Om9wdGlvbmFsPFJlc2l6ZU9ic2VydmF0aW9uOjpC
b3hTaXplcz4gUmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCgpIGNvbnN0CiB7
CiAgICAgYXV0byBjdXJyZW50U2l6ZXMgPSBjb21wdXRlT2JzZXJ2ZWRTaXplcygpOworICAgIGlm
ICghY3VycmVudFNpemVzKQorICAgICAgICByZXR1cm4gY3VycmVudFNpemVzOwogCiAgICAgc3dp
dGNoIChtX29ic2VydmVkQm94KSB7CiAgICAgY2FzZSBSZXNpemVPYnNlcnZlckJveE9wdGlvbnM6
OkJvcmRlckJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuYm9yZGVyQm94
TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLmJvcmRlckJveExvZ2ljYWxTaXplKQotICAgICAg
ICAgICAgcmV0dXJuIGN1cnJlbnRTaXplczsKKyAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9u
U2l6ZXMuYm9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5ib3JkZXJCb3hMb2dp
Y2FsU2l6ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVudFNpemVzOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9uczo6Q29udGVudEJveDoKLSAgICAg
ICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVudEJveExvZ2ljYWxTaXplICE9IGN1
cnJlbnRTaXplcy5jb250ZW50Qm94TG9naWNhbFNpemUpCi0gICAgICAgICAgICByZXR1cm4gY3Vy
cmVudFNpemVzOworICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXplcy5jb250ZW50Qm94
TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5jb250ZW50Qm94TG9naWNhbFNpemUpCisgICAg
ICAgICAgICByZXR1cm4gKmN1cnJlbnRTaXplczsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgKaW5kZXggNjhiMWMyYTk3NGU2NTMx
MjVlOTI4ZmQ0ODgyMTBmNWMyZGYwZDcxMy4uODA1NTRmYzA4ZGZmMGVmMWM5YWRlNTc4NmNlODE1
YTVlMmYxODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaApAQCAt
NjQsNyArNjQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlc2l6ZU9ic2VydmF0aW9uKEVs
ZW1lbnQmLCBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMpOwogCi0gICAgQm94U2l6ZXMgY29tcHV0
ZU9ic2VydmVkU2l6ZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEJveFNpemVzPiBjb21w
dXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0OwogICAgIExheW91dFBvaW50IGNvbXB1dGVUYXJnZXRM
b2NhdGlvbigpIGNvbnN0OwogCiAgICAgV2Vha1B0cjxFbGVtZW50PiBtX3RhcmdldDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDMyYjQ2M2NhMDVlOTg3ZDI2
ZDM3ZjBjZGY2YjY2NDczZjc2Mzk4NmEuLjE5NjQ2NmFmMGViYjNlODdlOTIxYTYzZTQ4MWRlZDEx
MTdlMzQ2OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAt
NjQ4LDYgKzY0OCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKGJvb2wsIExheW91
dFVuaXQpCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCkKIHsK
KyAgICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91
dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICByZXR1cm47CiAgICAgaWYgKGNo
aWxkcmVuSW5saW5lKCkpCiAgICAgICAgIGFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKCk7
CiAgICAgZWxzZQpAQCAtNzM5LDYgKzc0MSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbUJsb2NrQ2hpbGRyZW4oKQogCiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zy
b21Qb3NpdGlvbmVkT2JqZWN0cygpCiB7CisgICAgaWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYg
IXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAg
ICAgICAgcmV0dXJuOwogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBwb3NpdGlvbmVk
RGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAgIGlmICghcG9zaXRpb25lZERl
c2NlbmRhbnRzKQogICAgICAgICByZXR1cm47CkBAIC0xMDY3LDEwICsxMDcxLDEzIEBAIHZvaWQg
UmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3QoUmVuZGVyQm94JiByLCBib29sIHJl
bGF5b3V0Q2hpbGRyZW4sIGJvCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRP
YmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09u
bHkpCiB7CisgICAgaWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXco
KS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQqIHBvc2l0aW9uZWREZXNjZW5kYW50cyA9IHBv
c2l0aW9uZWRPYmplY3RzKCk7CiAgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2VuZGFudHMpCiAgICAg
ICAgIHJldHVybjsKLSAgICAKKwogICAgIC8vIERvIG5vdCBjYWNoZSBwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMtPmVuZCgpIGluIGEgbG9jYWwgdmFyaWFibGUsIHNpbmNlIHxwb3NpdGlvbmVkRGVzY2Vu
ZGFudHN8IGNhbiBiZSBtdXRhdGVkCiAgICAgLy8gYXMgaXQgaXMgd2Fsa2VkLiBXZSBhbHdheXMg
bmVlZCB0byBmZXRjaCB0aGUgbmV3IGVuZCgpIHZhbHVlIGR5bmFtaWNhbGx5LgogICAgIGZvciAo
YXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKTsgaXQgIT0gcG9zaXRpb25l
ZERlc2NlbmRhbnRzLT5lbmQoKTsgKytpdCkKQEAgLTExMzMsNyArMTE0MCw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50Q29udGVudHMoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW50JiBwYWludE9mCiAgICAgLy8gU3R5bGUgaXMgbm9uLWZpbmFsIGlmIHRoZSBlbGVtZW50
IGhhcyBhIHBlbmRpbmcgc3R5bGVzaGVldCBiZWZvcmUgaXQuIFdlIGVuZCB1cCB3aXRoIHJlbmRl
cmVycyB3aXRoIHN1Y2ggc3R5bGVzIGlmIGEgc2NyaXB0CiAgICAgLy8gZm9yY2VzIHJlbmRlcmVy
IGNvbnN0cnVjdGlvbiBieSBxdWVyeWluZyBzb21ldGhpbmcgbGF5b3V0IGRlcGVuZGVudC4KICAg
ICAvLyBBdm9pZCBGT1VDIGJ5IG5vdCBwYWludGluZy4gU3dpdGNoaW5nIHRvIGZpbmFsIHN0eWxl
IHRyaWdnZXJzIHJlcGFpbnQuCi0gICAgaWYgKHN0eWxlKCkuaXNOb3RGaW5hbCgpKQorICAgIGlm
IChzdHlsZSgpLmlzTm90RmluYWwoKSB8fCBzaG91bGRTa2lwQ29udGVudCgpKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKQEAgLTEyMzYsNiArMTI0Myw5IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzCiB7CiAgICAgUGFpbnRQaGFzZSBwYWludFBoYXNlID0g
cGFpbnRJbmZvLnBoYXNlOwogCisgICAgaWYgKGVsZW1lbnQoKSAmJiBlbGVtZW50KCktPmlzU2tp
cHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgLy8gMS4gcGFpbnQgYmFja2dy
b3VuZCwgYm9yZGVycyBldGMKICAgICBpZiAoKHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZTo6Qmxv
Y2tCYWNrZ3JvdW5kIHx8IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZTo6Q2hpbGRCbG9ja0JhY2tn
cm91bmQpICYmIHN0eWxlKCkudmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OlZpc2libGUpIHsK
ICAgICAgICAgaWYgKGhhc1Zpc2libGVCb3hEZWNvcmF0aW9ucygpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA5MDc0ZjU3YzAyZmZlMzU2M2E0
YWNhMTRkMDcxYjJjNjY4YzkwYjg1Li41MWJhZjk3YjliYWMyM2I1NzA1NjVhMTA2NWU3NTNiY2Zi
YWY1MGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tG
bG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNw
cApAQCAtNTI3LDEwICs1MjcsMTQgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dEJsb2Nr
KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEgKICAgICAgICAg
aWYgKCFmaXJzdENoaWxkKCkgJiYgIWlzQW5vbnltb3VzQmxvY2soKSkKICAgICAgICAgICAgIHNl
dENoaWxkcmVuSW5saW5lKHRydWUpOwogICAgICAgICBkaXJ0eUZvckxheW91dEZyb21QZXJjZW50
YWdlSGVpZ2h0RGVzY2VuZGFudHMoKTsKLSAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCi0g
ICAgICAgICAgICBsYXlvdXRJbmxpbmVDaGlsZHJlbihyZWxheW91dENoaWxkcmVuLCByZXBhaW50
TG9naWNhbFRvcCwgcmVwYWludExvZ2ljYWxCb3R0b20pOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBsYXlvdXRCbG9ja0NoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIG1heEZsb2F0TG9naWNh
bEJvdHRvbSk7CisgICAgICAgIGlmICghc2hvdWxkU2tpcENvbnRlbnQoKSB8fCB2aWV3KCkuZnJh
bWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpIHsKKyAgICAgICAgICAg
IGlmICh2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkg
JiYgKChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpIHx8IHNob3Vs
ZFNraXBDb250ZW50KCkpKQorICAgICAgICAgICAgICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVl
OworICAgICAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAgICAgICAgbGF5
b3V0SW5saW5lQ2hpbGRyZW4ocmVsYXlvdXRDaGlsZHJlbiwgcmVwYWludExvZ2ljYWxUb3AsIHJl
cGFpbnRMb2dpY2FsQm90dG9tKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBs
YXlvdXRCbG9ja0NoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIG1heEZsb2F0TG9naWNhbEJvdHRv
bSk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvLyBFeHBhbmQgb3VyIGludHJpbnNpYyBoZWln
aHQgdG8gZW5jb21wYXNzIGZsb2F0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGI3YzYwMTZiZDRhOTAzYmIxMzAxOGI3NDM3
ZTA0NjQzNzBmNGM3NjMuLjRhZDI1OWFlYmM0Yzc2ZWJlZTExOGRhYTNmZjVhZjk5OGM0MzY4MmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcApAQCAtMjEyLDYgKzIxMiw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0
ZUZyb21TdHlsZSgpCiAgICAgaWYgKHN0eWxlVG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01v
ZGUoKSkKICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRl
cmVycyh0cnVlKTsKICAgICBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQoKnRoaXMpKTsKKyAgICBzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMo
KCFpc0lubGluZSgpIHx8IGlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIWlzUnVieVRleHQo
KSAmJiAoIWlzVGFibGVQYXJ0KCkgfHwgaXNSZW5kZXJCbG9ja0Zsb3coKSkpOwogfQogCiBzdGF0
aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZzZXRzKGNvbnN0IFJlbmRl
ck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKaW5kZXggNGU3NTlkN2YyNTBhZjk4YTQ4MDY0ZTQ2Njc3NzNlNzY4MzVmYjlhMS4uOWRmY2E3
NzZlNzQ3NDM2ZWUzMDFlYzA3MDlmMGJmYjVlZjMzZTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMjQzNyw0ICsyNDM3LDExIEBAIE92ZXJmbG93
IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0CiAgICAgcmV0dXJuIG92
ZXJmbG93WTsKIH0KIAorYm9vbCBSZW5kZXJFbGVtZW50OjpzaG91bGRTa2lwQ29udGVudCgpIGNv
bnN0Cit7CisgICAgaWYgKCFsYXlvdXRDb250YWlubWVudEFwcGxpZXMoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiBlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5zaG91bGRTa2lw
Q29udGVudCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aAppbmRleCBmMzc2Y2VjYjk3NWNhNzE5ZmRmNjc2ZTVhYzBmYjk1ZDhlMmVkMjIwLi5iMTEzZmZj
Y2RhMjU4ODQzNjA4NWEyZDZhMDIyYzZlMGVkY2IzZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTE2NSw2ICsxNjUsOSBAQCBwdWJsaWM6CiAgICAgICAg
IGlmIChzdHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgp
LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAg
ICAgaWYgKCghaGl0VGVzdFJlcXVlc3QgfHwgIWhpdFRlc3RSZXF1ZXN0LT5pZ25vcmVDU1NQb2lu
dGVyRXZlbnRzUHJvcGVydHkoKSkgJiYgc3R5bGUoKS5wb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRl
ckV2ZW50czo6Tm9uZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjc0LDYgKzI3
Nyw4IEBAIHB1YmxpYzoKICAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3ZlcmZsb3dZKCk7IH0KICAgICBPdmVy
ZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5
bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgOiBl
ZmZlY3RpdmVPdmVyZmxvd1goKTsgfQogCisgICAgYm9vbCBzaG91bGRTa2lwQ29udGVudCgpIGNv
bnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGUyYjRiMDlmNTdkZWIzYTQ1OThmM2JkMGNlNjczNGIw
OTc1YjFjNTIuLjIyYmU1Mzc3YWVkZTlkMzZhMTYxZjQ4YzdjMDNmNmE5OGE1NzAwNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBAIC0yMjgsNiArMjI4LDgg
QEAgYm9vbCBSZW5kZXJJbmxpbmU6Om1heUFmZmVjdExheW91dCgpIGNvbnN0CiAKIHZvaWQgUmVu
ZGVySW5saW5lOjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQm
IHBhaW50T2Zmc2V0KQogeworICAgIGlmIChzaG91bGRTa2lwQ29udGVudCgpIHx8IChlbGVtZW50
KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpKQorICAgICAgICByZXR1cm47CiAg
ICAgbV9saW5lQm94ZXMucGFpbnQodGhpcywgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGZmYWRkMDFkZjRk
MGNiNWM1MWE5YjIxNThhMzI5OGNmMDU0YmQwMTMuLmYyZTcwZjIzMmMzOTFjOWQ0MDViYTJlMWU0
ZjEyMjljYTg2OWMxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtMzAzNiw2ICszMDM2LDkgQEAgc3RhdGljIGlubGluZSBib29sIHBhaW50Rm9yRml4ZWRS
b290QmFja2dyb3VuZChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIE9wdGlvblMKIAogdm9pZCBS
ZW5kZXJMYXllcjo6cGFpbnRMYXllcihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExh
eWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0luZm8sIE9wdGlvblNldDxQYWludExheWVyRmxhZz4g
cGFpbnRGbGFncykKIHsKKyAgICBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIo
KS5lbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAg
YXV0byBzaG91bGRDb250aW51ZVBhaW50ID0gWyZdICgpIHsKICAgICAgICAgcmV0dXJuIGJhY2tp
bmcoKS0+cGFpbnRzSW50b1dpbmRvdygpCiAgICAgICAgICAgICB8fCBiYWNraW5nKCktPnBhaW50
c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKQpAQCAtMzMwOCw2ICszMzExLDkgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29u
c3QgTGF5ZXJQYWludGkKIHsKICAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhh
c1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKIAorICAgIC8vIGlmIChyZW5kZXJlcigp
LmVsZW1lbnQoKSAmJiByZW5kZXJlcigpLmVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQor
ICAgIC8vICAgICByZXR1cm47CisKICAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVs
UGFpbnQoKSAmJiBjb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSkKICAgICAgICAgcmV0
dXJuOwogCkBAIC0zNTU3LDcgKzM1NjMsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExpc3Qo
TGF5ZXJMaXN0IGxheWVySXRlcmF0b3IsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgYwogICAg
IGlmIChsYXllckl0ZXJhdG9yLmJlZ2luKCkgPT0gbGF5ZXJJdGVyYXRvci5lbmQoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKCFoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkK
KyAgICBpZiAoIWhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpIHx8IHJlbmRlcmVyKCku
c2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAjaWYgQVNTRVJUX0VOQUJM
RUQKQEAgLTQwMzcsNiArNDA0Myw4IEBAIFZlY3RvcjxSZW5kZXJMYXllcio+IFJlbmRlckxheWVy
Ojp0b3BMYXllclJlbmRlckxheWVycyhSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIFZlY3Rv
cjxSZW5kZXJMYXllcio+IGxheWVyczsKICAgICBhdXRvIHRvcExheWVyRWxlbWVudHMgPSByZW5k
ZXJWaWV3LmRvY3VtZW50KCkudG9wTGF5ZXJFbGVtZW50cygpOwogICAgIGZvciAoYXV0byYgZWxl
bWVudCA6IHRvcExheWVyRWxlbWVudHMpIHsKKyAgICAgICAgaWYgKGVsZW1lbnQtPmlzU2tpcHBl
ZENvbnRlbnQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBhdXRvKiByZW5kZXJl
ciA9IGVsZW1lbnQtPnJlbmRlcmVyKCk7CiAgICAgICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAg
ICAgICBjb250aW51ZTsKQEAgLTQ0NTQsNiArNDQ2Miw5IEBAIFJlbmRlckxheWVyKiBSZW5kZXJM
YXllcjo6aGl0VGVzdExpc3QoTGF5ZXJMaXN0IGxheWVySXRlcmF0b3IsIFJlbmRlckxheWVyKiBy
b290CiAgICAgaWYgKCFoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKKyAgICBpZiAocmVuZGVyZXIoKS5zaG91bGRTa2lwQ29udGVudCgp
KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIFJlbmRlckxheWVyKiByZXN1bHRMYXll
ciA9IG51bGxwdHI7CiAKICAgICBmb3IgKGF1dG8gaXRlciA9IGxheWVySXRlcmF0b3IucmJlZ2lu
KCk7IGl0ZXIgIT0gbGF5ZXJJdGVyYXRvci5yZW5kKCk7ICsraXRlcikgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA5YWY1ZmIwNWQx
MzYxYmJlMzAxYmZhODI2YzIyMzlmYzUxYzc4MTFiLi43Njk5MjY5OGYwM2VkMzQ5YWUzZTczN2Y2
NjRjYzE1NDQ3NjYyYTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmNwcApAQCAtMTYwNSw3ICsxNjA1LDggQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUFmdGVyRGVzY2VuZGFudHMoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXIt
PnNldENvbnRlbnRzT3BhcXVlKCFtX2hhc1N1YnBpeGVsUm91bmRpbmcgJiYgbV9vd25pbmdMYXll
ci5iYWNrZ3JvdW5kSXNLbm93blRvQmVPcGFxdWVJblJlY3QoY29tcG9zaXRlZEJvdW5kcygpKSk7
CiAgICAgfQogCi0gICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1Zpc2libGUobV9vd25p
bmdMYXllci5oYXNWaXNpYmxlQ29udGVudCgpIHx8IGhhc1Zpc2libGVOb25Db21wb3NpdGVkRGVz
Y2VuZGFudHMoKSk7CisgICAgYm9vbCBpc1NraXBwZWRDb250ZW50ID0gcmVuZGVyZXIoKS5lbGVt
ZW50KCkgPyByZW5kZXJlcigpLmVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpIDogZmFsc2U7
CisgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1Zpc2libGUoIWlzU2tpcHBlZENvbnRl
bnQgJiYgKG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNvbnRlbnQoKSB8fCBoYXNWaXNpYmxlTm9u
Q29tcG9zaXRlZERlc2NlbmRhbnRzKCkpKTsKICAgICBpZiAobV9zY3JvbGxDb250YWluZXJMYXll
cikgewogICAgICAgICBtX3Njcm9sbENvbnRhaW5lckxheWVyLT5zZXRDb250ZW50c1Zpc2libGUo
cmVuZGVyZXIoKS5zdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QuY3BwCmluZGV4IDhkOTkwZjFkNTMxYmU2M2YyYjI1ZDA2MTQ1ZmIxMzFjNDEwMDcyNmMuLmYw
ZjE4ZTExODc2YmY3OTA1MmQ0MTM2NzRiNDFkYzIxOTI3OGZiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTI1LDYg
KzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllck1vZGVs
T2JqZWN0LmgiCiAKKyNpbmNsdWRlICJEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQmFja2luZy5oIgog
I2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgpAQCAtMTE0LDYgKzExNSwxMiBAQCB2
b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSBkaWZmLCBjb25zdCBSZW5kZXJTdAogICAgIFJlbmRlckVsZW1lbnQ6OnN0eWxlRGlkQ2hhbmdl
KGRpZmYsIG9sZFN0eWxlKTsKICAgICB1cGRhdGVGcm9tU3R5bGUoKTsKIAorICAgIGlmIChlbGVt
ZW50KCkgJiYgKChvbGRTdHlsZSAmJiBvbGRTdHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSAhPSBz
dHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkpIHx8ICghb2xkU3R5bGUgJiYgc3R5bGUoKS5jb250
ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlKSkpIHsKKyAgICAg
ICAgZWxlbWVudCgpLT51cGRhdGVDb250ZW50VmlzaWJpbGl0eShvbGRTdHlsZSA/IHN0ZDo6b3B0
aW9uYWw8Q29udGVudFZpc2liaWxpdHk+KG9sZFN0eWxlLT5jb250ZW50VmlzaWJpbGl0eSgpKSA6
IHN0ZDo6bnVsbG9wdCwgc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKTsKKyAgICAgICAgaWYg
KHN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJs
ZSkKKyAgICAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMo
KTsKKyAgICB9CisKICAgICBpZiAocmVxdWlyZXNMYXllcigpKSB7CiAgICAgICAgIGlmICghbGF5
ZXIoKSAmJiBsYXllckNyZWF0aW9uQWxsb3dlZEZvclN1YnRyZWUoKSkgewogICAgICAgICAgICAg
aWYgKHNfd2FzRmxvYXRpbmcgJiYgaXNGbG9hdGluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBiNGI2NzEwMmRmZTc0ZGY1ZWFiMTVjMjBmZTRlZGM1
NjE1MmFjM2YzLi5kNTIwMWQ3MzgyMDFlM2JmMmQ0ZWNmZDE3NmM2OWMwM2NiMTRkMjcyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDU0LDYgKzQ1NCw5
IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJl
Y3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpCiAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9
PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCisgICAgaWYgKGlzPEVsZW1lbnQ+KG5vZGUoKSkgJiYgZG93bmNhc3Q8RWxlbWVudD4oKm5v
ZGUoKSkuaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBS
ZW5kZXJMYXllciogZW5jbG9zaW5nTGF5ZXIgPSB0aGlzLT5lbmNsb3NpbmdMYXllcigpOwogICAg
IGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE5ODYsNiAr
MTk4OSwxMiBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMo
Ym9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcykKICAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5z
ZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhwYWludENvbnRhaW5tZW50QXBwbGllcyk7CiB9CiAK
K3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoYm9vbCBsYXlv
dXRDb250YWlubWVudEFwcGxpZXMpCit7CisgICAgaWYgKGxheW91dENvbnRhaW5tZW50QXBwbGll
cyB8fCBoYXNSYXJlRGF0YSgpKQorICAgICAgICBlbnN1cmVSYXJlRGF0YSgpLnNldExheW91dENv
bnRhaW5tZW50QXBwbGllcyhsYXlvdXRDb250YWlubWVudEFwcGxpZXMpOworfQorCiBSZW5kZXJP
YmplY3Q6OlJhcmVEYXRhTWFwJiBSZW5kZXJPYmplY3Q6OnJhcmVEYXRhTWFwKCkKIHsKICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmFyZURhdGFNYXA+IG1hcDsKQEAgLTIwMTUsNiArMjAyNCw3
IEBAIFJlbmRlck9iamVjdDo6UmVuZGVyT2JqZWN0UmFyZURhdGE6OlJlbmRlck9iamVjdFJhcmVE
YXRhKCkKICAgICAsIG1faXNSZW5kZXJGcmFnbWVudGVkRmxvdyhmYWxzZSkKICAgICAsIG1faGFz
T3V0bGluZUF1dG9BbmNlc3RvcihmYWxzZSkKICAgICAsIG1fcGFpbnRDb250YWlubWVudEFwcGxp
ZXMoZmFsc2UpCisgICAgLCBtX2xheW91dENvbnRhaW5tZW50QXBwbGllcyhmYWxzZSkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGQwZjRjZWM0YmFk
YzUyYTZlNzRhMGZjODFiNzgwZjJkMjUzYWJmNjkuLjk0MDc1M2YxY2E0ZGNlNWRlYzA5MjZhNDVi
NjI1Y2YxYWYwOTI1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
QEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlbmRlckZyYWdtZW50ZWRG
bG93KCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0
YSgpLmlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKTsgfQogICAgIGJvb2wgaGFzT3V0bGluZUF1dG9B
bmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFy
ZURhdGEoKS5oYXNPdXRsaW5lQXV0b0FuY2VzdG9yKCk7IH0KICAgICBib29sIHBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAm
JiByYXJlRGF0YSgpLnBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KKyAgICBib29sIGxheW91
dENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVE
YXRhKCkgJiYgcmFyZURhdGEoKS5sYXlvdXRDb250YWlubWVudEFwcGxpZXMoKTsgfQogCiAgICAg
Ym9vbCBpc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0Zmll
bGRzLmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCk7IH0KICAgICB2b2lkIHNldElzRXhjbHVk
ZWRGcm9tTm9ybWFsTGF5b3V0KGJvb2wgZXhjbHVkZWQpIHsgbV9iaXRmaWVsZHMuc2V0SXNFeGNs
dWRlZEZyb21Ob3JtYWxMYXlvdXQoZXhjbHVkZWQpOyB9CkBAIC01MTUsNiArNTE2LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNSZW5kZXJGcmFnbWVudGVkRmxvdyhib29sID0gdHJ1ZSk7CiAg
ICAgdm9pZCBzZXRIYXNPdXRsaW5lQXV0b0FuY2VzdG9yKGJvb2wgPSB0cnVlKTsKICAgICB2b2lk
IHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgPSB0cnVlKTsKKyAgICB2b2lkIHNldExh
eW91dENvbnRhaW5tZW50QXBwbGllcyhib29sID0gdHJ1ZSk7CiAKICAgICAvLyBIb29rIHNvIHRo
YXQgUmVuZGVyVGV4dENvbnRyb2wgY2FuIHJldHVybiB0aGUgbGluZSBoZWlnaHQgb2YgaXRzIGlu
bmVyIHJlbmRlcmVyLgogICAgIC8vIEZvciBvdGhlciByZW5kZXJlcnMsIHRoZSB2YWx1ZSBpcyB0
aGUgc2FtZSBhcyBsaW5lSGVpZ2h0KGZhbHNlKS4KQEAgLTk0NCw2ICs5NDYsNyBAQCBwcml2YXRl
OgogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChpc1JlbmRlckZyYWdtZW50ZWRGbG93LCBJ
c1JlbmRlckZyYWdtZW50ZWRGbG93KTsKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFz
T3V0bGluZUF1dG9BbmNlc3RvciwgSGFzT3V0bGluZUF1dG9BbmNlc3Rvcik7CiAgICAgICAgIEFE
RF9CT09MRUFOX0JJVEZJRUxEKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzLCBQYWludENvbnRhaW5t
ZW50QXBwbGllcyk7CisgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGxheW91dENvbnRhaW5t
ZW50QXBwbGllcywgTGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKTsKIAogICAgICAgICAvLyBGcm9t
IFJlbmRlckVsZW1lbnQKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjYWNo
ZWRGaXJzdExpbmVTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuY3BwCmluZGV4IGU5NjM3ZWViZTIwNjA5YWUwYzVkMmIxZDZmNmIzZTYxYmM5ZjEyOTguLjU3
MzI2NDhmNjYyYWNmMjk2ODZmN2MyNWFkODc5MWYyYjI5ZmIxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtMjU5LDcgKzI1OSw4IEBAIHZvaWQg
UmVuZGVyUmVwbGFjZWQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQ
b2ludCYgcGFpbnRPZmZzZXQpCiAgICAgfQogCiAgICAgaWYgKCFjb21wbGV0ZWx5Q2xpcHBlZE91
dCkgewotICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNl
dCk7CisgICAgICAgIGlmICghc2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgICAgIHBhaW50
UmVwbGFjZWQocGFpbnRJbmZvLCBhZGp1c3RlZFBhaW50T2Zmc2V0KTsKIAogICAgICAgICBpZiAo
c3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0
KCkucmVzdG9yZSgpOwpAQCAtMjk5LDcgKzMwMCw3IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNo
b3VsZFBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRP
CiAgICAgLy8gaWYgd2UncmUgaW52aXNpYmxlIG9yIGhhdmVuJ3QgcmVjZWl2ZWQgYSBsYXlvdXQg
eWV0LCB0aGVuIGp1c3QgYmFpbC4KICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlz
aWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAorCiAgICAgTGF5
b3V0UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9IHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKTsK
IAogICAgIC8vIEVhcmx5IGV4aXQgaWYgdGhlIGVsZW1lbnQgdG91Y2hlcyB0aGUgZWRnZXMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggYWFmZDlkY2QwNTY4Mzlm
ODc3YjkzNjcxNmFkZGI2YmMwY2VhM2IyZC4uNGU0YWJhZDlmYTk5NTMzNzkyNzM2OGFmYTkyOTQ3
MmVlMjgxYTZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAt
MTc2LDcgKzE3Niw3IEBAIHZvaWQgUmVuZGVyVmlldzo6bGF5b3V0KCkKICAgICB9CiAKICAgICBB
U1NFUlQoIWZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpKTsKLSAgICBp
ZiAoIW5lZWRzTGF5b3V0KCkpCisgICAgaWYgKCFuZWVkc0xheW91dCgpICYmICFmcmFtZVZpZXco
KS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKCp0aGlzLCB7IH0sIGZhbHNlLCB2
YWx1ZU9yRGVmYXVsdChtX3BhZ2VMb2dpY2FsU2l6ZSkuaGVpZ2h0KCksIG1fcGFnZUxvZ2ljYWxI
ZWlnaHRDaGFuZ2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJXaWRnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAK
aW5kZXggNmRmZTgwYTI2MjgxYjljZTYyOTlkYmY2MWU2MDYyN2RkNTY2ZThjNy4uYTkzMGUyNTJh
YzRmMzBhZTQ5Y2Q3YjA5NjFlMjg5YzE4MDY1MDE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcldpZGdldC5jcHAKQEAgLTMyMiw3ICszMjIsNyBAQCB2b2lkIFJlbmRlcldpZGdl
dDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9m
ZnNldCkKICAgICAgICAgY2xpcFJvdW5kZWRJbm5lclJlY3QocGFpbnRJbmZvLmNvbnRleHQoKSwg
Ym9yZGVyUmVjdCwgcm91bmRlZElubmVyUmVjdCk7CiAgICAgfQogCi0gICAgaWYgKG1fd2lkZ2V0
KQorICAgIGlmIChtX3dpZGdldCAmJiAhc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAgcGFp
bnRDb250ZW50cyhwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKIAogICAgIGlmIChzdHlsZSgpLmhh
c0JvcmRlclJhZGl1cygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKaW5kZXggZThmNDRmNTIwZDc4NmU4YTZiNGUyOGEyYmVhMTg1OWU2Zjk3OGY2
Ny4uMzI0YTg1NjhkMTNmOWU4OTViN2IxZWY4NGEzZjBjMjUzNjU4NWNkYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC03NDcsNiArNzQ3
LDkgQEAgc3RhdGljIGJvb2wgcmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VSZXF1aXJlc0xheW91
dChjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWQKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogCisgICAgaWYgKGZpcnN0LmNvbnRlbnRWaXNpYmlsaXR5ICE9IHNlY29uZC5jb250ZW50Vmlz
aWJpbGl0eSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoZmlyc3QuaW5wdXRTZWN1
cml0eSAhPSBzZWNvbmQuaW5wdXRTZWN1cml0eSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAg
LTEwNTYsNiArMTA1OSw5IEBAIHN0YXRpYyBib29sIHJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdl
UmVxdWlyZXNSZXBhaW50KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlCiAgICAgaWYgKGZpcnN0
LnNoYXBlT3V0c2lkZSAhPSBzZWNvbmQuc2hhcGVPdXRzaWRlKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAorICAgIGlmIChmaXJzdC5jb250ZW50VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZp
c2liaWxpdHkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgLy8gRklYTUU6IHRoaXMgc2hv
dWxkIHByb2JhYmx5IGJlIG1vdmVkIHRvIGNoYW5nZVJlcXVpcmVzTGF5ZXJSZXBhaW50KCkuCiAg
ICAgaWYgKGZpcnN0LmNsaXBQYXRoICE9IHNlY29uZC5jbGlwUGF0aCkgewogICAgICAgICBjaGFu
Z2VkQ29udGV4dFNlbnNpdGl2ZVByb3BlcnRpZXMuYWRkKFN0eWxlRGlmZmVyZW5jZUNvbnRleHRT
ZW5zaXRpdmVQcm9wZXJ0eTo6Q2xpcFBhdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCBhYzE0MmNmMDA2ZGE5MGMzM2JhY2YyZDc4MzhiMjU3
ZjE3ZWVhYzM4Li4xZWQ4MjA0YWQzNjc5YmVlZjFhNmY0MGJiM2IzMzk2MWJjMWUxY2IzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTI4LDEx
ICs1MjgsMTMgQEAgcHVibGljOgogICAgIH0KICAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8
fCBhc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbzsgfQog
ICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KKyAgICBDb250ZW50VmlzaWJpbGl0eSBjb250
ZW50VmlzaWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PENvbnRlbnRWaXNpYmls
aXR5PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250ZW50VmlzaWJpbGl0eSk7IH0KKyAgICBi
b29sIGNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKCkgY29uc3QgeyByZXR1cm4gY29udGVudFZpc2li
aWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOyB9CiAgICAgT3B0aW9uU2V0PENv
bnRhaW5tZW50PiBlZmZlY3RpdmVDb250YWlubWVudCgpIGNvbnN0OwotICAgIGJvb2wgY29udGFp
bnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5z
KENvbnRhaW5tZW50OjpMYXlvdXQpOyB9Ci0gICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7
IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXpl
KTsgfQotICAgIGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNv
bnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxlKTsgfQotICAgIGJvb2wgY29u
dGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFp
bnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQorICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25z
dCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpM
YXlvdXQpIHx8IGNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2li
bGU7IH0KKyAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNv
bnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpIHx8IGNvbnRlbnRWaXNpYmls
aXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsgfQorICAgIGJvb2wgY29udGFpbnNT
dHlsZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29u
dGFpbm1lbnQ6OlN0eWxlKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmls
aXR5OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4g
ZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6UGFpbnQpIHx8IGNv
bnRlbnRWaXNpYmlsaXR5KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0KICAgICBD
b250YWluZXJUeXBlIGNvbnRhaW5lclR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxD
b250YWluZXJUeXBlPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJUeXBlKTsgfQog
ICAgIGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgY29udGFpbmVyTmFtZXMoKSBjb25zdCB7IHJl
dHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJOYW1lczsgfQogICAgIEJveEFs
aWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVu
dD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7
IH0KQEAgLTEwNjMsNiArMTA2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbnRhaW5lclR5
cGUoQ29udGFpbmVyVHlwZSBjb250YWluZXJUeXBlKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJp
dGVkRGF0YSwgY29udGFpbmVyVHlwZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbnRhaW5lclR5
cGUpKTsgfQogICAgIHZvaWQgc2V0Q29udGFpbmVyTmFtZXMoY29uc3QgVmVjdG9yPEF0b21TdHJp
bmc+JiBuYW1lcykgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lck5h
bWVzLCBuYW1lcyk7IH0KIAorICAgIHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZp
c2liaWxpdHkgdmFsdWUpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBjb250ZW50
VmlzaWJpbGl0eSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSk7IH0KKwogICAgIHZvaWQg
c2V0TGlzdFN0eWxlU3RyaW5nVmFsdWUoY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpIHsgU0VUX1ZB
UihtX3JhcmVJbmhlcml0ZWREYXRhLCBsaXN0U3R5bGVTdHJpbmdWYWx1ZSwgdmFsdWUpOyB9CiAg
ICAgdm9pZCBzZXRMaXN0U3R5bGVUeXBlKExpc3RTdHlsZVR5cGUgdikgeyBtX2luaGVyaXRlZEZs
YWdzLmxpc3RTdHlsZVR5cGUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odik7IH0KICAgICB2b2lk
IHNldExpc3RTdHlsZUltYWdlKFJlZlB0cjxTdHlsZUltYWdlPiYmKTsKQEAgLTE2NzYsNiArMTY4
MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBpbml0aWFs
Q29udGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHsgfTsgfQogICAg
IHN0YXRpYyBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHN0cmljdENvbnRhaW5tZW50KCkgeyByZXR1
cm4gT3B0aW9uU2V0PENvbnRhaW5tZW50PiB7IENvbnRhaW5tZW50OjpTaXplLCBDb250YWlubWVu
dDo6TGF5b3V0LCBDb250YWlubWVudDo6UGFpbnQsIENvbnRhaW5tZW50OjpTdHlsZSB9OyB9CiAg
ICAgc3RhdGljIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGVudENvbnRhaW5tZW50KCkgeyBy
ZXR1cm4gT3B0aW9uU2V0PENvbnRhaW5tZW50PiB7IENvbnRhaW5tZW50OjpMYXlvdXQsIENvbnRh
aW5tZW50OjpQYWludCwgQ29udGFpbm1lbnQ6OlN0eWxlIH07IH0KKyAgICBzdGF0aWMgQ29udGVu
dFZpc2liaWxpdHkgaW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkgeyByZXR1cm4gQ29udGVudFZp
c2liaWxpdHk6OlZpc2libGU7IH0KICAgICBzdGF0aWMgQ29udGFpbmVyVHlwZSBpbml0aWFsQ29u
dGFpbmVyVHlwZSgpIHsgcmV0dXJuIENvbnRhaW5lclR5cGU6Ok5vbmU7IH0KICAgICBzdGF0aWMg
VmVjdG9yPEF0b21TdHJpbmc+IGluaXRpYWxDb250YWluZXJOYW1lcygpIHsgcmV0dXJuIHsgfTsg
fQogICAgIHN0YXRpYyBkb3VibGUgaW5pdGlhbEFzcGVjdFJhdGlvV2lkdGgoKSB7IHJldHVybiAx
LjA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlQ29uc3RhbnRzLmgKaW5kZXggMGE5NGI2ZGYzZDQ3NDhiNDJhYTM3Y2NjZWRjMzdiYzkzNzUy
NmFmYi4uMWE1MDQ1NDEwMTBkNjhlZmY0YzE4MzY0NmE5ZTk5N2Q2MmFhM2M4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRz
LmgKQEAgLTEyMzgsNiArMTIzOCwxMiBAQCBlbnVtIGNsYXNzIENvbnRhaW5lclR5cGUgOiB1aW50
OF90IHsKICAgICBJbmxpbmVTaXplLAogfTsKIAorZW51bSBjbGFzcyBDb250ZW50VmlzaWJpbGl0
eSA6IHVpbnQ4X3QgeworICAgIFZpc2libGUsCisgICAgQXV0bywKKyAgICBIaWRkZW4sCit9Owor
CiBDU1NCb3hUeXBlIHRyYW5zZm9ybUJveFRvQ1NTQm94VHlwZShUcmFuc2Zvcm1Cb3gpOwogCiBl
eHRlcm4gY29uc3QgZmxvYXQgZGVmYXVsdE1pdGVyTGltaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5j
cHAKaW5kZXggMTkyNDllZjBlOWZhMjhmYzU0MGJkZGIwYzRjYzRjMjFmMTYwMDBmMi4uNzczNGFh
NmU2Y2RkNjU4MTEyNThmNmMzMzdmY2VlODNlMDlmMWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
LmNwcApAQCAtOTUsNiArOTUsNyBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhKCkKICAgICAsIGVmZmVjdGl2ZUFwcGVhcmFuY2Uoc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQXBwZWFyYW5jZSgpKSkKICAgICAsIHRl
eHREZWNvcmF0aW9uU3R5bGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0
aWFsVGV4dERlY29yYXRpb25TdHlsZSgpKSkKICAgICAsIGFzcGVjdFJhdGlvVHlwZShzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxBc3BlY3RSYXRpb1R5cGUoKSkpCisg
ICAgLCBjb250ZW50VmlzaWJpbGl0eShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oQ29udGVudFZpc2li
aWxpdHk6OlZpc2libGUpKQogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBlZmZl
Y3RpdmVCbGVuZE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFs
QmxlbmRNb2RlKCkpKQogICAgICwgaXNvbGF0aW9uKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5k
ZXJTdHlsZTo6aW5pdGlhbElzb2xhdGlvbigpKSkKQEAgLTE5OSw2ICsyMDAsNyBAQCBpbmxpbmUg
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShjb25z
dCBTdHlsZVJhcmVOb25JbgogICAgICwgZWZmZWN0aXZlQXBwZWFyYW5jZShvLmVmZmVjdGl2ZUFw
cGVhcmFuY2UpCiAgICAgLCB0ZXh0RGVjb3JhdGlvblN0eWxlKG8udGV4dERlY29yYXRpb25TdHls
ZSkKICAgICAsIGFzcGVjdFJhdGlvVHlwZShvLmFzcGVjdFJhdGlvVHlwZSkKKyAgICAsIGNvbnRl
bnRWaXNpYmlsaXR5KG8uY29udGVudFZpc2liaWxpdHkpCiAjaWYgRU5BQkxFKENTU19DT01QT1NJ
VElORykKICAgICAsIGVmZmVjdGl2ZUJsZW5kTW9kZShvLmVmZmVjdGl2ZUJsZW5kTW9kZSkKICAg
ICAsIGlzb2xhdGlvbihvLmlzb2xhdGlvbikKQEAgLTMyMCw2ICszMjIsNyBAQCBib29sIFN0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSYgbykgYwogICAgICAgICAmJiBhcHBsZVBheUJ1dHRvblR5cGUgPT0gby5hcHBsZVBh
eUJ1dHRvblR5cGUKICNlbmRpZgogICAgICAgICAmJiBhc3BlY3RSYXRpb1R5cGUgPT0gby5hc3Bl
Y3RSYXRpb1R5cGUKKyAgICAgICAgJiYgY29udGVudFZpc2liaWxpdHkgPT0gby5jb250ZW50Vmlz
aWJpbGl0eQogICAgICAgICAmJiBvYmplY3RGaXQgPT0gby5vYmplY3RGaXQKICAgICAgICAgJiYg
YnJlYWtBZnRlciA9PSBvLmJyZWFrQWZ0ZXIKICAgICAgICAgJiYgYnJlYWtCZWZvcmUgPT0gby5i
cmVha0JlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXggY2ExNTdmODMzNGU0ZjkwMTYxY2U1
YjE5Njg4Zjc3NzZkYTg3ZjdmNi4uY2IzZTQxZTg4ZTg5YTA5MDgyNDc2NjJiMTU0MzFhNjBkY2M5
ZjA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0yMDgsNyArMjA4LDggQEAgcHVibGljOgog
CiAgICAgdW5zaWduZWQgdGV4dERlY29yYXRpb25TdHlsZSA6IDM7IC8vIFRleHREZWNvcmF0aW9u
U3R5bGUKIAotICAgIHVuc2lnbmVkIGFzcGVjdFJhdGlvVHlwZSA6IDM7CisgICAgdW5zaWduZWQg
YXNwZWN0UmF0aW9UeXBlIDogMjsKKyAgICB1bnNpZ25lZCBjb250ZW50VmlzaWJpbGl0eSA6IDI7
CiAKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIGVmZmVjdGl2ZUJs
ZW5kTW9kZTogNTsgLy8gRUJsZW5kTW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxk
ZXJDdXN0b20uaAppbmRleCAxM2NhZDliN2ZkNzcyYTZjZDIzOTgzNDBlMjgyNzcxYmQ0OWI0NDYx
Li4xYjhjM2I4ZDcxZDNhMDYzOWY5YWU1ODhmOGJkMmNjOTI2ZjI5NTJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtODEsNiArODEsNyBAQCBwdWJsaWM6
CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ2xpcCk7CiAgICAgREVDTEFS
RV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ29udGFpbik7CiAgICAgREVDTEFSRV9QUk9QRVJU
WV9DVVNUT01fSEFORExFUlMoQ29udGVudCk7CisgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01f
SEFORExFUlMoQ29udGVudFZpc2liaWxpdHkpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9N
X0hBTkRMRVJTKENvdW50ZXJJbmNyZW1lbnQpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9N
X0hBTkRMRVJTKENvdW50ZXJSZXNldCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFO
RExFUlMoQ3Vyc29yKTsKQEAgLTEyODcsNiArMTI4OCwyNyBAQCBpbmxpbmUgdm9pZCBCdWlsZGVy
Q3VzdG9tOjphcHBseVZhbHVlQ29udGFpbihCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NT
VmFsdQogICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250YWluKGNvbnRhaW5t
ZW50KTsKIH0KIAoraW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsQ29udGVu
dFZpc2liaWxpdHkoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCit7CisgICAgYnVpbGRlclN0
YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoUmVuZGVyU3R5bGU6OmluaXRpYWxDb250
ZW50VmlzaWJpbGl0eSgpKTsKK30KKworaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJ
bmhlcml0Q29udGVudFZpc2liaWxpdHkoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCit7Cisg
ICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoZm9yd2FyZEluaGVy
aXRlZFZhbHVlKGJ1aWxkZXJTdGF0ZS5wYXJlbnRTdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkp
KTsKK30KKworaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNp
YmlsaXR5KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCit7Cisg
ICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAgaWYgKGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFsdWVJRCgpID09IENTU1ZhbHVlSGlkZGVu
KQorICAgICAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNp
YmlsaXR5KENvbnRlbnRWaXNpYmlsaXR5OjpIaWRkZW4pOworICAgICAgICBpZiAoZG93bmNhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS52YWx1ZUlEKCkgPT0gQ1NTVmFsdWVBdXRvKQorICAg
ICAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNpYmlsaXR5
KENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKTsKKyAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5z
dHlsZSgpLnNldENvbnRlbnRWaXNpYmlsaXR5KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGVudFZp
c2liaWxpdHkoKSk7CisgICAgfQorfQorCiBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBs
eVZhbHVlVGV4dEVtcGhhc2lzU3R5bGUoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1Zh
bHVlJiB2YWx1ZSkKIHsKICAgICBpZiAoaXM8Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKaW5kZXggOTVhMjZmZjgzNjFhYzYxYzMxYzBlMzIxYTU3
YTZhMzEyZDE0ZmIxZi4uMGFlMmY5MTU2ZmQ2ZjQxOWNiYjIyYmZiZjY4NzkwOWQ1MWY4OGQzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgRmxvYXRS
ZWN0IFNWR0xvY2F0YWJsZTo6Z2V0QkJveChTVkdFbGVtZW50KiBlbGVtZW50LCBTdHlsZVVwZGF0
ZVN0cmF0ZWd5IHN0eWxlVXAKIHsKICAgICBBU1NFUlQoZWxlbWVudCk7CiAgICAgaWYgKHN0eWxl
VXBkYXRlU3RyYXRlZ3kgPT0gQWxsb3dTdHlsZVVwZGF0ZSkKLSAgICAgICAgZWxlbWVudC0+ZG9j
dW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAg
ZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
RG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpG
b3JjZUxheW91dDo6WWVzKTsKIAogICAgIC8vIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBz
dXBwb3J0IGdldEJCb3ggZm9yIGRldGFjaGVkIGVsZW1lbnRzLgogICAgIGlmICghZWxlbWVudC0+
cmVuZGVyZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5j
cHAKaW5kZXggYzE0NTNiZmM2MDQwOGM5NTA3NDYwNzdkNzYxZWUxNGQ3Mjk2NTFmYi4uODAzY2Y5
MGRlMzJjMWRkYTNjMGI4MjUyMTdhMWM5N2Y3ZTdmMGZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKQEAgLTU1LDEzICs1NSwxMyBAQCBTVkdUZXh0
Q29udGVudEVsZW1lbnQ6OlNWR1RleHRDb250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bQogCiB1bnNpZ25lZCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51
bWJlck9mQ2hhcnMoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHks
IERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJl
bmRlcmVyKCkpLm51bWJlck9mQ2hhcmFjdGVycygpOwogfQogCiBmbG9hdCBTVkdUZXh0Q29udGVu
dEVsZW1lbnQ6OmdldENvbXB1dGVkVGV4dExlbmd0aCgpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRh
dGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRh
c2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIHJl
dHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSkudGV4dExlbmd0aCgpOwogfQogCkBAIC0xMDks
NyArMTA5LDcgQEAgRXhjZXB0aW9uT3I8ZmxvYXQ+IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0
Um90YXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSkKIAogaW50IFNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0Q2hhck51bUF0UG9zaXRpb24oRE9NUG9pbnRJbml0JiYgcG9pbnRJbml0KQogewot
ICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Cisg
ICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1l
bnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxh
eW91dDo6WWVzKTsKICAgICBGbG9hdFBvaW50IHRyYW5zZm9ybVBvaW50IHtzdGF0aWNfY2FzdDxm
bG9hdD4ocG9pbnRJbml0LngpLCBzdGF0aWNfY2FzdDxmbG9hdD4ocG9pbnRJbml0LnkpfTsKICAg
ICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLmNoYXJhY3Rlck51bWJlckF0UG9zaXRp
b24odHJhbnNmb3JtUG9pbnQpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5ZGU1ZDc2ZjUzOTBiZjk0YmM5MWE4Y2Y0
YTNiZWY0YjhhMzI0MjcuLjIwMzg4YTBkNjQzZTRmYjA1Zjg3ZGEyZTIxOWUyMjg1OGEzNWFkNDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMi0wMi0wOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9wZXJ0eSBjb250ZW50LXZpc2li
aWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMi0wMi0wOSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtGb3Jtc10gSW1wcm92aW5nIGFwcGx5U3RlcCgpIHRvIGJlIGluIGxp
bmUgd2l0aCBzcGVjcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMTBhYWUxZjA4
MjRkNzE3ZGQ3ZTU4MDI2ODdjYWUwYTViYTU3MDEzNS4uZDFjZjZjMDcwY2IxZDljNzM0YmI2MGYz
MTFlZTUxZjExOGJlY2UyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzUgQEAKKzIwMjItMDItMDkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBTdXBwb3J0IGZvciBDU1MgcHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYyMzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5
LWxvY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MjYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDct
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNzctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODEtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LXN2Zy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbDoKKwog
MjAyMi0wMi0wOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAg
W0NTUyBDb250YWluZXIgUXVlcmllc10gSW1wbGVtZW50IGlubGluZS1zaXplIGNvbnRhaW5tZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAxNjk4YzU1YjQ0OTcxMmM3MDcwOTBiY2RkYzhlZjdlODNj
OWRmMjc3Li41MDNiYzExNmVhMjIyZmY4ZjNiZjQ4MmExZDY0ZDg4NzRiZjZkODVhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQ2NDcsNDQgKzQ2NDcsOSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VP
bgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA1Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA2Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA3Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA4
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE5LnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMy5zdWIuaHR0cHMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDAu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wNTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wNTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNjcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzguaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0w
MDAudGVudGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktd2l0aC10b3AtbGF5ZXItMDAxLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxheWVyLTAw
Mi50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2VsZW1lbnQt
cmVhc3NpZ25lZC10by1za2lwcGVkLXNsb3QuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2VsZW1lbnQtcmVhc3NpZ25lZC10by1zbG90LWluLXNraXBwZWQtc3VidHJlZS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb3VudGVyLXNjb3BpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvdW50
ZXItc2NvcGluZy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CmluZGV4
IDliMjU0NzE0MmQ4NTViMWQzOGRlMDQwMTNhZmFkMDAzMmYwZDVmOTYuLmJkNzkzNjJlMjYwYjNh
NDNjNjE3MjJmMjFlZTc4ZGU4MDU3MjM0NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRp
YWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3Rl
ZC50eHQKQEAgLTEwMCw2ICsxMDAsNyBAQCBQQVNTIGNvbnRhaW4KIFBBU1MgY29udGFpbmVyLW5h
bWUKIFBBU1MgY29udGFpbmVyLXR5cGUKIFBBU1MgY29udGVudAorUEFTUyBjb250ZW50LXZpc2li
aWxpdHkKIFBBU1MgY291bnRlci1pbmNyZW1lbnQKIFBBU1MgY291bnRlci1yZXNldAogUEFTUyBj
dXJzb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxh
eS1sb2NrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlz
cGxheS1sb2NrLWV4cGVjdGVkLnR4dAppbmRleCA0YzgyNDBkOGQ4MjY2YmI3Y2U4NmI2MWYwOWNi
Njk2ZmFjNjg2ZDc2Li4xOGNlZTg0ZTBmNzk3MjlhODExMDIxYjJlNjJkNmUxMzQxMzYzY2QzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5
LWxvY2stZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEFuaW1hdGlvbiBldmVu
dHMgZG8gbm90IGZpcmUgZm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBs
b2NrZWQgc3VidHJlZSBhc3NlcnRfZmFsc2U6IEFuaW1hdGlvbiBldmVudHMgZG8gbm8gZmlyZSB3
aGlsZSB0aGUgYW5pbWF0aW9uIGlzIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVl
IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIEFuaW1hdGlvbiBldmVudHMgZG8gbm90IGZp
cmUgZm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJl
ZSBhc3NlcnRfdHJ1ZTogVGhlIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudCBmaXJlcyBvbmNlIHRo
ZSBhbmltYXRpb24gaXMgbm8gbG9uZ2VyIGRpc3BsYXkgbG9ja2VkIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCiBQQVNTIFRoZSBmaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVlIHRv
IHRoZSBub3JtYWwgcGFzc2FnZSBvZiB0aW1lICBmb3IgYSBDU1MgYW5pbWF0aW9uIGluIGEgZGlz
cGxheSBsb2NrZWQgc3VidHJlZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCBy
ZXNvbHZlIGR1ZSB0byB0aGUgbm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9yIGEgQ1NTIHRyYW5z
aXRpb24gaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlCiBGQUlMIEV2ZW50cyBhbmQgcHJvbWlz
ZXMgYXJlIGhhbmRsZWQgbm9ybWFsbHkgZm9yIGFuaW1hdGlvbnMgd2l0aG91dCBhbiBvd25pbmcg
ZWxlbWVudCBhc3NlcnRfdHJ1ZTogQW5pbWF0aW9uIGV2ZW50IG5vdCBibG9ja2VkIG9uIGRpc3Bs
YXkgbG9ja2VkIHN1YnRyZWUgaWYgbm8gb3duaW5nIGVsZW1lbnQgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDE1LWV4cGVjdGVkLnR4dAppbmRleCA1ZDZmMWY2ZGVmNjVhNWFhNjQyMGYwMDE4NDhk
YjhkNDVlMzBmYmRkLi5kYmU0OGFmOTIxNzY0YTI4YTRjNjViNDFiYjZjNTQ3YzQ5NDQ3MjlkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMTUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJp
bGl0eTogaGl0IHRlc3RpbmcgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0
ZWQgIm91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQg
dGVzdGluZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50eHQKaW5kZXggOWI3OTE0MGNkYTJkNDNjODRmYWM4Mjc0
ODQxOGQ5M2ZhM2Q1NDE3Ny4uNDUxYTRhMzVlYWY4ZDVhOWYyY2RiNzhiMmRmOTQ1MjMwMjUzNjkz
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MTYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDE2LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZp
c2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIg
aGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50
IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkKQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQK
aW5kZXggOWZiMDg4YTc4NGJjNWIwM2YwZjQ5MmNlNjcwZDdmMGMwZTkwMGJlYy4uZjZmNjgwZTgy
YmVhODBmMjYzMDcwZmE2ZTNhNzFlMTYyZmM3YzFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21w
b3NpdGVkIGNoaWxkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAi
b3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0
aW5nIChjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQKaW5kZXggZTI5MmVmNzIx
NjFiMDg0OTdkYTIyMzg2NzQ3YTM1NDlhNjZjYjA2MS4uYjliODMzNTJmOGJlZjE0NjY5YmVhNzI5
MDQyOGY0MmNkZDNmZjRiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkIHdpdGggYSBj
b21wb3NpdGVkIGNoaWxkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3Rl
ZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0
ZXN0aW5nIChjb21wb3NpdGVkIHdpdGggYSBjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3Rl
ZC50eHQKaW5kZXggNzNkYTQ4ZGRiNGFkYzk4YmVmYTgzYjI4YzM1NDlmZjQ4ZGIwNWZhMC4uODM5
OTNjOWQwODU0NDYyMjJkZjZlZTBkNWRjZDVkYzE5MTFmMGViZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBjb250ZW50LXZpc2liaWxpdHk6aGlkZGVuIGRvZXMg
bm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHN0cmluZykgImhpZGRlbiIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZB
SUwgY29udGVudC12aXNpYmlsaXR5OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVl
IG9mICdjb250YWluJyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXV0byIgYnV0
IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5OmhpZGRl
biBkb2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nCitQQVNTIGNvbnRl
bnQtdmlzaWJpbGl0eTphdXRvIGRvZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29u
dGFpbicKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0CmluZGV4IDNhMGVhOGM4Yzk3OTEyMDYzZGUwODM2NTU4
MmRjYjM1NzRjNjJhM2YuLjFjZjRkMGY2MjI1Y2FkYTQ1ZjhkMDZmZjU2ZWJkMmJkYjRlNDhjM2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAyOS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiBUaGlzIHRleHQgc2hvdWxkIGJl
IHZpc2libGUuCi1UaGlzIHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLgotVGhpcyB0ZXh0IGlz
IGFsc28gbm90IHZpc2libGUuCiAKLUZBSUwgaW5uZXJUZXh0IG9uIGxvY2tlZCBlbGVtZW50LiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLiIgYnV0
IGdvdCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLlxuVGhpcyB0ZXh0IHNob3VsZCBub3Qg
YmUgdmlzaWJsZS5cblRoaXMgdGV4dCBpcyBhbHNvIG5vdCB2aXNpYmxlLiIKK1BBU1MgaW5uZXJU
ZXh0IG9uIGxvY2tlZCBlbGVtZW50LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQKaW5kZXggZGVhYTU3N2Nk
ZGNiOTY4ZjAzOTlhMjc2ZDFjYjc0NThiOWQ2OWM0OS4uODI5YzI5NmJjMGQ3NGZjODFmZTAxOTdl
MDI5ZWQ1MGZiYThjZTdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBJbnRlcnNlY3Rpb25PYnNlcnZlciBpbnRlcmFjdGlvbnMgYXNzZXJ0X2VxdWFsczogcnVu
U3RlcDIgZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50
ZXJhY3Rpb25zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dAppbmRleCA1Y2M4YjgyOTZmZjdiYTY4Y2FlNjZl
MDdlMTZmMjA5YjJkYjVjOGU5Li4xY2M2YzFjMGFjODA3ZjZlYzMzNDBmZGNhYThkZTY5OTY4Y2Fm
Zjk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAzMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FH
RTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBFcnJvcjogYXNzZXJ0X2VxdWFsczogUmVz
aXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBleHBlY3Rl
ZCB0cnVlIGJ1dCBnb3QgZmFsc2UKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBV
bmhhbmRsZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3VsZCBu
b3QgcnVuIGR1cmluZyB3aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxz
ZQotCi1USU1FT1VUIFJlc2l6ZU9ic2VydmVyIHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3QgdGlt
ZWQgb3V0Ci0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVj
dGlvbjogYXNzZXJ0X2VxdWFsczogUmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcg
d2hpbGUgdW5yZW5kZXJlZCBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQotVElNRU9VVCBS
ZXNpemVPYnNlcnZlciBza2lwcGVkIHdoaWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91dAorUEFTUyBS
ZXNpemVPYnNlcnZlciBza2lwcGVkIHdoaWxlIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQKaW5k
ZXggMGU4ODBlMDU1ZjA0MTcwY2Q3ZTY3Yzk2ZmE5NzA1YzQ0ZTU4NzU0MC4uYmNmYzc4OWZhNDBh
MzNlMzE1YzM1M2FhNGExYmFiY2VkZTYzOTllNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDMgQEAKIAotRkFJTCBNZWFzdXJlIEZvcmNlZCBMYXlvdXQgYXNzZXJ0X2VxdWFsczogc3Bh
Y2VyIGZvcmNlZCBleHBlY3RlZCA4IGJ1dCBnb3QgMTA4CitQQVNTIE1lYXN1cmUgRm9yY2VkIExh
eW91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0NC1leHBlY3RlZC50eHQKaW5kZXggYzNiNjRiMTIwODBhMDg4MWE5Nzg1Nzg0MDcy
ZTNiMzJiODk0NWNiMi4uZTEzNzJiOGQyZjFhOWIwYWQxOTczYTllMmRlMzkzZjNmMjNhMDYyMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDQ0LWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IEVy
cm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMgogCiAKLUhhcm5lc3MgRXJy
b3IgKEZBSUwpLCBtZXNzYWdlID0gRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0
IGdvdCAyCi0KLVRJTUVPVVQgQ29udGVudCBWaXNpYmlsaXR5OiBzbG90IG1vdmVkIGFmdGVyIGNv
bnRhaW5lciBpcyBoaWRkZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFybmVzcyBFcnJvciAoRkFJTCks
IG1lc3NhZ2UgPSBFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIKLQot
VElNRU9VVCBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlz
IGhpZGRlbiBUZXN0IHRpbWVkIG91dAorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92
ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKaW5kZXggMzk1
ZDU5YzQ2YTU0NzI3MmNjYWVkOTJlNjJjMDIyYWRiNzY1MjFhZC4uNGMzYzhiYjk0M2UwNGUyMmZl
ZWQzOWQzNGIwZjZkODFjMDNlOTQ3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQg
QEAKIAogCi0KLQotRkFJTCBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBoaWRkZW4gc3VidHJl
ZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0iZml2ZSIg
dHlwZT0idGV4dCI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJ0d28i
IHR5cGU9InRleHQiPjwvaW5wdXQ+CitQQVNTIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNraXBzIGhp
ZGRlbiBzdWJ0cmVlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQKaW5kZXggZjhiMDExYmE4MTc4ZDY4N2M3
ZjkwOWRlNDgzNzk5NzNjOWQwOTZkNC4uNzMyNjhmZGIwOGRmOTQ3NGYwMWRmNTc2YTE4MGY5YmUz
ODdkYWFlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNDgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBGcmFn
bWVudCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgotRkFJTCBGcmFnbWVu
dCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxvY2tz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3VsdHMiCitGQUlMIEZy
YWdtZW50IG5hdmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHNpbmdsZSB0ZXh0IGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXh0IiBidXQgZ290ICJ0b3AiCitGQUlMIEZyYWdtZW50
IG5hdmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHJhbmdlIGFjcm9zcyBibG9ja3Mg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRleHQyIiBidXQgZ290ICJ0b3AiCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVj
dGVkLnR4dAppbmRleCA0NGEyOTM2NTAzNjE5Zjc2ZTFiZGEzZmJjN2NjMDQ4YjNmM2MxYzZmLi5l
YjE5MzUxNjY2ZTU3YTAwZmQ0NmE3MDI3YzFiNjAwMjA3ZWI1YWVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQu
dHh0CkBAIC0xLDggKzEsMyBAQAotaGVsbG8KLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxvCiAK
IEZBSUwgT25lIGVsZW1lbnRzIHNlbGVjdGVkOiAgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCiBGQUlMIFJhbmdlIGV4dGVuZGVkIHRvIGNvdmVyIG1vcmUgZWxlbWVudHM6ICBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dAppbmRl
eCAwM2UzYmI3YzBlODk2MDMzNzYxYjUyNDllZDY2MTYyNjk0YzUwN2U2Li4wMGYxYzdmNDQ0MTg3
ODJiY2ViMzQzOGQ3YjZmYTUxZjU2MWUxNzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CkBAIC0xLDcg
KzEsNyBAQAogCiBQQVNTIG9uZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKToKIEZBSUwgdHdvLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1
dCBnb3QgMzA0MQotRkFJTCB0aHJlZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9l
cXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNzUKLUZBSUwgZm91ci5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMx
MDkKLUZBSUwgZml2ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkg
ZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMxNDMKK0ZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCitGQUlM
IGZvdXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVk
IDMwMDcgYnV0IGdvdCAzMDQxCitGQUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBh
c3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVk
LnR4dAppbmRleCA5MjcwOTZlZGY5NzNkYjE4OTZkN2UyNWE5NDRlMWE5NDBmMmE4MGEyLi4wNDli
ZTI4NGQ0N2Y2Y2RmMDk4MzNmNTE0MzI1MTBlOTAzMThkZGU0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5pbWF0
YWJsZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAidmlzaWJsZSIgYnV0IGdvdCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgQ29udGVudC12aXNpYmlsaXR5IGlzIG5vdCBhbmlt
YXRhYmxlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDgwLWV4cGVjdGVkLnR4dAppbmRleCBkMGYwNWFkNWEzOGNlNDEyNDIzMzBlYjM5
MWFhZDBlOTE3MTljN2I2Li44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4
MC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wODAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEgQEAKLUNvbnRlbnQgVmlzaWJpbGl0eTog
Y2FyZXQgcG9zaXRpb24gd2l0aCBodG1sIGhpZGRlbiAgICogeyBhbGw6IGluaXRpYWw7IGNvbnRl
bnQtdmlzaWJpbGl0eTogaGlkZGVuOyB9IHRlc3QoKCkgPT4geyBjb25zdCByYW5nZSA9IGRvY3Vt
ZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsgYXNzZXJ0X25vdF9lcXVhbHMocmFuZ2UsIG51bGws
ICJyYW5nZSBleGlzdHMiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydENvbnRhaW5lciwgaHRt
bCwgInN0YXJ0Q29udGFpbmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydE9m
ZnNldCwgMCwgInN0YXJ0T2Zmc2V0IGlzIHplcm8iKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5lbmRD
b250YWluZXIsIGh0bWwsICJlbmRDb250YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxzKHJh
bmdlLmVuZE9mZnNldCwgMCwgImVuZE9mZnNldCBpcyB6ZXJvIik7IH0sICJDYXJldCByYW5nZSBm
cm9tIHBvaW50Iik7Ci1GQUlMIENhcmV0IHJhbmdlIGZyb20gcG9pbnQgYXNzZXJ0X2VxdWFsczog
c3RhcnRDb250YWluZXIgaXMgaHRtbCBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGh0bWwgaWQ9Imh0
bWwiPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPHRpdGxlPkNvbnRlbi4uLiBidXQgZ290
IFRleHQgbm9kZSAiQ29udGVudCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlvbiB3aXRoIGh0bWwg
aGlkZGVuIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA4MS1leHBlY3RlZC50eHQKaW5kZXggNmVlZGJhZGVmNWVmMTk3M2ZhY2MzZGM1
ZTE5NTQxMmM3ZWNlY2FkNi4uNGRmOTNjZGMxODM1MWJmNzNmMGJlNDQ0ZmZjNWYyOWMyOTJjMWVk
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
ODEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDgxLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBTY3JvbGwgb2Zm
c2V0IGlzIHJlc3RvcmVkIHdoZW4gY29udGVudC12aXNpYmlsaXR5IGhpZGRlbiBpcyByZW1vdmVk
CitGQUlMIFNjcm9sbCBvZmZzZXQgaXMgcmVzdG9yZWQgd2hlbiBjb250ZW50LXZpc2liaWxpdHkg
aGlkZGVuIGlzIHJlbW92ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwMCBidXQgZ290IDAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1p
bWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS1pbWctZXhwZWN0ZWQudHh0CmluZGV4IGNhMzc4N2U0NDg3YmQzNjQ5NjBmZTRlYjRjOTFlZGFk
MTc3ZTQ4NzEuLjQ0NDlkN2M3NzNiOTA1ODJkM2EzNzk2YTM2Y2NjZGNjODNjYmU4MTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlt
Zy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwzIEBACiAKLQotCi0KLQogUEFTUyBjLXY6aGlkZGVu
IDxpbWc+IGxheW91dCBBUElzIHNob3VsZG4ndCByZXR1cm4gemVybyB3aGVuIGFjY2Vzc2VkIGZy
b20gc2NyaXB0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGE0NWVk
NTgyOTAxZjdjNWMyZGY5N2U3MGVhNDUwNTAyMzcyYTU2MTYuLmU0YTMxZmIxYmExYTYzOTJjZWVi
ODY2YmI3ZTYwYmNkYmIxOGIwNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsMyBAQAogCi0KLQogUEFTUyA8aW5wdXQgdHlwZT1pbWFnZT4gc2hvdWxkIHJl
dHVybiBub256ZXJvIHZhbHVlcyBmb3Igd2lkdGggYW5kIGhlaWdodCBpbiBhIGMtdjpoaWRkZW4g
c3VidHJlZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0CmluZGV4IDQ2NzZiODhjOWFjYzdmMjk3OTU4Mjg5
NDQ0MjhmMjQyMTgzMTFkNTYuLjhkZjFiN2ZmYWY0YmMyM2UyNTQ2NjJlZDhmMzZiYThiMDY1YWJh
MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
c3ZnLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LXN2Zy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1IZWxsbyBXb3JsZCEKLUhl
bGxvIFdvcmxkIEFnYWluIQogCiBQQVNTIGdldEJCb3goKSBzaG91bGQgcmV0dXJuIG5vbnplcm8g
dmFsdWVzIGluIGEgYy12OmhpZGRlbiBzdWJ0cmVlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCA3ZGExN2ZmYWY5Y2Q1MjBhNzUzZTlm
M2U5YTU4ZTljNjFjNDVmZTY1Li42Njg4OTZhZjEyZDZhMGQ5MGQxYTNhZGE2Y2Q4N2NhYWRlZWE1
NmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IGhh
cyBpbml0aWFsIHZhbHVlIHZpc2libGUgYXNzZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBk
b2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgZG9lcyBu
b3QgaW5oZXJpdCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJv
cGVydHkgY29udGVudC12aXNpYmlsaXR5IGhhcyBpbml0aWFsIHZhbHVlIHZpc2libGUKK1BBU1Mg
UHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IGRvZXMgbm90IGluaGVyaXQKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1
dGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQt
dmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQKaW5kZXggODdhM2M2ODBlZjhjZmU0Mjlh
ZTQ2ZDMwOTNlNzgwZTcxMjdiZGY5Mi4uMGMzNGE1ZGJiZGRlN2RhYzM2OWU2YjgwY2QyNWE5ZTdk
ODc2ZGU2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVu
dC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CkBA
IC0xLDUgKzEsNSBAQAogCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAn
dmlzaWJsZScgYXNzZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8g
YmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2F1dG8nIGFzc2VydF90
cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0
aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkg
Y29udGVudC12aXNpYmlsaXR5IHZhbHVlICdoaWRkZW4nIGFzc2VydF90cnVlOiBjb250ZW50LXZp
c2liaWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmls
aXR5IHZhbHVlICd2aXNpYmxlJworUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFs
dWUgJ2F1dG8nCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnaGlkZGVu
JwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZp
c2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNp
bmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dAppbmRleCA2YTY1ZmY2ODRm
NjA4MmQxY2U4MWMxMzdlNDAzYTRkZTcwMDg5NTZmLi45ZGE0NTczZTA3NDc3Yjc3N2Q2YmE4NzY4
ZjQ1M2M3NDM1NzMzNWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2lu
Zy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw1IEBACiAKLUZBSUwgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAi
dmlzaWJsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6
IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKLUZBSUwgZS5z
dHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAiYXV0byIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRp
c2FsbG93ZWQgdmFsdWUgIiIKLUZBSUwgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAi
aGlkZGVuIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczog
cHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0
eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJ2aXNpYmxlIiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJhdXRvIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250ZW50LXZpc2li
aWxpdHknXSA9ICJoaWRkZW4iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJn
ZXQtYXV0by5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdt
ZW50LXRhcmdldC1hdXRvLmh0bWwKaW5kZXggZDA3ZWRlNWE1NDYwMDdlMzI3ZDM1M2VkNTk5NDg5
ZGRmZTU3NDQ4MS4uNTNhMjJmNWZkOGQxY2RiODgzODUzNTM1NDU0OWUxMTc1NzZkN2U1MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRh
cmdldC1hdXRvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0
LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0bWwKQEAgLTQyLDcgKzQyLDcgQEAgZnVuY3Rpb24gZG91
YmxlUmFmQ2hlY2tTY3JvbGwoKSB7CiAgIGhlaWdodDogMTAwMDBweDsKIH0KIC5hdXRvIHsKLSAg
c3VidHJlZS12aXNpYmlsaXR5OiBhdXRvOworICBjb250ZW50LXZpc2liaWxpdHk6IGF1dG87CiB9
CiA8L3N0eWxlPgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452356</attachid>
            <date>2022-02-17 05:48:14 -0800</date>
            <delta_ts>2022-02-17 08:03:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220217144812.patch</filename>
            <type>text/plain</type>
            <size>108813</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWYyMzY4M2NlOGUxZDBm
ZDY2ZjIxYjRkNDk4ZWEwYWE4Y2QxNzA0ZS4uNmE5MjY5MjhkOThlYmVlNDAwMmNhZjg2ODY1N2Ew
NDFmZWE1YzQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0xNyAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMTcgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFw
cGxlLmNvbT4KIAogICAgICAgICBDb3B5IHRyYWNrIHNpemVzIGZyb20gcGFyZW50IGdyaWQgaW50
byBzdWJncmlkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRU
aW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5j
cHAKaW5kZXggMjJkYmQ4MDNkZDQ0ZTgxMzE2NGEyYjI1YmQ4OGFmODg4MTA2NjBlOC4uYzBhOGNm
MTU4OGI0M2VlOWI1YjNiODY2ZTJjMDZmOTFmNTgxYmZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcApAQCAtNDI5LDYgKzQyOSwxNiBAQCBBbmlt
YXRpb25FdmVudHMgRG9jdW1lbnRUaW1lbGluZTo6cHJlcGFyZUZvclBlbmRpbmdBbmltYXRpb25F
dmVudHNEaXNwYXRjaCgpCiB7CiAgICAgbV9zaG91bGRTY2hlZHVsZUFuaW1hdGlvblJlc29sdXRp
b25Gb3JOZXdQZW5kaW5nRXZlbnRzID0gdHJ1ZTsKICAgICByZXR1cm4gc3RkOjpleGNoYW5nZSht
X3BlbmRpbmdBbmltYXRpb25FdmVudHMsIHsgfSk7CisgICAgQW5pbWF0aW9uRXZlbnRzIGV2ZW50
czsKKyAgICBmb3IgKGF1dG8mIGV2ZW50IDogbV9wZW5kaW5nQW5pbWF0aW9uRXZlbnRzKSB7Cisg
ICAgICAgIGlmIChldmVudC0+YW5pbWF0aW9uKCktPmlzSW5IaWRkZW5TdWJ0cmVlKCkpCisvLyAg
ICAgICAgRWxlbWVudCogZWxlbWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRv
d25jYXN0PE5vZGU+KCpldmVudC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWlj
RG93bmNhc3Q8RWxlbWVudD4oKmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworLy8gICAgICAg
IGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICBldmVudHMuYXBwZW5kKGV2ZW50KTsKKyAgICAgICAgbV9wZW5k
aW5nQW5pbWF0aW9uRXZlbnRzLnJlbW92ZUZpcnN0KGV2ZW50KTsKKyAgICB9CisgICAgcmV0dXJu
IGV2ZW50czsKIH0KIAogVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIGRvdWJsZT4+IERvY3VtZW50
VGltZWxpbmU6OmFjY2VsZXJhdGVkQW5pbWF0aW9uc0ZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVu
dCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRp
bWVsaW5lc0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50
VGltZWxpbmVzQ29udHJvbGxlci5jcHAKaW5kZXggOTU1NzFmZGY1Y2Y3MjYyMjNmOGU1YTE3NzU0
M2YzYTkzMTAzMDllNy4uNmRmYTlhODkyMDlmZWIwOGVmZmQyNmJmZjBiYzMwYjJiMDVlNTMxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmVzQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxp
bmVzQ29udHJvbGxlci5jcHAKQEAgLTEyMiw2ICsxMjIsOCBAQCB2b2lkIERvY3VtZW50VGltZWxp
bmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoUmVkdWNlZFJlc29s
dXRpbwogICAgICAgICB0aW1lbGluZXNUb1VwZGF0ZS5hcHBlbmQodGltZWxpbmUuY29weVJlZigp
KTsKIAogICAgICAgICBmb3IgKGF1dG8mIGFuaW1hdGlvbiA6IGNvcHlUb1ZlY3Rvcih0aW1lbGlu
ZS0+cmVsZXZhbnRBbmltYXRpb25zKCkpKSB7CisgICAgICAgICAgICBpZiAoYW5pbWF0aW9uLT5p
c0luSGlkZGVuU3VidHJlZSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgaWYgKGFuaW1hdGlvbi0+dGltZWxpbmUoKSAhPSB0aW1lbGluZS5wdHIoKSkgewogICAgICAg
ICAgICAgICAgIEFTU0VSVCghYW5pbWF0aW9uLT50aW1lbGluZSgpKTsKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKQEAgLTE5Niw4ICsxOTgsMTIgQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lc0Nv
bnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0aW8K
ICAgICB9KTsKIAogICAgIC8vIDcuIERpc3BhdGNoIGVhY2ggb2YgdGhlIGV2ZW50cyBpbiBldmVu
dHMgdG8gZGlzcGF0Y2ggYXQgdGhlaXIgY29ycmVzcG9uZGluZyB0YXJnZXQgdXNpbmcgdGhlIG9y
ZGVyIGVzdGFibGlzaGVkIGluIHRoZSBwcmV2aW91cyBzdGVwLgotICAgIGZvciAoYXV0byYgZXZl
bnQgOiBldmVudHMpCisgICAgZm9yIChhdXRvJiBldmVudCA6IGV2ZW50cykgeworICAgICAgICAv
LyBFbGVtZW50KiBlbGVtZW50ID0gZXZlbnQtPnRhcmdldCgpLT5pc05vZGUoKSAmJiAhZG93bmNh
c3Q8Tm9kZT4oKmV2ZW50LT50YXJnZXQoKSkuaXNEb2N1bWVudE5vZGUoKSA/IGR5bmFtaWNEb3du
Y2FzdDxFbGVtZW50PigqZXZlbnQtPnRhcmdldCgpKSA6IG51bGxwdHI7CisgICAgICAgIC8vIGlm
IChlbGVtZW50ICYmIGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgLy8gICAg
Y29udGludWU7CiAgICAgICAgIGV2ZW50LT50YXJnZXQoKS0+ZGlzcGF0Y2hFdmVudChldmVudCk7
CisgICAgfQogCiAgICAgLy8gVGhpcyB3aWxsIGNhbmNlbCBhbnkgc2NoZWR1bGVkIGludmFsaWRh
dGlvbiBpZiB3ZSBlbmQgdXAgcmVtb3ZpbmcgYWxsIGFuaW1hdGlvbnMuCiAgICAgZm9yIChhdXRv
JiBhbmltYXRpb24gOiBhbmltYXRpb25zVG9SZW1vdmUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggMmI5YzIxN2EzMzgwMzEyOGZjY2NiZDRiZDliYzFj
OGY4NjNiNGIzMi4uOGY0NzUxOTIxOTU3MjNkNWI5MzY4MmZkM2VmZGFjZjY4MjRkMDVmZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAgLTE1MTMsNCArMTUx
MywxMyBAQCBTZWNvbmRzIFdlYkFuaW1hdGlvbjo6dGltZVRvTmV4dFRpY2soKSBjb25zdAogICAg
IHJldHVybiBlZmZlY3QoKS0+dGltZVRvTmV4dFRpY2soZWZmZWN0KCktPmdldEJhc2ljVGltaW5n
KCkpIC8gcGxheWJhY2tSYXRlOwogfQogCitib29sIFdlYkFuaW1hdGlvbjo6aXNJbkhpZGRlblN1
YnRyZWUoKQoreworICAgIGlmICghaXNEZWNsYXJhdGl2ZUFuaW1hdGlvbigpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKGF1dG8gZWxlbWVudCA9IGRvd25jYXN0PERlY2xhcmF0aXZl
QW5pbWF0aW9uPih0aGlzKS0+b3duaW5nRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gZWxlbWVu
dC0+ZWxlbWVudC5pc1NraXBwZWRDb250ZW50KCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmgKaW5kZXggMzdhNjE3ZjYwNTM3MDc5ZDJiMTJlYTBjMDYyOGUxY2VhMmEzMmU0Ni4uMDgyYTFi
MWE1YWMyZTY1OWQ1NDJlMGUyZDY1YzE3YTY1MjhhOTgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9XZWJBbmltYXRpb24uaApAQCAtNjYsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0NTU0FuaW1hdGlvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzQ1NTVHJhbnNpdGlvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisgICAgYm9vbCBpc0luSGlkZGVuU3VidHJlZSgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KICAgICB2b2lkIHNldElkKGNvbnN0IFN0cmluZyYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcAppbmRleCBlNTAzNDE5NjE3MjQ4NzNiOTdiYTRlMDUyZmExY2Q5ZGI1MTdkMjBjLi44NzQz
YzA4NzU4OTBkM2VlOGVkMmYwZWVjNDExZDAxMzQwNTM4MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzc2MCw2ICsz
NzYwLDE0IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVG
b3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAgICAgICAgICAgbGlzdC0+
YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVDdXN0b21JZGVudChuYW1lKSk7CiAgICAgICAgICAg
ICByZXR1cm4gbGlzdDsKICAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVu
dFZpc2liaWxpdHk6CisgICAgICAgICAgICBpZiAoIW1fZWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0
aW5ncygpLmNzc0NvbnRhaW5tZW50RW5hYmxlZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICAgICAgaWYgKHN0eWxlLmNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVIaWRkZW4pOworICAgICAgICAgICAgaWYgKHN0eWxlLmNvbnRlbnRWaXNpYmls
aXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pCisgICAgICAgICAgICAgICAgcmV0dXJu
IGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBdXRvKTsKKyAgICAg
ICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVl
VmlzaWJsZSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZmFjZVZpc2liaWxpdHk6CiAg
ICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSgoc3R5
bGUuYmFja2ZhY2VWaXNpYmlsaXR5KCkgPT0gQmFja2ZhY2VWaXNpYmlsaXR5OjpIaWRkZW4pID8g
Q1NTVmFsdWVIaWRkZW4gOiBDU1NWYWx1ZVZpc2libGUpOwogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0Qm9yZGVySW1hZ2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpp
bmRleCAyNzhjMGYzYWZlNTA0ODRmZjMxMWQ4MjlkZTMyODBkYzU1ZTI3OWRkLi5lNjViYmQ1ZTY0
Mjc3YTdlMjlkY2Q4MzlkYTc2Y2E3NGY0NTgzMGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24KQEAgLTUyODUsNiArNTI4NSwxOSBAQAogICAgICAgICAgICAgICAgICJ1cmwi
OiAiaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250YWluLTMvI2NvbnRhaW5lci1xdWVy
aWVzIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAiY29udGVudC12aXNpYmls
aXR5IjogeworICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAg
ICAgICAiY3VzdG9tIjogIkFsbCIsCisgICAgICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAi
Y3NzQ29udGFpbm1lbnRFbmFibGVkIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdGF0
dXMiOiB7CisgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJleHBlcmltZW50YWwiCisgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAg
ImNhdGVnb3J5IjogImNzcy1jb250YWluIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSwKICAgICAgICAgImJhY2tmYWNlLXZpc2liaWxpdHkiOiB7CiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJhbGlhc2VzIjogWwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAKaW5kZXggNTNjMzJh
NjBhN2U3NWY5NjZmYzgyNmE5Yzg2NmViNjk0NTBlZjNlYy4uNTFlNTg2OTI4NmI1YzdiNjI2ODJm
MzMwZjU3OTA5ZGMxNGE1NmNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1BhcnNlckNvbnRleHQuY3BwCkBAIC0yMzQsNiArMjM0LDcgQEAgYm9vbCBDU1NQYXJzZXJDb250
ZXh0Ojppc1Byb3BlcnR5UnVudGltZURpc2FibGVkKENTU1Byb3BlcnR5SUQgcHJvcGVydHkpIGNv
bnN0CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFzcGVjdFJhdGlvOgogICAgICAgICByZXR1cm4gIWFz
cGVjdFJhdGlvRW5hYmxlZDsKICAgICBjYXNlIENTU1Byb3BlcnR5Q29udGFpbjoKKyAgICBjYXNl
IENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxpdHk6CiAgICAgICAgIHJldHVybiAhY29udGFpbm1l
bnRFbmFibGVkOwogICAgIGNhc2UgQ1NTUHJvcGVydHlBcHBsZUNvbG9yRmlsdGVyOgogICAgICAg
ICByZXR1cm4gIWNvbG9yRmlsdGVyRW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggNzNlYWJiZmM3MjAxMTYyZDkwMTM5YWFh
YWM0M2M4Zjk4YWMwNDQ4Yy4uYzM2NmY5NjIxY2MxYmQ1ZDdmNTlmODQxNTNlMmMyYjZkZTNmYTNj
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5j
cHAKQEAgLTQwNzIsNiArNDA3MiwxMyBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1l
Q29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICByZXR1cm4gUmVmUHRyPENT
U1ZhbHVlPihXVEZNb3ZlKGxpc3QpKTsKIH0KIAorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29u
c3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQor
eworICAgIGlmIChhdXRvIHNpbmdsZVZhbHVlID0gY29uc3VtZUlkZW50PENTU1ZhbHVlVmlzaWJs
ZSwgQ1NTVmFsdWVBdXRvLCBDU1NWYWx1ZUhpZGRlbj4ocmFuZ2UpKQorICAgICAgICByZXR1cm4g
c2luZ2xlVmFsdWU7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIHN0YXRpYyBSZWZQdHI8Q1NT
VmFsdWU+IGNvbnN1bWVUZXh0RW1waGFzaXNQb3NpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSkKIHsKICAgICBib29sIGZvdW5kT3Zlck9yVW5kZXIgPSBmYWxzZTsKQEAgLTQ3MDAsNiAr
NDcwNywxMCBAQCBSZWZQdHI8Q1NTVmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmds
ZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHksIENTUwogICAgICAgICBpZiAoIW1fY29udGV4
dC5jb250YWlubWVudEVuYWJsZWQpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAg
ICAgcmV0dXJuIGNvbnN1bWVDb250YWluKG1fcmFuZ2UpOworICAgIGNhc2UgQ1NTUHJvcGVydHlD
b250ZW50VmlzaWJpbGl0eToKKyAgICAgICAgaWYgKCFtX2NvbnRleHQuY29udGFpbm1lbnRFbmFi
bGVkKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBjb25zdW1l
Q29udGVudFZpc2liaWxpdHlIaWRkZW4obV9yYW5nZSk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRl
eHRFbXBoYXNpc1Bvc2l0aW9uOgogICAgICAgICByZXR1cm4gY29uc3VtZVRleHRFbXBoYXNpc1Bv
c2l0aW9uKG1fcmFuZ2UpOwogI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggYTZhNmFkYzZkOGQ3ZjE4YzJmNGE5ZmNiNTI5MDk0ZjE1ZjJjYjAyYy4u
MDgyMmIyZWI0NWM4NTZhODM2NjU5NmViMDBhOTk3Yjg3NGNiMzI2MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC0xMzMsNiArMTMzLDcgQEAKICNpbmNsdWRlICJJbWFnZU92ZXJsYXlDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZl
ckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmgiCiAjaW5j
bHVkZSAiSlNET01XaW5kb3dDdXN0b20uaCIKICNpbmNsdWRlICJKU0xhenlFdmVudExpc3RlbmVy
LmgiCkBAIC0zODgsNiArMzg5LDMzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Rpc2FsbG93TGF5
b3V0IHsgZmFsc2UgfTsKIH07CiAKK2NsYXNzIENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjayBmaW5hbCA6IHB1YmxpYyBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxi
YWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0
aW9uT2JzZXJ2ZXJDYWxsYmFjaz4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjayhkb2N1bWVudCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBib29s
IGhhc0NhbGxiYWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgQ2FsbGJh
Y2tSZXN1bHQ8dm9pZD4gaGFuZGxlRXZlbnQoSW50ZXJzZWN0aW9uT2JzZXJ2ZXImLCBjb25zdCBW
ZWN0b3I8UmVmPEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk+PiYgZW50cmllcywgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXImKSBmaW5hbAorICAgIHsKKyAgICAgICAgQVNTRVJUKCFlbnRyaWVzLmlzRW1w
dHkoKSk7CisKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsKKyAgICAgICAg
ICAgIGlmIChhdXRvKiBlbGVtZW50ID0gZW50cnktPnRhcmdldCgpKQorICAgICAgICAgICAgICAg
IGVsZW1lbnQtPmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoZW50cnktPmlzSW50ZXJz
ZWN0aW5nKCkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAg
Q29udGVudFZpc2liaWxpdHlJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrKERvY3VtZW50JiBk
b2N1bWVudCkKKyAgICAgICAgOiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrKCZkb2N1bWVu
dCkKKyAgICB7CisgICAgfQorfTsKKwogLy8gRGVmaW5lZCBoZXJlIHRvIGF2b2lkIGluY2x1ZGlu
ZyBHQ1JlYWNoYWJsZVJlZi5oIGluIERvY3VtZW50LmgKIHN0cnVjdCBEb2N1bWVudDo6UGVuZGlu
Z1Njcm9sbEV2ZW50VGFyZ2V0TGlzdCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBA
IC0yMTc3LDcgKzIyMDUsNyBAQCBib29sIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KCkKK3Zv
aWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dChGb3JjZUxheW91dCBmb3JjZUxheW91dCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCkBAIC0yMjAwLDE2ICsyMjI4LDI1IEBAIHZvaWQg
RG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCiAKICAgICBpZiAoIWZyYW1lVmlldyB8fCAhcmVuZGVy
VmlldygpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFmcmFtZVZpZXctPmxheW91dENvbnRl
eHQoKS5pc0xheW91dFBlbmRpbmcoKSAmJiAhcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpKQor
ICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gb2xkTGF5b3V0Rm9yY2VkOworICAgIGlmIChmb3JjZUxh
eW91dCA9PSBGb3JjZUxheW91dDo6WWVzICYmIHZpZXcoKSkgeworICAgICAgICBvbGRMYXlvdXRG
b3JjZWQgPSB2aWV3KCktPmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpOworICAgICAg
ICB2aWV3KCktPmxheW91dENvbnRleHQoKS5zZXRMYXlvdXRGb3JjZWQodHJ1ZSk7CisgICAgfQor
CisgICAgaWYgKCFmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSAm
JiAhcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpICYmIGZvcmNlTGF5b3V0ICE9IEZvcmNlTGF5
b3V0OjpZZXMpCiAgICAgICAgIHJldHVybjsKIAogICAgIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4
dCgpLmxheW91dCgpOwogCisgICAgaWYgKG9sZExheW91dEZvcmNlZCkKKyAgICAgICAgdmlldygp
LT5sYXlvdXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKCpvbGRMYXlvdXRGb3JjZWQpOworCiAg
ICAgaWYgKHN0eWxlU2NvcGUoKS51cGRhdGVRdWVyeUNvbnRhaW5lclN0YXRlKCkpCi0gICAgICAg
IHVwZGF0ZUxheW91dCgpOworICAgICAgICB1cGRhdGVMYXlvdXQoZm9yY2VMYXlvdXQpOwogfQog
Ci12b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9j
dW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcyBydW5Qb3N0TGF5b3V0VGFza3MpCit2b2lkIERvY3Vt
ZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBv
c3RMYXlvdXRUYXNrcyBydW5Qb3N0TGF5b3V0VGFza3MsIEZvcmNlTGF5b3V0IGZvcmNlTGF5b3V0
KQogewogICAgIGJvb2wgb2xkSWdub3JlID0gbV9pZ25vcmVQZW5kaW5nU3R5bGVzaGVldHM7CiAK
QEAgLTIyMjAsNyArMjI1Nyw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzCiAgICAgICAgICAg
ICBzY2hlZHVsZUZ1bGxTdHlsZVJlYnVpbGQoKTsKICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXQo
KTsKKyAgICB1cGRhdGVMYXlvdXQoZm9yY2VMYXlvdXQpOwogCiAgICAgaWYgKHJ1blBvc3RMYXlv
dXRUYXNrcyA9PSBSdW5Qb3N0TGF5b3V0VGFza3M6OlN5bmNocm9ub3VzbHkgJiYgdmlldygpKQog
ICAgICAgICB2aWV3KCktPmZsdXNoQW55UGVuZGluZ1Bvc3RMYXlvdXRUYXNrcygpOwpAQCAtMjM0
OCw3ICsyMzg1LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWZEaW1lbnNpb25zT3V0
T2ZEYXRlKEVsZW1lbnQmIGVsZW1lbnQsIERpbWVuc2lvbnNDaGUKICAgICAvLyBPbmx5IGRvIGEg
bGF5b3V0IGlmIGNoYW5nZXMgaGF2ZSBvY2N1cnJlZCB0aGF0IG1ha2UgaXQgbmVjZXNzYXJ5LiAg
ICAgIAogICAgIGlmIChyZXF1aXJlRnVsbExheW91dCAmJiBmcmFtZVZpZXcgJiYgcmVuZGVyVmll
dygpICYmIChmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSB8fCBy
ZW5kZXJWaWV3KCktPm5lZWRzTGF5b3V0KCkpKQogICAgICAgICBmcmFtZVZpZXctPmxheW91dENv
bnRleHQoKS5sYXlvdXQoKTsKLSAgICAKKwogICAgIHJldHVybiByZXF1aXJlRnVsbExheW91dDsK
IH0KIApAQCAtNDY4NCw2ICs0NzIxLDExIEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWRFbGVt
ZW50KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9ucykKICAgICAg
ICAgbV9mb2N1c2VkRWxlbWVudC0+c2V0Rm9jdXModHJ1ZSwgb3B0aW9ucy52aXNpYmlsaXR5KTsK
ICAgICAgICAgbV9sYXRlc3RGb2N1c1RyaWdnZXIgPSBvcHRpb25zLnRyaWdnZXI7CiAKKyAgICAg
ICAgZm9yIChhdXRvIGZvY3VzZWQgPSBuZXdGb2N1c2VkRWxlbWVudDsgZm9jdXNlZDsgZm9jdXNl
ZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgICAg
ICBpZiAoYXV0byogZGF0YSA9IGZvY3VzZWQtPmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpKQorICAg
ICAgICAgICAgICAgIGRhdGEtPnN1YnRyZWVIYXNGb2N1cyA9IHRydWU7CisgICAgICAgIH0KKwog
ICAgICAgICAvLyBUaGUgc2V0Rm9jdXMgY2FsbCB0cmlnZ2VycyBhIGJsdXIgYW5kIGEgZm9jdXMg
ZXZlbnQuIEV2ZW50IGhhbmRsZXJzIGNvdWxkIGNhdXNlIHRoZSBmb2N1c2VkIGVsZW1lbnQgdG8g
YmUgY2xlYXJlZC4KICAgICAgICAgaWYgKG1fZm9jdXNlZEVsZW1lbnQgIT0gbmV3Rm9jdXNlZEVs
ZW1lbnQpIHsKICAgICAgICAgICAgIC8vIGhhbmRsZXIgc2hpZnRlZCBmb2N1cwpAQCAtODAwOCw3
ICs4MDUwLDggQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25T
dGF0ZT4gY29tcHV0ZUludGVyc2VjdGlvblN0YXRlKEZyYW0KICAgICBGbG9hdFJlY3Qgcm9vdExv
Y2FsSW50ZXJzZWN0aW9uUmVjdCA9IGxvY2FsUm9vdEJvdW5kczsKIAogICAgIEludGVyc2VjdGlv
bk9ic2VydmF0aW9uU3RhdGUgaW50ZXJzZWN0aW9uU3RhdGU7Ci0gICAgaW50ZXJzZWN0aW9uU3Rh
dGUuaXNJbnRlcnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbEludGVy
c2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVjdCk7
CisgICAgaWYgKCF0YXJnZXQuaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICBpbnRlcnNlY3Rp
b25TdGF0ZS5pc0ludGVyc2VjdGluZyA9IHJvb3RMb2NhbFRhcmdldFJlY3QgJiYgcm9vdExvY2Fs
SW50ZXJzZWN0aW9uUmVjdC5lZGdlSW5jbHVzaXZlSW50ZXJzZWN0KCpyb290TG9jYWxUYXJnZXRS
ZWN0KTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVRhcmdldFJlY3QgPSB0YXJnZXRS
ZW5kZXJlci0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QobG9jYWxUYXJnZXRCb3VuZHMp
KS5ib3VuZGluZ0JveCgpOwogICAgIGludGVyc2VjdGlvblN0YXRlLmFic29sdXRlUm9vdEJvdW5k
cyA9IHJvb3RSZW5kZXJlci0+bG9jYWxUb0Fic29sdXRlUXVhZChsb2NhbFJvb3RCb3VuZHMpLmJv
dW5kaW5nQm94KCk7CiAKQEAgLTkwNTcsNiArOTEwMCw0NCBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6
U2Vzc2lvbklEPiBEb2N1bWVudDo6c2Vzc2lvbklEKCkgY29uc3QKICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogfQogCitDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUmIERvY3VtZW50Ojpj
b250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoKQoreworICAgIGlmICghbV9jb250ZW50Vmlz
aWJpbGl0eURvY3VtZW50U3RhdGUpCisgICAgICAgIG1fY29udGVudFZpc2liaWxpdHlEb2N1bWVu
dFN0YXRlID0gbWFrZVVuaXF1ZTxDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU+KCp0aGlz
KTsKKyAgICByZXR1cm4gKm1fY29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOworfQorCitD
b250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRT
dGF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQorewor
fQorCit2b2lkIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6YWRkQ29udGVudFZpc2li
aWxpdHlPYnNlcnZhdGlvbihFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlmIChhdXRvKiBpbnRl
cnNlY3Rpb25PYnNlcnZlciA9IGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCkpCisgICAgICAg
IGludGVyc2VjdGlvbk9ic2VydmVyLT5vYnNlcnZlKGVsZW1lbnQpOworfQorCit2b2lkIENvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6cmVtb3ZlQ29udGVudFZpc2liaWxpdHlPYnNlcnZh
dGlvbihFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlmIChhdXRvKiBpbnRlcnNlY3Rpb25PYnNl
cnZlciA9IGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCkpCisgICAgICAgIGludGVyc2VjdGlv
bk9ic2VydmVyLT51bm9ic2VydmUoZWxlbWVudCk7Cit9CisKK0ludGVyc2VjdGlvbk9ic2VydmVy
KiBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmVuc3VyZUludGVyc2VjdGlvbk9ic2Vy
dmVyKCkKK3sKKyAgICBpZiAoIW1fb2JzZXJ2ZXIpIHsKKyAgICAgICAgYXV0byBjYWxsYmFjayA9
IENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjazo6Y3JlYXRlKCpt
X2RvY3VtZW50KTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4g
Y29udGVudFZpc2liaWxpdHlSb290TWFyZ2luRmFsbGJhY2soTUFLRV9TVEFUSUNfU1RSSU5HX0lN
UEwoIjEwMCUiKSk7CisgICAgICAgIEludGVyc2VjdGlvbk9ic2VydmVyOjpJbml0IG9wdGlvbnMg
eyBzdGQ6Om51bGxvcHQsIGNvbnRlbnRWaXNpYmlsaXR5Um9vdE1hcmdpbkZhbGxiYWNrLCB7IH0g
fTsKKyAgICAgICAgYXV0byBvYnNlcnZlciA9IEludGVyc2VjdGlvbk9ic2VydmVyOjpjcmVhdGUo
Km1fZG9jdW1lbnQsIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKG9wdGlvbnMpKTsKKyAgICAg
ICAgaWYgKG9ic2VydmVyLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgICAgIG1fb2JzZXJ2ZXIgPSBvYnNlcnZlci5yZXR1cm5WYWx1ZSgpLnB0cigpOwor
ICAgIH0KKyAgICByZXR1cm4gbV9vYnNlcnZlci5nZXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjdW5kZWYgRE9DVU1FTlRfUkVMRUFTRV9MT0cKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
aW5kZXggMzQ3NzAxNGMyMTkxZTJjMjdmMGY5ODJmNWZiNzk4NzgxMTkxNWQ0Zi4uNjg5MjgwMDdj
M2E3OTE3NTUzY2UzN2VjNDA5ZmM1MTY4N2JiZjhlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAg
LTMzOSw2ICszMzksMjEgQEAgcHJpdmF0ZToKICAgICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3Vt
ZW50OwogfTsKIAorY2xhc3MgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBDb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGUoRG9jdW1lbnQmKTsKKworICAgIHZvaWQgYWRkQ29udGVudFZpc2liaWxpdHlP
YnNlcnZhdGlvbihFbGVtZW50Jik7CisgICAgdm9pZCByZW1vdmVDb250ZW50VmlzaWJpbGl0eU9i
c2VydmF0aW9uKEVsZW1lbnQmKTsKKworcHJpdmF0ZToKKyAgICBJbnRlcnNlY3Rpb25PYnNlcnZl
ciogZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTsKKworICAgIFJlZlB0cjxJbnRlcnNlY3Rp
b25PYnNlcnZlcj4gbV9vYnNlcnZlcjsKKyAgICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50
OworfTsKKwogY2xhc3MgRG9jdW1lbnQKICAgICA6IHB1YmxpYyBDb250YWluZXJOb2RlCiAgICAg
LCBwdWJsaWMgVHJlZVNjb3BlCkBAIC02MjAsMTIgKzYzNSwxMyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBuZWVkc1N0eWxlUmVjYWxjKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbGFzdFN0eWxlVXBkYXRl
U2l6ZUZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBtX2xhc3RTdHlsZVVwZGF0ZVNpemVGb3JU
ZXN0aW5nOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0ZUxheW91dCgpOworICAg
IGVudW0gY2xhc3MgRm9yY2VMYXlvdXQgeyBObywgWWVzIH07CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCB1cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgPSBGb3JjZUxheW91dDo6Tm8pOwogICAgIAog
ICAgIC8vIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpIGZvcmNlcyBsYXlv
dXQgZXZlbiBpZiB3ZSBhcmUgd2FpdGluZyBmb3IgcGVuZGluZyBzdHlsZXNoZWV0IGxvYWRzLAog
ICAgIC8vIHNvIGNhbGxpbmcgdGhpcyBtYXkgY2F1c2UgYSBmbGFzaCBvZiB1bnN0eWxlZCBjb250
ZW50IChGT1VDKS4KICAgICBlbnVtIGNsYXNzIFJ1blBvc3RMYXlvdXRUYXNrcyB7IEFzeW5jaHJv
bm91c2x5LCBTeW5jaHJvbm91c2x5IH07Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoUnVuUG9zdExheW91dFRhc2tzID0gUnVuUG9z
dExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoUnVuUG9zdExheW91dFRhc2tzID0g
UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRm9yY2VMYXlvdXQgPSBGb3JjZUxh
eW91dDo6Tm8pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBzdHlsZUZvckVs
ZW1lbnRJZ25vcmluZ1BlbmRpbmdTdHlsZXNoZWV0cyhFbGVtZW50JiwgY29uc3QgUmVuZGVyU3R5
bGUqIHBhcmVudFN0eWxlLCBQc2V1ZG9JZCA9IFBzZXVkb0lkOjpOb25lKTsKIApAQCAtMTYzNyw2
ICsxNjUzLDggQEAgcHVibGljOgogCiAgICAgTGF6eUxvYWRJbWFnZU9ic2VydmVyJiBsYXp5TG9h
ZEltYWdlT2JzZXJ2ZXIoKTsKIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSYg
Y29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCk7CisKICAgICB2b2lkIHNldEhhc1Zpc3Vh
bGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgeyBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21D
b250ZW50ID0gdHJ1ZTsgfQogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9
CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7CkBAIC0xODc4LDYg
KzE4OTYsOCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPExhenlMb2FkSW1hZ2VP
YnNlcnZlcj4gbV9sYXp5TG9hZEltYWdlT2JzZXJ2ZXI7CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlPiBtX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1l
bnRTdGF0ZTsKKwogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fcGVuZGluZ1N0
YXRlT2JqZWN0OwogI2lmICFMT0dfRElTQUJMRUQKICAgICBNb25vdG9uaWNUaW1lIG1fZG9jdW1l
bnRDcmVhdGlvblRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYTVkOTRiNDVmYTJkMWMy
NGZjN2RlY2MyYjdhZjI5YWUyMTY0ZTQ4Yi4uYmNmYmEzMGM3MmFiYWEyNDgwZjFlNjU1NDkyY2E3
MDdhZjgxNTgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTI4MSw3ICsxMjgxLDcgQEAg
aW50IEVsZW1lbnQ6Om9mZnNldFRvcEZvckJpbmRpbmdzKCkKIAogaW50IEVsZW1lbnQ6Om9mZnNl
dFRvcCgpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1l
bnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIGlmIChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVu
ZGVyZXIgPSByZW5kZXJCb3hNb2RlbE9iamVjdCgpKQogICAgICAgICByZXR1cm4gYWRqdXN0T2Zm
c2V0Rm9yWm9vbUFuZFN1YnBpeGVsTGF5b3V0KCpyZW5kZXJlciwgcmVuZGVyZXItPm9mZnNldFRv
cCgpKTsKICAgICByZXR1cm4gMDsKQEAgLTE3NjYsNyArMTc2Niw3IEBAIHN0ZDo6b3B0aW9uYWw8
c3RkOjpwYWlyPFJlbmRlck9iamVjdCosIEZsb2F0UmVjdD4+IEVsZW1lbnQ6OmJvdW5kaW5nQWJz
b2x1dGVSZWN0CiAKIEZsb2F0UmVjdCBFbGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QoKQogewot
ICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Cisg
ICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1l
bnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxh
eW91dDo6WWVzKTsKICAgICBhdXRvIHBhaXIgPSBib3VuZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRM
YXlvdXQoKTsKICAgICBpZiAoIXBhaXIpCiAgICAgICAgIHJldHVybiB7IH07CkBAIC0zMDcwLDYg
KzMwNzAsOSBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGNvbnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9u
cykKICAgICBpZiAoIWlzQ29ubmVjdGVkKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChp
c1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFJlZiBkb2N1bWVudCB7
IHRoaXMtPmRvY3VtZW50KCkgfTsKICAgICBpZiAoZG9jdW1lbnQtPmZvY3VzZWRFbGVtZW50KCkg
PT0gdGhpcykgewogICAgICAgICBpZiAoZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTMzNDIsNiArMzM0
NSw5IEBAIFN0cmluZyBFbGVtZW50Ojppbm5lclRleHQoKQogICAgIC8vIFdlIG5lZWQgdG8gdXBk
YXRlIGxheW91dCwgc2luY2UgcGxhaW5UZXh0IHVzZXMgbGluZSBib3hlcyBpbiB0aGUgcmVuZGVy
IHRyZWUuCiAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKIAorICAgIGlmIChpc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIHRleHRDb250ZW50
KHRydWUpOwogCkBAIC0zNTU3LDkgKzM1NjMsOCBAQCBib29sIEVsZW1lbnQ6Omhhc1ZhbGlkU3R5
bGUoKSBjb25zdAogCiBib29sIEVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxs
U3R5bGUoKSBjb25zdAogewotCiAgICAgaWYgKHJlbmRlclN0eWxlKCkgfHwgaGFzVmFsaWRTdHls
ZSgpKQotICAgICAgICByZXR1cm4gcmVuZGVyU3R5bGUoKSAmJiByZW5kZXJTdHlsZSgpLT52aXNp
YmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZTsKKyAgICAgICAgcmV0dXJuIHJlbmRlclN0
eWxlKCkgJiYgcmVuZGVyU3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OlZpc2li
bGUgJiYgIWlzU2tpcHBlZENvbnRlbnQoKTsKIAogICAgIGF1dG8gY29tcHV0ZWRTdHlsZUZvckVs
ZW1lbnQgPSBbXShFbGVtZW50JiBlbGVtZW50KSAtPiBjb25zdCBSZW5kZXJTdHlsZSogewogICAg
ICAgICBhdXRvKiBzdHlsZSA9IGVsZW1lbnQuaGFzTm9kZUZsYWcoTm9kZUZsYWc6OklzQ29tcHV0
ZWRTdHlsZUludmFsaWRGbGFnKSA/IG51bGxwdHIgOiBlbGVtZW50LmV4aXN0aW5nQ29tcHV0ZWRT
dHlsZSgpOwpAQCAtMzU3Nyw2ICszNTgyLDkgQEAgYm9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRo
b3V0UmVzb2x2aW5nRnVsbFN0eWxlKCkgY29uc3QKICAgICBpZiAoc3R5bGUtPnZpc2liaWxpdHko
KSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBp
ZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBmb3Ig
KGF1dG8mIGVsZW1lbnQgOiBjb21wb3NlZFRyZWVBbmNlc3RvcnMoY29uc3RfY2FzdDxFbGVtZW50
Jj4oKnRoaXMpKSkgewogICAgICAgICBhdXRvKiBzdHlsZSA9IGNvbXB1dGVkU3R5bGVGb3JFbGVt
ZW50KGVsZW1lbnQpOwogICAgICAgICBpZiAoIXN0eWxlIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0g
RGlzcGxheVR5cGU6Ok5vbmUpCkBAIC00NzQ3LDYgKzQ3NTUsMTAyIEBAIEVsZW1lbnRJZGVudGlm
aWVyIEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRJZGVudGlmaWVyKCkKICAgICByZXR1cm4gRWxlbWVu
dElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiB9CiAKK0NvbnRlbnRWaXNpYmlsaXR5RGF0YSYgRWxl
bWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCkKK3sKKyAgICBhdXRvJiByYXJlRGF0
YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOworICAgIGlmICghcmFyZURhdGEuY29udGVudFZp
c2liaWxpdHlEYXRhKCkpCisgICAgICAgIHJhcmVEYXRhLnNldENvbnRlbnRWaXNpYmlsaXR5RGF0
YShtYWtlVW5pcXVlPENvbnRlbnRWaXNpYmlsaXR5RGF0YT4oKSk7CisgICAgcmV0dXJuICpyYXJl
RGF0YS5jb250ZW50VmlzaWJpbGl0eURhdGEoKTsKK30KKworQ29udGVudFZpc2liaWxpdHlEYXRh
KiBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eURhdGEoKSBjb25zdAoreworICAgIHJldHVybiBo
YXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgp
IDogbnVsbHB0cjsKK30KKwordm9pZCBFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eURh
dGEoYm9vbCBzaG91bGRTa2lwLCBDb250ZW50VmlzaWJpbGl0eSBjb250ZW50VmlzaWJpbGl0eSkK
K3sKKyAgICBpZiAoYXV0byogcGFyZW50ID0gcGFyZW50RWxlbWVudCgpKQorICAgICAgICBzaG91
bGRTa2lwIHw9IHBhcmVudC0+aXNTa2lwcGVkQ29udGVudCgpOworCisgICAgYXV0byYgZGF0YSA9
IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGlmIChpczxIVE1MRGlhbG9nRWxl
bWVudD4oKnRoaXMpKQorICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBzaG91bGRTa2lw
ICYmIGNvbnRlbnRWaXNpYmlsaXR5ID09IENvbnRlbnRWaXNpYmlsaXR5OjpIaWRkZW47CisgICAg
ZWxzZQorICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBzaG91bGRTa2lwOworCisgICAg
aWYgKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKKyAgICAgICAg
c2hvdWxkU2tpcCB8PSByZW5kZXJlci0+c2hvdWxkU2tpcENvbnRlbnQoKTsKKyAgICBmb3IgKGF1
dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8RWxlbWVudD4oKnRoaXMpKQorICAgICAgICBjaGls
ZC51cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEoc2hvdWxkU2tpcCwgY29udGVudFZpc2liaWxp
dHkpOworfQorCisvLyBGSVhNRTogdGhpcyBpcyBpbmNvbXBsZXRlLCBhbmQgbmVlZHMgdG8gYmUg
cmVmYWN0b3JlZCB3aXRoIGludGVyc2VjdGlvbiBvYnNlcnZlciBjb21wdXRhdGlvbnMgaW4gRG9j
dW1lbnQuCitzdGF0aWMgYm9vbCBjb21wdXRlSW50ZXJzZWN0aW9uKGNvbnN0IERvY3VtZW50JiBk
b2N1bWVudCwgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIpCit7CisgICAgaWYgKCFyZW5kZXJlcikK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgRnJhbWVWaWV3KiB2aWV3ID0gZG9jdW1lbnQu
dmlldygpOworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgRmxv
YXRSZWN0IGxvY2FsUm9vdEJvdW5kcyA9IHZpZXctPmxheW91dFZpZXdwb3J0UmVjdCgpOworICAg
IExheW91dFJlY3QgbG9jYWxUYXJnZXRCb3VuZHM7CisgICAgaWYgKGlzPFJlbmRlckJveD4oKnJl
bmRlcmVyKSkKKyAgICAgICAgbG9jYWxUYXJnZXRCb3VuZHMgPSBkb3duY2FzdDxSZW5kZXJCb3g+
KHJlbmRlcmVyKS0+Ym9yZGVyQm91bmRpbmdCb3goKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8TGF5
b3V0UmVjdD4gcm9vdExvY2FsVGFyZ2V0UmVjdDsKKyAgICBPcHRpb25TZXQ8UmVuZGVyT2JqZWN0
OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb24+IHZpc2libGVSZWN0T3B0aW9ucyA9IHsgUmVuZGVy
T2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OlVzZUVkZ2VJbmNsdXNpdmVJbnRlcnNl
Y3Rpb24sIFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBv
c2l0ZWRDbGlwcywgUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OkFwcGx5
Q29tcG9zaXRlZENvbnRhaW5lclNjcm9sbHMgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPExheW91dFJl
Y3Q+IHJlY3RJbkZyYW1lQWJzb2x1dGVTcGFjZSA9IHJlbmRlcmVyLT5jb21wdXRlVmlzaWJsZVJl
Y3RJbkNvbnRhaW5lcihsb2NhbFRhcmdldEJvdW5kcywgJnJlbmRlcmVyLT52aWV3KCksIHsgZmFs
c2UgLyogaGFzUG9zaXRpb25GaXhlZERlc2NlbmRhbnQgKi8sIGZhbHNlIC8qIGRpcnR5UmVjdElz
RmxpcHBlZCAqLywgdmlzaWJsZVJlY3RPcHRpb25zIH0pOworICAgIGlmIChyZWN0SW5GcmFtZUFi
c29sdXRlU3BhY2UpCisgICAgICAgIHJvb3RMb2NhbFRhcmdldFJlY3QgPSByZWN0SW5GcmFtZUFi
c29sdXRlU3BhY2U7CisgICAgRmxvYXRSZWN0IHJvb3RMb2NhbEludGVyc2VjdGlvblJlY3QgPSBs
b2NhbFJvb3RCb3VuZHM7CisgICAgcmV0dXJuIHJvb3RMb2NhbFRhcmdldFJlY3QgJiYgcm9vdExv
Y2FsSW50ZXJzZWN0aW9uUmVjdC5lZGdlSW5jbHVzaXZlSW50ZXJzZWN0KCpyb290TG9jYWxUYXJn
ZXRSZWN0KTsKK30KKworYm9vbCBFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygp
Cit7CisgICAgZm9yIChhdXRvKiBmb2N1c2VkID0gZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgp
OyBmb2N1c2VkOyBmb2N1c2VkID0gZm9jdXNlZC0+cGFyZW50RWxlbWVudEluQ29tcG9zZWRUcmVl
KCkpIHsKKyAgICAgICAgaWYgKGZvY3VzZWQgPT0gdGhpcykKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRl
Q29udGVudFZpc2liaWxpdHkoc3RkOjpvcHRpb25hbDxDb250ZW50VmlzaWJpbGl0eT4sIENvbnRl
bnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5KQoreworICAgIGlmIChuZXdDb250ZW50
VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6QXV0bykgeworICAgICAgICBhdXRvJiBk
YXRhID0gZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCk7CisgICAgICAgIGRhdGEuaXNJbnRl
cnNlY3RpbmdWaWV3cG9ydCA9IGNvbXB1dGVJbnRlcnNlY3Rpb24oZG9jdW1lbnQoKSwgcmVuZGVy
ZXIoKSk7CisgICAgICAgIGRhdGEuaXNTa2lwcGVkQ29udGVudCA9IGZhbHNlOworICAgICAgICBk
YXRhLnN1YnRyZWVIYXNGb2N1cyA9IGRldGVybWluZUlmU3VidHJlZUhhc0ZvY3VzKCk7CisgICAg
ICAgIGRvY3VtZW50KCkuY29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCkuYWRkQ29udGVu
dFZpc2liaWxpdHlPYnNlcnZhdGlvbigqdGhpcyk7CisgICAgfQorICAgIHVwZGF0ZUNvbnRlbnRW
aXNpYmlsaXR5RGF0YShmYWxzZSwgbmV3Q29udGVudFZpc2liaWxpdHkpOworfQorCitib29sIEVs
ZW1lbnQ6OmlzU2tpcHBlZENvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBjb250ZW50Vmlz
aWJpbGl0eURhdGEoKSA/IGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpLT5pc1NraXBwZWRDb250ZW50
IDogZmFsc2U7Cit9CisKK2Jvb2wgRWxlbWVudDo6c2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdAor
eworICAgIGlmICghcmVuZGVyZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChy
ZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxp
dHk6OkF1dG8pCisgICAgICAgIHJldHVybiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSA/ICFjb250
ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNJbnRlcnNlY3RpbmdWaWV3cG9ydCAmJiAhY29udGVudFZp
c2liaWxpdHlEYXRhKCktPnN1YnRyZWVIYXNGb2N1cyA6IHRydWU7CisgICAgcmV0dXJuIHJlbmRl
cmVyKCktPnN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6
SGlkZGVuOworfQorCit2b2lkIEVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFu
Z2UoYm9vbCBpc0ludGVyc2VjdGluZykKK3sKKyAgICBhdXRvJiBkYXRhID0gZW5zdXJlQ29udGVu
dFZpc2liaWxpdHlEYXRhKCk7CisgICAgZGF0YS5pc0ludGVyc2VjdGluZ1ZpZXdwb3J0ID0gaXNJ
bnRlcnNlY3Rpbmc7CisgICAgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGZhbHNlLCBDb250
ZW50VmlzaWJpbGl0eTo6QXV0byk7Cit9CisKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogCiBT
dHlsZVByb3BlcnR5TWFwKiBFbGVtZW50OjphdHRyaWJ1dGVTdHlsZU1hcCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAppbmRleCA2MjA5YmU2MmE3MDQ2NGZlYzczMzM0NWU2NTUzNjNkY2NmZTlmNTg4Li5hOTM2
YzQ5YjAxYjc0MDY5NjYyNzhiMTk5ODc4MTE0NGFlNzM2NzY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgK
QEAgLTkxLDYgKzkxLDEyIEBAIHN0cnVjdCBTY3JvbGxJbnRvVmlld09wdGlvbnM7CiBzdHJ1Y3Qg
U2Nyb2xsVG9PcHRpb25zOwogc3RydWN0IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnRJbml0
Owogc3RydWN0IFNoYWRvd1Jvb3RJbml0Oworc3RydWN0IENvbnRlbnRWaXNpYmlsaXR5RGF0YSB7
CisgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOworICAgIGJvb2wgaXNTa2lwcGVk
Q29udGVudCB7IGZhbHNlIH07CisgICAgYm9vbCBpc0ludGVyc2VjdGluZ1ZpZXdwb3J0IHsgZmFs
c2UgfTsKKyAgICBib29sIHN1YnRyZWVIYXNGb2N1cyB7IGZhbHNlIH07Cit9OwogCiBuYW1lc3Bh
Y2UgU3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7CkBAIC02NjQsNiArNjcwLDEzIEBAIHB1YmxpYzoK
ICAgICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzRHVw
bGljYXRlQXR0cmlidXRlOyB9OwogICAgIHZvaWQgc2V0SGFzRHVwbGljYXRlQXR0cmlidXRlKGJv
b2wgaGFzRHVwbGljYXRlQXR0cmlidXRlKSB7IG1faGFzRHVwbGljYXRlQXR0cmlidXRlID0gaGFz
RHVwbGljYXRlQXR0cmlidXRlOyB9OwogCisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhJiBlbnN1
cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBDb250ZW50VmlzaWJpbGl0eURhdGEqIGNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0OworICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2li
aWxpdHkoc3RkOjpvcHRpb25hbDxDb250ZW50VmlzaWJpbGl0eT4gb2xkQ29udGVudFZpc2liaWxp
dHksIENvbnRlbnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKKyAgICB2b2lkIGNv
bnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoYm9vbCk7CisgICAgYm9vbCBpc1NraXBwZWRD
b250ZW50KCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0OworCiBw
cm90ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBD
b25zdHJ1Y3Rpb25UeXBlKTsKIApAQCAtNjg3LDYgKzcwMCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0eU1hcD4mJik7CiAjZW5k
aWYKIAorICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGJvb2wgc2hvdWxkU2tp
cCwgQ29udGVudFZpc2liaWxpdHkpOworCisgICAgYm9vbCBkZXRlcm1pbmVJZlN1YnRyZWVIYXNG
b2N1cygpOworCiBwcml2YXRlOgogICAgIEZyYW1lKiBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxW
aWV3KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXgg
ODc3YTM0OWExNDM5M2NiOWRiZDZkNDM3YTdiZDY2MTZlZjI3NTEwYS4uNWM4NmI4ZTQyZjFiNTQ4
NjBhMDFhNjJmOTkzOTg5N2NhMjhhOGNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJl
RGF0YS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURh
dGEgOiBOb2RlUmFyZURhdGEgewogICAgIHZvaWQqIHR5cGVkT01EYXRhOwogI2VuZGlmCiAgICAg
dm9pZCogcmVzaXplT2JzZXJ2ZXJEYXRhOworICAgIHZvaWQqIGNvbnRlbnRWaXNpYmlsaXR5RGF0
YTsKIH07CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9m
KFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5
IHNtYWxsIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMGVjNDg3ZmI4
ZDFmMGZmOTJkYjE3Njk1MzE5YzA3ZGY0ZTI3ZjZmYi4uOWYxMDlkMDM3ZTA4OWRkMGQyNTQzYjNh
MmRmYTE0OTY1OGI1ZjVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAt
MTA2LDYgKzEwNiw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBBdG9tU3RyaW5nJiBub25jZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbm9uY2U7IH0KICAgICB2b2lkIHNldE5vbmNlKGNvbnN0IEF0b21TdHJp
bmcmIHZhbHVlKSB7IG1fbm9uY2UgPSB2YWx1ZTsgfQogCisgICAgQ29udGVudFZpc2liaWxpdHlE
YXRhKiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRWaXNp
YmlsaXR5RGF0YS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHlEYXRhKHN0
ZDo6dW5pcXVlX3B0cjxDb250ZW50VmlzaWJpbGl0eURhdGE+JiYgZGF0YSkgeyBtX2NvbnRlbnRW
aXNpYmlsaXR5RGF0YSA9IFdURk1vdmUoZGF0YSk7IH0KKwogI2lmIEVOQUJMRShDU1NfVFlQRURf
T00pCiAgICAgU3R5bGVQcm9wZXJ0eU1hcCogYXR0cmlidXRlU3R5bGVNYXAoKSB7IHJldHVybiBt
X2F0dHJpYnV0ZVN0eWxlTWFwLmdldCgpOyB9CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1h
cChSZWY8U3R5bGVQcm9wZXJ0eU1hcD4mJiBtYXApIHsgbV9hdHRyaWJ1dGVTdHlsZU1hcCA9IFdU
Rk1vdmUobWFwKTsgfQpAQCAtMTUxLDYgKzE1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJl
c3VsdC5hZGQoVXNlVHlwZTo6UGFydE5hbWVzKTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAg
ICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fQ29udGVu
dFZpc2liaWxpdHlEYXRhKQorICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpDb250ZW50
VmlzaWJpbGl0eSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogI2VuZGlmCkBAIC0x
ODQsNiArMTg5LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJpbmcgbV9ub25jZTsKIAorICAg
IHN0ZDo6dW5pcXVlX3B0cjxDb250ZW50VmlzaWJpbGl0eURhdGE+IG1fY29udGVudFZpc2liaWxp
dHlEYXRhOworCiAgICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50Kik7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXggYzMzMWZiOGU1YTU1NzcxYzM5
YTBiNjMwYjExMDllZjkzMzdiOWE4NS4uY2U1ODQ4NzI1NjZmZmM0NDcxNDg1MjhmNWY4M2JhZGI0
MWM2YTg1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMjY0LDYgKzI2NCw3IEBA
IHB1YmxpYzoKICAgICAgICAgUGFydExpc3QgPSAxIDw8IDE2LAogICAgICAgICBQYXJ0TmFtZXMg
PSAxIDw8IDE3LAogICAgICAgICBOb25jZSA9IDEgPDwgMTgsCisgICAgICAgIENvbnRlbnRWaXNp
YmlsaXR5PSAxIDw8IDE5LAogICAgIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9U
ZXh0SXRlcmF0b3IuY3BwCmluZGV4IGNmNzE0OTVmZjlkMjQ5ZTVhMzViYTVmYTRhZTIwOGU5YjBj
NWVhZjkuLjQxNDJiNzQxMTljOTBlYWVmNzU5ZWMwYzgwMGYyNzNkOGM0NmIxMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTQ1Niw2ICs0NTYsMTYgQEAgdm9p
ZCBUZXh0SXRlcmF0b3I6OmFkdmFuY2UoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAor
ICAgIGF1dG8gaXNTa2lwcGVkQ29udGVudE9yVGV4dCA9IFsmXSgpIHsKKyAgICAgICAgaWYgKGlz
PEVsZW1lbnQ+KG1fbm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4o
bV9ub2RlKS0+aXNTa2lwcGVkQ29udGVudCgpOworICAgICAgICAKKyAgICAgICAgaWYgKG1fbm9k
ZS0+aXNUZXh0Tm9kZSgpKQorICAgICAgICAgICAgcmV0dXJuIG1fbm9kZS0+cGFyZW50RWxlbWVu
dCgpID8gbV9ub2RlLT5wYXJlbnRFbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKTogZmFsc2U7
CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH07CisKICAgICB3aGlsZSAobV9ub2RlICYm
IG1fbm9kZSAhPSBtX3Bhc3RFbmROb2RlKSB7CiAgICAgICAgIC8vIGlmIHRoZSByYW5nZSBlbmRz
IGF0IG9mZnNldCAwIG9mIGFuIGVsZW1lbnQsIHJlcHJlc2VudCB0aGUKICAgICAgICAgLy8gcG9z
aXRpb24sIGJ1dCBub3QgdGhlIGNvbnRlbnQsIG9mIHRoYXQgZWxlbWVudCBlLmcuIGlmIHRoZQpA
QCAtNDcyLDcgKzQ4Miw5IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjphZHZhbmNlKCkKICAgICAgICAg
ICAgIGlmICghcmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9ICFoYXNEaXNwbGF5Q29udGVu
dHMoKm1fbm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlIGlm
IChpczxFbGVtZW50PihtX25vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPnNob3Vs
ZFNraXBDb250ZW50KCkpIHsKKyAgICAgICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9IHRy
dWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1NraXBwZWRDb250ZW50T3JUZXh0KCkpIHsK
ICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgY3VycmVudCBub2RlIGFjY29yZGluZyB0byBpdHMg
dHlwZQogICAgICAgICAgICAgICAgIGlmIChyZW5kZXJlci0+aXNUZXh0KCkgJiYgbV9ub2RlLT5p
c1RleHROb2RlKCkpCiAgICAgICAgICAgICAgICAgICAgIG1faGFuZGxlZE5vZGUgPSBoYW5kbGVU
ZXh0Tm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXgg
Nzk4ZmU4NmJjNGYzMjAyNjcxY2QyZDcxNDY2MDAwYjZlYmFiYjZiZi4uNDViNGQwMjA4OWQxMDI4
ODVkNDEzNjFjYjMwNmI1NDg4YjkzN2ZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwCkBAIC00ODUsOSArNDg1LDkgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVu
dDo6d2lkdGgoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCiAgICAgfQogCiAgICAgaWYg
KGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNr
czo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBlbHNl
Ci0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7CisgICAgICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAogICAgIFJlbmRlckJv
eCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFib3gpCkBAIC00OTgsNiArNDk4LDExIEBA
IHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6OndpZHRoKGJvb2wgaWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKQogCiB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMpCiB7CisgICAgaWYgKGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykK
KyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
RG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpG
b3JjZUxheW91dDo6WWVzKTsKKyAgICBlbHNlCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5
b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkg
ewogICAgICAgICAvLyBjaGVjayB0aGUgYXR0cmlidXRlIGZpcnN0IGZvciBhbiBleHBsaWNpdCBw
aXhlbCB2YWx1ZQogICAgICAgICBhdXRvIG9wdGlvbmFsSGVpZ2h0ID0gcGFyc2VIVE1MTm9uTmVn
YXRpdmVJbnRlZ2VyKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oaGVpZ2h0QXR0cikp
OwpAQCAtNTA5LDExICs1MTQsNiBAQCB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQo
Ym9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCiAgICAgICAgICAgICByZXR1cm4gbV9pbWFn
ZUxvYWRlci0+aW1hZ2UoKS0+aW1hZ2VTaXplRm9yUmVuZGVyZXIocmVuZGVyZXIoKSwgMS4wZiku
aGVpZ2h0KCkudG9VbnNpZ25lZCgpOwogICAgIH0KIAotICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7Ci0gICAgZWxzZQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dCgp
OwotCiAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKICAgICBpZiAoIWJveCkKICAg
ICAgICAgcmV0dXJuIDA7CkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50
OjpzZXRXaWR0aCh1bnNpZ25lZCB2YWx1ZSkKIAogaW50IEhUTUxJbWFnZUVsZW1lbnQ6OngoKSBj
b25zdAogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50
OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBhdXRvIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIo
KTsKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzMiw3ICs2MzIs
NyBAQCBpbnQgSFRNTEltYWdlRWxlbWVudDo6eCgpIGNvbnN0CiAKIGludCBIVE1MSW1hZ2VFbGVt
ZW50Ojp5KCkgY29uc3QKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5
LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMt
PnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCmluZGV4IDk2MTUzNDExYzcwM2IzNGFiM2Q4
MmM1YWEyNjU0OThiMWNhMzBhZTIuLmEyMGM4YjY3MWQwYmMwZGU0ZGMyZThlMDI0ODc1YjU5OWQ1
ODM2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNzMsNyAr
MTczLDcgQEAgdW5zaWduZWQgSW1hZ2VJbnB1dFR5cGU6OmhlaWdodCgpIGNvbnN0CiAgICAgQVNT
RVJUKGVsZW1lbnQoKSk7CiAgICAgUmVmPEhUTUxJbnB1dEVsZW1lbnQ+IGVsZW1lbnQoKnRoaXMt
PmVsZW1lbnQoKSk7CiAKLSAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOwor
ICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91
dDo6WWVzKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCkp
CiAgICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpvb20oZG93bmNhc3Q8UmVuZGVyQm94
PigqcmVuZGVyZXIpLmNvbnRlbnRIZWlnaHQoKSwgKnJlbmRlcmVyKTsKQEAgLTE5NSw3ICsxOTUs
NyBAQCB1bnNpZ25lZCBJbWFnZUlucHV0VHlwZTo6d2lkdGgoKSBjb25zdAogICAgIEFTU0VSVChl
bGVtZW50KCkpOwogICAgIFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVt
ZW50KCkpOwogCi0gICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBl
bGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olll
cyk7CiAKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAg
ICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJl
bmRlcmVyKS5jb250ZW50V2lkdGgoKSwgKnJlbmRlcmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCmluZGV4IDY5YTRjMjNjOWEzNjE4MmMxNzA5
ZTM3YTFhYjRkOGU3NDgxOGY4NzEuLjUyMmRiYjJjNzQ5ZGIwY2MxMDExZWYwZDA4NGE3Yzc1N2Fl
Nzg1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmNwcApAQCAtMjM2LDcgKzIzNiw4IEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6bGF5
b3V0KCkKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICAgICAgbGF5
b3V0VXNpbmdGb3JtYXR0aW5nQ29udGV4dCgpOwogI2VuZGlmCi0gICAgICAgICsrbV9sYXlvdXRD
b3VudDsKKyAgICAgICAgaWYgKCFtX2xheW91dEZvcmNlZCkKKyAgICAgICAgICAgICsrbV9sYXlv
dXRDb3VudDsKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgICAgICBhcHBseVRleHRT
aXppbmdJZk5lZWRlZCgqbGF5b3V0Um9vdC5nZXQoKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKaW5kZXggNmY5ZWIxZTA5MzgyNGU2YjFi
MGY5YTU3YTc1MjUzYTMyNGZlZTFmYS4uZGRjNmYwMzBmMzEyYzhiMDg1OGNhNjRlYWQ5ZTUxNmE2
MzI0ZjM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmgKQEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNJbkxheW91dCgpIGNvbnN0
IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6Ok91dHNpZGVMYXlvdXQ7IH0K
ICAgICBib29sIGlzSW5SZW5kZXJUcmVlTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhh
c2UoKSA9PSBMYXlvdXRQaGFzZTo6SW5SZW5kZXJUcmVlTGF5b3V0OyB9CiAgICAgYm9vbCBpblBh
aW50YWJsZVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQaGFz
ZTo6SW5SZW5kZXJUcmVlTGF5b3V0ICYmIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6Oklu
Vmlld1NpemVBZGp1c3QgJiYgKGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluUG9zdExh
eW91dCB8fCBpbkFzeW5jaHJvbm91c1Rhc2tzKCkpOyB9CisgICAgYm9vbCBpc0xheW91dEZvcmNl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Rm9yY2VkOyB9CisgICAgdm9pZCBzZXRMYXlvdXRG
b3JjZWQoYm9vbCBmKSB7IG1fbGF5b3V0Rm9yY2VkID0gZjsgfQogCiAgICAgdW5zaWduZWQgbGF5
b3V0Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2xheW91dENvdW50OyB9CiAKQEAgLTE3OSw2ICsx
ODEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9uZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9Owog
ICAgIGJvb2wgbV9pbkFzeW5jaHJvbm91c1Rhc2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2V0
TmVlZHNMYXlvdXRXYXNEZWZlcnJlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2xheW91dEZvcmNl
ZCB7IGZhbHNlIH07CiAgICAgTGF5b3V0UGhhc2UgbV9sYXlvdXRQaGFzZSB7IExheW91dFBoYXNl
OjpPdXRzaWRlTGF5b3V0IH07CiAgICAgZW51bSBjbGFzcyBMYXlvdXROZXN0ZWRTdGF0ZSA6IHVp
bnQ4X3QgIHsgTm90SW5MYXlvdXQsIE5vdE5lc3RlZCwgTmVzdGVkIH07CiAgICAgTGF5b3V0TmVz
dGVkU3RhdGUgbV9sYXlvdXROZXN0ZWRTdGF0ZSB7IExheW91dE5lc3RlZFN0YXRlOjpOb3RJbkxh
eW91dCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNl
cnZlckVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJF
bnRyeS5jcHAKaW5kZXggYjVhMjM3ZTgxNDJlZDdiMjM3YWI0NDUzZGViNjVlMzNiZjRjNzYxOC4u
ZGVmNjEzNDM3NmIzNjJlMzgzZmZiY2ZjYjk3NTVjNWZhNDIyYzZhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCkBAIC00MSw2ICs0
MSw4IEBAIEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk6OkludGVyc2VjdGlvbk9ic2VydmVyRW50
cnkoY29uc3QgSW5pdCYgaW5pdCkKIHsKICAgICBpZiAoaW5pdC5yb290Qm91bmRzKQogICAgICAg
ICBtX3Jvb3RCb3VuZHMgPSBET01SZWN0UmVhZE9ubHk6OmZyb21SZWN0KCppbml0LnJvb3RCb3Vu
ZHMpOworICAgIGlmIChtX3RhcmdldCAmJiBtX3RhcmdldC0+aXNTa2lwcGVkQ29udGVudCgpKQor
ICAgICAgICBtX2lzSW50ZXJzZWN0aW5nID0gZmFsc2U7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHAKaW5kZXggZWJj
YTdlMzNiZDE3YTA2NTJkZGVhMDhjZDRlNWJhYWRjZjZjOWVhZi4uZDhkZWYzYTE0ZDUwNzNiYWEx
MGVjOTBlYzRjMWYwM2U4N2ExZDdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9S
ZXNpemVPYnNlcnZhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNl
cnZhdGlvbi5jcHAKQEAgLTUxLDI0ICs1MSwyNiBAQCB2b2lkIFJlc2l6ZU9ic2VydmF0aW9uOjp1
cGRhdGVPYnNlcnZhdGlvblNpemUoY29uc3QgQm94U2l6ZXMmIGJveFNpemVzKQogICAgIG1fbGFz
dE9ic2VydmF0aW9uU2l6ZXMgPSBib3hTaXplczsKIH0KIAotYXV0byBSZXNpemVPYnNlcnZhdGlv
bjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25zdCAtPiBCb3hTaXplcworc3RkOjpvcHRpb25h
bDxSZXNpemVPYnNlcnZhdGlvbjo6Qm94U2l6ZXM+IFJlc2l6ZU9ic2VydmF0aW9uOjpjb21wdXRl
T2JzZXJ2ZWRTaXplcygpIGNvbnN0CiB7CiAgICAgaWYgKG1fdGFyZ2V0LT5pc1NWR0VsZW1lbnQo
KSkgewogICAgICAgICBpZiAoYXV0byBzdmdSZWN0ID0gZG93bmNhc3Q8U1ZHRWxlbWVudD4oKm1f
dGFyZ2V0KS5nZXRCb3VuZGluZ0JveCgpKSB7CiAgICAgICAgICAgICBhdXRvIHNpemUgPSBMYXlv
dXRTaXplKHN2Z1JlY3QtPndpZHRoKCksIHN2Z1JlY3QtPmhlaWdodCgpKTsKLSAgICAgICAgICAg
IHJldHVybiB7IHNpemUsIHNpemUsIHNpemUgfTsKKyAgICAgICAgICAgIHJldHVybiBCb3hTaXpl
cyB7IHNpemUsIHNpemUsIHNpemUgfTsKICAgICAgICAgfQogICAgIH0KICAgICBhdXRvKiBib3gg
PSBtX3RhcmdldC0+cmVuZGVyQm94KCk7CiAgICAgaWYgKGJveCkgewotICAgICAgICByZXR1cm4g
eworICAgICAgICBpZiAobV90YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiBCb3hTaXplcyB7CiAgICAgICAg
ICAgICBhZGp1c3RMYXlvdXRTaXplRm9yQWJzb2x1dGVab29tKGJveC0+Y29udGVudFNpemUoKSwg
KmJveCksCiAgICAgICAgICAgICBhZGp1c3RMYXlvdXRTaXplRm9yQWJzb2x1dGVab29tKGJveC0+
Y29udGVudExvZ2ljYWxTaXplKCksICpib3gpLAogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6
ZUZvckFic29sdXRlWm9vbShib3gtPmJvcmRlckJveExvZ2ljYWxTaXplKCksICpib3gpCiAgICAg
ICAgIH07CiAgICAgfQogCi0gICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gQm94U2l6ZXMgeyB9
OwogfQogCiBMYXlvdXRQb2ludCBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZVRhcmdldExvY2F0
aW9uKCkgY29uc3QKQEAgLTEwNCwxNSArMTA2LDE3IEBAIEZsb2F0U2l6ZSBSZXNpemVPYnNlcnZh
dGlvbjo6c25hcHBlZENvbnRlbnRCb3hTaXplKCkgY29uc3QKIHN0ZDo6b3B0aW9uYWw8UmVzaXpl
T2JzZXJ2YXRpb246OkJveFNpemVzPiBSZXNpemVPYnNlcnZhdGlvbjo6ZWxlbWVudFNpemVDaGFu
Z2VkKCkgY29uc3QKIHsKICAgICBhdXRvIGN1cnJlbnRTaXplcyA9IGNvbXB1dGVPYnNlcnZlZFNp
emVzKCk7CisgICAgaWYgKCFjdXJyZW50U2l6ZXMpCisgICAgICAgIHJldHVybiBjdXJyZW50U2l6
ZXM7CiAKICAgICBzd2l0Y2ggKG1fb2JzZXJ2ZWRCb3gpIHsKICAgICBjYXNlIFJlc2l6ZU9ic2Vy
dmVyQm94T3B0aW9uczo6Qm9yZGVyQm94OgotICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25T
aXplcy5ib3JkZXJCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMuYm9yZGVyQm94TG9naWNh
bFNpemUpCi0gICAgICAgICAgICByZXR1cm4gY3VycmVudFNpemVzOworICAgICAgICBpZiAobV9s
YXN0T2JzZXJ2YXRpb25TaXplcy5ib3JkZXJCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMt
PmJvcmRlckJveExvZ2ljYWxTaXplKQorICAgICAgICAgICAgcmV0dXJuICpjdXJyZW50U2l6ZXM7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zOjpDb250
ZW50Qm94OgotICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXplcy5jb250ZW50Qm94TG9n
aWNhbFNpemUgIT0gY3VycmVudFNpemVzLmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSkKLSAgICAgICAg
ICAgIHJldHVybiBjdXJyZW50U2l6ZXM7CisgICAgICAgIGlmIChtX2xhc3RPYnNlcnZhdGlvblNp
emVzLmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMtPmNvbnRlbnRCb3hMb2dp
Y2FsU2l6ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVudFNpemVzOwogICAgICAgICBicmVh
azsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaAppbmRleCA2
OGIxYzJhOTc0ZTY1MzEyNWU5MjhmZDQ4ODIxMGY1YzJkZjBkNzEzLi44MDU1NGZjMDhkZmYwZWYx
YzlhZGU1Nzg2Y2U4MTVhNWUyZjE4OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNl
cnZhdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzaXpl
T2JzZXJ2YXRpb24oRWxlbWVudCYsIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9ucyk7CiAKLSAgICBC
b3hTaXplcyBjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8
Qm94U2l6ZXM+IGNvbXB1dGVPYnNlcnZlZFNpemVzKCkgY29uc3Q7CiAgICAgTGF5b3V0UG9pbnQg
Y29tcHV0ZVRhcmdldExvY2F0aW9uKCkgY29uc3Q7CiAKICAgICBXZWFrUHRyPEVsZW1lbnQ+IG1f
dGFyZ2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggOTE2
YzY0NDU4NWRjNjQ2MzkxYmU2MGRiMmZmZGQyOWNmYzNlYTgwNi4uMDBmNTdiNDQ0MGFkY2ZhYzRk
MzJjNDdkNTBlMjQ3ZTA1MDU0N2IzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCkBAIC02NTIsNiArNjUyLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0Qmxv
Y2soYm9vbCwgTGF5b3V0VW5pdCkKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9t
Q2hpbGRyZW4oKQogeworICAgIGlmIChzaG91bGRTa2lwQ29udGVudCgpICYmICF2aWV3KCkuZnJh
bWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpCisgICAgICAgIHJldHVy
bjsKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tSW5s
aW5lQ2hpbGRyZW4oKTsKICAgICBlbHNlCkBAIC03NDMsNiArNzQ1LDggQEAgdm9pZCBSZW5kZXJC
bG9jazo6YWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpCiAKIHZvaWQgUmVuZGVyQmxvY2s6
OmFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKCkKIHsKKyAgICBpZiAoc2hvdWxkU2tp
cENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91
dEZvcmNlZCgpKQorICAgICAgICByZXR1cm47CiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hT
ZXQqIHBvc2l0aW9uZWREZXNjZW5kYW50cyA9IHBvc2l0aW9uZWRPYmplY3RzKCk7CiAgICAgaWYg
KCFwb3NpdGlvbmVkRGVzY2VuZGFudHMpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNzQsNyArMTA3
OCwxMyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhib29sIHJl
bGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdAogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RI
YXNoU2V0KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAg
IGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47Ci0gICAgCisKKyAg
ICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91dENv
bnRleHQoKS5pc0xheW91dEZvcmNlZCgpKSB7CisgICAgICAgIGZvciAoYXV0byBpdCA9IHBvc2l0
aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKTsgaXQgIT0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5l
bmQoKTsgKytpdCkKKyAgICAgICAgICAgICgqKml0KS5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBEbyBub3QgY2FjaGUgcG9zaXRpb25lZERlc2Nl
bmRhbnRzLT5lbmQoKSBpbiBhIGxvY2FsIHZhcmlhYmxlLCBzaW5jZSB8cG9zaXRpb25lZERlc2Nl
bmRhbnRzfCBjYW4gYmUgbXV0YXRlZAogICAgIC8vIGFzIGl0IGlzIHdhbGtlZC4gV2UgYWx3YXlz
IG5lZWQgdG8gZmV0Y2ggdGhlIG5ldyBlbmQoKSB2YWx1ZSBkeW5hbWljYWxseS4KICAgICBmb3Ig
KGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCk7IGl0ICE9IHBvc2l0aW9u
ZWREZXNjZW5kYW50cy0+ZW5kKCk7ICsraXQpCkBAIC0xMTM3LDcgKzExNDcsNyBAQCB2b2lkIFJl
bmRlckJsb2NrOjpwYWludENvbnRlbnRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlv
dXRQb2ludCYgcGFpbnRPZgogICAgIC8vIFN0eWxlIGlzIG5vbi1maW5hbCBpZiB0aGUgZWxlbWVu
dCBoYXMgYSBwZW5kaW5nIHN0eWxlc2hlZXQgYmVmb3JlIGl0LiBXZSBlbmQgdXAgd2l0aCByZW5k
ZXJlcnMgd2l0aCBzdWNoIHN0eWxlcyBpZiBhIHNjcmlwdAogICAgIC8vIGZvcmNlcyByZW5kZXJl
ciBjb25zdHJ1Y3Rpb24gYnkgcXVlcnlpbmcgc29tZXRoaW5nIGxheW91dCBkZXBlbmRlbnQuCiAg
ICAgLy8gQXZvaWQgRk9VQyBieSBub3QgcGFpbnRpbmcuIFN3aXRjaGluZyB0byBmaW5hbCBzdHls
ZSB0cmlnZ2VycyByZXBhaW50LgotICAgIGlmIChzdHlsZSgpLmlzTm90RmluYWwoKSkKKyAgICBp
ZiAoc3R5bGUoKS5pc05vdEZpbmFsKCkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCkBAIC0xMjQwLDYgKzEyNTAsOSBA
QCB2b2lkIFJlbmRlckJsb2NrOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50T2ZmcwogewogICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9
IHBhaW50SW5mby5waGFzZTsKIAorICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1Nr
aXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIDEuIHBhaW50IGJhY2tn
cm91bmQsIGJvcmRlcnMgZXRjCiAgICAgaWYgKChwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkJs
b2NrQmFja2dyb3VuZCB8fCBwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkNoaWxkQmxvY2tCYWNr
Z3JvdW5kKSAmJiBzdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKSB7
CiAgICAgICAgIGlmIChoYXNWaXNpYmxlQm94RGVjb3JhdGlvbnMoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggZDIyYjYxMTU4NmNlN2RiMjA3
ZTMwNDAyODcwNjNkMjZkOWY4OTExMS4uZGVkNzM1ZjIyYmMyMjI4MzA4NzFkYTI0ODAxYTUxMWQx
MzQ4NjYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTUyNyw2ICs1MjcsOCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0QmxvY2so
Ym9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSAogICAgICAgICBp
ZiAoIWZpcnN0Q2hpbGQoKSAmJiAhaXNBbm9ueW1vdXNCbG9jaygpKQogICAgICAgICAgICAgc2V0
Q2hpbGRyZW5JbmxpbmUodHJ1ZSk7CiAgICAgICAgIGRpcnR5Rm9yTGF5b3V0RnJvbVBlcmNlbnRh
Z2VIZWlnaHREZXNjZW5kYW50cygpOworICAgICAgICBpZiAodmlldygpLmZyYW1lVmlldygpLmxh
eW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpICYmICgoZWxlbWVudCgpICYmIGVsZW1lbnQo
KS0+aXNTa2lwcGVkQ29udGVudCgpKSB8fCBzaG91bGRTa2lwQ29udGVudCgpKSkKKyAgICAgICAg
ICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVlOwogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkKICAgICAgICAgICAgIGxheW91dElubGluZUNoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIHJl
cGFpbnRMb2dpY2FsVG9wLCByZXBhaW50TG9naWNhbEJvdHRvbSk7CiAgICAgICAgIGVsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmlu
ZGV4IGJkYzFlNjJhN2E1YTA2NTQ1NWY1MWMzN2U4MzU3MDllY2YyMjZkZGIuLjI5OWI1NTBjN2Vi
NWVmNTZiZGQ2ZGZiMmJhMDRlZWU5Y2RkNjQzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjEyLDYgKzIxMiw3IEBAIHZv
aWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgaWYgKHN0eWxl
VG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmlldygpLmZyYW1l
VmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKICAgICBzZXRQYWludENv
bnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKTsKKyAg
ICBzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoKCFpc0lubGluZSgpIHx8IGlzQXRvbWljSW5s
aW5lTGV2ZWxCb3goKSkgJiYgIWlzUnVieVRleHQoKSAmJiAoIWlzVGFibGVQYXJ0KCkgfHwgaXNS
ZW5kZXJCbG9ja0Zsb3coKSkpOwogfQogCiBzdGF0aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5G
bG93UG9zaXRpb25PZmZzZXRzKGNvbnN0IFJlbmRlck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5kZXggNGU3NTlkN2YyNTBhZjk4YTQ4
MDY0ZTQ2Njc3NzNlNzY4MzVmYjlhMS4uOWRmY2E3NzZlNzQ3NDM2ZWUzMDFlYzA3MDlmMGJmYjVl
ZjMzZTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApA
QCAtMjQzNyw0ICsyNDM3LDExIEBAIE92ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92
ZXJmbG93WSgpIGNvbnN0CiAgICAgcmV0dXJuIG92ZXJmbG93WTsKIH0KIAorYm9vbCBSZW5kZXJF
bGVtZW50OjpzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFsYXlvdXRDb250
YWlubWVudEFwcGxpZXMoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBlbGVt
ZW50KCkgJiYgZWxlbWVudCgpLT5zaG91bGRTa2lwQ29udGVudCgpOworfQorCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCBmMzc2Y2VjYjk3NWNhNzE5ZmRm
Njc2ZTVhYzBmYjk1ZDhlMmVkMjIwLi5iMTEzZmZjY2RhMjU4ODQzNjA4NWEyZDZhMDIyYzZlMGVk
Y2IzZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTE2
NSw2ICsxNjUsOSBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdHlsZSgpLnZpc2liaWxpdHkoKSAh
PSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
ICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKCghaGl0VGVzdFJlcXVlc3QgfHwg
IWhpdFRlc3RSZXF1ZXN0LT5pZ25vcmVDU1NQb2ludGVyRXZlbnRzUHJvcGVydHkoKSkgJiYgc3R5
bGUoKS5wb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIApAQCAtMjc0LDYgKzI3Nyw4IEBAIHB1YmxpYzoKICAgICBPdmVyZmxv
dyBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxl
KCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZm
ZWN0aXZlT3ZlcmZsb3dZKCk7IH0KICAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2Nr
RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQogCisg
ICAgYm9vbCBzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZW51
bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAx
IDw8IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGUy
YjRiMDlmNTdkZWIzYTQ1OThmM2JkMGNlNjczNGIwOTc1YjFjNTIuLjIyYmU1Mzc3YWVkZTlkMzZh
MTYxZjQ4YzdjMDNmNmE5OGE1NzAwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCkBAIC0yMjgsNiArMjI4LDggQEAgYm9vbCBSZW5kZXJJbmxpbmU6Om1heUFm
ZmVjdExheW91dCgpIGNvbnN0CiAKIHZvaWQgUmVuZGVySW5saW5lOjpwYWludChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogeworICAgIGlmIChz
aG91bGRTa2lwQ29udGVudCgpIHx8IChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRD
b250ZW50KCkpKQorICAgICAgICByZXR1cm47CiAgICAgbV9saW5lQm94ZXMucGFpbnQodGhpcywg
cGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDM2NzAxNWZmZGYzNGQ3NWFjNGViYjE1MTJlYzFlZjJhZWE3NWM0
MTguLjQ3NDdhMzRhMGZiMjFjZDkxYzE3N2IyOGY1YjhmMjk4YzEyODcwODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzA0MSw2ICszMDQxLDkgQEAgc3Rh
dGljIGlubGluZSBib29sIHBhaW50Rm9yRml4ZWRSb290QmFja2dyb3VuZChjb25zdCBSZW5kZXJM
YXllciogbGF5ZXIsIE9wdGlvblMKIAogdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0lu
Zm8sIE9wdGlvblNldDxQYWludExheWVyRmxhZz4gcGFpbnRGbGFncykKIHsKKyAgICBpZiAocmVu
ZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIoKS5lbGVtZW50KCktPmlzU2tpcHBlZENvbnRl
bnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBzaG91bGRDb250aW51ZVBhaW50ID0g
WyZdICgpIHsKICAgICAgICAgcmV0dXJuIGJhY2tpbmcoKS0+cGFpbnRzSW50b1dpbmRvdygpCiAg
ICAgICAgICAgICB8fCBiYWNraW5nKCktPnBhaW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKQpA
QCAtMzMxMyw2ICszMzE2LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRz
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKIHsKICAgICBBU1NF
UlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFu
dCgpKTsKIAorICAgIC8vIGlmIChyZW5kZXJlcigpLmVsZW1lbnQoKSAmJiByZW5kZXJlcigpLmVs
ZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgIC8vICAgICByZXR1cm47CisKICAgICBp
ZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSAmJiBjb250ZXh0LmNvbnRlbmZ1
bFBhaW50RGV0ZWN0ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0zNTYyLDcgKzM1NjgsNyBA
QCB2b2lkIFJlbmRlckxheWVyOjpwYWludExpc3QoTGF5ZXJMaXN0IGxheWVySXRlcmF0b3IsIEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgYwogICAgIGlmIChsYXllckl0ZXJhdG9yLmJlZ2luKCkg
PT0gbGF5ZXJJdGVyYXRvci5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFoYXNT
ZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKKyAgICBpZiAoIWhhc1NlbGZQYWludGluZ0xh
eWVyRGVzY2VuZGFudCgpIHx8IHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAjaWYgQVNTRVJUX0VOQUJMRUQKQEAgLTQwNDIsNiArNDA0OCw4IEBAIFZl
Y3RvcjxSZW5kZXJMYXllcio+IFJlbmRlckxheWVyOjp0b3BMYXllclJlbmRlckxheWVycyhSZW5k
ZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGxheWVyczsKICAg
ICBhdXRvIHRvcExheWVyRWxlbWVudHMgPSByZW5kZXJWaWV3LmRvY3VtZW50KCkudG9wTGF5ZXJF
bGVtZW50cygpOwogICAgIGZvciAoYXV0byYgZWxlbWVudCA6IHRvcExheWVyRWxlbWVudHMpIHsK
KyAgICAgICAgaWYgKGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCk7CiAg
ICAgICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTQ0NTksNiAr
NDQ2Nyw5IEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdExpc3QoTGF5ZXJMaXN0
IGxheWVySXRlcmF0b3IsIFJlbmRlckxheWVyKiByb290CiAgICAgaWYgKCFoYXNTZWxmUGFpbnRp
bmdMYXllckRlc2NlbmRhbnQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBpZiAo
cmVuZGVyZXIoKS5zaG91bGRTa2lwQ29udGVudCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KwogICAgIFJlbmRlckxheWVyKiByZXN1bHRMYXllciA9IG51bGxwdHI7CiAKICAgICBmb3IgKGF1
dG8gaXRlciA9IGxheWVySXRlcmF0b3IucmJlZ2luKCk7IGl0ZXIgIT0gbGF5ZXJJdGVyYXRvci5y
ZW5kKCk7ICsraXRlcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcAppbmRleCAzYWEwZjg1ZWE4ZGY3NDg3M2ZhZGEyY2FjNmFkY2Y0NmYwMTgy
NzI5Li4zYzMyYTA1MjEyNDdjMzMyMWRhNmQ2MzhkZDI1OWExZDcxZWM4YTBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTU5OCw3
ICsxNTk4LDggQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUFmdGVyRGVzY2VuZGFu
dHMoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzT3BhcXVlKCFtX2hhc1N1
YnBpeGVsUm91bmRpbmcgJiYgbV9vd25pbmdMYXllci5iYWNrZ3JvdW5kSXNLbm93blRvQmVPcGFx
dWVJblJlY3QoY29tcG9zaXRlZEJvdW5kcygpKSk7CiAgICAgfQogCi0gICAgbV9ncmFwaGljc0xh
eWVyLT5zZXRDb250ZW50c1Zpc2libGUobV9vd25pbmdMYXllci5oYXNWaXNpYmxlQ29udGVudCgp
IHx8IGhhc1Zpc2libGVOb25Db21wb3NpdGVkRGVzY2VuZGFudHMoKSk7CisgICAgYm9vbCBpc1Nr
aXBwZWRDb250ZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkgPyByZW5kZXJlcigpLmVsZW1lbnQo
KS0+aXNTa2lwcGVkQ29udGVudCgpIDogZmFsc2U7CisgICAgbV9ncmFwaGljc0xheWVyLT5zZXRD
b250ZW50c1Zpc2libGUoIWlzU2tpcHBlZENvbnRlbnQgJiYgKG1fb3duaW5nTGF5ZXIuaGFzVmlz
aWJsZUNvbnRlbnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpKTsK
ICAgICBpZiAobV9zY3JvbGxDb250YWluZXJMYXllcikgewogICAgICAgICBtX3Njcm9sbENvbnRh
aW5lckxheWVyLT5zZXRDb250ZW50c1Zpc2libGUocmVuZGVyZXIoKS5zdHlsZSgpLnZpc2liaWxp
dHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCmluZGV4IDhkOTkwZjFkNTMxYmU2
M2YyYjI1ZDA2MTQ1ZmIxMzFjNDEwMDcyNmMuLmYwZjE4ZTExODc2YmY3OTA1MmQ0MTM2NzRiNDFk
YzIxOTI3OGZiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJSZW5kZXJMYXllck1vZGVsT2JqZWN0LmgiCiAKKyNpbmNsdWRlICJEb2N1
bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9z
aXRvci5oIgpAQCAtMTE0LDYgKzExNSwxMiBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdAogICAg
IFJlbmRlckVsZW1lbnQ6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICB1cGRh
dGVGcm9tU3R5bGUoKTsKIAorICAgIGlmIChlbGVtZW50KCkgJiYgKChvbGRTdHlsZSAmJiBvbGRT
dHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSAhPSBzdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkp
IHx8ICghb2xkU3R5bGUgJiYgc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRW
aXNpYmlsaXR5OjpWaXNpYmxlKSkpIHsKKyAgICAgICAgZWxlbWVudCgpLT51cGRhdGVDb250ZW50
VmlzaWJpbGl0eShvbGRTdHlsZSA/IHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+KG9s
ZFN0eWxlLT5jb250ZW50VmlzaWJpbGl0eSgpKSA6IHN0ZDo6bnVsbG9wdCwgc3R5bGUoKS5jb250
ZW50VmlzaWJpbGl0eSgpKTsKKyAgICAgICAgaWYgKHN0eWxlKCkuY29udGVudFZpc2liaWxpdHko
KSA9PSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAgICAgICAgICAgIGRvY3VtZW50KCku
dXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKTsKKyAgICB9CisKICAgICBpZiAocmVxdWly
ZXNMYXllcigpKSB7CiAgICAgICAgIGlmICghbGF5ZXIoKSAmJiBsYXllckNyZWF0aW9uQWxsb3dl
ZEZvclN1YnRyZWUoKSkgewogICAgICAgICAgICAgaWYgKHNfd2FzRmxvYXRpbmcgJiYgaXNGbG9h
dGluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBi
NGI2NzEwMmRmZTc0ZGY1ZWFiMTVjMjBmZTRlZGM1NjE1MmFjM2YzLi5kNTIwMWQ3MzgyMDFlM2Jm
MmQ0ZWNmZDE3NmM2OWMwM2NiMTRkMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtNDU0LDYgKzQ1NCw5IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpzY3Jv
bGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNp
CiAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05v
dFJldmVhbCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGlzPEVsZW1lbnQ+KG5v
ZGUoKSkgJiYgZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUoKSkuaXNTa2lwcGVkQ29udGVudCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBSZW5kZXJMYXllciogZW5jbG9zaW5nTGF5ZXIg
PSB0aGlzLT5lbmNsb3NpbmdMYXllcigpOwogICAgIGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTE5ODYsNiArMTk4OSwxMiBAQCB2b2lkIFJlbmRlck9iamVj
dDo6c2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGll
cykKICAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhw
YWludENvbnRhaW5tZW50QXBwbGllcyk7CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRMYXlv
dXRDb250YWlubWVudEFwcGxpZXMoYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMpCit7Cisg
ICAgaWYgKGxheW91dENvbnRhaW5tZW50QXBwbGllcyB8fCBoYXNSYXJlRGF0YSgpKQorICAgICAg
ICBlbnN1cmVSYXJlRGF0YSgpLnNldExheW91dENvbnRhaW5tZW50QXBwbGllcyhsYXlvdXRDb250
YWlubWVudEFwcGxpZXMpOworfQorCiBSZW5kZXJPYmplY3Q6OlJhcmVEYXRhTWFwJiBSZW5kZXJP
YmplY3Q6OnJhcmVEYXRhTWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmFyZURh
dGFNYXA+IG1hcDsKQEAgLTIwMTUsNiArMjAyNCw3IEBAIFJlbmRlck9iamVjdDo6UmVuZGVyT2Jq
ZWN0UmFyZURhdGE6OlJlbmRlck9iamVjdFJhcmVEYXRhKCkKICAgICAsIG1faXNSZW5kZXJGcmFn
bWVudGVkRmxvdyhmYWxzZSkKICAgICAsIG1faGFzT3V0bGluZUF1dG9BbmNlc3RvcihmYWxzZSkK
ICAgICAsIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCisgICAgLCBtX2xheW91dENv
bnRhaW5tZW50QXBwbGllcyhmYWxzZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCmluZGV4IGQwZjRjZWM0YmFkYzUyYTZlNzRhMGZjODFiNzgwZjJkMjUzYWJm
NjkuLjk0MDc1M2YxY2E0ZGNlNWRlYzA5MjZhNDViNjI1Y2YxYWYwOTI1ZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgY29uc3QgeyByZXR1cm4gbV9iaXRm
aWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLmlzUmVuZGVyRnJhZ21lbnRlZEZsb3co
KTsgfQogICAgIGJvb2wgaGFzT3V0bGluZUF1dG9BbmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIG1f
Yml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5oYXNPdXRsaW5lQXV0b0FuY2Vz
dG9yKCk7IH0KICAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1
cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLnBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKCk7IH0KKyAgICBib29sIGxheW91dENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0
IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5sYXlvdXRD
b250YWlubWVudEFwcGxpZXMoKTsgfQogCiAgICAgYm9vbCBpc0V4Y2x1ZGVkRnJvbU5vcm1hbExh
eW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5
b3V0KCk7IH0KICAgICB2b2lkIHNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KGJvb2wgZXhj
bHVkZWQpIHsgbV9iaXRmaWVsZHMuc2V0SXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoZXhjbHVk
ZWQpOyB9CkBAIC01MTUsNiArNTE2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZW5kZXJG
cmFnbWVudGVkRmxvdyhib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRIYXNPdXRsaW5lQXV0b0Fu
Y2VzdG9yKGJvb2wgPSB0cnVlKTsKICAgICB2b2lkIHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVz
KGJvb2wgPSB0cnVlKTsKKyAgICB2b2lkIHNldExheW91dENvbnRhaW5tZW50QXBwbGllcyhib29s
ID0gdHJ1ZSk7CiAKICAgICAvLyBIb29rIHNvIHRoYXQgUmVuZGVyVGV4dENvbnRyb2wgY2FuIHJl
dHVybiB0aGUgbGluZSBoZWlnaHQgb2YgaXRzIGlubmVyIHJlbmRlcmVyLgogICAgIC8vIEZvciBv
dGhlciByZW5kZXJlcnMsIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBsaW5lSGVpZ2h0KGZhbHNl
KS4KQEAgLTk0NCw2ICs5NDYsNyBAQCBwcml2YXRlOgogICAgICAgICBBRERfQk9PTEVBTl9CSVRG
SUVMRChpc1JlbmRlckZyYWdtZW50ZWRGbG93LCBJc1JlbmRlckZyYWdtZW50ZWRGbG93KTsKICAg
ICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFzT3V0bGluZUF1dG9BbmNlc3RvciwgSGFzT3V0
bGluZUF1dG9BbmNlc3Rvcik7CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKHBhaW50Q29u
dGFpbm1lbnRBcHBsaWVzLCBQYWludENvbnRhaW5tZW50QXBwbGllcyk7CisgICAgICAgIEFERF9C
T09MRUFOX0JJVEZJRUxEKGxheW91dENvbnRhaW5tZW50QXBwbGllcywgTGF5b3V0Q29udGFpbm1l
bnRBcHBsaWVzKTsKIAogICAgICAgICAvLyBGcm9tIFJlbmRlckVsZW1lbnQKICAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjYWNoZWRGaXJzdExpbmVTdHlsZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IGQzYmI3NmExNjI0MjIz
ODAyM2Y4MWMzZjZhZDdhMmZhNDc1ODA5NjYuLjU5M2I1MDI1YjUyNTQ4MjliMDJmODRiZWFiOGI2
OTM0MjMxYzcyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
LmNwcApAQCAtMjU5LDcgKzI1OSw4IEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OnBhaW50KFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgfQog
CiAgICAgaWYgKCFjb21wbGV0ZWx5Q2xpcHBlZE91dCkgewotICAgICAgICBwYWludFJlcGxhY2Vk
KHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNldCk7CisgICAgICAgIGlmICghc2hvdWxkU2tp
cENvbnRlbnQoKSkKKyAgICAgICAgICAgIHBhaW50UmVwbGFjZWQocGFpbnRJbmZvLCBhZGp1c3Rl
ZFBhaW50T2Zmc2V0KTsKIAogICAgICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkK
ICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0KCkucmVzdG9yZSgpOwpAQCAtMjk5LDcgKzMw
MCw3IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPCiAgICAgLy8gaWYgd2UncmUgaW52aXNpYmxl
IG9yIGhhdmVuJ3QgcmVjZWl2ZWQgYSBsYXlvdXQgeWV0LCB0aGVuIGp1c3QgYmFpbC4KICAgICBp
ZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIAorCiAgICAgTGF5b3V0UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNl
dCA9IHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKTsKIAogICAgIC8vIEVhcmx5IGV4aXQgaWYgdGhl
IGVsZW1lbnQgdG91Y2hlcyB0aGUgZWRnZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAKaW5kZXggYWFmZDlkY2QwNTY4MzlmODc3YjkzNjcxNmFkZGI2YmMwY2VhM2IyZC4u
OGJmZjExYjM2NDY5OTg5YjlmOGM1NzgwNWQ1OTEyZDRmYjdiM2JlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTc2LDcgKzE3Niw5IEBAIHZvaWQgUmVuZGVy
Vmlldzo6bGF5b3V0KCkKICAgICB9CiAKICAgICBBU1NFUlQoIWZyYW1lVmlldygpLmxheW91dENv
bnRleHQoKS5sYXlvdXRTdGF0ZSgpKTsKLSAgICBpZiAoIW5lZWRzTGF5b3V0KCkpCisgICAgaWYg
KGZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICBz
ZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgZWxzZSBpZiAoIW5lZWRzTGF5
b3V0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0
ZVB1c2hlcigqdGhpcywgeyB9LCBmYWxzZSwgdmFsdWVPckRlZmF1bHQobV9wYWdlTG9naWNhbFNp
emUpLmhlaWdodCgpLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IGVmYjNhOGJlMGNlMmQwMDIxMzRjZjI4
M2QzOGQ5NDBiZjQwMjMxNTguLjQxNjZkNmQ3MDVkNjFkYzk2OTM3MzhjNjIzZWE0MWIyZDRlZjRl
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBAIC0zMjUs
NyArMzI1LDcgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZv
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGNsaXBSb3VuZGVkSW5u
ZXJSZWN0KHBhaW50SW5mby5jb250ZXh0KCksIGJvcmRlclJlY3QsIHJvdW5kZWRJbm5lclJlY3Qp
OwogICAgIH0KIAotICAgIGlmIChtX3dpZGdldCkKKyAgICBpZiAobV93aWRnZXQgJiYgIXNob3Vs
ZFNraXBDb250ZW50KCkpCiAgICAgICAgIHBhaW50Q29udGVudHMocGFpbnRJbmZvLCBwYWludE9m
ZnNldCk7CiAKICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGU4ZjQ0ZjUyMGQ3
ODZlOGE2YjRlMjhhMmJlYTE4NTllNmY5NzhmNjcuLjMyNGE4NTY4ZDEzZjllODk1YjdiMWVmODRh
M2YwYzI1MzY1ODVjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcApAQCAtNzQ3LDYgKzc0Nyw5IEBAIHN0YXRpYyBib29sIHJhcmVOb25Jbmhl
cml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVk
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChmaXJzdC5jb250ZW50Vmlz
aWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisgICAgICAgIHJldHVybiB0cnVl
OworCiAgICAgaWYgKGZpcnN0LmlucHV0U2VjdXJpdHkgIT0gc2Vjb25kLmlucHV0U2VjdXJpdHkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xMDU2LDYgKzEwNTksOSBAQCBzdGF0aWMgYm9v
bCByYXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVwYWludChjb25zdCBTdHlsZVJh
cmVOb25Jbmhlcml0ZQogICAgIGlmIChmaXJzdC5zaGFwZU91dHNpZGUgIT0gc2Vjb25kLnNoYXBl
T3V0c2lkZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoZmlyc3QuY29udGVudFZp
c2liaWxpdHkgIT0gc2Vjb25kLmNvbnRlbnRWaXNpYmlsaXR5KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKwogICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCB0byBjaGFu
Z2VSZXF1aXJlc0xheWVyUmVwYWludCgpLgogICAgIGlmIChmaXJzdC5jbGlwUGF0aCAhPSBzZWNv
bmQuY2xpcFBhdGgpIHsKICAgICAgICAgY2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9wZXJ0aWVz
LmFkZChTdHlsZURpZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJvcGVydHk6OkNsaXBQYXRoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMDE5
ZTZlYzcyNGVjYTk5ZDU5Mjg5MWUzMmYyMDRhOWQzYzAxZTMxYy4uYmVjOTIyOGQ1NWM5MjAwZmVm
YjgyNDI1ZjM5YzhhMGUzM2VkZjY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCwxMSArNTI4LDEzIEBAIHB1YmxpYzoKICAgICB9CiAg
ICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlvVHlwZSgp
ID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0
UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNv
bnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9
CisgICAgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxDb250ZW50VmlzaWJpbGl0eT4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGVudFZpc2liaWxpdHkpOyB9CisgICAgYm9vbCBjb250ZW50VmlzaWJpbGl0eUhpZGRlbigp
IGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6
OkhpZGRlbjsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gZWZmZWN0aXZlQ29udGFpbm1l
bnQoKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZm
ZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQotICAg
IGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQo
KS5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KLSAgICBib29sIGNvbnRhaW5zU3R5bGUo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTdHlsZSk7IH0KLSAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBl
ZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KKyAg
ICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1l
bnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KSB8fCBjb250ZW50VmlzaWJpbGl0eSgp
ICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1NpemUo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTaXplKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpI
aWRkZW47IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBlZmZlY3Rp
dmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSkgfHwgY29udGVudFZp
c2liaWxpdHkoKSAhPSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZTsgfQorICAgIGJvb2wgY29u
dGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFp
bnMoQ29udGFpbm1lbnQ6OlBhaW50KSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRW
aXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAgQ29udGFpbmVyVHlwZSBjb250YWluZXJUeXBlKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29udGFpbmVyVHlwZT4obV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+Y29udGFpbmVyVHlwZSk7IH0KICAgICBjb25zdCBWZWN0b3I8QXRvbVN0cmluZz4m
IGNvbnRhaW5lck5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGFpbmVyTmFtZXM7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRl
cHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CkBAIC0xMDY1LDYgKzEwNjcsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDb250YWluZXJUeXBlKENvbnRhaW5lclR5cGUgY29udGFpbmVyVHlw
ZSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lclR5cGUsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihjb250YWluZXJUeXBlKSk7IH0KICAgICB2b2lkIHNldENvbnRhaW5l
ck5hbWVzKGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgbmFtZXMpIHsgU0VUX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBjb250YWluZXJOYW1lcywgbmFtZXMpOyB9CiAKKyAgICB2b2lkIHNl
dENvbnRlbnRWaXNpYmlsaXR5KENvbnRlbnRWaXNpYmlsaXR5IHZhbHVlKSB7IFNFVF9WQVIobV9y
YXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGVudFZpc2liaWxpdHksIHN0YXRpY19jYXN0PHVuc2ln
bmVkPih2YWx1ZSkpOyB9CisKICAgICB2b2lkIHNldExpc3RTdHlsZVN0cmluZ1ZhbHVlKGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgbGlzdFN0
eWxlU3RyaW5nVmFsdWUsIHZhbHVlKTsgfQogICAgIHZvaWQgc2V0TGlzdFN0eWxlVHlwZShMaXN0
U3R5bGVUeXBlIHYpIHsgbV9pbmhlcml0ZWRGbGFncy5saXN0U3R5bGVUeXBlID0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHYpOyB9CiAgICAgdm9pZCBzZXRMaXN0U3R5bGVJbWFnZShSZWZQdHI8U3R5
bGVJbWFnZT4mJik7CkBAIC0xNjgwLDYgKzE2ODQsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIE9w
dGlvblNldDxDb250YWlubWVudD4gaW5pdGlhbENvbnRhaW5tZW50KCkgeyByZXR1cm4gT3B0aW9u
U2V0PENvbnRhaW5tZW50PiB7IH07IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5tZW50
PiBzdHJpY3RDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVudD4geyBD
b250YWlubWVudDo6U2l6ZSwgQ29udGFpbm1lbnQ6OkxheW91dCwgQ29udGFpbm1lbnQ6OlBhaW50
LCBDb250YWlubWVudDo6U3R5bGUgfTsgfQogICAgIHN0YXRpYyBPcHRpb25TZXQ8Q29udGFpbm1l
bnQ+IGNvbnRlbnRDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVudD4g
eyBDb250YWlubWVudDo6TGF5b3V0LCBDb250YWlubWVudDo6UGFpbnQsIENvbnRhaW5tZW50OjpT
dHlsZSB9OyB9CisgICAgc3RhdGljIENvbnRlbnRWaXNpYmlsaXR5IGluaXRpYWxDb250ZW50Vmlz
aWJpbGl0eSgpIHsgcmV0dXJuIENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAgc3Rh
dGljIENvbnRhaW5lclR5cGUgaW5pdGlhbENvbnRhaW5lclR5cGUoKSB7IHJldHVybiBDb250YWlu
ZXJUeXBlOjpOb25lOyB9CiAgICAgc3RhdGljIFZlY3RvcjxBdG9tU3RyaW5nPiBpbml0aWFsQ29u
dGFpbmVyTmFtZXMoKSB7IHJldHVybiB7IH07IH0KICAgICBzdGF0aWMgZG91YmxlIGluaXRpYWxB
c3BlY3RSYXRpb1dpZHRoKCkgeyByZXR1cm4gMS4wOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDBhOTRiNmRm
M2Q0NzQ4YjQyYWEzN2NjY2VkYzM3YmM5Mzc1MjZhZmIuLjFhNTA0NTQxMDEwZDY4ZWZmNGMxODM2
NDZhOWU5OTdkNjJhYTNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0xMjM4LDYgKzEyMzgsMTIgQEAgZW51
bSBjbGFzcyBDb250YWluZXJUeXBlIDogdWludDhfdCB7CiAgICAgSW5saW5lU2l6ZSwKIH07CiAK
K2VudW0gY2xhc3MgQ29udGVudFZpc2liaWxpdHkgOiB1aW50OF90IHsKKyAgICBWaXNpYmxlLAor
ICAgIEF1dG8sCisgICAgSGlkZGVuLAorfTsKKwogQ1NTQm94VHlwZSB0cmFuc2Zvcm1Cb3hUb0NT
U0JveFR5cGUoVHJhbnNmb3JtQm94KTsKIAogZXh0ZXJuIGNvbnN0IGZsb2F0IGRlZmF1bHRNaXRl
ckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDE5MjQ5ZWYwZTlmYTI4ZmM1NDBi
ZGRiMGM0Y2M0YzIxZjE2MDAwZjIuLjc3MzRhYTZlNmNkZDY1ODExMjU4ZjZjMzM3ZmNlZTgzZTA5
ZjFiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTk1LDYgKzk1LDcgQEAgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAgLCBl
ZmZlY3RpdmVBcHBlYXJhbmNlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5p
dGlhbEFwcGVhcmFuY2UoKSkpCiAgICAgLCB0ZXh0RGVjb3JhdGlvblN0eWxlKHN0YXRpY19jYXN0
PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uU3R5bGUoKSkpCiAg
ICAgLCBhc3BlY3RSYXRpb1R5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjpp
bml0aWFsQXNwZWN0UmF0aW9UeXBlKCkpKQorICAgICwgY29udGVudFZpc2liaWxpdHkoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlKSkKICNpZiBFTkFCTEUo
Q1NTX0NPTVBPU0lUSU5HKQogICAgICwgZWZmZWN0aXZlQmxlbmRNb2RlKHN0YXRpY19jYXN0PHVu
c2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbEJsZW5kTW9kZSgpKSkKICAgICAsIGlzb2xhdGlv
bihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxJc29sYXRpb24oKSkp
CkBAIC0xOTksNiArMjAwLDcgQEAgaW5saW5lIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW4KICAgICAsIGVmZmVj
dGl2ZUFwcGVhcmFuY2Uoby5lZmZlY3RpdmVBcHBlYXJhbmNlKQogICAgICwgdGV4dERlY29yYXRp
b25TdHlsZShvLnRleHREZWNvcmF0aW9uU3R5bGUpCiAgICAgLCBhc3BlY3RSYXRpb1R5cGUoby5h
c3BlY3RSYXRpb1R5cGUpCisgICAgLCBjb250ZW50VmlzaWJpbGl0eShvLmNvbnRlbnRWaXNpYmls
aXR5KQogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBlZmZlY3RpdmVCbGVuZE1v
ZGUoby5lZmZlY3RpdmVCbGVuZE1vZGUpCiAgICAgLCBpc29sYXRpb24oby5pc29sYXRpb24pCkBA
IC0zMjAsNiArMzIyLDcgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGMKICAgICAgICAgJiYgYXBw
bGVQYXlCdXR0b25UeXBlID09IG8uYXBwbGVQYXlCdXR0b25UeXBlCiAjZW5kaWYKICAgICAgICAg
JiYgYXNwZWN0UmF0aW9UeXBlID09IG8uYXNwZWN0UmF0aW9UeXBlCisgICAgICAgICYmIGNvbnRl
bnRWaXNpYmlsaXR5ID09IG8uY29udGVudFZpc2liaWxpdHkKICAgICAgICAgJiYgb2JqZWN0Rml0
ID09IG8ub2JqZWN0Rml0CiAgICAgICAgICYmIGJyZWFrQWZ0ZXIgPT0gby5icmVha0FmdGVyCiAg
ICAgICAgICYmIGJyZWFrQmVmb3JlID09IG8uYnJlYWtCZWZvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5o
CmluZGV4IGNhMTU3ZjgzMzRlNGY5MDE2MWNlNWIxOTY4OGY3Nzc2ZGE4N2Y3ZjYuLmNiM2U0MWU4
OGU4OWEwOTA4MjQ3NjYyYjE1NDMxYTYwZGNjOWYwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApA
QCAtMjA4LDcgKzIwOCw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHRleHREZWNvcmF0aW9u
U3R5bGUgOiAzOyAvLyBUZXh0RGVjb3JhdGlvblN0eWxlCiAKLSAgICB1bnNpZ25lZCBhc3BlY3RS
YXRpb1R5cGUgOiAzOworICAgIHVuc2lnbmVkIGFzcGVjdFJhdGlvVHlwZSA6IDI7CisgICAgdW5z
aWduZWQgY29udGVudFZpc2liaWxpdHkgOiAyOwogCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElO
RykKICAgICB1bnNpZ25lZCBlZmZlY3RpdmVCbGVuZE1vZGU6IDU7IC8vIEVCbGVuZE1vZGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggZTg4NGU1YmNmYWM1
ZGQ0ODUwOWRlZDIzOWVlMmVmNjZhZjNlMTRlZC4uMDkyNzVjM2ViMmRhY2M2Y2VkMDc3NDRhMWUy
MGMxOGI3NTU1MjkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9t
LmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9N
X0hBTkRMRVJTKENsaXApOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENv
bnRhaW4pOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRlbnQpOwor
ICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRlbnRWaXNpYmlsaXR5KTsK
ICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVySW5jcmVtZW50KTsK
ICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVyUmVzZXQpOwogICAg
IERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEN1cnNvcik7CkBAIC0xMjg3LDYgKzEy
ODgsMjcgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRhaW4oQnVp
bGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHUKICAgICByZXR1cm4gYnVpbGRlclN0YXRl
LnN0eWxlKCkuc2V0Q29udGFpbihjb250YWlubWVudCk7CiB9CiAKK2lubGluZSB2b2lkIEJ1aWxk
ZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KEJ1aWxkZXJTdGF0ZSYgYnVp
bGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNpYmls
aXR5KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGVudFZpc2liaWxpdHkoKSk7Cit9CisKK2lubGlu
ZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5oZXJpdENvbnRlbnRWaXNpYmlsaXR5KEJ1aWxk
ZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENv
bnRlbnRWaXNpYmlsaXR5KGZvcndhcmRJbmhlcml0ZWRWYWx1ZShidWlsZGVyU3RhdGUucGFyZW50
U3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKSk7Cit9CisKK2lubGluZSB2b2lkIEJ1aWxkZXJD
dXN0b206OmFwcGx5VmFsdWVDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJT
dGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4o
dmFsdWUpKSB7CisgICAgICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUp
LnZhbHVlSUQoKSA9PSBDU1NWYWx1ZUhpZGRlbikKKyAgICAgICAgICAgIHJldHVybiBidWlsZGVy
U3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0eTo6SGlk
ZGVuKTsKKyAgICAgICAgaWYgKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFs
dWVJRCgpID09IENTU1ZhbHVlQXV0bykKKyAgICAgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUu
c3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0eTo6QXV0byk7Cisg
ICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShS
ZW5kZXJTdHlsZTo6aW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkpOworICAgIH0KK30KKwogaW5s
aW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVRleHRFbXBoYXNpc1N0eWxlKEJ1aWxk
ZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgaWYgKGlzPENT
U1ZhbHVlTGlzdD4odmFsdWUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TG9jYXRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwCmluZGV4
IDk1YTI2ZmY4MzYxYWM2MWMzMWMwZTMyMWE1N2E2YTMxMmQxNGZiMWYuLjBhZTJmOTE1NmZkNmY0
MTljYmIyMmJmYmY2ODc5MDlkNTFmODhkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdMb2NhdGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUu
Y3BwCkBAIC02Niw3ICs2Niw3IEBAIEZsb2F0UmVjdCBTVkdMb2NhdGFibGU6OmdldEJCb3goU1ZH
RWxlbWVudCogZWxlbWVudCwgU3R5bGVVcGRhdGVTdHJhdGVneSBzdHlsZVVwCiB7CiAgICAgQVNT
RVJUKGVsZW1lbnQpOwogICAgIGlmIChzdHlsZVVwZGF0ZVN0cmF0ZWd5ID09IEFsbG93U3R5bGVV
cGRhdGUpCi0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6
OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICAvLyBG
SVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgc3VwcG9ydCBnZXRCQm94IGZvciBkZXRhY2hlZCBl
bGVtZW50cy4KICAgICBpZiAoIWVsZW1lbnQtPnJlbmRlcmVyKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGMxNDUzYmZjNjA0MDhjOTUwNzQ2
MDc3ZDc2MWVlMTRkNzI5NjUxZmIuLjgwM2NmOTBkZTMyYzFkZGEzYzBiODI1MjE3YTFjOTdmN2U3
ZjBmYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3Bw
CkBAIC01NSwxMyArNTUsMTMgQEAgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpTVkdUZXh0Q29udGVu
dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW0KIAogdW5zaWduZWQg
U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXROdW1iZXJPZkNoYXJzKCkKIHsKLSAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50
KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7
CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5udW1iZXJPZkNoYXJhY3RlcnMo
KTsKIH0KIAogZmxvYXQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50
OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkp
LnRleHRMZW5ndGgoKTsKIH0KIApAQCAtMTA5LDcgKzEwOSw3IEBAIEV4Y2VwdGlvbk9yPGZsb2F0
PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFJvdGF0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJu
dW0pCiAKIGludCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldENoYXJOdW1BdFBvc2l0aW9uKERP
TVBvaW50SW5pdCYmIHBvaW50SW5pdCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5j
aHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgRmxvYXRQb2ludCB0
cmFuc2Zvcm1Qb2ludCB7c3RhdGljX2Nhc3Q8ZmxvYXQ+KHBvaW50SW5pdC54KSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHBvaW50SW5pdC55KX07CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJl
cigpKS5jaGFyYWN0ZXJOdW1iZXJBdFBvc2l0aW9uKHRyYW5zZm9ybVBvaW50KTsKIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA2MTM3M2NlODRkYjFmZjdiNmQ3YmQ4ZmE1NzUxYjczYzdmMmIwYjhmLi5iM2UyMDM5MjE3NjNm
Y2E0YjIxYmIyZWE1YTUyY2MxOWU4MzQ3MzM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjIt
MDItMTcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IGZv
ciBDU1MgcHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYyMzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjItMDIt
MTcgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KIAogICAgICAgICBDb3B5
IHRyYWNrIHNpemVzIGZyb20gcGFyZW50IGdyaWQgaW50byBzdWJncmlkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCBmYTYyYTJkNGE4NGIwMGQxNTkxY2I3YWQ4NGMyZTgxMDA2ZjM0
NDQxLi5lMjY2OGFkOGExNWE1YTllMDJkZWFmY2U0MDM1YWI1NjMzYWNlZWMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAyMi0wMi0xNyAgUm9iIEJ1
aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9wZXJ0
eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAxNi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAyOS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAzMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA3MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA4MC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA4MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlt
Zy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50
LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVu
dC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1m
cmFnbWVudC10YXJnZXQtYXV0by5odG1sOgorCiAyMDIyLTAyLTE2ICBNYXR0IFdvb2Ryb3cgIDxt
YXR0d29vZHJvd0BhcHBsZS5jb20+CiAKICAgICAgICAgTG9va3VwIGxpbmUgbmFtZXMgZm9yIHN1
YiBncmlkcyB1c2luZyBsaW5lIG5hbWVzIGZyb20gYW5jZXN0b3IgZ3JpZHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGY0ZjI4MWJmNzNiZjkyZTNmMzM1ZmI1MzdhMTNjZDFmNzRlNmVlMTYuLjFkOTMx
OTkzZDQ0MDU0MWRmOTJkZWI0MzgzNzU0YTg4NTFkNWYwNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDY1NCw0NCArNDY1NCw5IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDYuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDcuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDguaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDkuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTAuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTku
c3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDMyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDMzLnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzNy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0MC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0MS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0My5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1MS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA1OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA2NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA2Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA3NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA3Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA3OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA4Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA4My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxheWVyLTAwMC50ZW50YXRpdmUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13
aXRoLXRvcC1sYXllci0wMDEudGVudGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktd2l0aC10b3AtbGF5ZXItMDAyLnRlbnRhdGl2ZS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvZWxlbWVudC1yZWFzc2lnbmVkLXRv
LXNraXBwZWQtc2xvdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvZWxlbWVu
dC1yZWFzc2lnbmVkLXRvLXNsb3QtaW4tc2tpcHBlZC1zdWJ0cmVlLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvdW50ZXItc2NvcGluZy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY291bnRlci1zY29waW5nLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2Fz
Y2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKaW5kZXggOWIyNTQ3MTQyZDg1
NWIxZDM4ZGUwNDAxM2FmYWQwMDMyZjBkNWY5Ni4uYmQ3OTM2MmUyNjBiM2E0M2M2MTcyMmYyMWVl
NzhkZTgwNTcyMzQ2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dApAQCAtMTAw
LDYgKzEwMCw3IEBAIFBBU1MgY29udGFpbgogUEFTUyBjb250YWluZXItbmFtZQogUEFTUyBjb250
YWluZXItdHlwZQogUEFTUyBjb250ZW50CitQQVNTIGNvbnRlbnQtdmlzaWJpbGl0eQogUEFTUyBj
b3VudGVyLWluY3JlbWVudAogUEFTUyBjb3VudGVyLXJlc2V0CiBQQVNTIGN1cnNvcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhw
ZWN0ZWQudHh0CmluZGV4IDRjODI0MGQ4ZDgyNjZiYjdjZTg2YjYxZjA5Y2I2OTZmYWM2ODZkNzYu
LjE4Y2VlODRlMGY3OTcyOWE4MTEwMjFiMmU2MmQ2ZTEzNDEzNjNjZDMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgQW5pbWF0aW9uIGV2ZW50cyBkbyBub3QgZmly
ZSBmb3IgYSBDU1MgYW5pbWF0aW9uIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVl
IGFzc2VydF9mYWxzZTogQW5pbWF0aW9uIGV2ZW50cyBkbyBubyBmaXJlIHdoaWxlIHRoZSBhbmlt
YXRpb24gaXMgcnVubmluZyBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUgZXhwZWN0ZWQgZmFs
c2UgZ290IHRydWUKK0ZBSUwgQW5pbWF0aW9uIGV2ZW50cyBkbyBub3QgZmlyZSBmb3IgYSBDU1Mg
YW5pbWF0aW9uIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGFzc2VydF90cnVl
OiBUaGUgYW5pbWF0aW9uaXRlcmF0aW9uIGV2ZW50IGZpcmVzIG9uY2UgdGhlIGFuaW1hdGlvbiBp
cyBubyBsb25nZXIgZGlzcGxheSBsb2NrZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1Mg
VGhlIGZpbmlzaGVkIHByb21pc2UgZG9lcyBub3QgcmVzb2x2ZSBkdWUgdG8gdGhlIG5vcm1hbCBw
YXNzYWdlIG9mIHRpbWUgIGZvciBhIENTUyBhbmltYXRpb24gaW4gYSBkaXNwbGF5IGxvY2tlZCBz
dWJ0cmVlCiBQQVNTIFRoZSBmaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVlIHRv
IHRoZSBub3JtYWwgcGFzc2FnZSBvZiB0aW1lICBmb3IgYSBDU1MgdHJhbnNpdGlvbiBpbiBhIGRp
c3BsYXkgbG9ja2VkIHN1YnRyZWUKIEZBSUwgRXZlbnRzIGFuZCBwcm9taXNlcyBhcmUgaGFuZGxl
ZCBub3JtYWxseSBmb3IgYW5pbWF0aW9ucyB3aXRob3V0IGFuIG93bmluZyBlbGVtZW50IGFzc2Vy
dF90cnVlOiBBbmltYXRpb24gZXZlbnQgbm90IGJsb2NrZWQgb24gZGlzcGxheSBsb2NrZWQgc3Vi
dHJlZSBpZiBubyBvd25pbmcgZWxlbWVudCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhw
ZWN0ZWQudHh0CmluZGV4IDVkNmYxZjZkZWY2NWE1YWE2NDIwZjAwMTg0OGRiOGQ0NWUzMGZiZGQu
LmRiZTQ4YWY5MjE3NjRhMjhhNGM2NWI0MWJiNmM1NDdjNDk0NDcyOWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVz
dGluZyBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1
dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2
LWV4cGVjdGVkLnR4dAppbmRleCA5Yjc5MTQwY2RhMmQ0M2M4NGZhYzgyNzQ4NDE4ZDkzZmEzZDU0
MTc3Li40NTFhNGEzNWVhZjhkNWE5ZjJjZGI3OGIyZGY5NDUyMzAyNTM2OTNlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0
IHRlc3RpbmcgKGNvbXBvc2l0ZWQpIGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4
cGVjdGVkICJvdXRlciIgYnV0IGdvdCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTog
aGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dAppbmRleCA5ZmIwODhh
Nzg0YmM1YjAzZjBmNDkyY2U2NzBkN2YwYzBlOTAwYmVjLi5mNmY2ODBlODJiZWE4MGYyNjMwNzBm
YTZlM2E3MWUxNjJmYzdjMWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQgY2hpbGQp
IGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0IGdv
dCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0
ZWQgY2hpbGQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dAppbmRleCBlMjkyZWY3MjE2MWIwODQ5N2RhMjIz
ODY3NDdhMzU0OWE2NmNiMDYxLi5iOWI4MzM1MmY4YmVmMTQ2NjliZWE3MjkwNDI4ZjQyY2RkM2Zm
NGJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAxOC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQg
VmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQgd2l0aCBhIGNvbXBvc2l0ZWQgY2hp
bGQpIGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0
IGdvdCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBv
c2l0ZWQgd2l0aCBhIGNvbXBvc2l0ZWQgY2hpbGQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dAppbmRleCA3
M2RhNDhkZGI0YWRjOThiZWZhODNiMjhjMzU0OWZmNDhkYjA1ZmEwLi44Mzk5M2M5ZDA4NTQ0NjIy
MmRmNmVlMGQ1ZGNkNWRjMTkxMWYwZWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIGNvbnRlbnQtdmlzaWJpbGl0eTpoaWRkZW4gZG9lcyBub3QgYWZmZWN0IGNv
bXB1dGVkIHZhbHVlIG9mICdjb250YWluJyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5n
KSAiaGlkZGVuIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBjb250ZW50LXZp
c2liaWxpdHk6YXV0byBkb2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4n
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJhdXRvIiBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAorUEFTUyBjb250ZW50LXZpc2liaWxpdHk6aGlkZGVuIGRvZXMgbm90IGFm
ZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicKK1BBU1MgY29udGVudC12aXNpYmlsaXR5
OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9mICdjb250YWluJwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1l
eHBlY3RlZC50eHQKaW5kZXggM2EwZWE4YzhjOTc5MTIwNjNkZTA4MzY1NTgyZGNiMzU3NGM2MmEz
Zi4uMWNmNGQwZjYyMjVjYWRhNDVmOGQwNmZmNTZlYmQyYmRiNGU0OGMzZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVj
dGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIFRoaXMgdGV4dCBzaG91bGQgYmUgdmlzaWJsZS4KLVRo
aXMgdGV4dCBzaG91bGQgbm90IGJlIHZpc2libGUuCi1UaGlzIHRleHQgaXMgYWxzbyBub3Qgdmlz
aWJsZS4KIAotRkFJTCBpbm5lclRleHQgb24gbG9ja2VkIGVsZW1lbnQuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJUaGlzIHRleHQgc2hvdWxkIGJlIHZpc2libGUuIiBidXQgZ290ICJUaGlzIHRl
eHQgc2hvdWxkIGJlIHZpc2libGUuXG5UaGlzIHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLlxu
VGhpcyB0ZXh0IGlzIGFsc28gbm90IHZpc2libGUuIgorUEFTUyBpbm5lclRleHQgb24gbG9ja2Vk
IGVsZW1lbnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dAppbmRleCBkZWFhNTc3Y2RkY2I5NjhmMDM5OWEy
NzZkMWNiNzQ1OGI5ZDY5YzQ5Li44MjljMjk2YmMwZDc0ZmM4MWZlMDE5N2UwMjllZDUwZmJhOGNl
N2MwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAzMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIEludGVyc2Vj
dGlvbk9ic2VydmVyIGludGVyYWN0aW9ucyBhc3NlcnRfZXF1YWxzOiBydW5TdGVwMiBleHBlY3Rl
ZCAxIGJ1dCBnb3QgMAorUEFTUyBJbnRlcnNlY3Rpb25PYnNlcnZlciBpbnRlcmFjdGlvbnMKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MzEtZXhwZWN0ZWQudHh0CmluZGV4IDVjYzhiODI5NmZmN2JhNjhjYWU2NmUwN2UxNmYyMDliMmRi
NWM4ZTkuLjFjYzZjMWMwYWM4MDdmNmVjMzM0MGZkY2FhOGRlNjk5NjhjYWZmOTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1l
eHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQg
UHJvbWlzZSBSZWplY3Rpb246IEVycm9yOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNo
b3VsZCBub3QgcnVuIGR1cmluZyB3aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdv
dCBmYWxzZQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWpl
Y3Rpb246IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9ic2V2ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5n
IHdoaWxlIHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCi0KLVRJTUVPVVQg
UmVzaXplT2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRkZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVqZWN0aW9uOiBhc3NlcnRf
ZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3VsZCBub3QgcnVuIGR1cmluZyB3aGlsZSB1bnJlbmRl
cmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQotCi1USU1FT1VUIFJlc2l6ZU9ic2VydmVy
IHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3QgdGltZWQgb3V0CitQQVNTIFJlc2l6ZU9ic2VydmVy
IHNraXBwZWQgd2hpbGUgaGlkZGVuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dAppbmRleCAwZTg4MGUwNTVm
MDQxNzBjZDdlNjdjOTZmYTk3MDVjNDRlNTg3NTQwLi5iY2ZjNzg5ZmE0MGEzM2UzMTVjMzUzYWE0
YTFiYWJjZWRlNjM5OWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIE1lYXN1cmUgRm9yY2VkIExheW91dCBhc3NlcnRfZXF1YWxzOiBzcGFjZXIgZm9yY2VkIGV4
cGVjdGVkIDggYnV0IGdvdCAxMDgKK1BBU1MgTWVhc3VyZSBGb3JjZWQgTGF5b3V0CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4
cGVjdGVkLnR4dAppbmRleCBjM2I2NGIxMjA4MGEwODgxYTk3ODU3ODQwNzJlM2IzMmI4OTQ1Y2Iy
Li5lMTM3MmI4ZDJmMWE5YjBhZDE5NzNhOWUyZGUzOTNmM2YyM2EwNjIwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDQtZXhwZWN0
ZWQudHh0CkBAIC0xLDExICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXJyb3I6IGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAyCiAKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1l
c3NhZ2UgPSBFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIKLQotVElN
RU9VVCBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhp
ZGRlbiBUZXN0IHRpbWVkIG91dAotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVy
cm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMgotCi1USU1FT1VUIENvbnRl
bnQgVmlzaWJpbGl0eTogc2xvdCBtb3ZlZCBhZnRlciBjb250YWluZXIgaXMgaGlkZGVuIFRlc3Qg
dGltZWQgb3V0CitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogc2xvdCBtb3ZlZCBhZnRlciBjb250
YWluZXIgaXMgaGlkZGVuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dAppbmRleCAzOTVkNTljNDZhNTQ3Mjcy
Y2NhZWQ5MmU2MmMwMjJhZGI3NjUyMWFkLi40YzNjOGJiOTQzZTA0ZTIyZmVlZDM5ZDM0YjBmNmQ4
MWMwM2U5NDdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogCiAKLQotCi1G
QUlMIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNraXBzIGhpZGRlbiBzdWJ0cmVlcyBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJmaXZlIiB0eXBlPSJ0ZXh0Ij48
L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9InR3byIgdHlwZT0idGV4dCI+
PC9pbnB1dD4KK1BBU1MgVGFiIG9yZGVyIG5hdmlnYXRpb24gc2tpcHMgaGlkZGVuIHN1YnRyZWVz
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDQ4LWV4cGVjdGVkLnR4dAppbmRleCBmOGIwMTFiYTgxNzhkNjg3YzdmOTA5ZGU0ODM3OTk3
M2M5ZDA5NmQ0Li43MzI2OGZkYjA4ZGY5NDc0ZjAxZGY1NzZhMTgwZjliZTM4N2RhYWU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0OC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NDgtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIEZyYWdtZW50IG5hdmlnYXRp
b24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHNpbmdsZSB0ZXh0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3VsdHMiCi1GQUlMIEZyYWdtZW50IG5hdmlnYXRpb24g
d2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHJhbmdlIGFjcm9zcyBibG9ja3MgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IGZldGNoUmVzdWx0cyIKK0ZBSUwgRnJhZ21lbnQgbmF2aWdh
dGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgc2luZ2xlIHRleHQgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRleHQiIGJ1dCBnb3QgInRvcCIKK0ZBSUwgRnJhZ21lbnQgbmF2aWdhdGlvbiB3
aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgcmFuZ2UgYWNyb3NzIGJsb2NrcyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidGV4dDIiIGJ1dCBnb3QgInRvcCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0CmluZGV4
IDQ0YTI5MzY1MDM2MTlmNzZlMWJkYTNmYmM3Y2MwNDhiM2YzYzFjNmYuLmViMTkzNTE2NjZlNTdh
MDBmZDQ2YTcwMjdjMWI2MDAyMDdlYjVhZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQKQEAgLTEsOCAr
MSwzIEBACi1oZWxsbwotaGVsbG8KLWhlbGxvCi1oZWxsbwotaGVsbG8KIAogRkFJTCBPbmUgZWxl
bWVudHMgc2VsZWN0ZWQ6ICBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZB
SUwgUmFuZ2UgZXh0ZW5kZWQgdG8gY292ZXIgbW9yZSBlbGVtZW50czogIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CmluZGV4IDAzZTNiYjdjMGU4
OTYwMzM3NjFiNTI0OWVkNjYxNjI2OTRjNTA3ZTYuLjAwZjFjN2Y0NDQxODc4MmJjZWIzNDM4ZDdi
NmZhNTFmNTYxZTE3NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBB
U1Mgb25lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOgogRkFJTCB0d28uZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCi1G
QUlMIHRocmVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBl
Y3RlZCAzMDA3IGJ1dCBnb3QgMzA3NQotRkFJTCBmb3VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzEwOQotRkFJTCBmaXZl
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3
IGJ1dCBnb3QgMzE0MworRkFJTCB0aHJlZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2Vy
dF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNDEKK0ZBSUwgZm91ci5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290
IDMwNDEKK0ZBSUwgZml2ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6
IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNDEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CmluZGV4IDky
NzA5NmVkZjk3M2RiMTg5NmQ3ZTI1YTk0NGUxYTk0MGYyYTgwYTIuLjA0OWJlMjg0ZDQ3ZjZjZGYw
OTgzM2Y1MTQzMjUxMGU5MDMxOGRkZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgQ29udGVudC12aXNpYmlsaXR5IGlzIG5vdCBhbmltYXRhYmxlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJ2aXNpYmxlIiBidXQgZ290ICh1bmRlZmluZWQpIHVu
ZGVmaW5lZAorUEFTUyBDb250ZW50LXZpc2liaWxpdHkgaXMgbm90IGFuaW1hdGFibGUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAt
ZXhwZWN0ZWQudHh0CmluZGV4IGQwZjA1YWQ1YTM4Y2U0MTI0MjMzMGViMzkxYWFkMGU5MTcxOWM3
YjYuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MC1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSBAQAotQ29udGVudCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlv
biB3aXRoIGh0bWwgaGlkZGVuICAgKiB7IGFsbDogaW5pdGlhbDsgY29udGVudC12aXNpYmlsaXR5
OiBoaWRkZW47IH0gdGVzdCgoKSA9PiB7IGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY2FyZXRSYW5n
ZUZyb21Qb2ludCgpOyBhc3NlcnRfbm90X2VxdWFscyhyYW5nZSwgbnVsbCwgInJhbmdlIGV4aXN0
cyIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLnN0YXJ0Q29udGFpbmVyLCBodG1sLCAic3RhcnRDb250
YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLnN0YXJ0T2Zmc2V0LCAwLCAic3Rh
cnRPZmZzZXQgaXMgemVybyIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLmVuZENvbnRhaW5lciwgaHRt
bCwgImVuZENvbnRhaW5lciBpcyBodG1sIik7IGFzc2VydF9lcXVhbHMocmFuZ2UuZW5kT2Zmc2V0
LCAwLCAiZW5kT2Zmc2V0IGlzIHplcm8iKTsgfSwgIkNhcmV0IHJhbmdlIGZyb20gcG9pbnQiKTsK
LUZBSUwgQ2FyZXQgcmFuZ2UgZnJvbSBwb2ludCBhc3NlcnRfZXF1YWxzOiBzdGFydENvbnRhaW5l
ciBpcyBodG1sIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aHRtbCBpZD0iaHRtbCI+PGhlYWQ+PG1l
dGEgY2hhcnNldD0idXRmOCI+Ci08dGl0bGU+Q29udGVuLi4uIGJ1dCBnb3QgVGV4dCBub2RlICJD
b250ZW50IFZpc2liaWxpdHk6IGNhcmV0IHBvc2l0aW9uIHdpdGggaHRtbCBoaWRkZW4iCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgx
LWV4cGVjdGVkLnR4dAppbmRleCA2ZWVkYmFkZWY1ZWYxOTczZmFjYzNkYzVlMTk1NDEyYzdlY2Vj
YWQ2Li40ZGY5M2NkYzE4MzUxYmY3M2YwYmU0NDRmZmM1ZjI5YzI5MmMxZWRlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODEtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFNjcm9sbCBvZmZzZXQgaXMgcmVzdG9y
ZWQgd2hlbiBjb250ZW50LXZpc2liaWxpdHkgaGlkZGVuIGlzIHJlbW92ZWQKK0ZBSUwgU2Nyb2xs
IG9mZnNldCBpcyByZXN0b3JlZCB3aGVuIGNvbnRlbnQtdmlzaWJpbGl0eSBoaWRkZW4gaXMgcmVt
b3ZlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAwIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3Rl
ZC50eHQKaW5kZXggY2EzNzg3ZTQ0ODdiZDM2NDk2MGZlNGViNGM5MWVkYWQxNzdlNDg3MS4uNDQ0
OWQ3Yzc3M2I5MDU4MmQzYTM3OTZhMzZjY2NkY2M4M2NiZTgxNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4
dApAQCAtMSw3ICsxLDMgQEAKIAotCi0KLQotCiBQQVNTIGMtdjpoaWRkZW4gPGltZz4gbGF5b3V0
IEFQSXMgc2hvdWxkbid0IHJldHVybiB6ZXJvIHdoZW4gYWNjZXNzZWQgZnJvbSBzY3JpcHQuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW5w
dXQtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKaW5kZXggYTQ1ZWQ1ODI5MDFmN2M1YzJk
Zjk3ZTcwZWE0NTA1MDIzNzJhNTYxNi4uZTRhMzFmYjFiYTFhNjM5MmNlZWI4NjZiYjdlNjBiY2Ri
YjE4YjA3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwz
IEBACiAKLQotCiBQQVNTIDxpbnB1dCB0eXBlPWltYWdlPiBzaG91bGQgcmV0dXJuIG5vbnplcm8g
dmFsdWVzIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGluIGEgYy12OmhpZGRlbiBzdWJ0cmVlLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2
Zy1leHBlY3RlZC50eHQKaW5kZXggNDY3NmI4OGM5YWNjN2YyOTc5NTgyODk0NDQyOGYyNDIxODMx
MWQ1Ni4uOGRmMWI3ZmZhZjRiYzIzZTI1NDY2MmVkOGYzNmJhOGIwNjVhYmEwYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKLUhlbGxvIFdvcmxkIQotSGVsbG8gV29ybGQgQWdh
aW4hCiAKIFBBU1MgZ2V0QkJveCgpIHNob3VsZCByZXR1cm4gbm9uemVybyB2YWx1ZXMgaW4gYSBj
LXY6aGlkZGVuIHN1YnRyZWUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFu
Y2UtZXhwZWN0ZWQudHh0CmluZGV4IDdkYTE3ZmZhZjljZDUyMGE3NTNlOWYzZTlhNThlOWM2MWM0
NWZlNjUuLjY2ODg5NmFmMTJkNmEwZDkwZDFhM2FkYTZjZDg3Y2FhZGVlYTU2ZWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgaGFzIGluaXRpYWwgdmFs
dWUgdmlzaWJsZSBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0
byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2VzIG5vdCBpbmhlcml0IGFz
c2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9wZXJ0eSBjb250ZW50
LXZpc2liaWxpdHkgaGFzIGluaXRpYWwgdmFsdWUgdmlzaWJsZQorUEFTUyBQcm9wZXJ0eSBjb250
ZW50LXZpc2liaWxpdHkgZG9lcyBub3QgaW5oZXJpdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNv
bXB1dGVkLWV4cGVjdGVkLnR4dAppbmRleCA4N2EzYzY4MGVmOGNmZTQyOWFlNDZkMzA5M2U3ODBl
NzEyN2JkZjkyLi4wYzM0YTVkYmJkZGU3ZGFjMzY5ZTZiODBjZDI1YTllN2Q4NzZkZTY1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHkt
Y29tcHV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5n
L2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBA
CiAKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICd2aXNpYmxlJyBhc3Nl
cnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQg
aW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3Bl
cnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnYXV0bycgYXNzZXJ0X3RydWU6IGNvbnRlbnQt
dmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBz
dHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2li
aWxpdHkgdmFsdWUgJ2hpZGRlbicgYXNzZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vz
bid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ3Zp
c2libGUnCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnYXV0bycKK1BB
U1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdoaWRkZW4nCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxp
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZp
c2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IDZhNjVmZjY4NGY2MDgyZDFjZTgxYzEz
N2U0MDNhNGRlNzAwODk1NmYuLjlkYTQ1NzNlMDc0NzdiNzc3ZDZiYTg3NjhmNDUzYzc0MzU3MzM1
ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlz
aWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Bh
cnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUg
QEAKIAotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJ2aXNpYmxlIiBzaG91
bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hv
dWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgotRkFJTCBlLnN0eWxlWydjb250ZW50
LXZpc2liaWxpdHknXSA9ICJhdXRvIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3Nl
cnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSAiIgotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJoaWRkZW4iIHNob3Vs
ZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91
bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQt
dmlzaWJpbGl0eSddID0gInZpc2libGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQ
QVNTIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImF1dG8iIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImhp
ZGRlbiIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1
dG8uaHRtbAppbmRleCBkMDdlZGU1YTU0NjAwN2UzMjdkMzUzZWQ1OTk0ODlkZGZlNTc0NDgxLi41
M2EyMmY1ZmQ4ZDFjZGI4ODM4NTM1MzU0NTQ5ZTExNzU3NmQ3ZTUyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFy
Z2V0LWF1dG8uaHRtbApAQCAtNDIsNyArNDIsNyBAQCBmdW5jdGlvbiBkb3VibGVSYWZDaGVja1Nj
cm9sbCgpIHsKICAgaGVpZ2h0OiAxMDAwMHB4OwogfQogLmF1dG8gewotICBzdWJ0cmVlLXZpc2li
aWxpdHk6IGF1dG87CisgIGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0bzsKIH0KIDwvc3R5bGU+CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452368</attachid>
            <date>2022-02-17 08:03:19 -0800</date>
            <delta_ts>2022-02-22 09:54:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220217170318.patch</filename>
            <type>text/plain</type>
            <size>110257</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWYyMzY4M2NlOGUxZDBm
ZDY2ZjIxYjRkNDk4ZWEwYWE4Y2QxNzA0ZS4uNmE5MjY5MjhkOThlYmVlNDAwMmNhZjg2ODY1N2Ew
NDFmZWE1YzQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0xNyAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMTcgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFw
cGxlLmNvbT4KIAogICAgICAgICBDb3B5IHRyYWNrIHNpemVzIGZyb20gcGFyZW50IGdyaWQgaW50
byBzdWJncmlkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRU
aW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5j
cHAKaW5kZXggMjJkYmQ4MDNkZDQ0ZTgxMzE2NGEyYjI1YmQ4OGFmODg4MTA2NjBlOC4uYzBhOGNm
MTU4OGI0M2VlOWI1YjNiODY2ZTJjMDZmOTFmNTgxYmZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcApAQCAtNDI5LDYgKzQyOSwxNiBAQCBBbmlt
YXRpb25FdmVudHMgRG9jdW1lbnRUaW1lbGluZTo6cHJlcGFyZUZvclBlbmRpbmdBbmltYXRpb25F
dmVudHNEaXNwYXRjaCgpCiB7CiAgICAgbV9zaG91bGRTY2hlZHVsZUFuaW1hdGlvblJlc29sdXRp
b25Gb3JOZXdQZW5kaW5nRXZlbnRzID0gdHJ1ZTsKICAgICByZXR1cm4gc3RkOjpleGNoYW5nZSht
X3BlbmRpbmdBbmltYXRpb25FdmVudHMsIHsgfSk7CisgICAgQW5pbWF0aW9uRXZlbnRzIGV2ZW50
czsKKyAgICBmb3IgKGF1dG8mIGV2ZW50IDogbV9wZW5kaW5nQW5pbWF0aW9uRXZlbnRzKSB7Cisg
ICAgICAgIGlmIChldmVudC0+YW5pbWF0aW9uKCktPmlzSW5IaWRkZW5TdWJ0cmVlKCkpCisvLyAg
ICAgICAgRWxlbWVudCogZWxlbWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRv
d25jYXN0PE5vZGU+KCpldmVudC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWlj
RG93bmNhc3Q8RWxlbWVudD4oKmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworLy8gICAgICAg
IGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICBldmVudHMuYXBwZW5kKGV2ZW50KTsKKyAgICAgICAgbV9wZW5k
aW5nQW5pbWF0aW9uRXZlbnRzLnJlbW92ZUZpcnN0KGV2ZW50KTsKKyAgICB9CisgICAgcmV0dXJu
IGV2ZW50czsKIH0KIAogVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIGRvdWJsZT4+IERvY3VtZW50
VGltZWxpbmU6OmFjY2VsZXJhdGVkQW5pbWF0aW9uc0ZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVu
dCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRp
bWVsaW5lc0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50
VGltZWxpbmVzQ29udHJvbGxlci5jcHAKaW5kZXggOTU1NzFmZGY1Y2Y3MjYyMjNmOGU1YTE3NzU0
M2YzYTkzMTAzMDllNy4uNmRmYTlhODkyMDlmZWIwOGVmZmQyNmJmZjBiYzMwYjJiMDVlNTMxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmVzQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxp
bmVzQ29udHJvbGxlci5jcHAKQEAgLTEyMiw2ICsxMjIsOCBAQCB2b2lkIERvY3VtZW50VGltZWxp
bmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoUmVkdWNlZFJlc29s
dXRpbwogICAgICAgICB0aW1lbGluZXNUb1VwZGF0ZS5hcHBlbmQodGltZWxpbmUuY29weVJlZigp
KTsKIAogICAgICAgICBmb3IgKGF1dG8mIGFuaW1hdGlvbiA6IGNvcHlUb1ZlY3Rvcih0aW1lbGlu
ZS0+cmVsZXZhbnRBbmltYXRpb25zKCkpKSB7CisgICAgICAgICAgICBpZiAoYW5pbWF0aW9uLT5p
c0luSGlkZGVuU3VidHJlZSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgaWYgKGFuaW1hdGlvbi0+dGltZWxpbmUoKSAhPSB0aW1lbGluZS5wdHIoKSkgewogICAgICAg
ICAgICAgICAgIEFTU0VSVCghYW5pbWF0aW9uLT50aW1lbGluZSgpKTsKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKQEAgLTE5Niw4ICsxOTgsMTIgQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lc0Nv
bnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0aW8K
ICAgICB9KTsKIAogICAgIC8vIDcuIERpc3BhdGNoIGVhY2ggb2YgdGhlIGV2ZW50cyBpbiBldmVu
dHMgdG8gZGlzcGF0Y2ggYXQgdGhlaXIgY29ycmVzcG9uZGluZyB0YXJnZXQgdXNpbmcgdGhlIG9y
ZGVyIGVzdGFibGlzaGVkIGluIHRoZSBwcmV2aW91cyBzdGVwLgotICAgIGZvciAoYXV0byYgZXZl
bnQgOiBldmVudHMpCisgICAgZm9yIChhdXRvJiBldmVudCA6IGV2ZW50cykgeworICAgICAgICAv
LyBFbGVtZW50KiBlbGVtZW50ID0gZXZlbnQtPnRhcmdldCgpLT5pc05vZGUoKSAmJiAhZG93bmNh
c3Q8Tm9kZT4oKmV2ZW50LT50YXJnZXQoKSkuaXNEb2N1bWVudE5vZGUoKSA/IGR5bmFtaWNEb3du
Y2FzdDxFbGVtZW50PigqZXZlbnQtPnRhcmdldCgpKSA6IG51bGxwdHI7CisgICAgICAgIC8vIGlm
IChlbGVtZW50ICYmIGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgLy8gICAg
Y29udGludWU7CiAgICAgICAgIGV2ZW50LT50YXJnZXQoKS0+ZGlzcGF0Y2hFdmVudChldmVudCk7
CisgICAgfQogCiAgICAgLy8gVGhpcyB3aWxsIGNhbmNlbCBhbnkgc2NoZWR1bGVkIGludmFsaWRh
dGlvbiBpZiB3ZSBlbmQgdXAgcmVtb3ZpbmcgYWxsIGFuaW1hdGlvbnMuCiAgICAgZm9yIChhdXRv
JiBhbmltYXRpb24gOiBhbmltYXRpb25zVG9SZW1vdmUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggMmI5YzIxN2EzMzgwMzEyOGZjY2NiZDRiZDliYzFj
OGY4NjNiNGIzMi4uOGY0NzUxOTIxOTU3MjNkNWI5MzY4MmZkM2VmZGFjZjY4MjRkMDVmZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAgLTE1MTMsNCArMTUx
MywxMyBAQCBTZWNvbmRzIFdlYkFuaW1hdGlvbjo6dGltZVRvTmV4dFRpY2soKSBjb25zdAogICAg
IHJldHVybiBlZmZlY3QoKS0+dGltZVRvTmV4dFRpY2soZWZmZWN0KCktPmdldEJhc2ljVGltaW5n
KCkpIC8gcGxheWJhY2tSYXRlOwogfQogCitib29sIFdlYkFuaW1hdGlvbjo6aXNJbkhpZGRlblN1
YnRyZWUoKQoreworICAgIGlmICghaXNEZWNsYXJhdGl2ZUFuaW1hdGlvbigpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKGF1dG8gZWxlbWVudCA9IGRvd25jYXN0PERlY2xhcmF0aXZl
QW5pbWF0aW9uPih0aGlzKS0+b3duaW5nRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gZWxlbWVu
dC0+ZWxlbWVudC5pc1NraXBwZWRDb250ZW50KCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmgKaW5kZXggMzdhNjE3ZjYwNTM3MDc5ZDJiMTJlYTBjMDYyOGUxY2VhMmEzMmU0Ni4uMDgyYTFi
MWE1YWMyZTY1OWQ1NDJlMGUyZDY1YzE3YTY1MjhhOTgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9XZWJBbmltYXRpb24uaApAQCAtNjYsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0NTU0FuaW1hdGlvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzQ1NTVHJhbnNpdGlvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisgICAgYm9vbCBpc0luSGlkZGVuU3VidHJlZSgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KICAgICB2b2lkIHNldElkKGNvbnN0IFN0cmluZyYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcAppbmRleCBlNTAzNDE5NjE3MjQ4NzNiOTdiYTRlMDUyZmExY2Q5ZGI1MTdkMjBjLi44NzQz
YzA4NzU4OTBkM2VlOGVkMmYwZWVjNDExZDAxMzQwNTM4MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzc2MCw2ICsz
NzYwLDE0IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVG
b3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAgICAgICAgICAgbGlzdC0+
YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVDdXN0b21JZGVudChuYW1lKSk7CiAgICAgICAgICAg
ICByZXR1cm4gbGlzdDsKICAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVu
dFZpc2liaWxpdHk6CisgICAgICAgICAgICBpZiAoIW1fZWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0
aW5ncygpLmNzc0NvbnRhaW5tZW50RW5hYmxlZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICAgICAgaWYgKHN0eWxlLmNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVIaWRkZW4pOworICAgICAgICAgICAgaWYgKHN0eWxlLmNvbnRlbnRWaXNpYmls
aXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pCisgICAgICAgICAgICAgICAgcmV0dXJu
IGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBdXRvKTsKKyAgICAg
ICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVl
VmlzaWJsZSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZmFjZVZpc2liaWxpdHk6CiAg
ICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSgoc3R5
bGUuYmFja2ZhY2VWaXNpYmlsaXR5KCkgPT0gQmFja2ZhY2VWaXNpYmlsaXR5OjpIaWRkZW4pID8g
Q1NTVmFsdWVIaWRkZW4gOiBDU1NWYWx1ZVZpc2libGUpOwogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0Qm9yZGVySW1hZ2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpp
bmRleCAyNzhjMGYzYWZlNTA0ODRmZjMxMWQ4MjlkZTMyODBkYzU1ZTI3OWRkLi5lNjViYmQ1ZTY0
Mjc3YTdlMjlkY2Q4MzlkYTc2Y2E3NGY0NTgzMGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24KQEAgLTUyODUsNiArNTI4NSwxOSBAQAogICAgICAgICAgICAgICAgICJ1cmwi
OiAiaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250YWluLTMvI2NvbnRhaW5lci1xdWVy
aWVzIgogICAgICAgICAgICAgfQogICAgICAgICB9LAorICAgICAgICAiY29udGVudC12aXNpYmls
aXR5IjogeworICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAg
ICAgICAiY3VzdG9tIjogIkFsbCIsCisgICAgICAgICAgICAgICAgInNldHRpbmdzLWZsYWciOiAi
Y3NzQ29udGFpbm1lbnRFbmFibGVkIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdGF0
dXMiOiB7CisgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJleHBlcmltZW50YWwiCisgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAg
ImNhdGVnb3J5IjogImNzcy1jb250YWluIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSwKICAgICAgICAgImJhY2tmYWNlLXZpc2liaWxpdHkiOiB7CiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJhbGlhc2VzIjogWwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAKaW5kZXggNTNjMzJh
NjBhN2U3NWY5NjZmYzgyNmE5Yzg2NmViNjk0NTBlZjNlYy4uNTFlNTg2OTI4NmI1YzdiNjI2ODJm
MzMwZjU3OTA5ZGMxNGE1NmNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1BhcnNlckNvbnRleHQuY3BwCkBAIC0yMzQsNiArMjM0LDcgQEAgYm9vbCBDU1NQYXJzZXJDb250
ZXh0Ojppc1Byb3BlcnR5UnVudGltZURpc2FibGVkKENTU1Byb3BlcnR5SUQgcHJvcGVydHkpIGNv
bnN0CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFzcGVjdFJhdGlvOgogICAgICAgICByZXR1cm4gIWFz
cGVjdFJhdGlvRW5hYmxlZDsKICAgICBjYXNlIENTU1Byb3BlcnR5Q29udGFpbjoKKyAgICBjYXNl
IENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxpdHk6CiAgICAgICAgIHJldHVybiAhY29udGFpbm1l
bnRFbmFibGVkOwogICAgIGNhc2UgQ1NTUHJvcGVydHlBcHBsZUNvbG9yRmlsdGVyOgogICAgICAg
ICByZXR1cm4gIWNvbG9yRmlsdGVyRW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggNzNlYWJiZmM3MjAxMTYyZDkwMTM5YWFh
YWM0M2M4Zjk4YWMwNDQ4Yy4uYzM2NmY5NjIxY2MxYmQ1ZDdmNTlmODQxNTNlMmMyYjZkZTNmYTNj
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5j
cHAKQEAgLTQwNzIsNiArNDA3MiwxMyBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1l
Q29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICByZXR1cm4gUmVmUHRyPENT
U1ZhbHVlPihXVEZNb3ZlKGxpc3QpKTsKIH0KIAorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29u
c3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQor
eworICAgIGlmIChhdXRvIHNpbmdsZVZhbHVlID0gY29uc3VtZUlkZW50PENTU1ZhbHVlVmlzaWJs
ZSwgQ1NTVmFsdWVBdXRvLCBDU1NWYWx1ZUhpZGRlbj4ocmFuZ2UpKQorICAgICAgICByZXR1cm4g
c2luZ2xlVmFsdWU7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIHN0YXRpYyBSZWZQdHI8Q1NT
VmFsdWU+IGNvbnN1bWVUZXh0RW1waGFzaXNQb3NpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSkKIHsKICAgICBib29sIGZvdW5kT3Zlck9yVW5kZXIgPSBmYWxzZTsKQEAgLTQ3MDAsNiAr
NDcwNywxMCBAQCBSZWZQdHI8Q1NTVmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmds
ZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHksIENTUwogICAgICAgICBpZiAoIW1fY29udGV4
dC5jb250YWlubWVudEVuYWJsZWQpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAg
ICAgcmV0dXJuIGNvbnN1bWVDb250YWluKG1fcmFuZ2UpOworICAgIGNhc2UgQ1NTUHJvcGVydHlD
b250ZW50VmlzaWJpbGl0eToKKyAgICAgICAgaWYgKCFtX2NvbnRleHQuY29udGFpbm1lbnRFbmFi
bGVkKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBjb25zdW1l
Q29udGVudFZpc2liaWxpdHlIaWRkZW4obV9yYW5nZSk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRl
eHRFbXBoYXNpc1Bvc2l0aW9uOgogICAgICAgICByZXR1cm4gY29uc3VtZVRleHRFbXBoYXNpc1Bv
c2l0aW9uKG1fcmFuZ2UpOwogI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggYTZhNmFkYzZkOGQ3ZjE4YzJmNGE5ZmNiNTI5MDk0ZjE1ZjJjYjAyYy4u
MDgyMmIyZWI0NWM4NTZhODM2NjU5NmViMDBhOTk3Yjg3NGNiMzI2MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC0xMzMsNiArMTMzLDcgQEAKICNpbmNsdWRlICJJbWFnZU92ZXJsYXlDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZl
ckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmgiCiAjaW5j
bHVkZSAiSlNET01XaW5kb3dDdXN0b20uaCIKICNpbmNsdWRlICJKU0xhenlFdmVudExpc3RlbmVy
LmgiCkBAIC0zODgsNiArMzg5LDMzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Rpc2FsbG93TGF5
b3V0IHsgZmFsc2UgfTsKIH07CiAKK2NsYXNzIENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjayBmaW5hbCA6IHB1YmxpYyBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxi
YWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0
aW9uT2JzZXJ2ZXJDYWxsYmFjaz4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjayhkb2N1bWVudCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBib29s
IGhhc0NhbGxiYWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgQ2FsbGJh
Y2tSZXN1bHQ8dm9pZD4gaGFuZGxlRXZlbnQoSW50ZXJzZWN0aW9uT2JzZXJ2ZXImLCBjb25zdCBW
ZWN0b3I8UmVmPEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk+PiYgZW50cmllcywgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXImKSBmaW5hbAorICAgIHsKKyAgICAgICAgQVNTRVJUKCFlbnRyaWVzLmlzRW1w
dHkoKSk7CisKKyAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsKKyAgICAgICAg
ICAgIGlmIChhdXRvKiBlbGVtZW50ID0gZW50cnktPnRhcmdldCgpKQorICAgICAgICAgICAgICAg
IGVsZW1lbnQtPmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoZW50cnktPmlzSW50ZXJz
ZWN0aW5nKCkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAg
Q29udGVudFZpc2liaWxpdHlJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrKERvY3VtZW50JiBk
b2N1bWVudCkKKyAgICAgICAgOiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrKCZkb2N1bWVu
dCkKKyAgICB7CisgICAgfQorfTsKKwogLy8gRGVmaW5lZCBoZXJlIHRvIGF2b2lkIGluY2x1ZGlu
ZyBHQ1JlYWNoYWJsZVJlZi5oIGluIERvY3VtZW50LmgKIHN0cnVjdCBEb2N1bWVudDo6UGVuZGlu
Z1Njcm9sbEV2ZW50VGFyZ2V0TGlzdCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBA
IC0yMTc3LDcgKzIyMDUsNyBAQCBib29sIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KCkKK3Zv
aWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dChGb3JjZUxheW91dCBmb3JjZUxheW91dCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCkBAIC0yMjAwLDE2ICsyMjI4LDI1IEBAIHZvaWQg
RG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCiAKICAgICBpZiAoIWZyYW1lVmlldyB8fCAhcmVuZGVy
VmlldygpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFmcmFtZVZpZXctPmxheW91dENvbnRl
eHQoKS5pc0xheW91dFBlbmRpbmcoKSAmJiAhcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpKQor
ICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gb2xkTGF5b3V0Rm9yY2VkOworICAgIGlmIChmb3JjZUxh
eW91dCA9PSBGb3JjZUxheW91dDo6WWVzICYmIHZpZXcoKSkgeworICAgICAgICBvbGRMYXlvdXRG
b3JjZWQgPSB2aWV3KCktPmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpOworICAgICAg
ICB2aWV3KCktPmxheW91dENvbnRleHQoKS5zZXRMYXlvdXRGb3JjZWQodHJ1ZSk7CisgICAgfQor
CisgICAgaWYgKCFmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSAm
JiAhcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpICYmIGZvcmNlTGF5b3V0ICE9IEZvcmNlTGF5
b3V0OjpZZXMpCiAgICAgICAgIHJldHVybjsKIAogICAgIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4
dCgpLmxheW91dCgpOwogCisgICAgaWYgKG9sZExheW91dEZvcmNlZCkKKyAgICAgICAgdmlldygp
LT5sYXlvdXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKCpvbGRMYXlvdXRGb3JjZWQpOworCiAg
ICAgaWYgKHN0eWxlU2NvcGUoKS51cGRhdGVRdWVyeUNvbnRhaW5lclN0YXRlKCkpCi0gICAgICAg
IHVwZGF0ZUxheW91dCgpOworICAgICAgICB1cGRhdGVMYXlvdXQoZm9yY2VMYXlvdXQpOwogfQog
Ci12b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9j
dW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcyBydW5Qb3N0TGF5b3V0VGFza3MpCit2b2lkIERvY3Vt
ZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBv
c3RMYXlvdXRUYXNrcyBydW5Qb3N0TGF5b3V0VGFza3MsIEZvcmNlTGF5b3V0IGZvcmNlTGF5b3V0
KQogewogICAgIGJvb2wgb2xkSWdub3JlID0gbV9pZ25vcmVQZW5kaW5nU3R5bGVzaGVldHM7CiAK
QEAgLTIyMjAsNyArMjI1Nyw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzCiAgICAgICAgICAg
ICBzY2hlZHVsZUZ1bGxTdHlsZVJlYnVpbGQoKTsKICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXQo
KTsKKyAgICB1cGRhdGVMYXlvdXQoZm9yY2VMYXlvdXQpOwogCiAgICAgaWYgKHJ1blBvc3RMYXlv
dXRUYXNrcyA9PSBSdW5Qb3N0TGF5b3V0VGFza3M6OlN5bmNocm9ub3VzbHkgJiYgdmlldygpKQog
ICAgICAgICB2aWV3KCktPmZsdXNoQW55UGVuZGluZ1Bvc3RMYXlvdXRUYXNrcygpOwpAQCAtMjM0
OCw3ICsyMzg1LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWZEaW1lbnNpb25zT3V0
T2ZEYXRlKEVsZW1lbnQmIGVsZW1lbnQsIERpbWVuc2lvbnNDaGUKICAgICAvLyBPbmx5IGRvIGEg
bGF5b3V0IGlmIGNoYW5nZXMgaGF2ZSBvY2N1cnJlZCB0aGF0IG1ha2UgaXQgbmVjZXNzYXJ5LiAg
ICAgIAogICAgIGlmIChyZXF1aXJlRnVsbExheW91dCAmJiBmcmFtZVZpZXcgJiYgcmVuZGVyVmll
dygpICYmIChmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSB8fCBy
ZW5kZXJWaWV3KCktPm5lZWRzTGF5b3V0KCkpKQogICAgICAgICBmcmFtZVZpZXctPmxheW91dENv
bnRleHQoKS5sYXlvdXQoKTsKLSAgICAKKwogICAgIHJldHVybiByZXF1aXJlRnVsbExheW91dDsK
IH0KIApAQCAtNDY4NCw2ICs0NzIxLDExIEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWRFbGVt
ZW50KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9ucykKICAgICAg
ICAgbV9mb2N1c2VkRWxlbWVudC0+c2V0Rm9jdXModHJ1ZSwgb3B0aW9ucy52aXNpYmlsaXR5KTsK
ICAgICAgICAgbV9sYXRlc3RGb2N1c1RyaWdnZXIgPSBvcHRpb25zLnRyaWdnZXI7CiAKKyAgICAg
ICAgZm9yIChhdXRvIGZvY3VzZWQgPSBuZXdGb2N1c2VkRWxlbWVudDsgZm9jdXNlZDsgZm9jdXNl
ZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgICAg
ICBpZiAoYXV0byogZGF0YSA9IGZvY3VzZWQtPmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpKQorICAg
ICAgICAgICAgICAgIGRhdGEtPnN1YnRyZWVIYXNGb2N1cyA9IHRydWU7CisgICAgICAgIH0KKwog
ICAgICAgICAvLyBUaGUgc2V0Rm9jdXMgY2FsbCB0cmlnZ2VycyBhIGJsdXIgYW5kIGEgZm9jdXMg
ZXZlbnQuIEV2ZW50IGhhbmRsZXJzIGNvdWxkIGNhdXNlIHRoZSBmb2N1c2VkIGVsZW1lbnQgdG8g
YmUgY2xlYXJlZC4KICAgICAgICAgaWYgKG1fZm9jdXNlZEVsZW1lbnQgIT0gbmV3Rm9jdXNlZEVs
ZW1lbnQpIHsKICAgICAgICAgICAgIC8vIGhhbmRsZXIgc2hpZnRlZCBmb2N1cwpAQCAtODAwOCw3
ICs4MDUwLDggQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25T
dGF0ZT4gY29tcHV0ZUludGVyc2VjdGlvblN0YXRlKEZyYW0KICAgICBGbG9hdFJlY3Qgcm9vdExv
Y2FsSW50ZXJzZWN0aW9uUmVjdCA9IGxvY2FsUm9vdEJvdW5kczsKIAogICAgIEludGVyc2VjdGlv
bk9ic2VydmF0aW9uU3RhdGUgaW50ZXJzZWN0aW9uU3RhdGU7Ci0gICAgaW50ZXJzZWN0aW9uU3Rh
dGUuaXNJbnRlcnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbEludGVy
c2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVjdCk7
CisgICAgaWYgKCF0YXJnZXQuaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICBpbnRlcnNlY3Rp
b25TdGF0ZS5pc0ludGVyc2VjdGluZyA9IHJvb3RMb2NhbFRhcmdldFJlY3QgJiYgcm9vdExvY2Fs
SW50ZXJzZWN0aW9uUmVjdC5lZGdlSW5jbHVzaXZlSW50ZXJzZWN0KCpyb290TG9jYWxUYXJnZXRS
ZWN0KTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVRhcmdldFJlY3QgPSB0YXJnZXRS
ZW5kZXJlci0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QobG9jYWxUYXJnZXRCb3VuZHMp
KS5ib3VuZGluZ0JveCgpOwogICAgIGludGVyc2VjdGlvblN0YXRlLmFic29sdXRlUm9vdEJvdW5k
cyA9IHJvb3RSZW5kZXJlci0+bG9jYWxUb0Fic29sdXRlUXVhZChsb2NhbFJvb3RCb3VuZHMpLmJv
dW5kaW5nQm94KCk7CiAKQEAgLTkwNTcsNiArOTEwMCw0NCBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6
U2Vzc2lvbklEPiBEb2N1bWVudDo6c2Vzc2lvbklEKCkgY29uc3QKICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogfQogCitDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUmIERvY3VtZW50Ojpj
b250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoKQoreworICAgIGlmICghbV9jb250ZW50Vmlz
aWJpbGl0eURvY3VtZW50U3RhdGUpCisgICAgICAgIG1fY29udGVudFZpc2liaWxpdHlEb2N1bWVu
dFN0YXRlID0gbWFrZVVuaXF1ZTxDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU+KCp0aGlz
KTsKKyAgICByZXR1cm4gKm1fY29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOworfQorCitD
b250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRT
dGF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQorewor
fQorCit2b2lkIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6YWRkQ29udGVudFZpc2li
aWxpdHlPYnNlcnZhdGlvbihFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlmIChhdXRvKiBpbnRl
cnNlY3Rpb25PYnNlcnZlciA9IGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCkpCisgICAgICAg
IGludGVyc2VjdGlvbk9ic2VydmVyLT5vYnNlcnZlKGVsZW1lbnQpOworfQorCit2b2lkIENvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6cmVtb3ZlQ29udGVudFZpc2liaWxpdHlPYnNlcnZh
dGlvbihFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlmIChhdXRvKiBpbnRlcnNlY3Rpb25PYnNl
cnZlciA9IGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCkpCisgICAgICAgIGludGVyc2VjdGlv
bk9ic2VydmVyLT51bm9ic2VydmUoZWxlbWVudCk7Cit9CisKK0ludGVyc2VjdGlvbk9ic2VydmVy
KiBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmVuc3VyZUludGVyc2VjdGlvbk9ic2Vy
dmVyKCkKK3sKKyAgICBpZiAoIW1fb2JzZXJ2ZXIpIHsKKyAgICAgICAgYXV0byBjYWxsYmFjayA9
IENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjazo6Y3JlYXRlKCpt
X2RvY3VtZW50KTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4g
Y29udGVudFZpc2liaWxpdHlSb290TWFyZ2luRmFsbGJhY2soTUFLRV9TVEFUSUNfU1RSSU5HX0lN
UEwoIjEwMCUiKSk7CisgICAgICAgIEludGVyc2VjdGlvbk9ic2VydmVyOjpJbml0IG9wdGlvbnMg
eyBzdGQ6Om51bGxvcHQsIGNvbnRlbnRWaXNpYmlsaXR5Um9vdE1hcmdpbkZhbGxiYWNrLCB7IH0g
fTsKKyAgICAgICAgYXV0byBvYnNlcnZlciA9IEludGVyc2VjdGlvbk9ic2VydmVyOjpjcmVhdGUo
Km1fZG9jdW1lbnQsIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKG9wdGlvbnMpKTsKKyAgICAg
ICAgaWYgKG9ic2VydmVyLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgICAgIG1fb2JzZXJ2ZXIgPSBvYnNlcnZlci5yZXR1cm5WYWx1ZSgpLnB0cigpOwor
ICAgIH0KKyAgICByZXR1cm4gbV9vYnNlcnZlci5nZXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjdW5kZWYgRE9DVU1FTlRfUkVMRUFTRV9MT0cKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
aW5kZXggMzQ3NzAxNGMyMTkxZTJjMjdmMGY5ODJmNWZiNzk4NzgxMTkxNWQ0Zi4uNjg5MjgwMDdj
M2E3OTE3NTUzY2UzN2VjNDA5ZmM1MTY4N2JiZjhlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAg
LTMzOSw2ICszMzksMjEgQEAgcHJpdmF0ZToKICAgICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3Vt
ZW50OwogfTsKIAorY2xhc3MgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBDb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGUoRG9jdW1lbnQmKTsKKworICAgIHZvaWQgYWRkQ29udGVudFZpc2liaWxpdHlP
YnNlcnZhdGlvbihFbGVtZW50Jik7CisgICAgdm9pZCByZW1vdmVDb250ZW50VmlzaWJpbGl0eU9i
c2VydmF0aW9uKEVsZW1lbnQmKTsKKworcHJpdmF0ZToKKyAgICBJbnRlcnNlY3Rpb25PYnNlcnZl
ciogZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTsKKworICAgIFJlZlB0cjxJbnRlcnNlY3Rp
b25PYnNlcnZlcj4gbV9vYnNlcnZlcjsKKyAgICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50
OworfTsKKwogY2xhc3MgRG9jdW1lbnQKICAgICA6IHB1YmxpYyBDb250YWluZXJOb2RlCiAgICAg
LCBwdWJsaWMgVHJlZVNjb3BlCkBAIC02MjAsMTIgKzYzNSwxMyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBuZWVkc1N0eWxlUmVjYWxjKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbGFzdFN0eWxlVXBkYXRl
U2l6ZUZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBtX2xhc3RTdHlsZVVwZGF0ZVNpemVGb3JU
ZXN0aW5nOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0ZUxheW91dCgpOworICAg
IGVudW0gY2xhc3MgRm9yY2VMYXlvdXQgeyBObywgWWVzIH07CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCB1cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgPSBGb3JjZUxheW91dDo6Tm8pOwogICAgIAog
ICAgIC8vIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpIGZvcmNlcyBsYXlv
dXQgZXZlbiBpZiB3ZSBhcmUgd2FpdGluZyBmb3IgcGVuZGluZyBzdHlsZXNoZWV0IGxvYWRzLAog
ICAgIC8vIHNvIGNhbGxpbmcgdGhpcyBtYXkgY2F1c2UgYSBmbGFzaCBvZiB1bnN0eWxlZCBjb250
ZW50IChGT1VDKS4KICAgICBlbnVtIGNsYXNzIFJ1blBvc3RMYXlvdXRUYXNrcyB7IEFzeW5jaHJv
bm91c2x5LCBTeW5jaHJvbm91c2x5IH07Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoUnVuUG9zdExheW91dFRhc2tzID0gUnVuUG9z
dExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoUnVuUG9zdExheW91dFRhc2tzID0g
UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRm9yY2VMYXlvdXQgPSBGb3JjZUxh
eW91dDo6Tm8pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBzdHlsZUZvckVs
ZW1lbnRJZ25vcmluZ1BlbmRpbmdTdHlsZXNoZWV0cyhFbGVtZW50JiwgY29uc3QgUmVuZGVyU3R5
bGUqIHBhcmVudFN0eWxlLCBQc2V1ZG9JZCA9IFBzZXVkb0lkOjpOb25lKTsKIApAQCAtMTYzNyw2
ICsxNjUzLDggQEAgcHVibGljOgogCiAgICAgTGF6eUxvYWRJbWFnZU9ic2VydmVyJiBsYXp5TG9h
ZEltYWdlT2JzZXJ2ZXIoKTsKIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSYg
Y29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCk7CisKICAgICB2b2lkIHNldEhhc1Zpc3Vh
bGx5Tm9uRW1wdHlDdXN0b21Db250ZW50KCkgeyBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21D
b250ZW50ID0gdHJ1ZTsgfQogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9
CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7CkBAIC0xODc4LDYg
KzE4OTYsOCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPExhenlMb2FkSW1hZ2VP
YnNlcnZlcj4gbV9sYXp5TG9hZEltYWdlT2JzZXJ2ZXI7CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlPiBtX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1l
bnRTdGF0ZTsKKwogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fcGVuZGluZ1N0
YXRlT2JqZWN0OwogI2lmICFMT0dfRElTQUJMRUQKICAgICBNb25vdG9uaWNUaW1lIG1fZG9jdW1l
bnRDcmVhdGlvblRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYTVkOTRiNDVmYTJkMWMy
NGZjN2RlY2MyYjdhZjI5YWUyMTY0ZTQ4Yi4uYmNmYmEzMGM3MmFiYWEyNDgwZjFlNjU1NDkyY2E3
MDdhZjgxNTgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTI4MSw3ICsxMjgxLDcgQEAg
aW50IEVsZW1lbnQ6Om9mZnNldFRvcEZvckJpbmRpbmdzKCkKIAogaW50IEVsZW1lbnQ6Om9mZnNl
dFRvcCgpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1l
bnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIGlmIChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVu
ZGVyZXIgPSByZW5kZXJCb3hNb2RlbE9iamVjdCgpKQogICAgICAgICByZXR1cm4gYWRqdXN0T2Zm
c2V0Rm9yWm9vbUFuZFN1YnBpeGVsTGF5b3V0KCpyZW5kZXJlciwgcmVuZGVyZXItPm9mZnNldFRv
cCgpKTsKICAgICByZXR1cm4gMDsKQEAgLTE3NjYsNyArMTc2Niw3IEBAIHN0ZDo6b3B0aW9uYWw8
c3RkOjpwYWlyPFJlbmRlck9iamVjdCosIEZsb2F0UmVjdD4+IEVsZW1lbnQ6OmJvdW5kaW5nQWJz
b2x1dGVSZWN0CiAKIEZsb2F0UmVjdCBFbGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QoKQogewot
ICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Cisg
ICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1l
bnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxh
eW91dDo6WWVzKTsKICAgICBhdXRvIHBhaXIgPSBib3VuZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRM
YXlvdXQoKTsKICAgICBpZiAoIXBhaXIpCiAgICAgICAgIHJldHVybiB7IH07CkBAIC0zMDcwLDYg
KzMwNzAsOSBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGNvbnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9u
cykKICAgICBpZiAoIWlzQ29ubmVjdGVkKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChp
c1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFJlZiBkb2N1bWVudCB7
IHRoaXMtPmRvY3VtZW50KCkgfTsKICAgICBpZiAoZG9jdW1lbnQtPmZvY3VzZWRFbGVtZW50KCkg
PT0gdGhpcykgewogICAgICAgICBpZiAoZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTMzNDIsNiArMzM0
NSw5IEBAIFN0cmluZyBFbGVtZW50Ojppbm5lclRleHQoKQogICAgIC8vIFdlIG5lZWQgdG8gdXBk
YXRlIGxheW91dCwgc2luY2UgcGxhaW5UZXh0IHVzZXMgbGluZSBib3hlcyBpbiB0aGUgcmVuZGVy
IHRyZWUuCiAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKIAorICAgIGlmIChpc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIHRleHRDb250ZW50
KHRydWUpOwogCkBAIC0zNTU3LDkgKzM1NjMsOCBAQCBib29sIEVsZW1lbnQ6Omhhc1ZhbGlkU3R5
bGUoKSBjb25zdAogCiBib29sIEVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxs
U3R5bGUoKSBjb25zdAogewotCiAgICAgaWYgKHJlbmRlclN0eWxlKCkgfHwgaGFzVmFsaWRTdHls
ZSgpKQotICAgICAgICByZXR1cm4gcmVuZGVyU3R5bGUoKSAmJiByZW5kZXJTdHlsZSgpLT52aXNp
YmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZTsKKyAgICAgICAgcmV0dXJuIHJlbmRlclN0
eWxlKCkgJiYgcmVuZGVyU3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OlZpc2li
bGUgJiYgIWlzU2tpcHBlZENvbnRlbnQoKTsKIAogICAgIGF1dG8gY29tcHV0ZWRTdHlsZUZvckVs
ZW1lbnQgPSBbXShFbGVtZW50JiBlbGVtZW50KSAtPiBjb25zdCBSZW5kZXJTdHlsZSogewogICAg
ICAgICBhdXRvKiBzdHlsZSA9IGVsZW1lbnQuaGFzTm9kZUZsYWcoTm9kZUZsYWc6OklzQ29tcHV0
ZWRTdHlsZUludmFsaWRGbGFnKSA/IG51bGxwdHIgOiBlbGVtZW50LmV4aXN0aW5nQ29tcHV0ZWRT
dHlsZSgpOwpAQCAtMzU3Nyw2ICszNTgyLDkgQEAgYm9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRo
b3V0UmVzb2x2aW5nRnVsbFN0eWxlKCkgY29uc3QKICAgICBpZiAoc3R5bGUtPnZpc2liaWxpdHko
KSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBp
ZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBmb3Ig
KGF1dG8mIGVsZW1lbnQgOiBjb21wb3NlZFRyZWVBbmNlc3RvcnMoY29uc3RfY2FzdDxFbGVtZW50
Jj4oKnRoaXMpKSkgewogICAgICAgICBhdXRvKiBzdHlsZSA9IGNvbXB1dGVkU3R5bGVGb3JFbGVt
ZW50KGVsZW1lbnQpOwogICAgICAgICBpZiAoIXN0eWxlIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0g
RGlzcGxheVR5cGU6Ok5vbmUpCkBAIC00NzQ3LDYgKzQ3NTUsMTAyIEBAIEVsZW1lbnRJZGVudGlm
aWVyIEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRJZGVudGlmaWVyKCkKICAgICByZXR1cm4gRWxlbWVu
dElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiB9CiAKK0NvbnRlbnRWaXNpYmlsaXR5RGF0YSYgRWxl
bWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCkKK3sKKyAgICBhdXRvJiByYXJlRGF0
YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOworICAgIGlmICghcmFyZURhdGEuY29udGVudFZp
c2liaWxpdHlEYXRhKCkpCisgICAgICAgIHJhcmVEYXRhLnNldENvbnRlbnRWaXNpYmlsaXR5RGF0
YShtYWtlVW5pcXVlPENvbnRlbnRWaXNpYmlsaXR5RGF0YT4oKSk7CisgICAgcmV0dXJuICpyYXJl
RGF0YS5jb250ZW50VmlzaWJpbGl0eURhdGEoKTsKK30KKworQ29udGVudFZpc2liaWxpdHlEYXRh
KiBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eURhdGEoKSBjb25zdAoreworICAgIHJldHVybiBo
YXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgp
IDogbnVsbHB0cjsKK30KKwordm9pZCBFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eURh
dGEoYm9vbCBzaG91bGRTa2lwLCBDb250ZW50VmlzaWJpbGl0eSBjb250ZW50VmlzaWJpbGl0eSkK
K3sKKyAgICBpZiAoYXV0byogcGFyZW50ID0gcGFyZW50RWxlbWVudCgpKQorICAgICAgICBzaG91
bGRTa2lwIHw9IHBhcmVudC0+aXNTa2lwcGVkQ29udGVudCgpOworCisgICAgYXV0byYgZGF0YSA9
IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGlmIChpczxIVE1MRGlhbG9nRWxl
bWVudD4oKnRoaXMpKQorICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBzaG91bGRTa2lw
ICYmIGNvbnRlbnRWaXNpYmlsaXR5ID09IENvbnRlbnRWaXNpYmlsaXR5OjpIaWRkZW47CisgICAg
ZWxzZQorICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBzaG91bGRTa2lwOworCisgICAg
aWYgKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKKyAgICAgICAg
c2hvdWxkU2tpcCB8PSByZW5kZXJlci0+c2hvdWxkU2tpcENvbnRlbnQoKTsKKyAgICBmb3IgKGF1
dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8RWxlbWVudD4oKnRoaXMpKQorICAgICAgICBjaGls
ZC51cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEoc2hvdWxkU2tpcCwgY29udGVudFZpc2liaWxp
dHkpOworfQorCisvLyBGSVhNRTogdGhpcyBpcyBpbmNvbXBsZXRlLCBhbmQgbmVlZHMgdG8gYmUg
cmVmYWN0b3JlZCB3aXRoIGludGVyc2VjdGlvbiBvYnNlcnZlciBjb21wdXRhdGlvbnMgaW4gRG9j
dW1lbnQuCitzdGF0aWMgYm9vbCBjb21wdXRlSW50ZXJzZWN0aW9uKGNvbnN0IERvY3VtZW50JiBk
b2N1bWVudCwgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIpCit7CisgICAgaWYgKCFyZW5kZXJlcikK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgRnJhbWVWaWV3KiB2aWV3ID0gZG9jdW1lbnQu
dmlldygpOworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgRmxv
YXRSZWN0IGxvY2FsUm9vdEJvdW5kcyA9IHZpZXctPmxheW91dFZpZXdwb3J0UmVjdCgpOworICAg
IExheW91dFJlY3QgbG9jYWxUYXJnZXRCb3VuZHM7CisgICAgaWYgKGlzPFJlbmRlckJveD4oKnJl
bmRlcmVyKSkKKyAgICAgICAgbG9jYWxUYXJnZXRCb3VuZHMgPSBkb3duY2FzdDxSZW5kZXJCb3g+
KHJlbmRlcmVyKS0+Ym9yZGVyQm91bmRpbmdCb3goKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8TGF5
b3V0UmVjdD4gcm9vdExvY2FsVGFyZ2V0UmVjdDsKKyAgICBPcHRpb25TZXQ8UmVuZGVyT2JqZWN0
OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb24+IHZpc2libGVSZWN0T3B0aW9ucyA9IHsgUmVuZGVy
T2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OlVzZUVkZ2VJbmNsdXNpdmVJbnRlcnNl
Y3Rpb24sIFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBv
c2l0ZWRDbGlwcywgUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OkFwcGx5
Q29tcG9zaXRlZENvbnRhaW5lclNjcm9sbHMgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPExheW91dFJl
Y3Q+IHJlY3RJbkZyYW1lQWJzb2x1dGVTcGFjZSA9IHJlbmRlcmVyLT5jb21wdXRlVmlzaWJsZVJl
Y3RJbkNvbnRhaW5lcihsb2NhbFRhcmdldEJvdW5kcywgJnJlbmRlcmVyLT52aWV3KCksIHsgZmFs
c2UgLyogaGFzUG9zaXRpb25GaXhlZERlc2NlbmRhbnQgKi8sIGZhbHNlIC8qIGRpcnR5UmVjdElz
RmxpcHBlZCAqLywgdmlzaWJsZVJlY3RPcHRpb25zIH0pOworICAgIGlmIChyZWN0SW5GcmFtZUFi
c29sdXRlU3BhY2UpCisgICAgICAgIHJvb3RMb2NhbFRhcmdldFJlY3QgPSByZWN0SW5GcmFtZUFi
c29sdXRlU3BhY2U7CisgICAgRmxvYXRSZWN0IHJvb3RMb2NhbEludGVyc2VjdGlvblJlY3QgPSBs
b2NhbFJvb3RCb3VuZHM7CisgICAgcmV0dXJuIHJvb3RMb2NhbFRhcmdldFJlY3QgJiYgcm9vdExv
Y2FsSW50ZXJzZWN0aW9uUmVjdC5lZGdlSW5jbHVzaXZlSW50ZXJzZWN0KCpyb290TG9jYWxUYXJn
ZXRSZWN0KTsKK30KKworYm9vbCBFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygp
Cit7CisgICAgZm9yIChhdXRvKiBmb2N1c2VkID0gZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgp
OyBmb2N1c2VkOyBmb2N1c2VkID0gZm9jdXNlZC0+cGFyZW50RWxlbWVudEluQ29tcG9zZWRUcmVl
KCkpIHsKKyAgICAgICAgaWYgKGZvY3VzZWQgPT0gdGhpcykKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRl
Q29udGVudFZpc2liaWxpdHkoc3RkOjpvcHRpb25hbDxDb250ZW50VmlzaWJpbGl0eT4sIENvbnRl
bnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5KQoreworICAgIGlmIChuZXdDb250ZW50
VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6QXV0bykgeworICAgICAgICBhdXRvJiBk
YXRhID0gZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCk7CisgICAgICAgIGRhdGEuaXNJbnRl
cnNlY3RpbmdWaWV3cG9ydCA9IGNvbXB1dGVJbnRlcnNlY3Rpb24oZG9jdW1lbnQoKSwgcmVuZGVy
ZXIoKSk7CisgICAgICAgIGRhdGEuaXNTa2lwcGVkQ29udGVudCA9IGZhbHNlOworICAgICAgICBk
YXRhLnN1YnRyZWVIYXNGb2N1cyA9IGRldGVybWluZUlmU3VidHJlZUhhc0ZvY3VzKCk7CisgICAg
ICAgIGRvY3VtZW50KCkuY29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCkuYWRkQ29udGVu
dFZpc2liaWxpdHlPYnNlcnZhdGlvbigqdGhpcyk7CisgICAgfQorICAgIHVwZGF0ZUNvbnRlbnRW
aXNpYmlsaXR5RGF0YShmYWxzZSwgbmV3Q29udGVudFZpc2liaWxpdHkpOworfQorCitib29sIEVs
ZW1lbnQ6OmlzU2tpcHBlZENvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBjb250ZW50Vmlz
aWJpbGl0eURhdGEoKSA/IGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpLT5pc1NraXBwZWRDb250ZW50
IDogZmFsc2U7Cit9CisKK2Jvb2wgRWxlbWVudDo6c2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdAor
eworICAgIGlmICghcmVuZGVyZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChy
ZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxp
dHk6OkF1dG8pCisgICAgICAgIHJldHVybiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSA/ICFjb250
ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNJbnRlcnNlY3RpbmdWaWV3cG9ydCAmJiAhY29udGVudFZp
c2liaWxpdHlEYXRhKCktPnN1YnRyZWVIYXNGb2N1cyA6IHRydWU7CisgICAgcmV0dXJuIHJlbmRl
cmVyKCktPnN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6
SGlkZGVuOworfQorCit2b2lkIEVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFu
Z2UoYm9vbCBpc0ludGVyc2VjdGluZykKK3sKKyAgICBhdXRvJiBkYXRhID0gZW5zdXJlQ29udGVu
dFZpc2liaWxpdHlEYXRhKCk7CisgICAgZGF0YS5pc0ludGVyc2VjdGluZ1ZpZXdwb3J0ID0gaXNJ
bnRlcnNlY3Rpbmc7CisgICAgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGZhbHNlLCBDb250
ZW50VmlzaWJpbGl0eTo6QXV0byk7Cit9CisKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogCiBT
dHlsZVByb3BlcnR5TWFwKiBFbGVtZW50OjphdHRyaWJ1dGVTdHlsZU1hcCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAppbmRleCA2MjA5YmU2MmE3MDQ2NGZlYzczMzM0NWU2NTUzNjNkY2NmZTlmNTg4Li5hOTM2
YzQ5YjAxYjc0MDY5NjYyNzhiMTk5ODc4MTE0NGFlNzM2NzY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgK
QEAgLTkxLDYgKzkxLDEyIEBAIHN0cnVjdCBTY3JvbGxJbnRvVmlld09wdGlvbnM7CiBzdHJ1Y3Qg
U2Nyb2xsVG9PcHRpb25zOwogc3RydWN0IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnRJbml0
Owogc3RydWN0IFNoYWRvd1Jvb3RJbml0Oworc3RydWN0IENvbnRlbnRWaXNpYmlsaXR5RGF0YSB7
CisgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOworICAgIGJvb2wgaXNTa2lwcGVk
Q29udGVudCB7IGZhbHNlIH07CisgICAgYm9vbCBpc0ludGVyc2VjdGluZ1ZpZXdwb3J0IHsgZmFs
c2UgfTsKKyAgICBib29sIHN1YnRyZWVIYXNGb2N1cyB7IGZhbHNlIH07Cit9OwogCiBuYW1lc3Bh
Y2UgU3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7CkBAIC02NjQsNiArNjcwLDEzIEBAIHB1YmxpYzoK
ICAgICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzRHVw
bGljYXRlQXR0cmlidXRlOyB9OwogICAgIHZvaWQgc2V0SGFzRHVwbGljYXRlQXR0cmlidXRlKGJv
b2wgaGFzRHVwbGljYXRlQXR0cmlidXRlKSB7IG1faGFzRHVwbGljYXRlQXR0cmlidXRlID0gaGFz
RHVwbGljYXRlQXR0cmlidXRlOyB9OwogCisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhJiBlbnN1
cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBDb250ZW50VmlzaWJpbGl0eURhdGEqIGNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0OworICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2li
aWxpdHkoc3RkOjpvcHRpb25hbDxDb250ZW50VmlzaWJpbGl0eT4gb2xkQ29udGVudFZpc2liaWxp
dHksIENvbnRlbnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKKyAgICB2b2lkIGNv
bnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoYm9vbCk7CisgICAgYm9vbCBpc1NraXBwZWRD
b250ZW50KCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0OworCiBw
cm90ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBD
b25zdHJ1Y3Rpb25UeXBlKTsKIApAQCAtNjg3LDYgKzcwMCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0eU1hcD4mJik7CiAjZW5k
aWYKIAorICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGJvb2wgc2hvdWxkU2tp
cCwgQ29udGVudFZpc2liaWxpdHkpOworCisgICAgYm9vbCBkZXRlcm1pbmVJZlN1YnRyZWVIYXNG
b2N1cygpOworCiBwcml2YXRlOgogICAgIEZyYW1lKiBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxW
aWV3KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXgg
ODc3YTM0OWExNDM5M2NiOWRiZDZkNDM3YTdiZDY2MTZlZjI3NTEwYS4uNWM4NmI4ZTQyZjFiNTQ4
NjBhMDFhNjJmOTkzOTg5N2NhMjhhOGNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJl
RGF0YS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURh
dGEgOiBOb2RlUmFyZURhdGEgewogICAgIHZvaWQqIHR5cGVkT01EYXRhOwogI2VuZGlmCiAgICAg
dm9pZCogcmVzaXplT2JzZXJ2ZXJEYXRhOworICAgIHZvaWQqIGNvbnRlbnRWaXNpYmlsaXR5RGF0
YTsKIH07CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9m
KFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5
IHNtYWxsIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMGVjNDg3ZmI4
ZDFmMGZmOTJkYjE3Njk1MzE5YzA3ZGY0ZTI3ZjZmYi4uOWYxMDlkMDM3ZTA4OWRkMGQyNTQzYjNh
MmRmYTE0OTY1OGI1ZjVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAt
MTA2LDYgKzEwNiw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBBdG9tU3RyaW5nJiBub25jZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbm9uY2U7IH0KICAgICB2b2lkIHNldE5vbmNlKGNvbnN0IEF0b21TdHJp
bmcmIHZhbHVlKSB7IG1fbm9uY2UgPSB2YWx1ZTsgfQogCisgICAgQ29udGVudFZpc2liaWxpdHlE
YXRhKiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRWaXNp
YmlsaXR5RGF0YS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHlEYXRhKHN0
ZDo6dW5pcXVlX3B0cjxDb250ZW50VmlzaWJpbGl0eURhdGE+JiYgZGF0YSkgeyBtX2NvbnRlbnRW
aXNpYmlsaXR5RGF0YSA9IFdURk1vdmUoZGF0YSk7IH0KKwogI2lmIEVOQUJMRShDU1NfVFlQRURf
T00pCiAgICAgU3R5bGVQcm9wZXJ0eU1hcCogYXR0cmlidXRlU3R5bGVNYXAoKSB7IHJldHVybiBt
X2F0dHJpYnV0ZVN0eWxlTWFwLmdldCgpOyB9CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1h
cChSZWY8U3R5bGVQcm9wZXJ0eU1hcD4mJiBtYXApIHsgbV9hdHRyaWJ1dGVTdHlsZU1hcCA9IFdU
Rk1vdmUobWFwKTsgfQpAQCAtMTUxLDYgKzE1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJl
c3VsdC5hZGQoVXNlVHlwZTo6UGFydE5hbWVzKTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAg
ICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fQ29udGVu
dFZpc2liaWxpdHlEYXRhKQorICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpDb250ZW50
VmlzaWJpbGl0eSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogI2VuZGlmCkBAIC0x
ODQsNiArMTg5LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJpbmcgbV9ub25jZTsKIAorICAg
IHN0ZDo6dW5pcXVlX3B0cjxDb250ZW50VmlzaWJpbGl0eURhdGE+IG1fY29udGVudFZpc2liaWxp
dHlEYXRhOworCiAgICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50Kik7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXggYzMzMWZiOGU1YTU1NzcxYzM5
YTBiNjMwYjExMDllZjkzMzdiOWE4NS4uY2U1ODQ4NzI1NjZmZmM0NDcxNDg1MjhmNWY4M2JhZGI0
MWM2YTg1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMjY0LDYgKzI2NCw3IEBA
IHB1YmxpYzoKICAgICAgICAgUGFydExpc3QgPSAxIDw8IDE2LAogICAgICAgICBQYXJ0TmFtZXMg
PSAxIDw8IDE3LAogICAgICAgICBOb25jZSA9IDEgPDwgMTgsCisgICAgICAgIENvbnRlbnRWaXNp
YmlsaXR5PSAxIDw8IDE5LAogICAgIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9U
ZXh0SXRlcmF0b3IuY3BwCmluZGV4IGNmNzE0OTVmZjlkMjQ5ZTVhMzViYTVmYTRhZTIwOGU5YjBj
NWVhZjkuLjQxNDJiNzQxMTljOTBlYWVmNzU5ZWMwYzgwMGYyNzNkOGM0NmIxMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTQ1Niw2ICs0NTYsMTYgQEAgdm9p
ZCBUZXh0SXRlcmF0b3I6OmFkdmFuY2UoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAor
ICAgIGF1dG8gaXNTa2lwcGVkQ29udGVudE9yVGV4dCA9IFsmXSgpIHsKKyAgICAgICAgaWYgKGlz
PEVsZW1lbnQ+KG1fbm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4o
bV9ub2RlKS0+aXNTa2lwcGVkQ29udGVudCgpOworICAgICAgICAKKyAgICAgICAgaWYgKG1fbm9k
ZS0+aXNUZXh0Tm9kZSgpKQorICAgICAgICAgICAgcmV0dXJuIG1fbm9kZS0+cGFyZW50RWxlbWVu
dCgpID8gbV9ub2RlLT5wYXJlbnRFbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKTogZmFsc2U7
CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH07CisKICAgICB3aGlsZSAobV9ub2RlICYm
IG1fbm9kZSAhPSBtX3Bhc3RFbmROb2RlKSB7CiAgICAgICAgIC8vIGlmIHRoZSByYW5nZSBlbmRz
IGF0IG9mZnNldCAwIG9mIGFuIGVsZW1lbnQsIHJlcHJlc2VudCB0aGUKICAgICAgICAgLy8gcG9z
aXRpb24sIGJ1dCBub3QgdGhlIGNvbnRlbnQsIG9mIHRoYXQgZWxlbWVudCBlLmcuIGlmIHRoZQpA
QCAtNDcyLDcgKzQ4Miw5IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjphZHZhbmNlKCkKICAgICAgICAg
ICAgIGlmICghcmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9ICFoYXNEaXNwbGF5Q29udGVu
dHMoKm1fbm9kZSk7Ci0gICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlIGlm
IChpczxFbGVtZW50PihtX25vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPnNob3Vs
ZFNraXBDb250ZW50KCkpIHsKKyAgICAgICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9IHRy
dWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1NraXBwZWRDb250ZW50T3JUZXh0KCkpIHsK
ICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgY3VycmVudCBub2RlIGFjY29yZGluZyB0byBpdHMg
dHlwZQogICAgICAgICAgICAgICAgIGlmIChyZW5kZXJlci0+aXNUZXh0KCkgJiYgbV9ub2RlLT5p
c1RleHROb2RlKCkpCiAgICAgICAgICAgICAgICAgICAgIG1faGFuZGxlZE5vZGUgPSBoYW5kbGVU
ZXh0Tm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXgg
Nzk4ZmU4NmJjNGYzMjAyNjcxY2QyZDcxNDY2MDAwYjZlYmFiYjZiZi4uNDViNGQwMjA4OWQxMDI4
ODVkNDEzNjFjYjMwNmI1NDg4YjkzN2ZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwCkBAIC00ODUsOSArNDg1LDkgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVu
dDo6d2lkdGgoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCiAgICAgfQogCiAgICAgaWYg
KGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNr
czo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBlbHNl
Ci0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7CisgICAgICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAogICAgIFJlbmRlckJv
eCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFib3gpCkBAIC00OTgsNiArNDk4LDExIEBA
IHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6OndpZHRoKGJvb2wgaWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKQogCiB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMpCiB7CisgICAgaWYgKGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykK
KyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
RG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpG
b3JjZUxheW91dDo6WWVzKTsKKyAgICBlbHNlCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5
b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkg
ewogICAgICAgICAvLyBjaGVjayB0aGUgYXR0cmlidXRlIGZpcnN0IGZvciBhbiBleHBsaWNpdCBw
aXhlbCB2YWx1ZQogICAgICAgICBhdXRvIG9wdGlvbmFsSGVpZ2h0ID0gcGFyc2VIVE1MTm9uTmVn
YXRpdmVJbnRlZ2VyKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oaGVpZ2h0QXR0cikp
OwpAQCAtNTA5LDExICs1MTQsNiBAQCB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQo
Ym9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCiAgICAgICAgICAgICByZXR1cm4gbV9pbWFn
ZUxvYWRlci0+aW1hZ2UoKS0+aW1hZ2VTaXplRm9yUmVuZGVyZXIocmVuZGVyZXIoKSwgMS4wZiku
aGVpZ2h0KCkudG9VbnNpZ25lZCgpOwogICAgIH0KIAotICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7Ci0gICAgZWxzZQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dCgp
OwotCiAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKICAgICBpZiAoIWJveCkKICAg
ICAgICAgcmV0dXJuIDA7CkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50
OjpzZXRXaWR0aCh1bnNpZ25lZCB2YWx1ZSkKIAogaW50IEhUTUxJbWFnZUVsZW1lbnQ6OngoKSBj
b25zdAogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50
OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBhdXRvIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIo
KTsKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzMiw3ICs2MzIs
NyBAQCBpbnQgSFRNTEltYWdlRWxlbWVudDo6eCgpIGNvbnN0CiAKIGludCBIVE1MSW1hZ2VFbGVt
ZW50Ojp5KCkgY29uc3QKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5
LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMt
PnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCmluZGV4IDk2MTUzNDExYzcwM2IzNGFiM2Q4
MmM1YWEyNjU0OThiMWNhMzBhZTIuLmEyMGM4YjY3MWQwYmMwZGU0ZGMyZThlMDI0ODc1YjU5OWQ1
ODM2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNzMsNyAr
MTczLDcgQEAgdW5zaWduZWQgSW1hZ2VJbnB1dFR5cGU6OmhlaWdodCgpIGNvbnN0CiAgICAgQVNT
RVJUKGVsZW1lbnQoKSk7CiAgICAgUmVmPEhUTUxJbnB1dEVsZW1lbnQ+IGVsZW1lbnQoKnRoaXMt
PmVsZW1lbnQoKSk7CiAKLSAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOwor
ICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91
dDo6WWVzKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCkp
CiAgICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpvb20oZG93bmNhc3Q8UmVuZGVyQm94
PigqcmVuZGVyZXIpLmNvbnRlbnRIZWlnaHQoKSwgKnJlbmRlcmVyKTsKQEAgLTE5NSw3ICsxOTUs
NyBAQCB1bnNpZ25lZCBJbWFnZUlucHV0VHlwZTo6d2lkdGgoKSBjb25zdAogICAgIEFTU0VSVChl
bGVtZW50KCkpOwogICAgIFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVt
ZW50KCkpOwogCi0gICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBl
bGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olll
cyk7CiAKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAg
ICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJl
bmRlcmVyKS5jb250ZW50V2lkdGgoKSwgKnJlbmRlcmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCmluZGV4IDY5YTRjMjNjOWEzNjE4MmMxNzA5
ZTM3YTFhYjRkOGU3NDgxOGY4NzEuLjUyMmRiYjJjNzQ5ZGIwY2MxMDExZWYwZDA4NGE3Yzc1N2Fl
Nzg1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmNwcApAQCAtMjM2LDcgKzIzNiw4IEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6bGF5
b3V0KCkKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICAgICAgbGF5
b3V0VXNpbmdGb3JtYXR0aW5nQ29udGV4dCgpOwogI2VuZGlmCi0gICAgICAgICsrbV9sYXlvdXRD
b3VudDsKKyAgICAgICAgaWYgKCFtX2xheW91dEZvcmNlZCkKKyAgICAgICAgICAgICsrbV9sYXlv
dXRDb3VudDsKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgICAgICBhcHBseVRleHRT
aXppbmdJZk5lZWRlZCgqbGF5b3V0Um9vdC5nZXQoKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKaW5kZXggNmY5ZWIxZTA5MzgyNGU2YjFi
MGY5YTU3YTc1MjUzYTMyNGZlZTFmYS4uZGRjNmYwMzBmMzEyYzhiMDg1OGNhNjRlYWQ5ZTUxNmE2
MzI0ZjM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmgKQEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNJbkxheW91dCgpIGNvbnN0
IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6Ok91dHNpZGVMYXlvdXQ7IH0K
ICAgICBib29sIGlzSW5SZW5kZXJUcmVlTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhh
c2UoKSA9PSBMYXlvdXRQaGFzZTo6SW5SZW5kZXJUcmVlTGF5b3V0OyB9CiAgICAgYm9vbCBpblBh
aW50YWJsZVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQaGFz
ZTo6SW5SZW5kZXJUcmVlTGF5b3V0ICYmIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6Oklu
Vmlld1NpemVBZGp1c3QgJiYgKGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluUG9zdExh
eW91dCB8fCBpbkFzeW5jaHJvbm91c1Rhc2tzKCkpOyB9CisgICAgYm9vbCBpc0xheW91dEZvcmNl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Rm9yY2VkOyB9CisgICAgdm9pZCBzZXRMYXlvdXRG
b3JjZWQoYm9vbCBmKSB7IG1fbGF5b3V0Rm9yY2VkID0gZjsgfQogCiAgICAgdW5zaWduZWQgbGF5
b3V0Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2xheW91dENvdW50OyB9CiAKQEAgLTE3OSw2ICsx
ODEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9uZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9Owog
ICAgIGJvb2wgbV9pbkFzeW5jaHJvbm91c1Rhc2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2V0
TmVlZHNMYXlvdXRXYXNEZWZlcnJlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2xheW91dEZvcmNl
ZCB7IGZhbHNlIH07CiAgICAgTGF5b3V0UGhhc2UgbV9sYXlvdXRQaGFzZSB7IExheW91dFBoYXNl
OjpPdXRzaWRlTGF5b3V0IH07CiAgICAgZW51bSBjbGFzcyBMYXlvdXROZXN0ZWRTdGF0ZSA6IHVp
bnQ4X3QgIHsgTm90SW5MYXlvdXQsIE5vdE5lc3RlZCwgTmVzdGVkIH07CiAgICAgTGF5b3V0TmVz
dGVkU3RhdGUgbV9sYXlvdXROZXN0ZWRTdGF0ZSB7IExheW91dE5lc3RlZFN0YXRlOjpOb3RJbkxh
eW91dCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNl
cnZlckVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJF
bnRyeS5jcHAKaW5kZXggYjVhMjM3ZTgxNDJlZDdiMjM3YWI0NDUzZGViNjVlMzNiZjRjNzYxOC4u
ZGVmNjEzNDM3NmIzNjJlMzgzZmZiY2ZjYjk3NTVjNWZhNDIyYzZhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCkBAIC00MSw2ICs0
MSw4IEBAIEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk6OkludGVyc2VjdGlvbk9ic2VydmVyRW50
cnkoY29uc3QgSW5pdCYgaW5pdCkKIHsKICAgICBpZiAoaW5pdC5yb290Qm91bmRzKQogICAgICAg
ICBtX3Jvb3RCb3VuZHMgPSBET01SZWN0UmVhZE9ubHk6OmZyb21SZWN0KCppbml0LnJvb3RCb3Vu
ZHMpOworICAgIGlmIChtX3RhcmdldCAmJiBtX3RhcmdldC0+aXNTa2lwcGVkQ29udGVudCgpKQor
ICAgICAgICBtX2lzSW50ZXJzZWN0aW5nID0gZmFsc2U7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHAKaW5kZXggZWJj
YTdlMzNiZDE3YTA2NTJkZGVhMDhjZDRlNWJhYWRjZjZjOWVhZi4uZDhkZWYzYTE0ZDUwNzNiYWEx
MGVjOTBlYzRjMWYwM2U4N2ExZDdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9S
ZXNpemVPYnNlcnZhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNl
cnZhdGlvbi5jcHAKQEAgLTUxLDI0ICs1MSwyNiBAQCB2b2lkIFJlc2l6ZU9ic2VydmF0aW9uOjp1
cGRhdGVPYnNlcnZhdGlvblNpemUoY29uc3QgQm94U2l6ZXMmIGJveFNpemVzKQogICAgIG1fbGFz
dE9ic2VydmF0aW9uU2l6ZXMgPSBib3hTaXplczsKIH0KIAotYXV0byBSZXNpemVPYnNlcnZhdGlv
bjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25zdCAtPiBCb3hTaXplcworc3RkOjpvcHRpb25h
bDxSZXNpemVPYnNlcnZhdGlvbjo6Qm94U2l6ZXM+IFJlc2l6ZU9ic2VydmF0aW9uOjpjb21wdXRl
T2JzZXJ2ZWRTaXplcygpIGNvbnN0CiB7CiAgICAgaWYgKG1fdGFyZ2V0LT5pc1NWR0VsZW1lbnQo
KSkgewogICAgICAgICBpZiAoYXV0byBzdmdSZWN0ID0gZG93bmNhc3Q8U1ZHRWxlbWVudD4oKm1f
dGFyZ2V0KS5nZXRCb3VuZGluZ0JveCgpKSB7CiAgICAgICAgICAgICBhdXRvIHNpemUgPSBMYXlv
dXRTaXplKHN2Z1JlY3QtPndpZHRoKCksIHN2Z1JlY3QtPmhlaWdodCgpKTsKLSAgICAgICAgICAg
IHJldHVybiB7IHNpemUsIHNpemUsIHNpemUgfTsKKyAgICAgICAgICAgIHJldHVybiBCb3hTaXpl
cyB7IHNpemUsIHNpemUsIHNpemUgfTsKICAgICAgICAgfQogICAgIH0KICAgICBhdXRvKiBib3gg
PSBtX3RhcmdldC0+cmVuZGVyQm94KCk7CiAgICAgaWYgKGJveCkgewotICAgICAgICByZXR1cm4g
eworICAgICAgICBpZiAobV90YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiBCb3hTaXplcyB7CiAgICAgICAg
ICAgICBhZGp1c3RMYXlvdXRTaXplRm9yQWJzb2x1dGVab29tKGJveC0+Y29udGVudFNpemUoKSwg
KmJveCksCiAgICAgICAgICAgICBhZGp1c3RMYXlvdXRTaXplRm9yQWJzb2x1dGVab29tKGJveC0+
Y29udGVudExvZ2ljYWxTaXplKCksICpib3gpLAogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6
ZUZvckFic29sdXRlWm9vbShib3gtPmJvcmRlckJveExvZ2ljYWxTaXplKCksICpib3gpCiAgICAg
ICAgIH07CiAgICAgfQogCi0gICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gQm94U2l6ZXMgeyB9
OwogfQogCiBMYXlvdXRQb2ludCBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZVRhcmdldExvY2F0
aW9uKCkgY29uc3QKQEAgLTEwNCwxNSArMTA2LDE3IEBAIEZsb2F0U2l6ZSBSZXNpemVPYnNlcnZh
dGlvbjo6c25hcHBlZENvbnRlbnRCb3hTaXplKCkgY29uc3QKIHN0ZDo6b3B0aW9uYWw8UmVzaXpl
T2JzZXJ2YXRpb246OkJveFNpemVzPiBSZXNpemVPYnNlcnZhdGlvbjo6ZWxlbWVudFNpemVDaGFu
Z2VkKCkgY29uc3QKIHsKICAgICBhdXRvIGN1cnJlbnRTaXplcyA9IGNvbXB1dGVPYnNlcnZlZFNp
emVzKCk7CisgICAgaWYgKCFjdXJyZW50U2l6ZXMpCisgICAgICAgIHJldHVybiBjdXJyZW50U2l6
ZXM7CiAKICAgICBzd2l0Y2ggKG1fb2JzZXJ2ZWRCb3gpIHsKICAgICBjYXNlIFJlc2l6ZU9ic2Vy
dmVyQm94T3B0aW9uczo6Qm9yZGVyQm94OgotICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25T
aXplcy5ib3JkZXJCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMuYm9yZGVyQm94TG9naWNh
bFNpemUpCi0gICAgICAgICAgICByZXR1cm4gY3VycmVudFNpemVzOworICAgICAgICBpZiAobV9s
YXN0T2JzZXJ2YXRpb25TaXplcy5ib3JkZXJCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMt
PmJvcmRlckJveExvZ2ljYWxTaXplKQorICAgICAgICAgICAgcmV0dXJuICpjdXJyZW50U2l6ZXM7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zOjpDb250
ZW50Qm94OgotICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXplcy5jb250ZW50Qm94TG9n
aWNhbFNpemUgIT0gY3VycmVudFNpemVzLmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSkKLSAgICAgICAg
ICAgIHJldHVybiBjdXJyZW50U2l6ZXM7CisgICAgICAgIGlmIChtX2xhc3RPYnNlcnZhdGlvblNp
emVzLmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMtPmNvbnRlbnRCb3hMb2dp
Y2FsU2l6ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVudFNpemVzOwogICAgICAgICBicmVh
azsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaAppbmRleCA2
OGIxYzJhOTc0ZTY1MzEyNWU5MjhmZDQ4ODIxMGY1YzJkZjBkNzEzLi44MDU1NGZjMDhkZmYwZWYx
YzlhZGU1Nzg2Y2U4MTVhNWUyZjE4OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNl
cnZhdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzaXpl
T2JzZXJ2YXRpb24oRWxlbWVudCYsIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9ucyk7CiAKLSAgICBC
b3hTaXplcyBjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8
Qm94U2l6ZXM+IGNvbXB1dGVPYnNlcnZlZFNpemVzKCkgY29uc3Q7CiAgICAgTGF5b3V0UG9pbnQg
Y29tcHV0ZVRhcmdldExvY2F0aW9uKCkgY29uc3Q7CiAKICAgICBXZWFrUHRyPEVsZW1lbnQ+IG1f
dGFyZ2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggOTE2
YzY0NDU4NWRjNjQ2MzkxYmU2MGRiMmZmZGQyOWNmYzNlYTgwNi4uMDBmNTdiNDQ0MGFkY2ZhYzRk
MzJjNDdkNTBlMjQ3ZTA1MDU0N2IzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCkBAIC02NTIsNiArNjUyLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0Qmxv
Y2soYm9vbCwgTGF5b3V0VW5pdCkKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9t
Q2hpbGRyZW4oKQogeworICAgIGlmIChzaG91bGRTa2lwQ29udGVudCgpICYmICF2aWV3KCkuZnJh
bWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpCisgICAgICAgIHJldHVy
bjsKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tSW5s
aW5lQ2hpbGRyZW4oKTsKICAgICBlbHNlCkBAIC03NDMsNiArNzQ1LDggQEAgdm9pZCBSZW5kZXJC
bG9jazo6YWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpCiAKIHZvaWQgUmVuZGVyQmxvY2s6
OmFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKCkKIHsKKyAgICBpZiAoc2hvdWxkU2tp
cENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91
dEZvcmNlZCgpKQorICAgICAgICByZXR1cm47CiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hT
ZXQqIHBvc2l0aW9uZWREZXNjZW5kYW50cyA9IHBvc2l0aW9uZWRPYmplY3RzKCk7CiAgICAgaWYg
KCFwb3NpdGlvbmVkRGVzY2VuZGFudHMpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNzQsNyArMTA3
OCwxMyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhib29sIHJl
bGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdAogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RI
YXNoU2V0KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAg
IGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47Ci0gICAgCisKKyAg
ICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91dENv
bnRleHQoKS5pc0xheW91dEZvcmNlZCgpKSB7CisgICAgICAgIGZvciAoYXV0byBpdCA9IHBvc2l0
aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKTsgaXQgIT0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5l
bmQoKTsgKytpdCkKKyAgICAgICAgICAgICgqKml0KS5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBEbyBub3QgY2FjaGUgcG9zaXRpb25lZERlc2Nl
bmRhbnRzLT5lbmQoKSBpbiBhIGxvY2FsIHZhcmlhYmxlLCBzaW5jZSB8cG9zaXRpb25lZERlc2Nl
bmRhbnRzfCBjYW4gYmUgbXV0YXRlZAogICAgIC8vIGFzIGl0IGlzIHdhbGtlZC4gV2UgYWx3YXlz
IG5lZWQgdG8gZmV0Y2ggdGhlIG5ldyBlbmQoKSB2YWx1ZSBkeW5hbWljYWxseS4KICAgICBmb3Ig
KGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCk7IGl0ICE9IHBvc2l0aW9u
ZWREZXNjZW5kYW50cy0+ZW5kKCk7ICsraXQpCkBAIC0xMTM3LDcgKzExNDcsNyBAQCB2b2lkIFJl
bmRlckJsb2NrOjpwYWludENvbnRlbnRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlv
dXRQb2ludCYgcGFpbnRPZgogICAgIC8vIFN0eWxlIGlzIG5vbi1maW5hbCBpZiB0aGUgZWxlbWVu
dCBoYXMgYSBwZW5kaW5nIHN0eWxlc2hlZXQgYmVmb3JlIGl0LiBXZSBlbmQgdXAgd2l0aCByZW5k
ZXJlcnMgd2l0aCBzdWNoIHN0eWxlcyBpZiBhIHNjcmlwdAogICAgIC8vIGZvcmNlcyByZW5kZXJl
ciBjb25zdHJ1Y3Rpb24gYnkgcXVlcnlpbmcgc29tZXRoaW5nIGxheW91dCBkZXBlbmRlbnQuCiAg
ICAgLy8gQXZvaWQgRk9VQyBieSBub3QgcGFpbnRpbmcuIFN3aXRjaGluZyB0byBmaW5hbCBzdHls
ZSB0cmlnZ2VycyByZXBhaW50LgotICAgIGlmIChzdHlsZSgpLmlzTm90RmluYWwoKSkKKyAgICBp
ZiAoc3R5bGUoKS5pc05vdEZpbmFsKCkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCkBAIC0xMjQwLDYgKzEyNTAsOSBA
QCB2b2lkIFJlbmRlckJsb2NrOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50T2ZmcwogewogICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9
IHBhaW50SW5mby5waGFzZTsKIAorICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1Nr
aXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIDEuIHBhaW50IGJhY2tn
cm91bmQsIGJvcmRlcnMgZXRjCiAgICAgaWYgKChwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkJs
b2NrQmFja2dyb3VuZCB8fCBwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkNoaWxkQmxvY2tCYWNr
Z3JvdW5kKSAmJiBzdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKSB7
CiAgICAgICAgIGlmIChoYXNWaXNpYmxlQm94RGVjb3JhdGlvbnMoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggZDIyYjYxMTU4NmNlN2RiMjA3
ZTMwNDAyODcwNjNkMjZkOWY4OTExMS4uZGVkNzM1ZjIyYmMyMjI4MzA4NzFkYTI0ODAxYTUxMWQx
MzQ4NjYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTUyNyw2ICs1MjcsOCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0QmxvY2so
Ym9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSAogICAgICAgICBp
ZiAoIWZpcnN0Q2hpbGQoKSAmJiAhaXNBbm9ueW1vdXNCbG9jaygpKQogICAgICAgICAgICAgc2V0
Q2hpbGRyZW5JbmxpbmUodHJ1ZSk7CiAgICAgICAgIGRpcnR5Rm9yTGF5b3V0RnJvbVBlcmNlbnRh
Z2VIZWlnaHREZXNjZW5kYW50cygpOworICAgICAgICBpZiAodmlldygpLmZyYW1lVmlldygpLmxh
eW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpICYmICgoZWxlbWVudCgpICYmIGVsZW1lbnQo
KS0+aXNTa2lwcGVkQ29udGVudCgpKSB8fCBzaG91bGRTa2lwQ29udGVudCgpKSkKKyAgICAgICAg
ICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVlOwogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkKICAgICAgICAgICAgIGxheW91dElubGluZUNoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIHJl
cGFpbnRMb2dpY2FsVG9wLCByZXBhaW50TG9naWNhbEJvdHRvbSk7CiAgICAgICAgIGVsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmlu
ZGV4IGJkYzFlNjJhN2E1YTA2NTQ1NWY1MWMzN2U4MzU3MDllY2YyMjZkZGIuLjI5OWI1NTBjN2Vi
NWVmNTZiZGQ2ZGZiMmJhMDRlZWU5Y2RkNjQzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjEyLDYgKzIxMiw3IEBAIHZv
aWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgaWYgKHN0eWxl
VG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmlldygpLmZyYW1l
VmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKICAgICBzZXRQYWludENv
bnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKTsKKyAg
ICBzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoKCFpc0lubGluZSgpIHx8IGlzQXRvbWljSW5s
aW5lTGV2ZWxCb3goKSkgJiYgIWlzUnVieVRleHQoKSAmJiAoIWlzVGFibGVQYXJ0KCkgfHwgaXNS
ZW5kZXJCbG9ja0Zsb3coKSkpOwogfQogCiBzdGF0aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5G
bG93UG9zaXRpb25PZmZzZXRzKGNvbnN0IFJlbmRlck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5kZXggNGU3NTlkN2YyNTBhZjk4YTQ4
MDY0ZTQ2Njc3NzNlNzY4MzVmYjlhMS4uOWRmY2E3NzZlNzQ3NDM2ZWUzMDFlYzA3MDlmMGJmYjVl
ZjMzZTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApA
QCAtMjQzNyw0ICsyNDM3LDExIEBAIE92ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92
ZXJmbG93WSgpIGNvbnN0CiAgICAgcmV0dXJuIG92ZXJmbG93WTsKIH0KIAorYm9vbCBSZW5kZXJF
bGVtZW50OjpzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFsYXlvdXRDb250
YWlubWVudEFwcGxpZXMoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBlbGVt
ZW50KCkgJiYgZWxlbWVudCgpLT5zaG91bGRTa2lwQ29udGVudCgpOworfQorCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCBmMzc2Y2VjYjk3NWNhNzE5ZmRm
Njc2ZTVhYzBmYjk1ZDhlMmVkMjIwLi5iMTEzZmZjY2RhMjU4ODQzNjA4NWEyZDZhMDIyYzZlMGVk
Y2IzZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTE2
NSw2ICsxNjUsOSBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdHlsZSgpLnZpc2liaWxpdHkoKSAh
PSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
ICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKCghaGl0VGVzdFJlcXVlc3QgfHwg
IWhpdFRlc3RSZXF1ZXN0LT5pZ25vcmVDU1NQb2ludGVyRXZlbnRzUHJvcGVydHkoKSkgJiYgc3R5
bGUoKS5wb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIApAQCAtMjc0LDYgKzI3Nyw4IEBAIHB1YmxpYzoKICAgICBPdmVyZmxv
dyBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxl
KCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZm
ZWN0aXZlT3ZlcmZsb3dZKCk7IH0KICAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2Nr
RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQogCisg
ICAgYm9vbCBzaG91bGRTa2lwQ29udGVudCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZW51
bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAx
IDw8IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGUy
YjRiMDlmNTdkZWIzYTQ1OThmM2JkMGNlNjczNGIwOTc1YjFjNTIuLjIyYmU1Mzc3YWVkZTlkMzZh
MTYxZjQ4YzdjMDNmNmE5OGE1NzAwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCkBAIC0yMjgsNiArMjI4LDggQEAgYm9vbCBSZW5kZXJJbmxpbmU6Om1heUFm
ZmVjdExheW91dCgpIGNvbnN0CiAKIHZvaWQgUmVuZGVySW5saW5lOjpwYWludChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogeworICAgIGlmIChz
aG91bGRTa2lwQ29udGVudCgpIHx8IChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRD
b250ZW50KCkpKQorICAgICAgICByZXR1cm47CiAgICAgbV9saW5lQm94ZXMucGFpbnQodGhpcywg
cGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDM2NzAxNWZmZGYzNGQ3NWFjNGViYjE1MTJlYzFlZjJhZWE3NWM0
MTguLjQ3NDdhMzRhMGZiMjFjZDkxYzE3N2IyOGY1YjhmMjk4YzEyODcwODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzA0MSw2ICszMDQxLDkgQEAgc3Rh
dGljIGlubGluZSBib29sIHBhaW50Rm9yRml4ZWRSb290QmFja2dyb3VuZChjb25zdCBSZW5kZXJM
YXllciogbGF5ZXIsIE9wdGlvblMKIAogdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0lu
Zm8sIE9wdGlvblNldDxQYWludExheWVyRmxhZz4gcGFpbnRGbGFncykKIHsKKyAgICBpZiAocmVu
ZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIoKS5lbGVtZW50KCktPmlzU2tpcHBlZENvbnRl
bnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBzaG91bGRDb250aW51ZVBhaW50ID0g
WyZdICgpIHsKICAgICAgICAgcmV0dXJuIGJhY2tpbmcoKS0+cGFpbnRzSW50b1dpbmRvdygpCiAg
ICAgICAgICAgICB8fCBiYWNraW5nKCktPnBhaW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKQpA
QCAtMzMxMyw2ICszMzE2LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRz
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKIHsKICAgICBBU1NF
UlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFu
dCgpKTsKIAorICAgIC8vIGlmIChyZW5kZXJlcigpLmVsZW1lbnQoKSAmJiByZW5kZXJlcigpLmVs
ZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgIC8vICAgICByZXR1cm47CisKICAgICBp
ZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSAmJiBjb250ZXh0LmNvbnRlbmZ1
bFBhaW50RGV0ZWN0ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0zNTYyLDcgKzM1NjgsNyBA
QCB2b2lkIFJlbmRlckxheWVyOjpwYWludExpc3QoTGF5ZXJMaXN0IGxheWVySXRlcmF0b3IsIEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgYwogICAgIGlmIChsYXllckl0ZXJhdG9yLmJlZ2luKCkg
PT0gbGF5ZXJJdGVyYXRvci5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFoYXNT
ZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKKyAgICBpZiAoIWhhc1NlbGZQYWludGluZ0xh
eWVyRGVzY2VuZGFudCgpIHx8IHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAjaWYgQVNTRVJUX0VOQUJMRUQKQEAgLTQwNDIsNiArNDA0OCw4IEBAIFZl
Y3RvcjxSZW5kZXJMYXllcio+IFJlbmRlckxheWVyOjp0b3BMYXllclJlbmRlckxheWVycyhSZW5k
ZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGxheWVyczsKICAg
ICBhdXRvIHRvcExheWVyRWxlbWVudHMgPSByZW5kZXJWaWV3LmRvY3VtZW50KCkudG9wTGF5ZXJF
bGVtZW50cygpOwogICAgIGZvciAoYXV0byYgZWxlbWVudCA6IHRvcExheWVyRWxlbWVudHMpIHsK
KyAgICAgICAgaWYgKGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCk7CiAg
ICAgICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTQ0NTksNiAr
NDQ2Nyw5IEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdExpc3QoTGF5ZXJMaXN0
IGxheWVySXRlcmF0b3IsIFJlbmRlckxheWVyKiByb290CiAgICAgaWYgKCFoYXNTZWxmUGFpbnRp
bmdMYXllckRlc2NlbmRhbnQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBpZiAo
cmVuZGVyZXIoKS5zaG91bGRTa2lwQ29udGVudCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KwogICAgIFJlbmRlckxheWVyKiByZXN1bHRMYXllciA9IG51bGxwdHI7CiAKICAgICBmb3IgKGF1
dG8gaXRlciA9IGxheWVySXRlcmF0b3IucmJlZ2luKCk7IGl0ZXIgIT0gbGF5ZXJJdGVyYXRvci5y
ZW5kKCk7ICsraXRlcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcAppbmRleCAzYWEwZjg1ZWE4ZGY3NDg3M2ZhZGEyY2FjNmFkY2Y0NmYwMTgy
NzI5Li4zYzMyYTA1MjEyNDdjMzMyMWRhNmQ2MzhkZDI1OWExZDcxZWM4YTBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTU5OCw3
ICsxNTk4LDggQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUFmdGVyRGVzY2VuZGFu
dHMoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzT3BhcXVlKCFtX2hhc1N1
YnBpeGVsUm91bmRpbmcgJiYgbV9vd25pbmdMYXllci5iYWNrZ3JvdW5kSXNLbm93blRvQmVPcGFx
dWVJblJlY3QoY29tcG9zaXRlZEJvdW5kcygpKSk7CiAgICAgfQogCi0gICAgbV9ncmFwaGljc0xh
eWVyLT5zZXRDb250ZW50c1Zpc2libGUobV9vd25pbmdMYXllci5oYXNWaXNpYmxlQ29udGVudCgp
IHx8IGhhc1Zpc2libGVOb25Db21wb3NpdGVkRGVzY2VuZGFudHMoKSk7CisgICAgYm9vbCBpc1Nr
aXBwZWRDb250ZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkgPyByZW5kZXJlcigpLmVsZW1lbnQo
KS0+aXNTa2lwcGVkQ29udGVudCgpIDogZmFsc2U7CisgICAgbV9ncmFwaGljc0xheWVyLT5zZXRD
b250ZW50c1Zpc2libGUoIWlzU2tpcHBlZENvbnRlbnQgJiYgKG1fb3duaW5nTGF5ZXIuaGFzVmlz
aWJsZUNvbnRlbnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpKTsK
ICAgICBpZiAobV9zY3JvbGxDb250YWluZXJMYXllcikgewogICAgICAgICBtX3Njcm9sbENvbnRh
aW5lckxheWVyLT5zZXRDb250ZW50c1Zpc2libGUocmVuZGVyZXIoKS5zdHlsZSgpLnZpc2liaWxp
dHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCmluZGV4IDhkOTkwZjFkNTMxYmU2
M2YyYjI1ZDA2MTQ1ZmIxMzFjNDEwMDcyNmMuLmYwZjE4ZTExODc2YmY3OTA1MmQ0MTM2NzRiNDFk
YzIxOTI3OGZiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJSZW5kZXJMYXllck1vZGVsT2JqZWN0LmgiCiAKKyNpbmNsdWRlICJEb2N1
bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9z
aXRvci5oIgpAQCAtMTE0LDYgKzExNSwxMiBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdAogICAg
IFJlbmRlckVsZW1lbnQ6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICB1cGRh
dGVGcm9tU3R5bGUoKTsKIAorICAgIGlmIChlbGVtZW50KCkgJiYgKChvbGRTdHlsZSAmJiBvbGRT
dHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSAhPSBzdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkp
IHx8ICghb2xkU3R5bGUgJiYgc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRW
aXNpYmlsaXR5OjpWaXNpYmxlKSkpIHsKKyAgICAgICAgZWxlbWVudCgpLT51cGRhdGVDb250ZW50
VmlzaWJpbGl0eShvbGRTdHlsZSA/IHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+KG9s
ZFN0eWxlLT5jb250ZW50VmlzaWJpbGl0eSgpKSA6IHN0ZDo6bnVsbG9wdCwgc3R5bGUoKS5jb250
ZW50VmlzaWJpbGl0eSgpKTsKKyAgICAgICAgaWYgKHN0eWxlKCkuY29udGVudFZpc2liaWxpdHko
KSA9PSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAgICAgICAgICAgIGRvY3VtZW50KCku
dXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKTsKKyAgICB9CisKICAgICBpZiAocmVxdWly
ZXNMYXllcigpKSB7CiAgICAgICAgIGlmICghbGF5ZXIoKSAmJiBsYXllckNyZWF0aW9uQWxsb3dl
ZEZvclN1YnRyZWUoKSkgewogICAgICAgICAgICAgaWYgKHNfd2FzRmxvYXRpbmcgJiYgaXNGbG9h
dGluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBi
NGI2NzEwMmRmZTc0ZGY1ZWFiMTVjMjBmZTRlZGM1NjE1MmFjM2YzLi5kNTIwMWQ3MzgyMDFlM2Jm
MmQ0ZWNmZDE3NmM2OWMwM2NiMTRkMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtNDU0LDYgKzQ1NCw5IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpzY3Jv
bGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNp
CiAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05v
dFJldmVhbCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGlzPEVsZW1lbnQ+KG5v
ZGUoKSkgJiYgZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUoKSkuaXNTa2lwcGVkQ29udGVudCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBSZW5kZXJMYXllciogZW5jbG9zaW5nTGF5ZXIg
PSB0aGlzLT5lbmNsb3NpbmdMYXllcigpOwogICAgIGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTE5ODYsNiArMTk4OSwxMiBAQCB2b2lkIFJlbmRlck9iamVj
dDo6c2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGll
cykKICAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhw
YWludENvbnRhaW5tZW50QXBwbGllcyk7CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRMYXlv
dXRDb250YWlubWVudEFwcGxpZXMoYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMpCit7Cisg
ICAgaWYgKGxheW91dENvbnRhaW5tZW50QXBwbGllcyB8fCBoYXNSYXJlRGF0YSgpKQorICAgICAg
ICBlbnN1cmVSYXJlRGF0YSgpLnNldExheW91dENvbnRhaW5tZW50QXBwbGllcyhsYXlvdXRDb250
YWlubWVudEFwcGxpZXMpOworfQorCiBSZW5kZXJPYmplY3Q6OlJhcmVEYXRhTWFwJiBSZW5kZXJP
YmplY3Q6OnJhcmVEYXRhTWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmFyZURh
dGFNYXA+IG1hcDsKQEAgLTIwMTUsNiArMjAyNCw3IEBAIFJlbmRlck9iamVjdDo6UmVuZGVyT2Jq
ZWN0UmFyZURhdGE6OlJlbmRlck9iamVjdFJhcmVEYXRhKCkKICAgICAsIG1faXNSZW5kZXJGcmFn
bWVudGVkRmxvdyhmYWxzZSkKICAgICAsIG1faGFzT3V0bGluZUF1dG9BbmNlc3RvcihmYWxzZSkK
ICAgICAsIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCisgICAgLCBtX2xheW91dENv
bnRhaW5tZW50QXBwbGllcyhmYWxzZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCmluZGV4IGQwZjRjZWM0YmFkYzUyYTZlNzRhMGZjODFiNzgwZjJkMjUzYWJm
NjkuLjk0MDc1M2YxY2E0ZGNlNWRlYzA5MjZhNDViNjI1Y2YxYWYwOTI1ZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgY29uc3QgeyByZXR1cm4gbV9iaXRm
aWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLmlzUmVuZGVyRnJhZ21lbnRlZEZsb3co
KTsgfQogICAgIGJvb2wgaGFzT3V0bGluZUF1dG9BbmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIG1f
Yml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5oYXNPdXRsaW5lQXV0b0FuY2Vz
dG9yKCk7IH0KICAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1
cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLnBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKCk7IH0KKyAgICBib29sIGxheW91dENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0
IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5sYXlvdXRD
b250YWlubWVudEFwcGxpZXMoKTsgfQogCiAgICAgYm9vbCBpc0V4Y2x1ZGVkRnJvbU5vcm1hbExh
eW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5
b3V0KCk7IH0KICAgICB2b2lkIHNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KGJvb2wgZXhj
bHVkZWQpIHsgbV9iaXRmaWVsZHMuc2V0SXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoZXhjbHVk
ZWQpOyB9CkBAIC01MTUsNiArNTE2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZW5kZXJG
cmFnbWVudGVkRmxvdyhib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRIYXNPdXRsaW5lQXV0b0Fu
Y2VzdG9yKGJvb2wgPSB0cnVlKTsKICAgICB2b2lkIHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVz
KGJvb2wgPSB0cnVlKTsKKyAgICB2b2lkIHNldExheW91dENvbnRhaW5tZW50QXBwbGllcyhib29s
ID0gdHJ1ZSk7CiAKICAgICAvLyBIb29rIHNvIHRoYXQgUmVuZGVyVGV4dENvbnRyb2wgY2FuIHJl
dHVybiB0aGUgbGluZSBoZWlnaHQgb2YgaXRzIGlubmVyIHJlbmRlcmVyLgogICAgIC8vIEZvciBv
dGhlciByZW5kZXJlcnMsIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBsaW5lSGVpZ2h0KGZhbHNl
KS4KQEAgLTk0NCw2ICs5NDYsNyBAQCBwcml2YXRlOgogICAgICAgICBBRERfQk9PTEVBTl9CSVRG
SUVMRChpc1JlbmRlckZyYWdtZW50ZWRGbG93LCBJc1JlbmRlckZyYWdtZW50ZWRGbG93KTsKICAg
ICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFzT3V0bGluZUF1dG9BbmNlc3RvciwgSGFzT3V0
bGluZUF1dG9BbmNlc3Rvcik7CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKHBhaW50Q29u
dGFpbm1lbnRBcHBsaWVzLCBQYWludENvbnRhaW5tZW50QXBwbGllcyk7CisgICAgICAgIEFERF9C
T09MRUFOX0JJVEZJRUxEKGxheW91dENvbnRhaW5tZW50QXBwbGllcywgTGF5b3V0Q29udGFpbm1l
bnRBcHBsaWVzKTsKIAogICAgICAgICAvLyBGcm9tIFJlbmRlckVsZW1lbnQKICAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjYWNoZWRGaXJzdExpbmVTdHlsZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IGQzYmI3NmExNjI0MjIz
ODAyM2Y4MWMzZjZhZDdhMmZhNDc1ODA5NjYuLjU5M2I1MDI1YjUyNTQ4MjliMDJmODRiZWFiOGI2
OTM0MjMxYzcyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
LmNwcApAQCAtMjU5LDcgKzI1OSw4IEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OnBhaW50KFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgfQog
CiAgICAgaWYgKCFjb21wbGV0ZWx5Q2xpcHBlZE91dCkgewotICAgICAgICBwYWludFJlcGxhY2Vk
KHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNldCk7CisgICAgICAgIGlmICghc2hvdWxkU2tp
cENvbnRlbnQoKSkKKyAgICAgICAgICAgIHBhaW50UmVwbGFjZWQocGFpbnRJbmZvLCBhZGp1c3Rl
ZFBhaW50T2Zmc2V0KTsKIAogICAgICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkK
ICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0KCkucmVzdG9yZSgpOwpAQCAtMjk5LDcgKzMw
MCw3IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPCiAgICAgLy8gaWYgd2UncmUgaW52aXNpYmxl
IG9yIGhhdmVuJ3QgcmVjZWl2ZWQgYSBsYXlvdXQgeWV0LCB0aGVuIGp1c3QgYmFpbC4KICAgICBp
ZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIAorCiAgICAgTGF5b3V0UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNl
dCA9IHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKTsKIAogICAgIC8vIEVhcmx5IGV4aXQgaWYgdGhl
IGVsZW1lbnQgdG91Y2hlcyB0aGUgZWRnZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAKaW5kZXggYWFmZDlkY2QwNTY4MzlmODc3YjkzNjcxNmFkZGI2YmMwY2VhM2IyZC4u
OGJmZjExYjM2NDY5OTg5YjlmOGM1NzgwNWQ1OTEyZDRmYjdiM2JlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTc2LDcgKzE3Niw5IEBAIHZvaWQgUmVuZGVy
Vmlldzo6bGF5b3V0KCkKICAgICB9CiAKICAgICBBU1NFUlQoIWZyYW1lVmlldygpLmxheW91dENv
bnRleHQoKS5sYXlvdXRTdGF0ZSgpKTsKLSAgICBpZiAoIW5lZWRzTGF5b3V0KCkpCisgICAgaWYg
KGZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICBz
ZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgZWxzZSBpZiAoIW5lZWRzTGF5
b3V0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0
ZVB1c2hlcigqdGhpcywgeyB9LCBmYWxzZSwgdmFsdWVPckRlZmF1bHQobV9wYWdlTG9naWNhbFNp
emUpLmhlaWdodCgpLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IGVmYjNhOGJlMGNlMmQwMDIxMzRjZjI4
M2QzOGQ5NDBiZjQwMjMxNTguLjQxNjZkNmQ3MDVkNjFkYzk2OTM3MzhjNjIzZWE0MWIyZDRlZjRl
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBAIC0zMjUs
NyArMzI1LDcgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZv
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGNsaXBSb3VuZGVkSW5u
ZXJSZWN0KHBhaW50SW5mby5jb250ZXh0KCksIGJvcmRlclJlY3QsIHJvdW5kZWRJbm5lclJlY3Qp
OwogICAgIH0KIAotICAgIGlmIChtX3dpZGdldCkKKyAgICBpZiAobV93aWRnZXQgJiYgIXNob3Vs
ZFNraXBDb250ZW50KCkpCiAgICAgICAgIHBhaW50Q29udGVudHMocGFpbnRJbmZvLCBwYWludE9m
ZnNldCk7CiAKICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGU4ZjQ0ZjUyMGQ3
ODZlOGE2YjRlMjhhMmJlYTE4NTllNmY5NzhmNjcuLjMyNGE4NTY4ZDEzZjllODk1YjdiMWVmODRh
M2YwYzI1MzY1ODVjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcApAQCAtNzQ3LDYgKzc0Nyw5IEBAIHN0YXRpYyBib29sIHJhcmVOb25Jbmhl
cml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVk
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChmaXJzdC5jb250ZW50Vmlz
aWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisgICAgICAgIHJldHVybiB0cnVl
OworCiAgICAgaWYgKGZpcnN0LmlucHV0U2VjdXJpdHkgIT0gc2Vjb25kLmlucHV0U2VjdXJpdHkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xMDU2LDYgKzEwNTksOSBAQCBzdGF0aWMgYm9v
bCByYXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVwYWludChjb25zdCBTdHlsZVJh
cmVOb25Jbmhlcml0ZQogICAgIGlmIChmaXJzdC5zaGFwZU91dHNpZGUgIT0gc2Vjb25kLnNoYXBl
T3V0c2lkZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoZmlyc3QuY29udGVudFZp
c2liaWxpdHkgIT0gc2Vjb25kLmNvbnRlbnRWaXNpYmlsaXR5KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKwogICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCB0byBjaGFu
Z2VSZXF1aXJlc0xheWVyUmVwYWludCgpLgogICAgIGlmIChmaXJzdC5jbGlwUGF0aCAhPSBzZWNv
bmQuY2xpcFBhdGgpIHsKICAgICAgICAgY2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9wZXJ0aWVz
LmFkZChTdHlsZURpZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJvcGVydHk6OkNsaXBQYXRoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMDE5
ZTZlYzcyNGVjYTk5ZDU5Mjg5MWUzMmYyMDRhOWQzYzAxZTMxYy4uYmVjOTIyOGQ1NWM5MjAwZmVm
YjgyNDI1ZjM5YzhhMGUzM2VkZjY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCwxMSArNTI4LDEzIEBAIHB1YmxpYzoKICAgICB9CiAg
ICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlvVHlwZSgp
ID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0
UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNv
bnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9
CisgICAgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxDb250ZW50VmlzaWJpbGl0eT4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGVudFZpc2liaWxpdHkpOyB9CisgICAgYm9vbCBjb250ZW50VmlzaWJpbGl0eUhpZGRlbigp
IGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6
OkhpZGRlbjsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gZWZmZWN0aXZlQ29udGFpbm1l
bnQoKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZm
ZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQotICAg
IGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQo
KS5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KLSAgICBib29sIGNvbnRhaW5zU3R5bGUo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTdHlsZSk7IH0KLSAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBl
ZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KKyAg
ICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1l
bnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KSB8fCBjb250ZW50VmlzaWJpbGl0eSgp
ICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1NpemUo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTaXplKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpI
aWRkZW47IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBlZmZlY3Rp
dmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSkgfHwgY29udGVudFZp
c2liaWxpdHkoKSAhPSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZTsgfQorICAgIGJvb2wgY29u
dGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFp
bnMoQ29udGFpbm1lbnQ6OlBhaW50KSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRW
aXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAgQ29udGFpbmVyVHlwZSBjb250YWluZXJUeXBlKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29udGFpbmVyVHlwZT4obV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+Y29udGFpbmVyVHlwZSk7IH0KICAgICBjb25zdCBWZWN0b3I8QXRvbVN0cmluZz4m
IGNvbnRhaW5lck5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGFpbmVyTmFtZXM7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRl
cHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CkBAIC0xMDY1LDYgKzEwNjcsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDb250YWluZXJUeXBlKENvbnRhaW5lclR5cGUgY29udGFpbmVyVHlw
ZSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lclR5cGUsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihjb250YWluZXJUeXBlKSk7IH0KICAgICB2b2lkIHNldENvbnRhaW5l
ck5hbWVzKGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgbmFtZXMpIHsgU0VUX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBjb250YWluZXJOYW1lcywgbmFtZXMpOyB9CiAKKyAgICB2b2lkIHNl
dENvbnRlbnRWaXNpYmlsaXR5KENvbnRlbnRWaXNpYmlsaXR5IHZhbHVlKSB7IFNFVF9WQVIobV9y
YXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGVudFZpc2liaWxpdHksIHN0YXRpY19jYXN0PHVuc2ln
bmVkPih2YWx1ZSkpOyB9CisKICAgICB2b2lkIHNldExpc3RTdHlsZVN0cmluZ1ZhbHVlKGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgbGlzdFN0
eWxlU3RyaW5nVmFsdWUsIHZhbHVlKTsgfQogICAgIHZvaWQgc2V0TGlzdFN0eWxlVHlwZShMaXN0
U3R5bGVUeXBlIHYpIHsgbV9pbmhlcml0ZWRGbGFncy5saXN0U3R5bGVUeXBlID0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHYpOyB9CiAgICAgdm9pZCBzZXRMaXN0U3R5bGVJbWFnZShSZWZQdHI8U3R5
bGVJbWFnZT4mJik7CkBAIC0xNjgwLDYgKzE2ODQsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIE9w
dGlvblNldDxDb250YWlubWVudD4gaW5pdGlhbENvbnRhaW5tZW50KCkgeyByZXR1cm4gT3B0aW9u
U2V0PENvbnRhaW5tZW50PiB7IH07IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5tZW50
PiBzdHJpY3RDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVudD4geyBD
b250YWlubWVudDo6U2l6ZSwgQ29udGFpbm1lbnQ6OkxheW91dCwgQ29udGFpbm1lbnQ6OlBhaW50
LCBDb250YWlubWVudDo6U3R5bGUgfTsgfQogICAgIHN0YXRpYyBPcHRpb25TZXQ8Q29udGFpbm1l
bnQ+IGNvbnRlbnRDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVudD4g
eyBDb250YWlubWVudDo6TGF5b3V0LCBDb250YWlubWVudDo6UGFpbnQsIENvbnRhaW5tZW50OjpT
dHlsZSB9OyB9CisgICAgc3RhdGljIENvbnRlbnRWaXNpYmlsaXR5IGluaXRpYWxDb250ZW50Vmlz
aWJpbGl0eSgpIHsgcmV0dXJuIENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAgc3Rh
dGljIENvbnRhaW5lclR5cGUgaW5pdGlhbENvbnRhaW5lclR5cGUoKSB7IHJldHVybiBDb250YWlu
ZXJUeXBlOjpOb25lOyB9CiAgICAgc3RhdGljIFZlY3RvcjxBdG9tU3RyaW5nPiBpbml0aWFsQ29u
dGFpbmVyTmFtZXMoKSB7IHJldHVybiB7IH07IH0KICAgICBzdGF0aWMgZG91YmxlIGluaXRpYWxB
c3BlY3RSYXRpb1dpZHRoKCkgeyByZXR1cm4gMS4wOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDBhOTRiNmRm
M2Q0NzQ4YjQyYWEzN2NjY2VkYzM3YmM5Mzc1MjZhZmIuLjFhNTA0NTQxMDEwZDY4ZWZmNGMxODM2
NDZhOWU5OTdkNjJhYTNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0xMjM4LDYgKzEyMzgsMTIgQEAgZW51
bSBjbGFzcyBDb250YWluZXJUeXBlIDogdWludDhfdCB7CiAgICAgSW5saW5lU2l6ZSwKIH07CiAK
K2VudW0gY2xhc3MgQ29udGVudFZpc2liaWxpdHkgOiB1aW50OF90IHsKKyAgICBWaXNpYmxlLAor
ICAgIEF1dG8sCisgICAgSGlkZGVuLAorfTsKKwogQ1NTQm94VHlwZSB0cmFuc2Zvcm1Cb3hUb0NT
U0JveFR5cGUoVHJhbnNmb3JtQm94KTsKIAogZXh0ZXJuIGNvbnN0IGZsb2F0IGRlZmF1bHRNaXRl
ckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDE5MjQ5ZWYwZTlmYTI4ZmM1NDBi
ZGRiMGM0Y2M0YzIxZjE2MDAwZjIuLjc3MzRhYTZlNmNkZDY1ODExMjU4ZjZjMzM3ZmNlZTgzZTA5
ZjFiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTk1LDYgKzk1LDcgQEAgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAgLCBl
ZmZlY3RpdmVBcHBlYXJhbmNlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5p
dGlhbEFwcGVhcmFuY2UoKSkpCiAgICAgLCB0ZXh0RGVjb3JhdGlvblN0eWxlKHN0YXRpY19jYXN0
PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHREZWNvcmF0aW9uU3R5bGUoKSkpCiAg
ICAgLCBhc3BlY3RSYXRpb1R5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjpp
bml0aWFsQXNwZWN0UmF0aW9UeXBlKCkpKQorICAgICwgY29udGVudFZpc2liaWxpdHkoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlKSkKICNpZiBFTkFCTEUo
Q1NTX0NPTVBPU0lUSU5HKQogICAgICwgZWZmZWN0aXZlQmxlbmRNb2RlKHN0YXRpY19jYXN0PHVu
c2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbEJsZW5kTW9kZSgpKSkKICAgICAsIGlzb2xhdGlv
bihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxJc29sYXRpb24oKSkp
CkBAIC0xOTksNiArMjAwLDcgQEAgaW5saW5lIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW4KICAgICAsIGVmZmVj
dGl2ZUFwcGVhcmFuY2Uoby5lZmZlY3RpdmVBcHBlYXJhbmNlKQogICAgICwgdGV4dERlY29yYXRp
b25TdHlsZShvLnRleHREZWNvcmF0aW9uU3R5bGUpCiAgICAgLCBhc3BlY3RSYXRpb1R5cGUoby5h
c3BlY3RSYXRpb1R5cGUpCisgICAgLCBjb250ZW50VmlzaWJpbGl0eShvLmNvbnRlbnRWaXNpYmls
aXR5KQogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBlZmZlY3RpdmVCbGVuZE1v
ZGUoby5lZmZlY3RpdmVCbGVuZE1vZGUpCiAgICAgLCBpc29sYXRpb24oby5pc29sYXRpb24pCkBA
IC0zMjAsNiArMzIyLDcgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRv
cj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGMKICAgICAgICAgJiYgYXBw
bGVQYXlCdXR0b25UeXBlID09IG8uYXBwbGVQYXlCdXR0b25UeXBlCiAjZW5kaWYKICAgICAgICAg
JiYgYXNwZWN0UmF0aW9UeXBlID09IG8uYXNwZWN0UmF0aW9UeXBlCisgICAgICAgICYmIGNvbnRl
bnRWaXNpYmlsaXR5ID09IG8uY29udGVudFZpc2liaWxpdHkKICAgICAgICAgJiYgb2JqZWN0Rml0
ID09IG8ub2JqZWN0Rml0CiAgICAgICAgICYmIGJyZWFrQWZ0ZXIgPT0gby5icmVha0FmdGVyCiAg
ICAgICAgICYmIGJyZWFrQmVmb3JlID09IG8uYnJlYWtCZWZvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5o
CmluZGV4IGNhMTU3ZjgzMzRlNGY5MDE2MWNlNWIxOTY4OGY3Nzc2ZGE4N2Y3ZjYuLmNiM2U0MWU4
OGU4OWEwOTA4MjQ3NjYyYjE1NDMxYTYwZGNjOWYwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApA
QCAtMjA4LDcgKzIwOCw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHRleHREZWNvcmF0aW9u
U3R5bGUgOiAzOyAvLyBUZXh0RGVjb3JhdGlvblN0eWxlCiAKLSAgICB1bnNpZ25lZCBhc3BlY3RS
YXRpb1R5cGUgOiAzOworICAgIHVuc2lnbmVkIGFzcGVjdFJhdGlvVHlwZSA6IDI7CisgICAgdW5z
aWduZWQgY29udGVudFZpc2liaWxpdHkgOiAyOwogCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElO
RykKICAgICB1bnNpZ25lZCBlZmZlY3RpdmVCbGVuZE1vZGU6IDU7IC8vIEVCbGVuZE1vZGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggZTg4NGU1YmNmYWM1
ZGQ0ODUwOWRlZDIzOWVlMmVmNjZhZjNlMTRlZC4uMDkyNzVjM2ViMmRhY2M2Y2VkMDc3NDRhMWUy
MGMxOGI3NTU1MjkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9t
LmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9N
X0hBTkRMRVJTKENsaXApOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENv
bnRhaW4pOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRlbnQpOwor
ICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvbnRlbnRWaXNpYmlsaXR5KTsK
ICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVySW5jcmVtZW50KTsK
ICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb3VudGVyUmVzZXQpOwogICAg
IERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEN1cnNvcik7CkBAIC0xMjg3LDYgKzEy
ODgsMjcgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRhaW4oQnVp
bGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHUKICAgICByZXR1cm4gYnVpbGRlclN0YXRl
LnN0eWxlKCkuc2V0Q29udGFpbihjb250YWlubWVudCk7CiB9CiAKK2lubGluZSB2b2lkIEJ1aWxk
ZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KEJ1aWxkZXJTdGF0ZSYgYnVp
bGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNpYmls
aXR5KFJlbmRlclN0eWxlOjppbml0aWFsQ29udGVudFZpc2liaWxpdHkoKSk7Cit9CisKK2lubGlu
ZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5oZXJpdENvbnRlbnRWaXNpYmlsaXR5KEJ1aWxk
ZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQoreworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENv
bnRlbnRWaXNpYmlsaXR5KGZvcndhcmRJbmhlcml0ZWRWYWx1ZShidWlsZGVyU3RhdGUucGFyZW50
U3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKSk7Cit9CisKK2lubGluZSB2b2lkIEJ1aWxkZXJD
dXN0b206OmFwcGx5VmFsdWVDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJT
dGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4o
dmFsdWUpKSB7CisgICAgICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUp
LnZhbHVlSUQoKSA9PSBDU1NWYWx1ZUhpZGRlbikKKyAgICAgICAgICAgIHJldHVybiBidWlsZGVy
U3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0eTo6SGlk
ZGVuKTsKKyAgICAgICAgaWYgKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFs
dWVJRCgpID09IENTU1ZhbHVlQXV0bykKKyAgICAgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUu
c3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShDb250ZW50VmlzaWJpbGl0eTo6QXV0byk7Cisg
ICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShS
ZW5kZXJTdHlsZTo6aW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkpOworICAgIH0KK30KKwogaW5s
aW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVRleHRFbXBoYXNpc1N0eWxlKEJ1aWxk
ZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAgaWYgKGlzPENT
U1ZhbHVlTGlzdD4odmFsdWUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TG9jYXRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwCmluZGV4
IDk1YTI2ZmY4MzYxYWM2MWMzMWMwZTMyMWE1N2E2YTMxMmQxNGZiMWYuLjBhZTJmOTE1NmZkNmY0
MTljYmIyMmJmYmY2ODc5MDlkNTFmODhkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdMb2NhdGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUu
Y3BwCkBAIC02Niw3ICs2Niw3IEBAIEZsb2F0UmVjdCBTVkdMb2NhdGFibGU6OmdldEJCb3goU1ZH
RWxlbWVudCogZWxlbWVudCwgU3R5bGVVcGRhdGVTdHJhdGVneSBzdHlsZVVwCiB7CiAgICAgQVNT
RVJUKGVsZW1lbnQpOwogICAgIGlmIChzdHlsZVVwZGF0ZVN0cmF0ZWd5ID09IEFsbG93U3R5bGVV
cGRhdGUpCi0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6
OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICAvLyBG
SVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgc3VwcG9ydCBnZXRCQm94IGZvciBkZXRhY2hlZCBl
bGVtZW50cy4KICAgICBpZiAoIWVsZW1lbnQtPnJlbmRlcmVyKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGMxNDUzYmZjNjA0MDhjOTUwNzQ2
MDc3ZDc2MWVlMTRkNzI5NjUxZmIuLjgwM2NmOTBkZTMyYzFkZGEzYzBiODI1MjE3YTFjOTdmN2U3
ZjBmYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3Bw
CkBAIC01NSwxMyArNTUsMTMgQEAgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpTVkdUZXh0Q29udGVu
dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW0KIAogdW5zaWduZWQg
U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXROdW1iZXJPZkNoYXJzKCkKIHsKLSAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50
KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7
CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5udW1iZXJPZkNoYXJhY3RlcnMo
KTsKIH0KIAogZmxvYXQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50
OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkp
LnRleHRMZW5ndGgoKTsKIH0KIApAQCAtMTA5LDcgKzEwOSw3IEBAIEV4Y2VwdGlvbk9yPGZsb2F0
PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFJvdGF0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJu
dW0pCiAKIGludCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldENoYXJOdW1BdFBvc2l0aW9uKERP
TVBvaW50SW5pdCYmIHBvaW50SW5pdCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5j
aHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgRmxvYXRQb2ludCB0
cmFuc2Zvcm1Qb2ludCB7c3RhdGljX2Nhc3Q8ZmxvYXQ+KHBvaW50SW5pdC54KSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHBvaW50SW5pdC55KX07CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJl
cigpKS5jaGFyYWN0ZXJOdW1iZXJBdFBvc2l0aW9uKHRyYW5zZm9ybVBvaW50KTsKIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA2MTM3M2NlODRkYjFmZjdiNmQ3YmQ4ZmE1NzUxYjczYzdmMmIwYjhmLi5iM2UyMDM5MjE3NjNm
Y2E0YjIxYmIyZWE1YTUyY2MxOWU4MzQ3MzM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjIt
MDItMTcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IGZv
ciBDU1MgcHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYyMzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjItMDIt
MTcgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KIAogICAgICAgICBDb3B5
IHRyYWNrIHNpemVzIGZyb20gcGFyZW50IGdyaWQgaW50byBzdWJncmlkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCBmYTYyYTJkNGE4NGIwMGQxNTkxY2I3YWQ4NGMyZTgxMDA2ZjM0
NDQxLi5lMjY2OGFkOGExNWE1YTllMDJkZWFmY2U0MDM1YWI1NjMzYWNlZWMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAyMi0wMi0xNyAgUm9iIEJ1
aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9wZXJ0
eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAxNi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAyOS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAzMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA3MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA4MC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA4MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlt
Zy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50
LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVu
dC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1m
cmFnbWVudC10YXJnZXQtYXV0by5odG1sOgorCiAyMDIyLTAyLTE2ICBNYXR0IFdvb2Ryb3cgIDxt
YXR0d29vZHJvd0BhcHBsZS5jb20+CiAKICAgICAgICAgTG9va3VwIGxpbmUgbmFtZXMgZm9yIHN1
YiBncmlkcyB1c2luZyBsaW5lIG5hbWVzIGZyb20gYW5jZXN0b3IgZ3JpZHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGY0ZjI4MWJmNzNiZjkyZTNmMzM1ZmI1MzdhMTNjZDFmNzRlNmVlMTYuLjFkOTMx
OTkzZDQ0MDU0MWRmOTJkZWI0MzgzNzU0YTg4NTFkNWYwNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDY1NCw0NCArNDY1NCw5IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDYuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDcuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDguaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDkuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTAuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTku
c3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDMyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDMzLnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzNy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0MC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0MS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0My5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1MS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA1OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA2NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA2Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA3NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA3Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA3OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA4Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA4My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxheWVyLTAwMC50ZW50YXRpdmUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13
aXRoLXRvcC1sYXllci0wMDEudGVudGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktd2l0aC10b3AtbGF5ZXItMDAyLnRlbnRhdGl2ZS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvZWxlbWVudC1yZWFzc2lnbmVkLXRv
LXNraXBwZWQtc2xvdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvZWxlbWVu
dC1yZWFzc2lnbmVkLXRvLXNsb3QtaW4tc2tpcHBlZC1zdWJ0cmVlLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvdW50ZXItc2NvcGluZy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY291bnRlci1zY29waW5nLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2Fz
Y2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKaW5kZXggOWIyNTQ3MTQyZDg1
NWIxZDM4ZGUwNDAxM2FmYWQwMDMyZjBkNWY5Ni4uYmQ3OTM2MmUyNjBiM2E0M2M2MTcyMmYyMWVl
NzhkZTgwNTcyMzQ2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dApAQCAtMTAw
LDYgKzEwMCw3IEBAIFBBU1MgY29udGFpbgogUEFTUyBjb250YWluZXItbmFtZQogUEFTUyBjb250
YWluZXItdHlwZQogUEFTUyBjb250ZW50CitQQVNTIGNvbnRlbnQtdmlzaWJpbGl0eQogUEFTUyBj
b3VudGVyLWluY3JlbWVudAogUEFTUyBjb3VudGVyLXJlc2V0CiBQQVNTIGN1cnNvcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhw
ZWN0ZWQudHh0CmluZGV4IDRjODI0MGQ4ZDgyNjZiYjdjZTg2YjYxZjA5Y2I2OTZmYWM2ODZkNzYu
LjE4Y2VlODRlMGY3OTcyOWE4MTEwMjFiMmU2MmQ2ZTEzNDEzNjNjZDMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgQW5pbWF0aW9uIGV2ZW50cyBkbyBub3QgZmly
ZSBmb3IgYSBDU1MgYW5pbWF0aW9uIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVl
IGFzc2VydF9mYWxzZTogQW5pbWF0aW9uIGV2ZW50cyBkbyBubyBmaXJlIHdoaWxlIHRoZSBhbmlt
YXRpb24gaXMgcnVubmluZyBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUgZXhwZWN0ZWQgZmFs
c2UgZ290IHRydWUKK0ZBSUwgQW5pbWF0aW9uIGV2ZW50cyBkbyBub3QgZmlyZSBmb3IgYSBDU1Mg
YW5pbWF0aW9uIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGFzc2VydF90cnVl
OiBUaGUgYW5pbWF0aW9uaXRlcmF0aW9uIGV2ZW50IGZpcmVzIG9uY2UgdGhlIGFuaW1hdGlvbiBp
cyBubyBsb25nZXIgZGlzcGxheSBsb2NrZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1Mg
VGhlIGZpbmlzaGVkIHByb21pc2UgZG9lcyBub3QgcmVzb2x2ZSBkdWUgdG8gdGhlIG5vcm1hbCBw
YXNzYWdlIG9mIHRpbWUgIGZvciBhIENTUyBhbmltYXRpb24gaW4gYSBkaXNwbGF5IGxvY2tlZCBz
dWJ0cmVlCiBQQVNTIFRoZSBmaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVlIHRv
IHRoZSBub3JtYWwgcGFzc2FnZSBvZiB0aW1lICBmb3IgYSBDU1MgdHJhbnNpdGlvbiBpbiBhIGRp
c3BsYXkgbG9ja2VkIHN1YnRyZWUKIEZBSUwgRXZlbnRzIGFuZCBwcm9taXNlcyBhcmUgaGFuZGxl
ZCBub3JtYWxseSBmb3IgYW5pbWF0aW9ucyB3aXRob3V0IGFuIG93bmluZyBlbGVtZW50IGFzc2Vy
dF90cnVlOiBBbmltYXRpb24gZXZlbnQgbm90IGJsb2NrZWQgb24gZGlzcGxheSBsb2NrZWQgc3Vi
dHJlZSBpZiBubyBvd25pbmcgZWxlbWVudCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhw
ZWN0ZWQudHh0CmluZGV4IDVkNmYxZjZkZWY2NWE1YWE2NDIwZjAwMTg0OGRiOGQ0NWUzMGZiZGQu
LmRiZTQ4YWY5MjE3NjRhMjhhNGM2NWI0MWJiNmM1NDdjNDk0NDcyOWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVz
dGluZyBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1
dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2
LWV4cGVjdGVkLnR4dAppbmRleCA5Yjc5MTQwY2RhMmQ0M2M4NGZhYzgyNzQ4NDE4ZDkzZmEzZDU0
MTc3Li40NTFhNGEzNWVhZjhkNWE5ZjJjZGI3OGIyZGY5NDUyMzAyNTM2OTNlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0
IHRlc3RpbmcgKGNvbXBvc2l0ZWQpIGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4
cGVjdGVkICJvdXRlciIgYnV0IGdvdCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTog
aGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dAppbmRleCA5ZmIwODhh
Nzg0YmM1YjAzZjBmNDkyY2U2NzBkN2YwYzBlOTAwYmVjLi5mNmY2ODBlODJiZWE4MGYyNjMwNzBm
YTZlM2E3MWUxNjJmYzdjMWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQgY2hpbGQp
IGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0IGdv
dCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0
ZWQgY2hpbGQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dAppbmRleCBlMjkyZWY3MjE2MWIwODQ5N2RhMjIz
ODY3NDdhMzU0OWE2NmNiMDYxLi5iOWI4MzM1MmY4YmVmMTQ2NjliZWE3MjkwNDI4ZjQyY2RkM2Zm
NGJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAxOC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQg
VmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQgd2l0aCBhIGNvbXBvc2l0ZWQgY2hp
bGQpIGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0
IGdvdCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBv
c2l0ZWQgd2l0aCBhIGNvbXBvc2l0ZWQgY2hpbGQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dAppbmRleCA3
M2RhNDhkZGI0YWRjOThiZWZhODNiMjhjMzU0OWZmNDhkYjA1ZmEwLi44Mzk5M2M5ZDA4NTQ0NjIy
MmRmNmVlMGQ1ZGNkNWRjMTkxMWYwZWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIGNvbnRlbnQtdmlzaWJpbGl0eTpoaWRkZW4gZG9lcyBub3QgYWZmZWN0IGNv
bXB1dGVkIHZhbHVlIG9mICdjb250YWluJyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5n
KSAiaGlkZGVuIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBjb250ZW50LXZp
c2liaWxpdHk6YXV0byBkb2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4n
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJhdXRvIiBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAorUEFTUyBjb250ZW50LXZpc2liaWxpdHk6aGlkZGVuIGRvZXMgbm90IGFm
ZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicKK1BBU1MgY29udGVudC12aXNpYmlsaXR5
OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9mICdjb250YWluJwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1l
eHBlY3RlZC50eHQKaW5kZXggM2EwZWE4YzhjOTc5MTIwNjNkZTA4MzY1NTgyZGNiMzU3NGM2MmEz
Zi4uMWNmNGQwZjYyMjVjYWRhNDVmOGQwNmZmNTZlYmQyYmRiNGU0OGMzZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVj
dGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIFRoaXMgdGV4dCBzaG91bGQgYmUgdmlzaWJsZS4KLVRo
aXMgdGV4dCBzaG91bGQgbm90IGJlIHZpc2libGUuCi1UaGlzIHRleHQgaXMgYWxzbyBub3Qgdmlz
aWJsZS4KIAotRkFJTCBpbm5lclRleHQgb24gbG9ja2VkIGVsZW1lbnQuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJUaGlzIHRleHQgc2hvdWxkIGJlIHZpc2libGUuIiBidXQgZ290ICJUaGlzIHRl
eHQgc2hvdWxkIGJlIHZpc2libGUuXG5UaGlzIHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLlxu
VGhpcyB0ZXh0IGlzIGFsc28gbm90IHZpc2libGUuIgorUEFTUyBpbm5lclRleHQgb24gbG9ja2Vk
IGVsZW1lbnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dAppbmRleCBkZWFhNTc3Y2RkY2I5NjhmMDM5OWEy
NzZkMWNiNzQ1OGI5ZDY5YzQ5Li44MjljMjk2YmMwZDc0ZmM4MWZlMDE5N2UwMjllZDUwZmJhOGNl
N2MwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAzMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIEludGVyc2Vj
dGlvbk9ic2VydmVyIGludGVyYWN0aW9ucyBhc3NlcnRfZXF1YWxzOiBydW5TdGVwMiBleHBlY3Rl
ZCAxIGJ1dCBnb3QgMAorUEFTUyBJbnRlcnNlY3Rpb25PYnNlcnZlciBpbnRlcmFjdGlvbnMKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MzEtZXhwZWN0ZWQudHh0CmluZGV4IDVjYzhiODI5NmZmN2JhNjhjYWU2NmUwN2UxNmYyMDliMmRi
NWM4ZTkuLjFjYzZjMWMwYWM4MDdmNmVjMzM0MGZkY2FhOGRlNjk5NjhjYWZmOTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1l
eHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQg
UHJvbWlzZSBSZWplY3Rpb246IEVycm9yOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNo
b3VsZCBub3QgcnVuIGR1cmluZyB3aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdv
dCBmYWxzZQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWpl
Y3Rpb246IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9ic2V2ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5n
IHdoaWxlIHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCi0KLVRJTUVPVVQg
UmVzaXplT2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRkZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVqZWN0aW9uOiBhc3NlcnRf
ZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3VsZCBub3QgcnVuIGR1cmluZyB3aGlsZSB1bnJlbmRl
cmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQotCi1USU1FT1VUIFJlc2l6ZU9ic2VydmVy
IHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3QgdGltZWQgb3V0CitQQVNTIFJlc2l6ZU9ic2VydmVy
IHNraXBwZWQgd2hpbGUgaGlkZGVuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dAppbmRleCAwZTg4MGUwNTVm
MDQxNzBjZDdlNjdjOTZmYTk3MDVjNDRlNTg3NTQwLi5iY2ZjNzg5ZmE0MGEzM2UzMTVjMzUzYWE0
YTFiYWJjZWRlNjM5OWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIE1lYXN1cmUgRm9yY2VkIExheW91dCBhc3NlcnRfZXF1YWxzOiBzcGFjZXIgZm9yY2VkIGV4
cGVjdGVkIDggYnV0IGdvdCAxMDgKK1BBU1MgTWVhc3VyZSBGb3JjZWQgTGF5b3V0CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4
cGVjdGVkLnR4dAppbmRleCBjM2I2NGIxMjA4MGEwODgxYTk3ODU3ODQwNzJlM2IzMmI4OTQ1Y2Iy
Li5lMTM3MmI4ZDJmMWE5YjBhZDE5NzNhOWUyZGUzOTNmM2YyM2EwNjIwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDQtZXhwZWN0
ZWQudHh0CkBAIC0xLDExICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXJyb3I6IGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAyCiAKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1l
c3NhZ2UgPSBFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIKLQotVElN
RU9VVCBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhp
ZGRlbiBUZXN0IHRpbWVkIG91dAotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVy
cm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMgotCi1USU1FT1VUIENvbnRl
bnQgVmlzaWJpbGl0eTogc2xvdCBtb3ZlZCBhZnRlciBjb250YWluZXIgaXMgaGlkZGVuIFRlc3Qg
dGltZWQgb3V0CitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogc2xvdCBtb3ZlZCBhZnRlciBjb250
YWluZXIgaXMgaGlkZGVuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dAppbmRleCAzOTVkNTljNDZhNTQ3Mjcy
Y2NhZWQ5MmU2MmMwMjJhZGI3NjUyMWFkLi40YzNjOGJiOTQzZTA0ZTIyZmVlZDM5ZDM0YjBmNmQ4
MWMwM2U5NDdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogCiAKLQotCi1G
QUlMIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNraXBzIGhpZGRlbiBzdWJ0cmVlcyBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJmaXZlIiB0eXBlPSJ0ZXh0Ij48
L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9InR3byIgdHlwZT0idGV4dCI+
PC9pbnB1dD4KK1BBU1MgVGFiIG9yZGVyIG5hdmlnYXRpb24gc2tpcHMgaGlkZGVuIHN1YnRyZWVz
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDQ4LWV4cGVjdGVkLnR4dAppbmRleCBmOGIwMTFiYTgxNzhkNjg3YzdmOTA5ZGU0ODM3OTk3
M2M5ZDA5NmQ0Li43MzI2OGZkYjA4ZGY5NDc0ZjAxZGY1NzZhMTgwZjliZTM4N2RhYWU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0OC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NDgtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIEZyYWdtZW50IG5hdmlnYXRp
b24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHNpbmdsZSB0ZXh0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3VsdHMiCi1GQUlMIEZyYWdtZW50IG5hdmlnYXRpb24g
d2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHJhbmdlIGFjcm9zcyBibG9ja3MgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IGZldGNoUmVzdWx0cyIKK0ZBSUwgRnJhZ21lbnQgbmF2aWdh
dGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgc2luZ2xlIHRleHQgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRleHQiIGJ1dCBnb3QgInRvcCIKK0ZBSUwgRnJhZ21lbnQgbmF2aWdhdGlvbiB3
aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgcmFuZ2UgYWNyb3NzIGJsb2NrcyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidGV4dDIiIGJ1dCBnb3QgInRvcCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0CmluZGV4
IDQ0YTI5MzY1MDM2MTlmNzZlMWJkYTNmYmM3Y2MwNDhiM2YzYzFjNmYuLmViMTkzNTE2NjZlNTdh
MDBmZDQ2YTcwMjdjMWI2MDAyMDdlYjVhZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQKQEAgLTEsOCAr
MSwzIEBACi1oZWxsbwotaGVsbG8KLWhlbGxvCi1oZWxsbwotaGVsbG8KIAogRkFJTCBPbmUgZWxl
bWVudHMgc2VsZWN0ZWQ6ICBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZB
SUwgUmFuZ2UgZXh0ZW5kZWQgdG8gY292ZXIgbW9yZSBlbGVtZW50czogIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CmluZGV4IDAzZTNiYjdjMGU4
OTYwMzM3NjFiNTI0OWVkNjYxNjI2OTRjNTA3ZTYuLjAwZjFjN2Y0NDQxODc4MmJjZWIzNDM4ZDdi
NmZhNTFmNTYxZTE3NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBB
U1Mgb25lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOgogRkFJTCB0d28uZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCi1G
QUlMIHRocmVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBl
Y3RlZCAzMDA3IGJ1dCBnb3QgMzA3NQotRkFJTCBmb3VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzEwOQotRkFJTCBmaXZl
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3
IGJ1dCBnb3QgMzE0MworRkFJTCB0aHJlZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2Vy
dF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNDEKK0ZBSUwgZm91ci5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290
IDMwNDEKK0ZBSUwgZml2ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6
IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNDEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CmluZGV4IDky
NzA5NmVkZjk3M2RiMTg5NmQ3ZTI1YTk0NGUxYTk0MGYyYTgwYTIuLjA0OWJlMjg0ZDQ3ZjZjZGYw
OTgzM2Y1MTQzMjUxMGU5MDMxOGRkZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgQ29udGVudC12aXNpYmlsaXR5IGlzIG5vdCBhbmltYXRhYmxlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJ2aXNpYmxlIiBidXQgZ290ICh1bmRlZmluZWQpIHVu
ZGVmaW5lZAorUEFTUyBDb250ZW50LXZpc2liaWxpdHkgaXMgbm90IGFuaW1hdGFibGUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAt
ZXhwZWN0ZWQudHh0CmluZGV4IGQwZjA1YWQ1YTM4Y2U0MTI0MjMzMGViMzkxYWFkMGU5MTcxOWM3
YjYuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MC1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSBAQAotQ29udGVudCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlv
biB3aXRoIGh0bWwgaGlkZGVuICAgKiB7IGFsbDogaW5pdGlhbDsgY29udGVudC12aXNpYmlsaXR5
OiBoaWRkZW47IH0gdGVzdCgoKSA9PiB7IGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY2FyZXRSYW5n
ZUZyb21Qb2ludCgpOyBhc3NlcnRfbm90X2VxdWFscyhyYW5nZSwgbnVsbCwgInJhbmdlIGV4aXN0
cyIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLnN0YXJ0Q29udGFpbmVyLCBodG1sLCAic3RhcnRDb250
YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLnN0YXJ0T2Zmc2V0LCAwLCAic3Rh
cnRPZmZzZXQgaXMgemVybyIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLmVuZENvbnRhaW5lciwgaHRt
bCwgImVuZENvbnRhaW5lciBpcyBodG1sIik7IGFzc2VydF9lcXVhbHMocmFuZ2UuZW5kT2Zmc2V0
LCAwLCAiZW5kT2Zmc2V0IGlzIHplcm8iKTsgfSwgIkNhcmV0IHJhbmdlIGZyb20gcG9pbnQiKTsK
LUZBSUwgQ2FyZXQgcmFuZ2UgZnJvbSBwb2ludCBhc3NlcnRfZXF1YWxzOiBzdGFydENvbnRhaW5l
ciBpcyBodG1sIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aHRtbCBpZD0iaHRtbCI+PGhlYWQ+PG1l
dGEgY2hhcnNldD0idXRmOCI+Ci08dGl0bGU+Q29udGVuLi4uIGJ1dCBnb3QgVGV4dCBub2RlICJD
b250ZW50IFZpc2liaWxpdHk6IGNhcmV0IHBvc2l0aW9uIHdpdGggaHRtbCBoaWRkZW4iCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgx
LWV4cGVjdGVkLnR4dAppbmRleCA2ZWVkYmFkZWY1ZWYxOTczZmFjYzNkYzVlMTk1NDEyYzdlY2Vj
YWQ2Li40ZGY5M2NkYzE4MzUxYmY3M2YwYmU0NDRmZmM1ZjI5YzI5MmMxZWRlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODEtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFNjcm9sbCBvZmZzZXQgaXMgcmVzdG9y
ZWQgd2hlbiBjb250ZW50LXZpc2liaWxpdHkgaGlkZGVuIGlzIHJlbW92ZWQKK0ZBSUwgU2Nyb2xs
IG9mZnNldCBpcyByZXN0b3JlZCB3aGVuIGNvbnRlbnQtdmlzaWJpbGl0eSBoaWRkZW4gaXMgcmVt
b3ZlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAwIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3Rl
ZC50eHQKaW5kZXggY2EzNzg3ZTQ0ODdiZDM2NDk2MGZlNGViNGM5MWVkYWQxNzdlNDg3MS4uNDQ0
OWQ3Yzc3M2I5MDU4MmQzYTM3OTZhMzZjY2NkY2M4M2NiZTgxNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4
dApAQCAtMSw3ICsxLDMgQEAKIAotCi0KLQotCiBQQVNTIGMtdjpoaWRkZW4gPGltZz4gbGF5b3V0
IEFQSXMgc2hvdWxkbid0IHJldHVybiB6ZXJvIHdoZW4gYWNjZXNzZWQgZnJvbSBzY3JpcHQuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW5w
dXQtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKaW5kZXggYTQ1ZWQ1ODI5MDFmN2M1YzJk
Zjk3ZTcwZWE0NTA1MDIzNzJhNTYxNi4uZTRhMzFmYjFiYTFhNjM5MmNlZWI4NjZiYjdlNjBiY2Ri
YjE4YjA3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwz
IEBACiAKLQotCiBQQVNTIDxpbnB1dCB0eXBlPWltYWdlPiBzaG91bGQgcmV0dXJuIG5vbnplcm8g
dmFsdWVzIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGluIGEgYy12OmhpZGRlbiBzdWJ0cmVlLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2
Zy1leHBlY3RlZC50eHQKaW5kZXggNDY3NmI4OGM5YWNjN2YyOTc5NTgyODk0NDQyOGYyNDIxODMx
MWQ1Ni4uOGRmMWI3ZmZhZjRiYzIzZTI1NDY2MmVkOGYzNmJhOGIwNjVhYmEwYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKLUhlbGxvIFdvcmxkIQotSGVsbG8gV29ybGQgQWdh
aW4hCiAKIFBBU1MgZ2V0QkJveCgpIHNob3VsZCByZXR1cm4gbm9uemVybyB2YWx1ZXMgaW4gYSBj
LXY6aGlkZGVuIHN1YnRyZWUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFu
Y2UtZXhwZWN0ZWQudHh0CmluZGV4IDdkYTE3ZmZhZjljZDUyMGE3NTNlOWYzZTlhNThlOWM2MWM0
NWZlNjUuLjY2ODg5NmFmMTJkNmEwZDkwZDFhM2FkYTZjZDg3Y2FhZGVlYTU2ZWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgaGFzIGluaXRpYWwgdmFs
dWUgdmlzaWJsZSBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0
byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2VzIG5vdCBpbmhlcml0IGFz
c2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9wZXJ0eSBjb250ZW50
LXZpc2liaWxpdHkgaGFzIGluaXRpYWwgdmFsdWUgdmlzaWJsZQorUEFTUyBQcm9wZXJ0eSBjb250
ZW50LXZpc2liaWxpdHkgZG9lcyBub3QgaW5oZXJpdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNv
bXB1dGVkLWV4cGVjdGVkLnR4dAppbmRleCA4N2EzYzY4MGVmOGNmZTQyOWFlNDZkMzA5M2U3ODBl
NzEyN2JkZjkyLi4wYzM0YTVkYmJkZGU3ZGFjMzY5ZTZiODBjZDI1YTllN2Q4NzZkZTY1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHkt
Y29tcHV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5n
L2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBA
CiAKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICd2aXNpYmxlJyBhc3Nl
cnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQg
aW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3Bl
cnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnYXV0bycgYXNzZXJ0X3RydWU6IGNvbnRlbnQt
dmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBz
dHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2li
aWxpdHkgdmFsdWUgJ2hpZGRlbicgYXNzZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vz
bid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ3Zp
c2libGUnCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnYXV0bycKK1BB
U1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdoaWRkZW4nCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxp
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZp
c2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IDZhNjVmZjY4NGY2MDgyZDFjZTgxYzEz
N2U0MDNhNGRlNzAwODk1NmYuLjlkYTQ1NzNlMDc0NzdiNzc3ZDZiYTg3NjhmNDUzYzc0MzU3MzM1
ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlz
aWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Bh
cnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUg
QEAKIAotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJ2aXNpYmxlIiBzaG91
bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hv
dWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgotRkFJTCBlLnN0eWxlWydjb250ZW50
LXZpc2liaWxpdHknXSA9ICJhdXRvIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3Nl
cnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSAiIgotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJoaWRkZW4iIHNob3Vs
ZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91
bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQt
dmlzaWJpbGl0eSddID0gInZpc2libGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQ
QVNTIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImF1dG8iIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImhp
ZGRlbiIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1
dG8uaHRtbAppbmRleCBkMDdlZGU1YTU0NjAwN2UzMjdkMzUzZWQ1OTk0ODlkZGZlNTc0NDgxLi41
M2EyMmY1ZmQ4ZDFjZGI4ODM4NTM1MzU0NTQ5ZTExNzU3NmQ3ZTUyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFy
Z2V0LWF1dG8uaHRtbApAQCAtNDIsNyArNDIsNyBAQCBmdW5jdGlvbiBkb3VibGVSYWZDaGVja1Nj
cm9sbCgpIHsKICAgaGVpZ2h0OiAxMDAwMHB4OwogfQogLmF1dG8gewotICBzdWJ0cmVlLXZpc2li
aWxpdHk6IGF1dG87CisgIGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0bzsKIH0KIDwvc3R5bGU+CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0
CmluZGV4IDdiMWIzYzY4NDRjNDQ5NzIxNDNmYTYwMzM3MWFiMzA1OWNiMjA3N2YuLjQyOTk2MmIy
OWFjNjg4NTlhMGQ2N2Q2MDIyZTBmODk3ZjVmMTczZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2Fz
Y2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNj
YWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dApAQCAtMTAwLDYgKzEwMCw3IEBA
IFBBU1MgY29udGFpbgogUEFTUyBjb250YWluZXItbmFtZQogUEFTUyBjb250YWluZXItdHlwZQog
UEFTUyBjb250ZW50CitQQVNTIGNvbnRlbnQtdmlzaWJpbGl0eQogUEFTUyBjb3VudGVyLWluY3Jl
bWVudAogUEFTUyBjb3VudGVyLXJlc2V0CiBQQVNTIGN1cnNvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2Fz
Y2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKaW5kZXggOGUyZDAxMTFmYTEx
ODYwYTM1MDQwOTQ0MGI0NzU0ZWI0YTI0MTQzZS4uZTQ1MDE2YWI1NWNkZTk2MjUwZWNkZWJmNTAw
MjFmYWE4YzE2OTY0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRp
YWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlh
bC14bWwtZXhwZWN0ZWQudHh0CkBAIC0xMDAsNiArMTAwLDcgQEAgUEFTUyBjb250YWluCiBQQVNT
IGNvbnRhaW5lci1uYW1lCiBQQVNTIGNvbnRhaW5lci10eXBlCiBQQVNTIGNvbnRlbnQKK1BBU1Mg
Y29udGVudC12aXNpYmlsaXR5CiBQQVNTIGNvdW50ZXItaW5jcmVtZW50CiBQQVNTIGNvdW50ZXIt
cmVzZXQKIFBBU1MgY3Vyc29yCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452880</attachid>
            <date>2022-02-22 09:54:32 -0800</date>
            <delta_ts>2022-02-22 13:40:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220222175430.patch</filename>
            <type>text/plain</type>
            <size>112602</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJmODIwYzJlZDFmOTYz
NzkzODliMzYzYzVjZTM3YzllMDhmYTAzOC4uY2ZiZjY0Yjk0NjhhMDU4ZmZhN2ZkM2ViNDBmNzBj
ZTY3NDMzMzViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0yMiAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMjIgIFBhYmxvIFNhYXZlZHJhICA8cHNhYXZlZHJhQGln
YWxpYS5jb20+CiAKICAgICAgICAgUHJvcGVybHkgdW5pbml0aWFsaXplIEVHTCBkaXNwbGF5IGJl
Zm9yZSB0ZXJtaW5hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0Rv
Y3VtZW50VGltZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGlt
ZWxpbmUuY3BwCmluZGV4IDNjOTU5ZTljYmQ0YTg3MTI0NGVlMmY0NWIwYjVhYTA2ZTFjNWZkNDUu
LmY3NjgzOTllODkzNDNmMTBjZDZjNzZlMDZhOTRmNGEzODdkNmU2NmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKQEAgLTQyOSw2ICs0MjksMTYg
QEAgQW5pbWF0aW9uRXZlbnRzIERvY3VtZW50VGltZWxpbmU6OnByZXBhcmVGb3JQZW5kaW5nQW5p
bWF0aW9uRXZlbnRzRGlzcGF0Y2goKQogewogICAgIG1fc2hvdWxkU2NoZWR1bGVBbmltYXRpb25S
ZXNvbHV0aW9uRm9yTmV3UGVuZGluZ0V2ZW50cyA9IHRydWU7CiAgICAgcmV0dXJuIHN0ZDo6ZXhj
aGFuZ2UobV9wZW5kaW5nQW5pbWF0aW9uRXZlbnRzLCB7IH0pOworICAgIEFuaW1hdGlvbkV2ZW50
cyBldmVudHM7CisgICAgZm9yIChhdXRvJiBldmVudCA6IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50
cykgeworICAgICAgICBpZiAoZXZlbnQtPmFuaW1hdGlvbigpLT5pc0luSGlkZGVuU3VidHJlZSgp
KQorLy8gICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgp
ICYmICFkb3duY2FzdDxOb2RlPigqZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8g
ZHluYW1pY0Rvd25jYXN0PEVsZW1lbnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKy8v
ICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZXZlbnRzLmFwcGVuZChldmVudCk7CisgICAgICAg
IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cy5yZW1vdmVGaXJzdChldmVudCk7CisgICAgfQorICAg
IHJldHVybiBldmVudHM7CiB9CiAKIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBkb3VibGU+PiBE
b2N1bWVudFRpbWVsaW5lOjphY2NlbGVyYXRlZEFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQm
IGVsZW1lbnQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9j
dW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9E
b2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwCmluZGV4IGI1ZmQyYWVmMTAwMDEyZGE5YzRi
ZGIyMWU3YWQwNDFhMzY2NDE2YmYuLmZlMDRjMzQzZWRhMGZjMzk4OWQwNDY1YTk1MmU0YzBlMzc3
YmMyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVs
aW5lc0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVu
dFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwCkBAIC0xMjIsNiArMTIyLDggQEAgdm9pZCBEb2N1bWVu
dFRpbWVsaW5lc0NvbnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVj
ZWRSZXNvbHV0aW8KICAgICAgICAgdGltZWxpbmVzVG9VcGRhdGUuYXBwZW5kKHRpbWVsaW5lLmNv
cHlSZWYoKSk7CiAKICAgICAgICAgZm9yIChhdXRvJiBhbmltYXRpb24gOiBjb3B5VG9WZWN0b3Io
dGltZWxpbmUtPnJlbGV2YW50QW5pbWF0aW9ucygpKSkgeworICAgICAgICAgICAgaWYgKGFuaW1h
dGlvbi0+aXNJbkhpZGRlblN1YnRyZWUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIGlmIChhbmltYXRpb24tPnRpbWVsaW5lKCkgIT0gdGltZWxpbmUucHRyKCkpIHsK
ICAgICAgICAgICAgICAgICBBU1NFUlQoIWFuaW1hdGlvbi0+dGltZWxpbmUoKSk7CiAgICAgICAg
ICAgICAgICAgY29udGludWU7CkBAIC0yMDEsOCArMjAzLDEyIEBAIHZvaWQgRG9jdW1lbnRUaW1l
bGluZXNDb250cm9sbGVyOjp1cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhSZWR1Y2VkUmVz
b2x1dGlvCiAgICAgfSk7CiAKICAgICAvLyA3LiBEaXNwYXRjaCBlYWNoIG9mIHRoZSBldmVudHMg
aW4gZXZlbnRzIHRvIGRpc3BhdGNoIGF0IHRoZWlyIGNvcnJlc3BvbmRpbmcgdGFyZ2V0IHVzaW5n
IHRoZSBvcmRlciBlc3RhYmxpc2hlZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICBmb3IgKGF1
dG8mIGV2ZW50IDogZXZlbnRzKQorICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpIHsKKyAg
ICAgICAgLy8gRWxlbWVudCogZWxlbWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYg
IWRvd25jYXN0PE5vZGU+KCpldmVudC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5h
bWljRG93bmNhc3Q8RWxlbWVudD4oKmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworICAgICAg
ICAvLyBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAg
IC8vICAgIGNvbnRpbnVlOwogICAgICAgICBldmVudC0+dGFyZ2V0KCktPmRpc3BhdGNoRXZlbnQo
ZXZlbnQpOworICAgIH0KIAogICAgIC8vIFRoaXMgd2lsbCBjYW5jZWwgYW55IHNjaGVkdWxlZCBp
bnZhbGlkYXRpb24gaWYgd2UgZW5kIHVwIHJlbW92aW5nIGFsbCBhbmltYXRpb25zLgogICAgIGZv
ciAoYXV0byYgYW5pbWF0aW9uIDogYW5pbWF0aW9uc1RvUmVtb3ZlKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCmluZGV4IDJiOWMyMTdhMzM4MDMxMjhmY2NjYmQ0
YmQ5YmMxYzhmODYzYjRiMzIuLjhmNDc1MTkyMTk1NzIzZDViOTM2ODJmZDNlZmRhY2Y2ODI0ZDA1
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xNTEz
LDQgKzE1MTMsMTMgQEAgU2Vjb25kcyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29u
c3QKICAgICByZXR1cm4gZWZmZWN0KCktPnRpbWVUb05leHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNp
Y1RpbWluZygpKSAvIHBsYXliYWNrUmF0ZTsKIH0KIAorYm9vbCBXZWJBbmltYXRpb246OmlzSW5I
aWRkZW5TdWJ0cmVlKCkKK3sKKyAgICBpZiAoIWlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChhdXRvIGVsZW1lbnQgPSBkb3duY2FzdDxEZWNs
YXJhdGl2ZUFuaW1hdGlvbj4odGhpcyktPm93bmluZ0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJu
IGVsZW1lbnQtPmVsZW1lbnQuaXNTa2lwcGVkQ29udGVudCgpOworICAgIHJldHVybiBmYWxzZTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFu
aW1hdGlvbi5oCmluZGV4IDM3YTYxN2Y2MDUzNzA3OWQyYjEyZWEwYzA2MjhlMWNlYTJhMzJlNDYu
LjA4MmExYjFhNWFjMmU2NTlkNTQyZTBlMmQ2NWMxN2E2NTI4YTk4MWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBpc0RlY2xhcmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNDU1NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0NTU1RyYW5zaXRpb24oKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIGJvb2wgaXNJbkhpZGRlblN1YnRyZWUoKTsKIAogICAgIGNvbnN0IFN0
cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAgICAgdm9pZCBzZXRJZChjb25zdCBT
dHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKaW5kZXggMDc1YTVkMjBiZjhkODZjNTJiNmExMDg5OWNhMTA4Mjc5ZTljOTc3
NC4uMTVkMjkxMGE4OWQxN2M2MzczYjJmNmEyMDdhNmJiMTVkZGIwYzZmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM3
NjAsNiArMzc2MCwxNCBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6
OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlQ3VzdG9tSWRlbnQobmFtZSkpOwogICAg
ICAgICAgICAgcmV0dXJuIGxpc3Q7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUNvbnRlbnRWaXNpYmlsaXR5OgorICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50
KCkuc2V0dGluZ3MoKS5jc3NDb250YWlubWVudEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eUhp
ZGRlbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRp
ZmllclZhbHVlKENTU1ZhbHVlSGlkZGVuKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50
VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICAgICAgICAg
IHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7
CisgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZVZpc2libGUpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2ZhY2VWaXNpYmls
aXR5OgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoKHN0eWxlLmJhY2tmYWNlVmlzaWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0eTo6SGlk
ZGVuKSA/IENTU1ZhbHVlSGlkZGVuIDogQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlckltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KaW5kZXggMjc4YzBmM2FmZTUwNDg0ZmYzMTFkODI5ZGUzMjgwZGM1NWUyNzlkZC4uZTY1
YmJkNWU2NDI3N2E3ZTI5ZGNkODM5ZGE3NmNhNzRmNDU4MzBmMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydGllcy5qc29uCkBAIC01Mjg1LDYgKzUyODUsMTkgQEAKICAgICAgICAgICAgICAg
ICAidXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0zLyNjb250YWlu
ZXItcXVlcmllcyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImNvbnRlbnQt
dmlzaWJpbGl0eSI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAg
ICAgICAgICAgICAgImN1c3RvbSI6ICJBbGwiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1m
bGFnIjogImNzc0NvbnRhaW5tZW50RW5hYmxlZCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAic3RhdHVzIjogeworICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiZXhwZXJpbWVudGFsIgor
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAg
ICAgICAgICJjYXRlZ29yeSI6ICJjc3MtY29udGFpbiIsCisgICAgICAgICAgICAgICAgInVybCI6
ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4tMi8iCisgICAgICAgICAgICB9
CisgICAgICAgIH0sCiAgICAgICAgICJiYWNrZmFjZS12aXNpYmlsaXR5IjogewogICAgICAgICAg
ICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4
IDUzYzMyYTYwYTdlNzVmOTY2ZmM4MjZhOWM4NjZlYjY5NDUwZWYzZWMuLjUxZTU4NjkyODZiNWM3
YjYyNjgyZjMzMGY1NzkwOWRjMTRhNTZjZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcApAQCAtMjM0LDYgKzIzNCw3IEBAIGJvb2wgQ1NTUGFy
c2VyQ29udGV4dDo6aXNQcm9wZXJ0eVJ1bnRpbWVEaXNhYmxlZChDU1NQcm9wZXJ0eUlEIHByb3Bl
cnR5KSBjb25zdAogICAgIGNhc2UgQ1NTUHJvcGVydHlBc3BlY3RSYXRpbzoKICAgICAgICAgcmV0
dXJuICFhc3BlY3RSYXRpb0VuYWJsZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5OgogICAgICAgICByZXR1cm4gIWNv
bnRhaW5tZW50RW5hYmxlZDsKICAgICBjYXNlIENTU1Byb3BlcnR5QXBwbGVDb2xvckZpbHRlcjoK
ICAgICAgICAgcmV0dXJuICFjb2xvckZpbHRlckVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDczZWFiYmZjNzIwMTE2MmQ5
MDEzOWFhYWFjNDNjOGY5OGFjMDQ0OGMuLmMzNjZmOTYyMWNjMWJkNWQ3ZjU5Zjg0MTUzZTJjMmI2
ZGUzZmEzY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwCkBAIC00MDcyLDYgKzQwNzIsMTMgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4g
Y29uc3VtZUNvbnRhaW4oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIFJl
ZlB0cjxDU1NWYWx1ZT4oV1RGTW92ZShsaXN0KSk7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTVmFs
dWU+IGNvbnN1bWVDb250ZW50VmlzaWJpbGl0eUhpZGRlbihDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSkKK3sKKyAgICBpZiAoYXV0byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1
ZVZpc2libGUsIENTU1ZhbHVlQXV0bywgQ1NTVmFsdWVIaWRkZW4+KHJhbmdlKSkKKyAgICAgICAg
cmV0dXJuIHNpbmdsZVZhbHVlOworICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgUmVm
UHRyPENTU1ZhbHVlPiBjb25zdW1lVGV4dEVtcGhhc2lzUG9zaXRpb24oQ1NTUGFyc2VyVG9rZW5S
YW5nZSYgcmFuZ2UpCiB7CiAgICAgYm9vbCBmb3VuZE92ZXJPclVuZGVyID0gZmFsc2U7CkBAIC00
NzAwLDYgKzQ3MDcsMTAgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFy
c2VTaW5nbGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgaWYgKCFt
X2NvbnRleHQuY29udGFpbm1lbnRFbmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgICAgIHJldHVybiBjb25zdW1lQ29udGFpbihtX3JhbmdlKTsKKyAgICBjYXNlIENTU1By
b3BlcnR5Q29udGVudFZpc2liaWxpdHk6CisgICAgICAgIGlmICghbV9jb250ZXh0LmNvbnRhaW5t
ZW50RW5hYmxlZCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4g
Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJv
cGVydHlUZXh0RW1waGFzaXNQb3NpdGlvbjoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVUZXh0RW1w
aGFzaXNQb3NpdGlvbihtX3JhbmdlKTsKICNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IDE2MTQ4MmIzMjlmNmUxZDc1MDVmMmQ1NTJlNGE4ZTk3MWUw
ZTNjYzQuLjQyMzVkNjhkZTQ2NDZhMjhhNmM3ZmJiZmVhYTljMzk5NTIzY2NiNTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcApAQCAtMTM0LDYgKzEzNCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPdmVy
bGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgIkludGVyc2VjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5o
IgogI2luY2x1ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRM
aXN0ZW5lci5oIgpAQCAtMzg5LDYgKzM5MCwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaXNh
bGxvd0xheW91dCB7IGZhbHNlIH07CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eUludGVy
c2VjdGlvbk9ic2VydmVyQ2FsbGJhY2sgZmluYWwgOiBwdWJsaWMgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJDYWxsYmFjayB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDb250ZW50VmlzaWJpbGl0eUlu
dGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDb250ZW50VmlzaWJpbGl0eUludGVy
c2VjdGlvbk9ic2VydmVyQ2FsbGJhY2soZG9jdW1lbnQpKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgYm9vbCBoYXNDYWxsYmFjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAg
IENhbGxiYWNrUmVzdWx0PHZvaWQ+IGhhbmRsZUV2ZW50KEludGVyc2VjdGlvbk9ic2VydmVyJiwg
Y29uc3QgVmVjdG9yPFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMsIElu
dGVyc2VjdGlvbk9ic2VydmVyJikgZmluYWwKKyAgICB7CisgICAgICAgIEFTU0VSVCghZW50cmll
cy5pc0VtcHR5KCkpOworCisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7Cisg
ICAgICAgICAgICBpZiAoYXV0byogZWxlbWVudCA9IGVudHJ5LT50YXJnZXQoKSkKKyAgICAgICAg
ICAgICAgICBlbGVtZW50LT5jb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGVudHJ5LT5p
c0ludGVyc2VjdGluZygpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0K
KworICAgIENvbnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhEb2N1
bWVudCYgZG9jdW1lbnQpCisgICAgICAgIDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaygm
ZG9jdW1lbnQpCisgICAgeworICAgIH0KK307CisKIC8vIERlZmluZWQgaGVyZSB0byBhdm9pZCBp
bmNsdWRpbmcgR0NSZWFjaGFibGVSZWYuaCBpbiBEb2N1bWVudC5oCiBzdHJ1Y3QgRG9jdW1lbnQ6
OlBlbmRpbmdTY3JvbGxFdmVudFRhcmdldExpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwpAQCAtMjE4MCw3ICsyMjA4LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5l
ZWRlZCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91
dCgpCit2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgZm9yY2VMYXlvdXQp
CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIApAQCAtMjIwMywxNiArMjIzMSwyNSBA
QCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXQoKQogCiAgICAgaWYgKCFmcmFtZVZpZXcgfHwg
IXJlbmRlclZpZXcoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghZnJhbWVWaWV3LT5sYXlv
dXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlv
dXQoKSkKKyAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IG9sZExheW91dEZvcmNlZDsKKyAgICBpZiAo
Zm9yY2VMYXlvdXQgPT0gRm9yY2VMYXlvdXQ6OlllcyAmJiB2aWV3KCkpIHsKKyAgICAgICAgb2xk
TGF5b3V0Rm9yY2VkID0gdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKTsK
KyAgICAgICAgdmlldygpLT5sYXlvdXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKHRydWUpOwor
ICAgIH0KKworICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5k
aW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSAmJiBmb3JjZUxheW91dCAhPSBG
b3JjZUxheW91dDo6WWVzKQogICAgICAgICByZXR1cm47CiAKICAgICBmcmFtZVZpZXctPmxheW91
dENvbnRleHQoKS5sYXlvdXQoKTsKIAorICAgIGlmIChvbGRMYXlvdXRGb3JjZWQpCisgICAgICAg
IHZpZXcoKS0+bGF5b3V0Q29udGV4dCgpLnNldExheW91dEZvcmNlZCgqb2xkTGF5b3V0Rm9yY2Vk
KTsKKwogICAgIGlmIChzdHlsZVNjb3BlKCkudXBkYXRlUXVlcnlDb250YWluZXJTdGF0ZSgpKQot
ICAgICAgICB1cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0
KTsKIH0KIAotdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzKQordm9p
ZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50
OjpSdW5Qb3N0TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzLCBGb3JjZUxheW91dCBmb3Jj
ZUxheW91dCkKIHsKICAgICBib29sIG9sZElnbm9yZSA9IG1faWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzOwogCkBAIC0yMjIzLDcgKzIyNjAsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcwogICAg
ICAgICAgICAgc2NoZWR1bGVGdWxsU3R5bGVSZWJ1aWxkKCk7CiAgICAgfQogCi0gICAgdXBkYXRl
TGF5b3V0KCk7CisgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIAogICAgIGlmIChydW5Q
b3N0TGF5b3V0VGFza3MgPT0gUnVuUG9zdExheW91dFRhc2tzOjpTeW5jaHJvbm91c2x5ICYmIHZp
ZXcoKSkKICAgICAgICAgdmlldygpLT5mbHVzaEFueVBlbmRpbmdQb3N0TGF5b3V0VGFza3MoKTsK
QEAgLTIzNTEsNyArMjM4OCw3IEBAIGJvb2wgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElmRGltZW5z
aW9uc091dE9mRGF0ZShFbGVtZW50JiBlbGVtZW50LCBEaW1lbnNpb25zQ2hlCiAgICAgLy8gT25s
eSBkbyBhIGxheW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vz
c2FyeS4gICAgICAKICAgICBpZiAocmVxdWlyZUZ1bGxMYXlvdXQgJiYgZnJhbWVWaWV3ICYmIHJl
bmRlclZpZXcoKSAmJiAoZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5n
KCkgfHwgcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpKSkKICAgICAgICAgZnJhbWVWaWV3LT5s
YXlvdXRDb250ZXh0KCkubGF5b3V0KCk7Ci0gICAgCisKICAgICByZXR1cm4gcmVxdWlyZUZ1bGxM
YXlvdXQ7CiB9CiAKQEAgLTQ2OTEsNiArNDcyOCwxMSBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1
c2VkRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMp
CiAgICAgICAgIG1fZm9jdXNlZEVsZW1lbnQtPnNldEZvY3VzKHRydWUsIG9wdGlvbnMudmlzaWJp
bGl0eSk7CiAgICAgICAgIG1fbGF0ZXN0Rm9jdXNUcmlnZ2VyID0gb3B0aW9ucy50cmlnZ2VyOwog
CisgICAgICAgIGZvciAoYXV0byBmb2N1c2VkID0gbmV3Rm9jdXNlZEVsZW1lbnQ7IGZvY3VzZWQ7
IGZvY3VzZWQgPSBmb2N1c2VkLT5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkgeworICAg
ICAgICAgICAgaWYgKGF1dG8qIGRhdGEgPSBmb2N1c2VkLT5jb250ZW50VmlzaWJpbGl0eURhdGEo
KSkKKyAgICAgICAgICAgICAgICBkYXRhLT5zdWJ0cmVlSGFzRm9jdXMgPSB0cnVlOworICAgICAg
ICB9CisKICAgICAgICAgLy8gVGhlIHNldEZvY3VzIGNhbGwgdHJpZ2dlcnMgYSBibHVyIGFuZCBh
IGZvY3VzIGV2ZW50LiBFdmVudCBoYW5kbGVycyBjb3VsZCBjYXVzZSB0aGUgZm9jdXNlZCBlbGVt
ZW50IHRvIGJlIGNsZWFyZWQuCiAgICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0Zv
Y3VzZWRFbGVtZW50KSB7CiAgICAgICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAg
LTgwMTYsNyArODA1OCw4IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEludGVyc2VjdGlvbk9ic2Vy
dmF0aW9uU3RhdGU+IGNvbXB1dGVJbnRlcnNlY3Rpb25TdGF0ZShGcmFtCiAgICAgRmxvYXRSZWN0
IHJvb3RMb2NhbEludGVyc2VjdGlvblJlY3QgPSBsb2NhbFJvb3RCb3VuZHM7CiAKICAgICBJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvblN0YXRlIGludGVyc2VjdGlvblN0YXRlOwotICAgIGludGVyc2Vj
dGlvblN0YXRlLmlzSW50ZXJzZWN0aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9j
YWxJbnRlcnNlY3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdl
dFJlY3QpOworICAgIGlmICghdGFyZ2V0LmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgaW50
ZXJzZWN0aW9uU3RhdGUuaXNJbnRlcnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJv
b3RMb2NhbEludGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2Fs
VGFyZ2V0UmVjdCk7CiAgICAgaW50ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVUYXJnZXRSZWN0ID0g
dGFyZ2V0UmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KGxvY2FsVGFyZ2V0
Qm91bmRzKSkuYm91bmRpbmdCb3goKTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVJv
b3RCb3VuZHMgPSByb290UmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQobG9jYWxSb290Qm91
bmRzKS5ib3VuZGluZ0JveCgpOwogCkBAIC05MDc0LDYgKzkxMTcsNDQgQEAgc3RkOjpvcHRpb25h
bDxQQUw6OlNlc3Npb25JRD4gRG9jdW1lbnQ6OnNlc3Npb25JRCgpIGNvbnN0CiAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIH0KIAorQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBEb2N1
bWVudDo6Y29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCkKK3sKKyAgICBpZiAoIW1fY29u
dGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKQorICAgICAgICBtX2NvbnRlbnRWaXNpYmlsaXR5
RG9jdW1lbnRTdGF0ZSA9IG1ha2VVbmlxdWU8Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRl
PigqdGhpcyk7CisgICAgcmV0dXJuICptX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTsK
K30KKworQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpDb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVu
dCkKK3sKK30KKwordm9pZCBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRl
bnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0
byogaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQor
ICAgICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlci0+b2JzZXJ2ZShlbGVtZW50KTsKK30KKwordm9p
ZCBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OnJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5
T2JzZXJ2YXRpb24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0
aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRl
cnNlY3Rpb25PYnNlcnZlci0+dW5vYnNlcnZlKGVsZW1lbnQpOworfQorCitJbnRlcnNlY3Rpb25P
YnNlcnZlciogQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjplbnN1cmVJbnRlcnNlY3Rp
b25PYnNlcnZlcigpCit7CisgICAgaWYgKCFtX29ic2VydmVyKSB7CisgICAgICAgIGF1dG8gY2Fs
bGJhY2sgPSBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s6OmNy
ZWF0ZSgqbV9kb2N1bWVudCk7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBT
dHJpbmc+IGNvbnRlbnRWaXNpYmlsaXR5Um9vdE1hcmdpbkZhbGxiYWNrKE1BS0VfU1RBVElDX1NU
UklOR19JTVBMKCIxMDAlIikpOworICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6SW5pdCBv
cHRpb25zIHsgc3RkOjpudWxsb3B0LCBjb250ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFj
aywgeyB9IH07CisgICAgICAgIGF1dG8gb2JzZXJ2ZXIgPSBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6
Y3JlYXRlKCptX2RvY3VtZW50LCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7
CisgICAgICAgIGlmIChvYnNlcnZlci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworICAgICAgICBtX29ic2VydmVyID0gb2JzZXJ2ZXIucmV0dXJuVmFsdWUoKS5w
dHIoKTsKKyAgICB9CisgICAgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI3VuZGVmIERPQ1VNRU5UX1JFTEVBU0VfTE9HCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IGMxYmVjY2QyMWFiMTMxNmFlMDMwNGU5NzkzOWM3YTI2NjI0MjM2MTMuLjk4
ZDk0OTIwNmI5ZmY0N2ZhMGM3YzdhOTJkZGIwMDY1ZTQzMTE0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCkBAIC0zMzksNiArMzM5LDIxIEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVudD4g
bV9kb2N1bWVudDsKIH07CiAKK2NsYXNzIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ29udGVudFZpc2li
aWxpdHlEb2N1bWVudFN0YXRlKERvY3VtZW50Jik7CisKKyAgICB2b2lkIGFkZENvbnRlbnRWaXNp
YmlsaXR5T2JzZXJ2YXRpb24oRWxlbWVudCYpOworICAgIHZvaWQgcmVtb3ZlQ29udGVudFZpc2li
aWxpdHlPYnNlcnZhdGlvbihFbGVtZW50Jik7CisKK3ByaXZhdGU6CisgICAgSW50ZXJzZWN0aW9u
T2JzZXJ2ZXIqIGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCk7CisKKyAgICBSZWZQdHI8SW50
ZXJzZWN0aW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXI7CisgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9k
b2N1bWVudDsKK307CisKIGNsYXNzIERvY3VtZW50CiAgICAgOiBwdWJsaWMgQ29udGFpbmVyTm9k
ZQogICAgICwgcHVibGljIFRyZWVTY29wZQpAQCAtNjIwLDEyICs2MzUsMTMgQEAgcHVibGljOgog
ICAgIGJvb2wgbmVlZHNTdHlsZVJlY2FsYygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxhc3RTdHls
ZVVwZGF0ZVNpemVGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0U3R5bGVVcGRhdGVT
aXplRm9yVGVzdGluZzsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXQo
KTsKKyAgICBlbnVtIGNsYXNzIEZvcmNlTGF5b3V0IHsgTm8sIFllcyB9OworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0KEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsK
ICAgICAKICAgICAvLyB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKSBmb3Jj
ZXMgbGF5b3V0IGV2ZW4gaWYgd2UgYXJlIHdhaXRpbmcgZm9yIHBlbmRpbmcgc3R5bGVzaGVldCBs
b2FkcywKICAgICAvLyBzbyBjYWxsaW5nIHRoaXMgbWF5IGNhdXNlIGEgZmxhc2ggb2YgdW5zdHls
ZWQgY29udGVudCAoRk9VQykuCiAgICAgZW51bSBjbGFzcyBSdW5Qb3N0TGF5b3V0VGFza3MgeyBB
c3luY2hyb25vdXNseSwgU3luY2hyb25vdXNseSB9OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9
IFJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHkpOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRU
YXNrcyA9IFJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIEZvcmNlTGF5b3V0ID0g
Rm9yY2VMYXlvdXQ6Ok5vKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5
bGVGb3JFbGVtZW50SWdub3JpbmdQZW5kaW5nU3R5bGVzaGVldHMoRWxlbWVudCYsIGNvbnN0IFJl
bmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgUHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZSk7CiAKQEAg
LTE2NDEsNiArMTY1Nyw4IEBAIHB1YmxpYzoKIAogICAgIExhenlMb2FkSW1hZ2VPYnNlcnZlciYg
bGF6eUxvYWRJbWFnZU9ic2VydmVyKCk7CiAKKyAgICBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50
U3RhdGUmIGNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpOworCiAgICAgdm9pZCBzZXRI
YXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5
Q3VzdG9tQ29udGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0
b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29u
dGVudDsgfQogICAgIHZvaWQgZW5xdWV1ZVBhaW50VGltaW5nRW50cnlJZk5lZWRlZCgpOwpAQCAt
MTg4Miw2ICsxOTAwLDggQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5TG9h
ZEltYWdlT2JzZXJ2ZXI+IG1fbGF6eUxvYWRJbWFnZU9ic2VydmVyOwogCisgICAgc3RkOjp1bmlx
dWVfcHRyPENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZT4gbV9jb250ZW50VmlzaWJpbGl0
eURvY3VtZW50U3RhdGU7CisKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3Bl
bmRpbmdTdGF0ZU9iamVjdDsKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgTW9ub3RvbmljVGltZSBt
X2RvY3VtZW50Q3JlYXRpb25UaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGZlZTk4YzNm
MWZlOWI4MTE2Mjc0OGEzN2MzMGYxMmUzMzBhYTI0MmEuLjcxMDc4NmFmNjc1N2Q5MGI1ZjMxOTI5
MTcwZmQ1NTY0NDk5OGM3OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyODEsNyArMTI4
MSw3IEBAIGludCBFbGVtZW50OjpvZmZzZXRUb3BGb3JCaW5kaW5ncygpCiAKIGludCBFbGVtZW50
OjpvZmZzZXRUb3AoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHks
IERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIHJlbmRlcmVyID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGFk
anVzdE9mZnNldEZvclpvb21BbmRTdWJwaXhlbExheW91dCgqcmVuZGVyZXIsIHJlbmRlcmVyLT5v
ZmZzZXRUb3AoKSk7CiAgICAgcmV0dXJuIDA7CkBAIC0xNzY2LDcgKzE3NjYsNyBAQCBzdGQ6Om9w
dGlvbmFsPHN0ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBFbGVtZW50Ojpib3Vu
ZGluZ0Fic29sdXRlUmVjdAogCiBGbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0
KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6
Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byBwYWlyID0gYm91bmRpbmdBYnNvbHV0ZVJlY3RX
aXRob3V0TGF5b3V0KCk7CiAgICAgaWYgKCFwYWlyKQogICAgICAgICByZXR1cm4geyB9OwpAQCAt
MzA3MCw2ICszMDcwLDkgQEAgdm9pZCBFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMm
IG9wdGlvbnMpCiAgICAgaWYgKCFpc0Nvbm5lY3RlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAg
ICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKICAgICBSZWYgZG9j
dW1lbnQgeyB0aGlzLT5kb2N1bWVudCgpIH07CiAgICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkRWxl
bWVudCgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCkpCkBAIC0zMzQy
LDYgKzMzNDUsOSBAQCBTdHJpbmcgRWxlbWVudDo6aW5uZXJUZXh0KCkKICAgICAvLyBXZSBuZWVk
IHRvIHVwZGF0ZSBsYXlvdXQsIHNpbmNlIHBsYWluVGV4dCB1c2VzIGxpbmUgYm94ZXMgaW4gdGhl
IHJlbmRlciB0cmVlLgogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7CiAKKyAgICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiB0ZXh0
Q29udGVudCh0cnVlKTsKIApAQCAtMzU1Nyw5ICszNTYzLDggQEAgYm9vbCBFbGVtZW50OjpoYXNW
YWxpZFN0eWxlKCkgY29uc3QKIAogYm9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRob3V0UmVzb2x2
aW5nRnVsbFN0eWxlKCkgY29uc3QKIHsKLQogICAgIGlmIChyZW5kZXJTdHlsZSgpIHx8IGhhc1Zh
bGlkU3R5bGUoKSkKLSAgICAgICAgcmV0dXJuIHJlbmRlclN0eWxlKCkgJiYgcmVuZGVyU3R5bGUo
KS0+dmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OlZpc2libGU7CisgICAgICAgIHJldHVybiBy
ZW5kZXJTdHlsZSgpICYmIHJlbmRlclN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5
OjpWaXNpYmxlICYmICFpc1NraXBwZWRDb250ZW50KCk7CiAKICAgICBhdXRvIGNvbXB1dGVkU3R5
bGVGb3JFbGVtZW50ID0gW10oRWxlbWVudCYgZWxlbWVudCkgLT4gY29uc3QgUmVuZGVyU3R5bGUq
IHsKICAgICAgICAgYXV0byogc3R5bGUgPSBlbGVtZW50Lmhhc05vZGVGbGFnKE5vZGVGbGFnOjpJ
c0NvbXB1dGVkU3R5bGVJbnZhbGlkRmxhZykgPyBudWxscHRyIDogZWxlbWVudC5leGlzdGluZ0Nv
bXB1dGVkU3R5bGUoKTsKQEAgLTM1NzcsNiArMzU4Miw5IEBAIGJvb2wgRWxlbWVudDo6aXNWaXNp
YmxlV2l0aG91dFJlc29sdmluZ0Z1bGxTdHlsZSgpIGNvbnN0CiAgICAgaWYgKHN0eWxlLT52aXNp
YmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgaWYgKGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgZm9yIChhdXRvJiBlbGVtZW50IDogY29tcG9zZWRUcmVlQW5jZXN0b3JzKGNvbnN0X2Nhc3Q8
RWxlbWVudCY+KCp0aGlzKSkpIHsKICAgICAgICAgYXV0byogc3R5bGUgPSBjb21wdXRlZFN0eWxl
Rm9yRWxlbWVudChlbGVtZW50KTsKICAgICAgICAgaWYgKCFzdHlsZSB8fCBzdHlsZS0+ZGlzcGxh
eSgpID09IERpc3BsYXlUeXBlOjpOb25lKQpAQCAtNDc1MCw2ICs0NzU4LDEwMiBAQCBFbGVtZW50
SWRlbnRpZmllciBFbGVtZW50OjpjcmVhdGVFbGVtZW50SWRlbnRpZmllcigpCiAgICAgcmV0dXJu
IEVsZW1lbnRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogfQogCitDb250ZW50VmlzaWJpbGl0eURh
dGEmIEVsZW1lbnQ6OmVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpCit7CisgICAgYXV0byYg
cmFyZURhdGEgPSBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhLmNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpKQorICAgICAgICByYXJlRGF0YS5zZXRDb250ZW50VmlzaWJp
bGl0eURhdGEobWFrZVVuaXF1ZTxDb250ZW50VmlzaWJpbGl0eURhdGE+KCkpOworICAgIHJldHVy
biAqcmFyZURhdGEuY29udGVudFZpc2liaWxpdHlEYXRhKCk7Cit9CisKK0NvbnRlbnRWaXNpYmls
aXR5RGF0YSogRWxlbWVudDo6Y29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5jb250ZW50VmlzaWJpbGl0
eURhdGEoKSA6IG51bGxwdHI7Cit9CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRlQ29udGVudFZpc2li
aWxpdHlEYXRhKGJvb2wgc2hvdWxkU2tpcCwgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2li
aWxpdHkpCit7CisgICAgaWYgKGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKSkKKyAgICAg
ICAgc2hvdWxkU2tpcCB8PSBwYXJlbnQtPmlzU2tpcHBlZENvbnRlbnQoKTsKKworICAgIGF1dG8m
IGRhdGEgPSBlbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBpZiAoaXM8SFRNTERp
YWxvZ0VsZW1lbnQ+KCp0aGlzKSkKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hv
dWxkU2tpcCAmJiBjb250ZW50VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVu
OworICAgIGVsc2UKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcDsK
KworICAgIGlmIChSZW5kZXJFbGVtZW50KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCisg
ICAgICAgIHNob3VsZFNraXAgfD0gcmVuZGVyZXItPnNob3VsZFNraXBDb250ZW50KCk7CisgICAg
Zm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPEVsZW1lbnQ+KCp0aGlzKSkKKyAgICAg
ICAgY2hpbGQudXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKHNob3VsZFNraXAsIGNvbnRlbnRW
aXNpYmlsaXR5KTsKK30KKworLy8gRklYTUU6IHRoaXMgaXMgaW5jb21wbGV0ZSwgYW5kIG5lZWRz
IHRvIGJlIHJlZmFjdG9yZWQgd2l0aCBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgY29tcHV0YXRpb25z
IGluIERvY3VtZW50Lgorc3RhdGljIGJvb2wgY29tcHV0ZUludGVyc2VjdGlvbihjb25zdCBEb2N1
bWVudCYgZG9jdW1lbnQsIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVu
ZGVyZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGRv
Y3VtZW50LnZpZXcoKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIEZsb2F0UmVjdCBsb2NhbFJvb3RCb3VuZHMgPSB2aWV3LT5sYXlvdXRWaWV3cG9ydFJlY3Qo
KTsKKyAgICBMYXlvdXRSZWN0IGxvY2FsVGFyZ2V0Qm91bmRzOworICAgIGlmIChpczxSZW5kZXJC
b3g+KCpyZW5kZXJlcikpCisgICAgICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93bmNhc3Q8UmVu
ZGVyQm94PihyZW5kZXJlciktPmJvcmRlckJvdW5kaW5nQm94KCk7CisKKyAgICBzdGQ6Om9wdGlv
bmFsPExheW91dFJlY3Q+IHJvb3RMb2NhbFRhcmdldFJlY3Q7CisgICAgT3B0aW9uU2V0PFJlbmRl
ck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uPiB2aXNpYmxlUmVjdE9wdGlvbnMgPSB7
IFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpVc2VFZGdlSW5jbHVzaXZl
SW50ZXJzZWN0aW9uLCBSZW5kZXJPYmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBw
bHlDb21wb3NpdGVkQ2xpcHMsIFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9u
OjpBcHBseUNvbXBvc2l0ZWRDb250YWluZXJTY3JvbGxzIH07CisgICAgc3RkOjpvcHRpb25hbDxM
YXlvdXRSZWN0PiByZWN0SW5GcmFtZUFic29sdXRlU3BhY2UgPSByZW5kZXJlci0+Y29tcHV0ZVZp
c2libGVSZWN0SW5Db250YWluZXIobG9jYWxUYXJnZXRCb3VuZHMsICZyZW5kZXJlci0+dmlldygp
LCB7IGZhbHNlIC8qIGhhc1Bvc2l0aW9uRml4ZWREZXNjZW5kYW50ICovLCBmYWxzZSAvKiBkaXJ0
eVJlY3RJc0ZsaXBwZWQgKi8sIHZpc2libGVSZWN0T3B0aW9ucyB9KTsKKyAgICBpZiAocmVjdElu
RnJhbWVBYnNvbHV0ZVNwYWNlKQorICAgICAgICByb290TG9jYWxUYXJnZXRSZWN0ID0gcmVjdElu
RnJhbWVBYnNvbHV0ZVNwYWNlOworICAgIEZsb2F0UmVjdCByb290TG9jYWxJbnRlcnNlY3Rpb25S
ZWN0ID0gbG9jYWxSb290Qm91bmRzOworICAgIHJldHVybiByb290TG9jYWxUYXJnZXRSZWN0ICYm
IHJvb3RMb2NhbEludGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExv
Y2FsVGFyZ2V0UmVjdCk7Cit9CisKK2Jvb2wgRWxlbWVudDo6ZGV0ZXJtaW5lSWZTdWJ0cmVlSGFz
Rm9jdXMoKQoreworICAgIGZvciAoYXV0byogZm9jdXNlZCA9IGRvY3VtZW50KCkuZm9jdXNlZEVs
ZW1lbnQoKTsgZm9jdXNlZDsgZm9jdXNlZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBv
c2VkVHJlZSgpKSB7CisgICAgICAgIGlmIChmb2N1c2VkID09IHRoaXMpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEVsZW1lbnQ6
OnVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+
LCBDb250ZW50VmlzaWJpbGl0eSBuZXdDb250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAobmV3
Q29udGVudFZpc2liaWxpdHkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pIHsKKyAgICAgICAg
YXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgICAgICBkYXRh
LmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgPSBjb21wdXRlSW50ZXJzZWN0aW9uKGRvY3VtZW50KCks
IHJlbmRlcmVyKCkpOworICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBmYWxzZTsKKyAg
ICAgICAgZGF0YS5zdWJ0cmVlSGFzRm9jdXMgPSBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygp
OworICAgICAgICBkb2N1bWVudCgpLmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpLmFk
ZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oKnRoaXMpOworICAgIH0KKyAgICB1cGRhdGVD
b250ZW50VmlzaWJpbGl0eURhdGEoZmFsc2UsIG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKK30KKwor
Ym9vbCBFbGVtZW50Ojppc1NraXBwZWRDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29u
dGVudFZpc2liaWxpdHlEYXRhKCkgPyBjb250ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNTa2lwcGVk
Q29udGVudCA6IGZhbHNlOworfQorCitib29sIEVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50KCkg
Y29uc3QKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRW
aXNpYmlsaXR5OjpBdXRvKQorICAgICAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkg
PyAhY29udGVudFZpc2liaWxpdHlEYXRhKCktPmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgJiYgIWNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpLT5zdWJ0cmVlSGFzRm9jdXMgOiB0cnVlOworICAgIHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2li
aWxpdHk6OkhpZGRlbjsKK30KKwordm9pZCBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eVZpZXdw
b3J0Q2hhbmdlKGJvb2wgaXNJbnRlcnNlY3RpbmcpCit7CisgICAgYXV0byYgZGF0YSA9IGVuc3Vy
ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGRhdGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9y
dCA9IGlzSW50ZXJzZWN0aW5nOworICAgIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShmYWxz
ZSwgQ29udGVudFZpc2liaWxpdHk6OkF1dG8pOworfQorCiAjaWYgRU5BQkxFKENTU19UWVBFRF9P
TSkKIAogU3R5bGVQcm9wZXJ0eU1hcCogRWxlbWVudDo6YXR0cmlidXRlU3R5bGVNYXAoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKaW5kZXggNjIwOWJlNjJhNzA0NjRmZWM3MzMzNDVlNjU1MzYzZGNjZmU5ZjU4
OC4uYTkzNmM0OWIwMWI3NDA2OTY2Mjc4YjE5OTg3ODExNDRhZTczNjc2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCkBAIC05MSw2ICs5MSwxMiBAQCBzdHJ1Y3QgU2Nyb2xsSW50b1ZpZXdPcHRpb25zOwog
c3RydWN0IFNjcm9sbFRvT3B0aW9uczsKIHN0cnVjdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2
ZW50SW5pdDsKIHN0cnVjdCBTaGFkb3dSb290SW5pdDsKK3N0cnVjdCBDb250ZW50VmlzaWJpbGl0
eURhdGEgeworICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBib29sIGlz
U2tpcHBlZENvbnRlbnQgeyBmYWxzZSB9OworICAgIGJvb2wgaXNJbnRlcnNlY3RpbmdWaWV3cG9y
dCB7IGZhbHNlIH07CisgICAgYm9vbCBzdWJ0cmVlSGFzRm9jdXMgeyBmYWxzZSB9OworfTsKIAog
bmFtZXNwYWNlIFN0eWxlIHsKIGNsYXNzIFJlc29sdmVyOwpAQCAtNjY0LDYgKzY3MCwxMyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBt
X2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKICAgICB2b2lkIHNldEhhc0R1cGxpY2F0ZUF0dHJp
YnV0ZShib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSkgeyBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0
ZSA9IGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RGF0
YSYgZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCk7CisgICAgQ29udGVudFZpc2liaWxpdHlE
YXRhKiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSBjb25zdDsKKyAgICB2b2lkIHVwZGF0ZUNvbnRl
bnRWaXNpYmlsaXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+IG9sZENvbnRlbnRW
aXNpYmlsaXR5LCBDb250ZW50VmlzaWJpbGl0eSBuZXdDb250ZW50VmlzaWJpbGl0eSk7CisgICAg
dm9pZCBjb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGJvb2wpOworICAgIGJvb2wgaXNT
a2lwcGVkQ29udGVudCgpIGNvbnN0OworICAgIGJvb2wgc2hvdWxkU2tpcENvbnRlbnQoKSBjb25z
dDsKKwogcHJvdGVjdGVkOgogICAgIEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50JiwgQ29uc3RydWN0aW9uVHlwZSk7CiAKQEAgLTY4Nyw2ICs3MDAsMTAgQEAgcHJvdGVjdGVk
OgogICAgIHZvaWQgc2V0QXR0cmlidXRlU3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlNYXA+JiYp
OwogI2VuZGlmCiAKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShib29sIHNo
b3VsZFNraXAsIENvbnRlbnRWaXNpYmlsaXR5KTsKKworICAgIGJvb2wgZGV0ZXJtaW5lSWZTdWJ0
cmVlSGFzRm9jdXMoKTsKKwogcHJpdmF0ZToKICAgICBGcmFtZSogZG9jdW1lbnRGcmFtZVdpdGhO
b25OdWxsVmlldygpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudFJhcmVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3Bw
CmluZGV4IDg3N2EzNDlhMTQzOTNjYjlkYmQ2ZDQzN2E3YmQ2NjE2ZWYyNzUxMGEuLjVjODZiOGU0
MmYxYjU0ODYwYTAxYTYyZjk5Mzk4OTdjYTI4YThjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50UmFyZURhdGEuY3BwCkBAIC00Myw2ICs0Myw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzRWxlbWVu
dFJhcmVEYXRhIDogTm9kZVJhcmVEYXRhIHsKICAgICB2b2lkKiB0eXBlZE9NRGF0YTsKICNlbmRp
ZgogICAgIHZvaWQqIHJlc2l6ZU9ic2VydmVyRGF0YTsKKyAgICB2b2lkKiBjb250ZW50VmlzaWJp
bGl0eURhdGE7CiB9OwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09
IHNpemVvZihTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91
bGQgc3RheSBzbWFsbCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDBl
YzQ4N2ZiOGQxZjBmZjkyZGIxNzY5NTMxOWMwN2RmNGUyN2Y2ZmIuLjlmMTA5ZDAzN2UwODlkZDBk
MjU0M2IzYTJkZmExNDk2NThiNWY1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmgKQEAgLTEwNiw2ICsxMDYsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgQXRvbVN0cmluZyYgbm9u
Y2UoKSBjb25zdCB7IHJldHVybiBtX25vbmNlOyB9CiAgICAgdm9pZCBzZXROb25jZShjb25zdCBB
dG9tU3RyaW5nJiB2YWx1ZSkgeyBtX25vbmNlID0gdmFsdWU7IH0KIAorICAgIENvbnRlbnRWaXNp
YmlsaXR5RGF0YSogY29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jb250
ZW50VmlzaWJpbGl0eURhdGEuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENvbnRlbnRWaXNpYmlsaXR5
RGF0YShzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudFZpc2liaWxpdHlEYXRhPiYmIGRhdGEpIHsgbV9j
b250ZW50VmlzaWJpbGl0eURhdGEgPSBXVEZNb3ZlKGRhdGEpOyB9CisKICNpZiBFTkFCTEUoQ1NT
X1RZUEVEX09NKQogICAgIFN0eWxlUHJvcGVydHlNYXAqIGF0dHJpYnV0ZVN0eWxlTWFwKCkgeyBy
ZXR1cm4gbV9hdHRyaWJ1dGVTdHlsZU1hcC5nZXQoKTsgfQogICAgIHZvaWQgc2V0QXR0cmlidXRl
U3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlNYXA+JiYgbWFwKSB7IG1fYXR0cmlidXRlU3R5bGVN
YXAgPSBXVEZNb3ZlKG1hcCk7IH0KQEAgLTE1MSw2ICsxNTQsOCBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OlBhcnROYW1lcyk7CiAgICAgICAgIGlmIChtX25vbmNl
KQogICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpOb25jZSk7CisgICAgICAgIGlmICht
X0NvbnRlbnRWaXNpYmlsaXR5RGF0YSkKKyAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6
Q29udGVudFZpc2liaWxpdHkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNlbmRp
ZgpAQCAtMTg0LDYgKzE4OSw4IEBAIHByaXZhdGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9uY2U7
CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudFZpc2liaWxpdHlEYXRhPiBtX2NvbnRlbnRW
aXNpYmlsaXR5RGF0YTsKKwogICAgIHZvaWQgcmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxl
bWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGMzMzFmYjhlNWE1
NTc3MWMzOWEwYjYzMGIxMTA5ZWY5MzM3YjlhODUuLmNlNTg0ODcyNTY2ZmZjNDQ3MTQ4NTI4ZjVm
ODNiYWRiNDFjNmE4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NCw2ICsy
NjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBhcnRMaXN0ID0gMSA8PCAxNiwKICAgICAgICAgUGFy
dE5hbWVzID0gMSA8PCAxNywKICAgICAgICAgTm9uY2UgPSAxIDw8IDE4LAorICAgICAgICBDb250
ZW50VmlzaWJpbGl0eT0gMSA8PCAxOSwKICAgICB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCBjZjcxNDk1ZmY5ZDI0OWU1YTM1YmE1ZmE0YWUy
MDhlOWIwYzVlYWY5Li40MTQyYjc0MTE5YzkwZWFlZjc1OWVjMGM4MDBmMjczZDhjNDZiMTIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC00NTYsNiArNDU2LDE2
IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjphZHZhbmNlKCkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKKyAgICBhdXRvIGlzU2tpcHBlZENvbnRlbnRPclRleHQgPSBbJl0oKSB7CisgICAgICAg
IGlmIChpczxFbGVtZW50PihtX25vZGUpKQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEVs
ZW1lbnQ+KG1fbm9kZSktPmlzU2tpcHBlZENvbnRlbnQoKTsKKyAgICAgICAgCisgICAgICAgIGlm
IChtX25vZGUtPmlzVGV4dE5vZGUoKSkKKyAgICAgICAgICAgIHJldHVybiBtX25vZGUtPnBhcmVu
dEVsZW1lbnQoKSA/IG1fbm9kZS0+cGFyZW50RWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCk6
IGZhbHNlOworCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9OworCiAgICAgd2hpbGUgKG1f
bm9kZSAmJiBtX25vZGUgIT0gbV9wYXN0RW5kTm9kZSkgewogICAgICAgICAvLyBpZiB0aGUgcmFu
Z2UgZW5kcyBhdCBvZmZzZXQgMCBvZiBhbiBlbGVtZW50LCByZXByZXNlbnQgdGhlCiAgICAgICAg
IC8vIHBvc2l0aW9uLCBidXQgbm90IHRoZSBjb250ZW50LCBvZiB0aGF0IGVsZW1lbnQgZS5nLiBp
ZiB0aGUKQEAgLTQ3Miw3ICs0ODIsOSBAQCB2b2lkIFRleHRJdGVyYXRvcjo6YWR2YW5jZSgpCiAg
ICAgICAgICAgICBpZiAoIXJlbmRlcmVyKSB7CiAgICAgICAgICAgICAgICAgbV9oYW5kbGVkTm9k
ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgbV9oYW5kbGVkQ2hpbGRyZW4gPSAhaGFzRGlzcGxh
eUNvbnRlbnRzKCptX25vZGUpOwotICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIH0g
ZWxzZSBpZiAoaXM8RWxlbWVudD4obV9ub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50PihtX25vZGUp
LT5zaG91bGRTa2lwQ29udGVudCgpKSB7CisgICAgICAgICAgICAgICAgbV9oYW5kbGVkQ2hpbGRy
ZW4gPSB0cnVlOworICAgICAgICAgICAgfSBlbHNlIGlmICghaXNTa2lwcGVkQ29udGVudE9yVGV4
dCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gaGFuZGxlIGN1cnJlbnQgbm9kZSBhY2NvcmRpbmcg
dG8gaXRzIHR5cGUKICAgICAgICAgICAgICAgICBpZiAocmVuZGVyZXItPmlzVGV4dCgpICYmIG1f
bm9kZS0+aXNUZXh0Tm9kZSgpKQogICAgICAgICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0g
aGFuZGxlVGV4dE5vZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3Bw
CmluZGV4IDc5OGZlODZiYzRmMzIwMjY3MWNkMmQ3MTQ2NjAwMGI2ZWJhYmI2YmYuLjQ1YjRkMDIw
ODlkMTAyODg1ZDQxMzYxY2IzMDZiNTQ4OGI5MzdmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDg1LDkgKzQ4NSw5IEBAIHVuc2lnbmVkIEhUTUxJbWFn
ZUVsZW1lbnQ6OndpZHRoKGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogICAgIH0KIAog
ICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5
b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAg
ICAgZWxzZQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOworICAgICAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBS
ZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwogICAgIGlmICghYm94KQpAQCAtNDk4LDYgKzQ5
OCwxMSBAQCB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWR0aChib29sIGlnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cykKIAogdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wg
aWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogeworICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMpCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1
bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CisgICAgZWxzZQorICAgICAgICBkb2N1bWVudCgpLnVw
ZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CisKICAgICBpZiAoIXJlbmRl
cmVyKCkpIHsKICAgICAgICAgLy8gY2hlY2sgdGhlIGF0dHJpYnV0ZSBmaXJzdCBmb3IgYW4gZXhw
bGljaXQgcGl4ZWwgdmFsdWUKICAgICAgICAgYXV0byBvcHRpb25hbEhlaWdodCA9IHBhcnNlSFRN
TE5vbk5lZ2F0aXZlSW50ZWdlcihhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGhlaWdo
dEF0dHIpKTsKQEAgLTUwOSwxMSArNTE0LDYgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6
aGVpZ2h0KGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogICAgICAgICAgICAgcmV0dXJu
IG1faW1hZ2VMb2FkZXItPmltYWdlKCktPmltYWdlU2l6ZUZvclJlbmRlcmVyKHJlbmRlcmVyKCks
IDEuMGYpLmhlaWdodCgpLnRvVW5zaWduZWQoKTsKICAgICB9CiAKLSAgICBpZiAoaWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOwotICAgIGVsc2UKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVM
YXlvdXQoKTsKLQogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFi
b3gpCiAgICAgICAgIHJldHVybiAwOwpAQCAtNjIxLDcgKzYyMSw3IEBAIHZvaWQgSFRNTEltYWdl
RWxlbWVudDo6c2V0V2lkdGgodW5zaWduZWQgdmFsdWUpCiAKIGludCBIVE1MSW1hZ2VFbGVtZW50
Ojp4KCkgY29uc3QKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBE
b2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJl
bmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CkBAIC02MzIs
NyArNjMyLDcgQEAgaW50IEhUTUxJbWFnZUVsZW1lbnQ6OngoKSBjb25zdAogCiBpbnQgSFRNTElt
YWdlRWxlbWVudDo6eSgpIGNvbnN0CiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hy
b25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIGF1dG8gcmVuZGVyZXIg
PSB0aGlzLT5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0VHlwZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcAppbmRleCA5NjE1MzQxMWM3MDNi
MzRhYjNkODJjNWFhMjY1NDk4YjFjYTMwYWUyLi5hMjBjOGI2NzFkMGJjMGRlNGRjMmU4ZTAyNDg3
NWI1OTlkNTgzNmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRU
eXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcApAQCAt
MTczLDcgKzE3Myw3IEBAIHVuc2lnbmVkIEltYWdlSW5wdXRUeXBlOjpoZWlnaHQoKSBjb25zdAog
ICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50
KCp0aGlzLT5lbGVtZW50KCkpOwogCi0gICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXQoKTsKKyAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9y
Y2VMYXlvdXQ6Olllcyk7CiAKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5k
ZXJlcigpKQogICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJl
bmRlckJveD4oKnJlbmRlcmVyKS5jb250ZW50SGVpZ2h0KCksICpyZW5kZXJlcik7CkBAIC0xOTUs
NyArMTk1LDcgQEAgdW5zaWduZWQgSW1hZ2VJbnB1dFR5cGU6OndpZHRoKCkgY29uc3QKICAgICBB
U1NFUlQoZWxlbWVudCgpKTsKICAgICBSZWY8SFRNTElucHV0RWxlbWVudD4gZWxlbWVudCgqdGhp
cy0+ZWxlbWVudCgpKTsKIAotICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7
CisgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoRG9jdW1lbnQ6OkZvcmNlTGF5
b3V0OjpZZXMpOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIo
KSkKICAgICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShkb3duY2FzdDxSZW5kZXJC
b3g+KCpyZW5kZXJlcikuY29udGVudFdpZHRoKCksICpyZW5kZXJlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcAppbmRleCA2OWE0YzIzYzlhMzYx
ODJjMTcwOWUzN2ExYWI0ZDhlNzQ4MThmODcxLi41MjJkYmIyYzc0OWRiMGNjMTAxMWVmMGQwODRh
N2M3NTdhZTc4NWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xh
eW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0
Q29udGV4dC5jcHAKQEAgLTIzNiw3ICsyMzYsOCBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OmxheW91dCgpCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAg
ICAgIGxheW91dFVzaW5nRm9ybWF0dGluZ0NvbnRleHQoKTsKICNlbmRpZgotICAgICAgICArK21f
bGF5b3V0Q291bnQ7CisgICAgICAgIGlmICghbV9sYXlvdXRGb3JjZWQpCisgICAgICAgICAgICAr
K21fbGF5b3V0Q291bnQ7CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICAgICAgYXBw
bHlUZXh0U2l6aW5nSWZOZWVkZWQoKmxheW91dFJvb3QuZ2V0KCkpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCmluZGV4IDZmOWViMWUwOTM4
MjRlNmIxYjBmOWE1N2E3NTI1M2EzMjRmZWUxZmEuLmRkYzZmMDMwZjMxMmM4YjA4NThjYTY0ZWFk
OWU1MTZhNjMyNGYzOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
TGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0
Q29udGV4dC5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzSW5MYXlvdXQo
KSBjb25zdCB7IHJldHVybiBsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpPdXRzaWRlTGF5
b3V0OyB9CiAgICAgYm9vbCBpc0luUmVuZGVyVHJlZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIGxh
eW91dFBoYXNlKCkgPT0gTGF5b3V0UGhhc2U6OkluUmVuZGVyVHJlZUxheW91dDsgfQogICAgIGJv
b2wgaW5QYWludGFibGVTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5
b3V0UGhhc2U6OkluUmVuZGVyVHJlZUxheW91dCAmJiBsYXlvdXRQaGFzZSgpICE9IExheW91dFBo
YXNlOjpJblZpZXdTaXplQWRqdXN0ICYmIChsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJ
blBvc3RMYXlvdXQgfHwgaW5Bc3luY2hyb25vdXNUYXNrcygpKTsgfQorICAgIGJvb2wgaXNMYXlv
dXRGb3JjZWQoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEZvcmNlZDsgfQorICAgIHZvaWQgc2V0
TGF5b3V0Rm9yY2VkKGJvb2wgZikgeyBtX2xheW91dEZvcmNlZCA9IGY7IH0KIAogICAgIHVuc2ln
bmVkIGxheW91dENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRDb3VudDsgfQogCkBAIC0x
NzksNiArMTgxLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNGdWxsUmVwYWludCB7IHRy
dWUgfTsKICAgICBib29sIG1faW5Bc3luY2hyb25vdXNUYXNrcyB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX3NldE5lZWRzTGF5b3V0V2FzRGVmZXJyZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9sYXlv
dXRGb3JjZWQgeyBmYWxzZSB9OwogICAgIExheW91dFBoYXNlIG1fbGF5b3V0UGhhc2UgeyBMYXlv
dXRQaGFzZTo6T3V0c2lkZUxheW91dCB9OwogICAgIGVudW0gY2xhc3MgTGF5b3V0TmVzdGVkU3Rh
dGUgOiB1aW50OF90ICB7IE5vdEluTGF5b3V0LCBOb3ROZXN0ZWQsIE5lc3RlZCB9OwogICAgIExh
eW91dE5lc3RlZFN0YXRlIG1fbGF5b3V0TmVzdGVkU3RhdGUgeyBMYXlvdXROZXN0ZWRTdGF0ZTo6
Tm90SW5MYXlvdXQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9i
c2VydmVyRW50cnkuY3BwCmluZGV4IGI1YTIzN2U4MTQyZWQ3YjIzN2FiNDQ1M2RlYjY1ZTMzYmY0
Yzc2MTguLmRlZjYxMzQzNzZiMzYyZTM4M2ZmYmNmY2I5NzU1YzVmYTQyMmM2YTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcApAQCAt
NDEsNiArNDEsOCBAQCBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5OjpJbnRlcnNlY3Rpb25PYnNl
cnZlckVudHJ5KGNvbnN0IEluaXQmIGluaXQpCiB7CiAgICAgaWYgKGluaXQucm9vdEJvdW5kcykK
ICAgICAgICAgbV9yb290Qm91bmRzID0gRE9NUmVjdFJlYWRPbmx5Ojpmcm9tUmVjdCgqaW5pdC5y
b290Qm91bmRzKTsKKyAgICBpZiAobV90YXJnZXQgJiYgbV90YXJnZXQtPmlzU2tpcHBlZENvbnRl
bnQoKSkKKyAgICAgICAgbV9pc0ludGVyc2VjdGluZyA9IGZhbHNlOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2Vy
dmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCmlu
ZGV4IGViY2E3ZTMzYmQxN2EwNjUyZGRlYTA4Y2Q0ZTViYWFkY2Y2YzllYWYuLmQ4ZGVmM2ExNGQ1
MDczYmFhMTBlYzkwZWM0YzFmMDNlODdhMWQ3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVz
aXplT2JzZXJ2YXRpb24uY3BwCkBAIC01MSwyNCArNTEsMjYgQEAgdm9pZCBSZXNpemVPYnNlcnZh
dGlvbjo6dXBkYXRlT2JzZXJ2YXRpb25TaXplKGNvbnN0IEJveFNpemVzJiBib3hTaXplcykKICAg
ICBtX2xhc3RPYnNlcnZhdGlvblNpemVzID0gYm94U2l6ZXM7CiB9CiAKLWF1dG8gUmVzaXplT2Jz
ZXJ2YXRpb246OmNvbXB1dGVPYnNlcnZlZFNpemVzKCkgY29uc3QgLT4gQm94U2l6ZXMKK3N0ZDo6
b3B0aW9uYWw8UmVzaXplT2JzZXJ2YXRpb246OkJveFNpemVzPiBSZXNpemVPYnNlcnZhdGlvbjo6
Y29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25zdAogewogICAgIGlmIChtX3RhcmdldC0+aXNTVkdF
bGVtZW50KCkpIHsKICAgICAgICAgaWYgKGF1dG8gc3ZnUmVjdCA9IGRvd25jYXN0PFNWR0VsZW1l
bnQ+KCptX3RhcmdldCkuZ2V0Qm91bmRpbmdCb3goKSkgewogICAgICAgICAgICAgYXV0byBzaXpl
ID0gTGF5b3V0U2l6ZShzdmdSZWN0LT53aWR0aCgpLCBzdmdSZWN0LT5oZWlnaHQoKSk7Ci0gICAg
ICAgICAgICByZXR1cm4geyBzaXplLCBzaXplLCBzaXplIH07CisgICAgICAgICAgICByZXR1cm4g
Qm94U2l6ZXMgeyBzaXplLCBzaXplLCBzaXplIH07CiAgICAgICAgIH0KICAgICB9CiAgICAgYXV0
byogYm94ID0gbV90YXJnZXQtPnJlbmRlckJveCgpOwogICAgIGlmIChib3gpIHsKLSAgICAgICAg
cmV0dXJuIHsKKyAgICAgICAgaWYgKG1fdGFyZ2V0LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICByZXR1cm4gQm94U2l6ZXMgewog
ICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRT
aXplKCksICpib3gpLAogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9v
bShib3gtPmNvbnRlbnRMb2dpY2FsU2l6ZSgpLCAqYm94KSwKICAgICAgICAgICAgIGFkanVzdExh
eW91dFNpemVGb3JBYnNvbHV0ZVpvb20oYm94LT5ib3JkZXJCb3hMb2dpY2FsU2l6ZSgpLCAqYm94
KQogICAgICAgICB9OwogICAgIH0KIAotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIEJveFNp
emVzIHsgfTsKIH0KIAogTGF5b3V0UG9pbnQgUmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVUYXJn
ZXRMb2NhdGlvbigpIGNvbnN0CkBAIC0xMDQsMTUgKzEwNiwxNyBAQCBGbG9hdFNpemUgUmVzaXpl
T2JzZXJ2YXRpb246OnNuYXBwZWRDb250ZW50Qm94U2l6ZSgpIGNvbnN0CiBzdGQ6Om9wdGlvbmFs
PFJlc2l6ZU9ic2VydmF0aW9uOjpCb3hTaXplcz4gUmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRT
aXplQ2hhbmdlZCgpIGNvbnN0CiB7CiAgICAgYXV0byBjdXJyZW50U2l6ZXMgPSBjb21wdXRlT2Jz
ZXJ2ZWRTaXplcygpOworICAgIGlmICghY3VycmVudFNpemVzKQorICAgICAgICByZXR1cm4gY3Vy
cmVudFNpemVzOwogCiAgICAgc3dpdGNoIChtX29ic2VydmVkQm94KSB7CiAgICAgY2FzZSBSZXNp
emVPYnNlcnZlckJveE9wdGlvbnM6OkJvcmRlckJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2Vy
dmF0aW9uU2l6ZXMuYm9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLmJvcmRlckJv
eExvZ2ljYWxTaXplKQotICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRTaXplczsKKyAgICAgICAg
aWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuYm9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVu
dFNpemVzLT5ib3JkZXJCb3hMb2dpY2FsU2l6ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVu
dFNpemVzOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9u
czo6Q29udGVudEJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVu
dEJveExvZ2ljYWxTaXplICE9IGN1cnJlbnRTaXplcy5jb250ZW50Qm94TG9naWNhbFNpemUpCi0g
ICAgICAgICAgICByZXR1cm4gY3VycmVudFNpemVzOworICAgICAgICBpZiAobV9sYXN0T2JzZXJ2
YXRpb25TaXplcy5jb250ZW50Qm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5jb250ZW50
Qm94TG9naWNhbFNpemUpCisgICAgICAgICAgICByZXR1cm4gKmN1cnJlbnRTaXplczsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6
ZU9ic2VydmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgK
aW5kZXggNjhiMWMyYTk3NGU2NTMxMjVlOTI4ZmQ0ODgyMTBmNWMyZGYwZDcxMy4uODA1NTRmYzA4
ZGZmMGVmMWM5YWRlNTc4NmNlODE1YTVlMmYxODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVz
aXplT2JzZXJ2YXRpb24uaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IFJlc2l6ZU9ic2VydmF0aW9uKEVsZW1lbnQmLCBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMpOwog
Ci0gICAgQm94U2l6ZXMgY29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9w
dGlvbmFsPEJveFNpemVzPiBjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0OwogICAgIExheW91
dFBvaW50IGNvbXB1dGVUYXJnZXRMb2NhdGlvbigpIGNvbnN0OwogCiAgICAgV2Vha1B0cjxFbGVt
ZW50PiBtX3RhcmdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmlu
ZGV4IGVjOWRlYjllNzE5NWE3N2ZiZThkZTg0NWQxMGM0M2RkZjEyOWY1ODMuLjFlNTRmZWJhZGZm
MDgwMDU3MjZkNjM3OTA4NjdhNzA4MjliM2IwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcApAQCAtNjUyLDYgKzY1Miw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6Omxh
eW91dEJsb2NrKGJvb2wsIExheW91dFVuaXQpCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbUNoaWxkcmVuKCkKIHsKKyAgICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmll
dygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAg
ICByZXR1cm47CiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIGFkZE92ZXJmbG93
RnJvbUlubGluZUNoaWxkcmVuKCk7CiAgICAgZWxzZQpAQCAtNzQzLDYgKzc0NSw4IEBAIHZvaWQg
UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKQogCiB2b2lkIFJlbmRl
ckJsb2NrOjphZGRPdmVyZmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpCiB7CisgICAgaWYgKHNo
b3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCku
aXNMYXlvdXRGb3JjZWQoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIFRyYWNrZWRSZW5kZXJlckxp
c3RIYXNoU2V0KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwog
ICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47CkBAIC0xMDc0
LDcgKzEwNzgsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMo
Ym9vbCByZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXQKICAgICBUcmFja2VkUmVuZGVy
ZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERlc2NlbmRhbnRzID0gcG9zaXRpb25lZE9iamVjdHMo
KTsKICAgICBpZiAoIXBvc2l0aW9uZWREZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJuOwotICAg
IAorCisgICAgaWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5s
YXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkgeworICAgICAgICBmb3IgKGF1dG8gaXQg
PSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJlZ2luKCk7IGl0ICE9IHBvc2l0aW9uZWREZXNjZW5k
YW50cy0+ZW5kKCk7ICsraXQpCisgICAgICAgICAgICAoKippdCkuY2xlYXJOZWVkc0xheW91dCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8gRG8gbm90IGNhY2hlIHBvc2l0aW9u
ZWREZXNjZW5kYW50cy0+ZW5kKCkgaW4gYSBsb2NhbCB2YXJpYWJsZSwgc2luY2UgfHBvc2l0aW9u
ZWREZXNjZW5kYW50c3wgY2FuIGJlIG11dGF0ZWQKICAgICAvLyBhcyBpdCBpcyB3YWxrZWQuIFdl
IGFsd2F5cyBuZWVkIHRvIGZldGNoIHRoZSBuZXcgZW5kKCkgdmFsdWUgZHluYW1pY2FsbHkuCiAg
ICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdpbigpOyBpdCAhPSBw
b3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpOyArK2l0KQpAQCAtMTEzNyw3ICsxMTQ3LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6cGFpbnRDb250ZW50cyhQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50T2YKICAgICAvLyBTdHlsZSBpcyBub24tZmluYWwgaWYgdGhl
IGVsZW1lbnQgaGFzIGEgcGVuZGluZyBzdHlsZXNoZWV0IGJlZm9yZSBpdC4gV2UgZW5kIHVwIHdp
dGggcmVuZGVyZXJzIHdpdGggc3VjaCBzdHlsZXMgaWYgYSBzY3JpcHQKICAgICAvLyBmb3JjZXMg
cmVuZGVyZXIgY29uc3RydWN0aW9uIGJ5IHF1ZXJ5aW5nIHNvbWV0aGluZyBsYXlvdXQgZGVwZW5k
ZW50LgogICAgIC8vIEF2b2lkIEZPVUMgYnkgbm90IHBhaW50aW5nLiBTd2l0Y2hpbmcgdG8gZmlu
YWwgc3R5bGUgdHJpZ2dlcnMgcmVwYWludC4KLSAgICBpZiAoc3R5bGUoKS5pc05vdEZpbmFsKCkp
CisgICAgaWYgKHN0eWxlKCkuaXNOb3RGaW5hbCgpIHx8IHNob3VsZFNraXBDb250ZW50KCkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKQpAQCAtMTI0MCw2ICsx
MjUwLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnMKIHsKICAgICBQYWludFBoYXNlIHBhaW50
UGhhc2UgPSBwYWludEluZm8ucGhhc2U7CiAKKyAgICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQo
KS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKICAgICAvLyAxLiBwYWlu
dCBiYWNrZ3JvdW5kLCBib3JkZXJzIGV0YwogICAgIGlmICgocGFpbnRQaGFzZSA9PSBQYWludFBo
YXNlOjpCbG9ja0JhY2tncm91bmQgfHwgcGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJs
b2NrQmFja2dyb3VuZCkgJiYgc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6Vmlz
aWJsZSkgewogICAgICAgICBpZiAoaGFzVmlzaWJsZUJveERlY29yYXRpb25zKCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDM2NDMxMmIwNDA1
MzFmNmU1ZTBkODExZWE3ZWZlZTAzYmQ5OGQ3YmMuLjk3ODVkZTE5YzA3ZTIyNDk5YzcwYTYxMGJi
MGU0YWQ4ZWNiZTZmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwCkBAIC01MjcsNiArNTI3LDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91
dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEgKICAg
ICAgICAgaWYgKCFmaXJzdENoaWxkKCkgJiYgIWlzQW5vbnltb3VzQmxvY2soKSkKICAgICAgICAg
ICAgIHNldENoaWxkcmVuSW5saW5lKHRydWUpOwogICAgICAgICBkaXJ0eUZvckxheW91dEZyb21Q
ZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMoKTsKKyAgICAgICAgaWYgKHZpZXcoKS5mcmFtZVZp
ZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSAmJiAoKGVsZW1lbnQoKSAmJiBl
bGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkpCisg
ICAgICAgICAgICByZWxheW91dENoaWxkcmVuID0gdHJ1ZTsKICAgICAgICAgaWYgKGNoaWxkcmVu
SW5saW5lKCkpCiAgICAgICAgICAgICBsYXlvdXRJbmxpbmVDaGlsZHJlbihyZWxheW91dENoaWxk
cmVuLCByZXBhaW50TG9naWNhbFRvcCwgcmVwYWludExvZ2ljYWxCb3R0b20pOwogICAgICAgICBl
bHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAppbmRleCA4NTMwZTMzNTVmMmQ2YjhkN2ZmYjZlZGY4M2Q2MDhiY2E0YjlmNTU1Li40ZGYw
ZGI0OTRjM2EzNWUwMjI4MmNkNGJkMjg4YzAxNDcyMWYwNWFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTIxMiw2ICsyMTIs
NyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIGlm
IChzdHlsZVRvVXNlLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXco
KS5mcmFtZVZpZXcoKS5zZXRIYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CiAgICAgc2V0
UGFpbnRDb250YWlubWVudEFwcGxpZXMoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlz
KSk7CisgICAgc2V0TGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCghaXNJbmxpbmUoKSB8fCBpc0F0
b21pY0lubGluZUxldmVsQm94KCkpICYmICFpc1J1YnlUZXh0KCkgJiYgKCFpc1RhYmxlUGFydCgp
IHx8IGlzUmVuZGVyQmxvY2tGbG93KCkpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11
bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGZiYjhiODZlM2Zl
MzZjNTNkOTZiMjM0ZmMxZTEwYzQ1OGU5ODNhNTUuLmY4MDNmZmIwMjY4MTFiZDY0ZjVjODdlYjMw
Mjk0MWU2OGIzMWQyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAKQEAgLTI0NDQsNCArMjQ0NCwxMSBAQCBPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZl
Y3RpdmVPdmVyZmxvd1koKSBjb25zdAogICAgIHJldHVybiBvdmVyZmxvd1k7CiB9CiAKK2Jvb2wg
UmVuZGVyRWxlbWVudDo6c2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghbGF5
b3V0Q29udGFpbm1lbnRBcHBsaWVzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+c2hvdWxkU2tpcENvbnRlbnQoKTsKK30KKwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggZjM3NmNlY2I5NzVj
YTcxOWZkZjY3NmU1YWMwZmI5NWQ4ZTJlZDIyMC4uYjExM2ZmY2NkYTI1ODg0MzYwODVhMmQ2YTAy
MmM2ZTBlZGNiM2YyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
CkBAIC0xNjUsNiArMTY1LDkgQEAgcHVibGljOgogICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmls
aXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgICAgICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmICgoIWhpdFRlc3RSZXF1
ZXN0IHx8ICFoaXRUZXN0UmVxdWVzdC0+aWdub3JlQ1NTUG9pbnRlckV2ZW50c1Byb3BlcnR5KCkp
ICYmIHN0eWxlKCkucG9pbnRlckV2ZW50cygpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTI3NCw2ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAg
T3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVy
biBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1go
KSA6IGVmZmVjdGl2ZU92ZXJmbG93WSgpOyB9CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZs
b3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7
IH0KIAorICAgIGJvb2wgc2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgog
ICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZs
YWcgID0gMSA8PCAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcApp
bmRleCBlMmI0YjA5ZjU3ZGViM2E0NTk4ZjNiZDBjZTY3MzRiMDk3NWIxYzUyLi4yMmJlNTM3N2Fl
ZGU5ZDM2YTE2MWY0OGM3YzAzZjZhOThhNTcwMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmNwcApAQCAtMjI4LDYgKzIyOCw4IEBAIGJvb2wgUmVuZGVySW5saW5l
OjptYXlBZmZlY3RMYXlvdXQoKSBjb25zdAogCiB2b2lkIFJlbmRlcklubGluZTo6cGFpbnQoUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKKyAg
ICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSB8fCAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNT
a2lwcGVkQ29udGVudCgpKSkKKyAgICAgICAgcmV0dXJuOwogICAgIG1fbGluZUJveGVzLnBhaW50
KHRoaXMsIHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAzMGI0YThjMjg3YzA3ZGYyMjMyOTdjZjk2YWMwNTlh
OTIwNTVhMDE2Li44NTMyYzgxNDFhNTk1YjY2MTVjMTRhZTNhYjlhNWI5N2U2NDQ0NjM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTMwNTAsNiArMzA1MCw5
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwYWludEZvckZpeGVkUm9vdEJhY2tncm91bmQoY29uc3Qg
UmVuZGVyTGF5ZXIqIGxheWVyLCBPcHRpb25TCiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5
ZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgcGFp
bnRpbmdJbmZvLCBPcHRpb25TZXQ8UGFpbnRMYXllckZsYWc+IHBhaW50RmxhZ3MpCiB7CisgICAg
aWYgKHJlbmRlcmVyKCkuZWxlbWVudCgpICYmIHJlbmRlcmVyKCkuZWxlbWVudCgpLT5pc1NraXBw
ZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gc2hvdWxkQ29udGludWVQ
YWludCA9IFsmXSAoKSB7CiAgICAgICAgIHJldHVybiBiYWNraW5nKCktPnBhaW50c0ludG9XaW5k
b3coKQogICAgICAgICAgICAgfHwgYmFja2luZygpLT5wYWludHNJbnRvQ29tcG9zaXRlZEFuY2Vz
dG9yKCkKQEAgLTMzNDMsNiArMzM0Niw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJD
b250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiB7CiAg
ICAgQVNTRVJUKGlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNTZWxmUGFpbnRpbmdMYXllckRl
c2NlbmRhbnQoKSk7CiAKKyAgICAvLyBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVy
ZXIoKS5lbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAvLyAgICAgcmV0dXJuOwor
CiAgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgJiYgY29udGV4dC5j
b250ZW5mdWxQYWludERldGVjdGVkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMzU5Miw3ICsz
NTk4LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMaXN0KExheWVyTGlzdCBsYXllckl0ZXJh
dG9yLCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGMKICAgICBpZiAobGF5ZXJJdGVyYXRvci5i
ZWdpbigpID09IGxheWVySXRlcmF0b3IuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlm
ICghaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCisgICAgaWYgKCFoYXNTZWxmUGFp
bnRpbmdMYXllckRlc2NlbmRhbnQoKSB8fCByZW5kZXJlcigpLnNob3VsZFNraXBDb250ZW50KCkp
CiAgICAgICAgIHJldHVybjsKIAogI2lmIEFTU0VSVF9FTkFCTEVECkBAIC00MDcyLDYgKzQwNzgs
OCBAQCBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBSZW5kZXJMYXllcjo6dG9wTGF5ZXJSZW5kZXJMYXll
cnMoUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBsYXll
cnM7CiAgICAgYXV0byB0b3BMYXllckVsZW1lbnRzID0gcmVuZGVyVmlldy5kb2N1bWVudCgpLnRv
cExheWVyRWxlbWVudHMoKTsKICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiB0b3BMYXllckVsZW1l
bnRzKSB7CisgICAgICAgIGlmIChlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJl
cigpOwogICAgICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CkBAIC00
NDg5LDYgKzQ0OTcsOSBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMaXN0KExh
eWVyTGlzdCBsYXllckl0ZXJhdG9yLCBSZW5kZXJMYXllciogcm9vdAogICAgIGlmICghaGFzU2Vs
ZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisg
ICAgaWYgKHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKICAgICBSZW5kZXJMYXllciogcmVzdWx0TGF5ZXIgPSBudWxscHRyOwogCiAgICAg
Zm9yIChhdXRvIGl0ZXIgPSBsYXllckl0ZXJhdG9yLnJiZWdpbigpOyBpdGVyICE9IGxheWVySXRl
cmF0b3IucmVuZCgpOyArK2l0ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggZGE4ZGYyZTkyM2IzNTQ2ZTBmM2Q0YzViMzA1ZWZl
NjU0MDdlNzg2MS4uNWU2NDM3NjA2MzJlYTg0YTQzMTk4MDM4MTRkMTA4ZjdkYTQ5NWUxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAg
LTE1OTgsNyArMTU5OCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVBZnRlckRl
c2NlbmRhbnRzKCkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZSgh
bV9oYXNTdWJwaXhlbFJvdW5kaW5nICYmIG1fb3duaW5nTGF5ZXIuYmFja2dyb3VuZElzS25vd25U
b0JlT3BhcXVlSW5SZWN0KGNvbXBvc2l0ZWRCb3VuZHMoKSkpOwogICAgIH0KIAotICAgIG1fZ3Jh
cGhpY3NMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNv
bnRlbnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpOworICAgIGJv
b2wgaXNTa2lwcGVkQ29udGVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpID8gcmVuZGVyZXIoKS5l
bGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSA6IGZhbHNlOworICAgIG1fZ3JhcGhpY3NMYXll
ci0+c2V0Q29udGVudHNWaXNpYmxlKCFpc1NraXBwZWRDb250ZW50ICYmIChtX293bmluZ0xheWVy
Lmhhc1Zpc2libGVDb250ZW50KCkgfHwgaGFzVmlzaWJsZU5vbkNvbXBvc2l0ZWREZXNjZW5kYW50
cygpKSk7CiAgICAgaWYgKG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXIpIHsKICAgICAgICAgbV9zY3Jv
bGxDb250YWluZXJMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKHJlbmRlcmVyKCkuc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAppbmRleCA4ZDk5MGYx
ZDUzMWJlNjNmMmIyNWQwNjE0NWZiMTMxYzQxMDA3MjZjLi5mMGYxOGUxMTg3NmJmNzkwNTJkNDEz
Njc0YjQxZGMyMTkyNzhmYjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oIgogCisjaW5jbHVk
ZSAiRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXll
ckNvbXBvc2l0b3IuaCIKQEAgLTExNCw2ICsxMTUsMTIgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVs
T2JqZWN0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVy
U3QKICAgICBSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAg
ICAgdXBkYXRlRnJvbVN0eWxlKCk7CiAKKyAgICBpZiAoZWxlbWVudCgpICYmICgob2xkU3R5bGUg
JiYgb2xkU3R5bGUtPmNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gc3R5bGUoKS5jb250ZW50VmlzaWJp
bGl0eSgpKSB8fCAoIW9sZFN0eWxlICYmIHN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSAhPSBD
b250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkpKSB7CisgICAgICAgIGVsZW1lbnQoKS0+dXBkYXRl
Q29udGVudFZpc2liaWxpdHkob2xkU3R5bGUgPyBzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmls
aXR5PihvbGRTdHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSkgOiBzdGQ6Om51bGxvcHQsIHN0eWxl
KCkuY29udGVudFZpc2liaWxpdHkoKSk7CisgICAgICAgIGlmIChzdHlsZSgpLmNvbnRlbnRWaXNp
YmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAgICBkb2N1
bWVudCgpLnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKCk7CisgICAgfQorCiAgICAgaWYg
KHJlcXVpcmVzTGF5ZXIoKSkgewogICAgICAgICBpZiAoIWxheWVyKCkgJiYgbGF5ZXJDcmVhdGlv
bkFsbG93ZWRGb3JTdWJ0cmVlKCkpIHsKICAgICAgICAgICAgIGlmIChzX3dhc0Zsb2F0aW5nICYm
IGlzRmxvYXRpbmcoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggYjRiNjcxMDJkZmU3NGRmNWVhYjE1YzIwZmU0ZWRjNTYxNTJhYzNmMy4uZDUyMDFkNzM4
MjAxZTNiZjJkNGVjZmQxNzZjNjljMDNjYjE0ZDI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQ1NCw2ICs0NTQsOSBAQCBib29sIFJlbmRlck9iamVj
dDo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaQogICAgIGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9k
ZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChpczxFbGVt
ZW50Pihub2RlKCkpICYmIGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKCkpLmlzU2tpcHBlZENvbnRl
bnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgUmVuZGVyTGF5ZXIqIGVuY2xvc2lu
Z0xheWVyID0gdGhpcy0+ZW5jbG9zaW5nTGF5ZXIoKTsKICAgICBpZiAoIWVuY2xvc2luZ0xheWVy
KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xOTg2LDYgKzE5ODksMTIgQEAgdm9pZCBSZW5k
ZXJPYmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgcGFpbnRDb250YWlubWVu
dEFwcGxpZXMpCiAgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuc2V0UGFpbnRDb250YWlubWVudEFw
cGxpZXMocGFpbnRDb250YWlubWVudEFwcGxpZXMpOwogfQogCit2b2lkIFJlbmRlck9iamVjdDo6
c2V0TGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgbGF5b3V0Q29udGFpbm1lbnRBcHBsaWVz
KQoreworICAgIGlmIChsYXlvdXRDb250YWlubWVudEFwcGxpZXMgfHwgaGFzUmFyZURhdGEoKSkK
KyAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMobGF5
b3V0Q29udGFpbm1lbnRBcHBsaWVzKTsKK30KKwogUmVuZGVyT2JqZWN0OjpSYXJlRGF0YU1hcCYg
UmVuZGVyT2JqZWN0OjpyYXJlRGF0YU1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PFJhcmVEYXRhTWFwPiBtYXA7CkBAIC0yMDE1LDYgKzIwMjQsNyBAQCBSZW5kZXJPYmplY3Q6OlJl
bmRlck9iamVjdFJhcmVEYXRhOjpSZW5kZXJPYmplY3RSYXJlRGF0YSgpCiAgICAgLCBtX2lzUmVu
ZGVyRnJhZ21lbnRlZEZsb3coZmFsc2UpCiAgICAgLCBtX2hhc091dGxpbmVBdXRvQW5jZXN0b3Io
ZmFsc2UpCiAgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQorICAgICwgbV9s
YXlvdXRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBkMGY0Y2VjNGJhZGM1MmE2ZTc0YTBmYzgxYjc4MGYy
ZDI1M2FiZjY5Li45NDA3NTNmMWNhNGRjZTVkZWMwOTI2YTQ1YjYyNWNmMWFmMDkyNWY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC00MTYsNiArNDE2LDcgQEAg
cHVibGljOgogICAgIGJvb2wgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIGNvbnN0IHsgcmV0dXJu
IG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5pc1JlbmRlckZyYWdtZW50
ZWRGbG93KCk7IH0KICAgICBib29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3IoKSBjb25zdCB7IHJl
dHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkuaGFzT3V0bGluZUF1
dG9BbmNlc3RvcigpOyB9CiAgICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0
IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5wYWludENv
bnRhaW5tZW50QXBwbGllcygpOyB9CisgICAgYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMo
KSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCku
bGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KIAogICAgIGJvb2wgaXNFeGNsdWRlZEZyb21O
b3JtYWxMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5pc0V4Y2x1ZGVkRnJvbU5v
cm1hbExheW91dCgpOyB9CiAgICAgdm9pZCBzZXRJc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dChi
b29sIGV4Y2x1ZGVkKSB7IG1fYml0ZmllbGRzLnNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0
KGV4Y2x1ZGVkKTsgfQpAQCAtNTE1LDYgKzUxNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElz
UmVuZGVyRnJhZ21lbnRlZEZsb3coYm9vbCA9IHRydWUpOwogICAgIHZvaWQgc2V0SGFzT3V0bGlu
ZUF1dG9BbmNlc3Rvcihib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRQYWludENvbnRhaW5tZW50
QXBwbGllcyhib29sID0gdHJ1ZSk7CisgICAgdm9pZCBzZXRMYXlvdXRDb250YWlubWVudEFwcGxp
ZXMoYm9vbCA9IHRydWUpOwogCiAgICAgLy8gSG9vayBzbyB0aGF0IFJlbmRlclRleHRDb250cm9s
IGNhbiByZXR1cm4gdGhlIGxpbmUgaGVpZ2h0IG9mIGl0cyBpbm5lciByZW5kZXJlci4KICAgICAv
LyBGb3Igb3RoZXIgcmVuZGVyZXJzLCB0aGUgdmFsdWUgaXMgdGhlIHNhbWUgYXMgbGluZUhlaWdo
dChmYWxzZSkuCkBAIC05NDQsNiArOTQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQUREX0JPT0xF
QU5fQklURklFTEQoaXNSZW5kZXJGcmFnbWVudGVkRmxvdywgSXNSZW5kZXJGcmFnbWVudGVkRmxv
dyk7CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGhhc091dGxpbmVBdXRvQW5jZXN0b3Is
IEhhc091dGxpbmVBdXRvQW5jZXN0b3IpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChw
YWludENvbnRhaW5tZW50QXBwbGllcywgUGFpbnRDb250YWlubWVudEFwcGxpZXMpOworICAgICAg
ICBBRERfQk9PTEVBTl9CSVRGSUVMRChsYXlvdXRDb250YWlubWVudEFwcGxpZXMsIExheW91dENv
bnRhaW5tZW50QXBwbGllcyk7CiAKICAgICAgICAgLy8gRnJvbSBSZW5kZXJFbGVtZW50CiAgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gY2FjaGVkRmlyc3RMaW5lU3R5bGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA2OTdjNzQ1
OWJhYWIxOWJlNzg3NzQxZGRlMTJmYjM4ZTc4MmUwZWY0Li42ZGUxMDEzMDliNGQ3YzZhNGJkNTU1
YjU2YTMxZGYxM2M3YjJlYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHAKQEAgLTI3Niw3ICsyNzYsOCBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpwYWlu
dChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQog
ICAgIH0KIAogICAgIGlmICghY29tcGxldGVseUNsaXBwZWRPdXQpIHsKLSAgICAgICAgcGFpbnRS
ZXBsYWNlZChwYWludEluZm8sIGFkanVzdGVkUGFpbnRPZmZzZXQpOworICAgICAgICBpZiAoIXNo
b3VsZFNraXBDb250ZW50KCkpCisgICAgICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5mbywg
YWRqdXN0ZWRQYWludE9mZnNldCk7CiAKICAgICAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFk
aXVzKCkpCiAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dCgpLnJlc3RvcmUoKTsKQEAgLTMx
Niw3ICszMTcsNyBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50TwogICAgIC8vIGlmIHdlJ3JlIGlu
dmlzaWJsZSBvciBoYXZlbid0IHJlY2VpdmVkIGEgbGF5b3V0IHlldCwgdGhlbiBqdXN0IGJhaWwu
CiAgICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIExheW91dFBvaW50IGFkanVzdGVkUGFp
bnRPZmZzZXQgPSBwYWludE9mZnNldCArIGxvY2F0aW9uKCk7CiAKICAgICAvLyBFYXJseSBleGl0
IGlmIHRoZSBlbGVtZW50IHRvdWNoZXMgdGhlIGVkZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwCmluZGV4IGFhZmQ5ZGNkMDU2ODM5Zjg3N2I5MzY3MTZhZGRiNmJjMGNl
YTNiMmQuLjhiZmYxMWIzNjQ2OTk4OWI5ZjhjNTc4MDVkNTkxMmQ0ZmI3YjNiZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE3Niw3ICsxNzYsOSBAQCB2b2lk
IFJlbmRlclZpZXc6OmxheW91dCgpCiAgICAgfQogCiAgICAgQVNTRVJUKCFmcmFtZVZpZXcoKS5s
YXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKSk7Ci0gICAgaWYgKCFuZWVkc0xheW91dCgpKQor
ICAgIGlmIChmcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAg
ICAgICAgc2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOworICAgIGVsc2UgaWYgKCFu
ZWVkc0xheW91dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBMYXlvdXRTdGF0ZU1haW50YWlu
ZXIgc3RhdGVQdXNoZXIoKnRoaXMsIHsgfSwgZmFsc2UsIHZhbHVlT3JEZWZhdWx0KG1fcGFnZUxv
Z2ljYWxTaXplKS5oZWlnaHQoKSwgbV9wYWdlTG9naWNhbEhlaWdodENoYW5nZWQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcAppbmRleCBlZmIzYThiZTBjZTJkMDAy
MTM0Y2YyODNkMzhkOTQwYmY0MDIzMTU4Li40MTY2ZDZkNzA1ZDYxZGM5NjkzNzM4YzYyM2VhNDFi
MmQ0ZWY0ZWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lk
Z2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcApA
QCAtMzI1LDcgKzMyNSw3IEBAIHZvaWQgUmVuZGVyV2lkZ2V0OjpwYWludChQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgICAgICBjbGlwUm91
bmRlZElubmVyUmVjdChwYWludEluZm8uY29udGV4dCgpLCBib3JkZXJSZWN0LCByb3VuZGVkSW5u
ZXJSZWN0KTsKICAgICB9CiAKLSAgICBpZiAobV93aWRnZXQpCisgICAgaWYgKG1fd2lkZ2V0ICYm
ICFzaG91bGRTa2lwQ29udGVudCgpKQogICAgICAgICBwYWludENvbnRlbnRzKHBhaW50SW5mbywg
cGFpbnRPZmZzZXQpOwogCiAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBlOGY0
NGY1MjBkNzg2ZThhNmI0ZTI4YTJiZWExODU5ZTZmOTc4ZjY3Li5mM2M2OWMxZGFkOTA2MDc3MGEw
OTYxMjNiODc5NGY4ZTM3NmVmY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTE5NSw2ICsxOTUsNyBAQCBSZW5kZXJTdHlsZTo6UmVu
ZGVyU3R5bGUoQ3JlYXRlRGVmYXVsdFN0eWxlVGFnKQogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3Mu
bGFzdENoaWxkU3RhdGUgPSBmYWxzZTsKICAgICBtX25vbkluaGVyaXRlZEZsYWdzLmlzTGluayA9
IGZhbHNlOwogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MuaGFzQ29udGVudE5vbmUgPSBmYWxzZTsK
KyAgICBtX25vbkluaGVyaXRlZEZsYWdzLnNraXBzQ29udGVudHMgPSBmYWxzZTsKICAgICBtX25v
bkluaGVyaXRlZEZsYWdzLnN0eWxlVHlwZSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihQc2V1ZG9J
ZDo6Tm9uZSk7CiAgICAgbV9ub25Jbmhlcml0ZWRGbGFncy5wc2V1ZG9CaXRzID0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpOb25lKTsKIApAQCAtNzQ3LDYgKzc0OCw5IEBAIHN0YXRp
YyBib29sIHJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlm
IChmaXJzdC5jb250ZW50VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisg
ICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKGZpcnN0LmlucHV0U2VjdXJpdHkgIT0gc2Vj
b25kLmlucHV0U2VjdXJpdHkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xMDU2LDYgKzEw
NjAsOSBAQCBzdGF0aWMgYm9vbCByYXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVw
YWludChjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZQogICAgIGlmIChmaXJzdC5zaGFwZU91dHNp
ZGUgIT0gc2Vjb25kLnNoYXBlT3V0c2lkZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBp
ZiAoZmlyc3QuY29udGVudFZpc2liaWxpdHkgIT0gc2Vjb25kLmNvbnRlbnRWaXNpYmlsaXR5KQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBwcm9iYWJs
eSBiZSBtb3ZlZCB0byBjaGFuZ2VSZXF1aXJlc0xheWVyUmVwYWludCgpLgogICAgIGlmIChmaXJz
dC5jbGlwUGF0aCAhPSBzZWNvbmQuY2xpcFBhdGgpIHsKICAgICAgICAgY2hhbmdlZENvbnRleHRT
ZW5zaXRpdmVQcm9wZXJ0aWVzLmFkZChTdHlsZURpZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJv
cGVydHk6OkNsaXBQYXRoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKaW5kZXggMDE5ZTZlYzcyNGVjYTk5ZDU5Mjg5MWUzMmYyMDRhOWQzYzAxZTMxYy4u
OTdjNDQ2NTcxNTNiNDQyNWMxZDFlNDJmNDllM2IxMzllNWQ1NTgyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCwxMSArNTI4LDEzIEBA
IHB1YmxpYzoKICAgICB9CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJu
IGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0
aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25T
ZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluOyB9CisgICAgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxp
dHkoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250ZW50VmlzaWJpbGl0eT4obV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+Y29udGVudFZpc2liaWxpdHkpOyB9CisgICAgYm9vbCBjb250ZW50
VmlzaWJpbGl0eUhpZGRlbigpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRWaXNpYmlsaXR5KCkgPT0g
Q29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4g
ZWZmZWN0aXZlQ29udGFpbm1lbnQoKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkg
Y29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVu
dDo6TGF5b3V0KTsgfQotICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gZWZm
ZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KLSAgICBi
b29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgp
LmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSk7IH0KLSAgICBib29sIGNvbnRhaW5zUGFpbnQo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpQYWludCk7IH0KKyAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4g
ZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KSB8fCBz
a2lwc0NvbnRlbnRzKCk7IH0KKyAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpIHx8IHNr
aXBzQ29udGVudHMoKTsgfQorICAgIGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJu
IGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxlKSB8fCBj
b250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAg
Ym9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQo
KS5jb250YWlucyhDb250YWlubWVudDo6UGFpbnQpIHx8IGNvbnRlbnRWaXNpYmlsaXR5KCkgIT0g
Q29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0KICAgICBDb250YWluZXJUeXBlIGNvbnRhaW5l
clR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250YWluZXJUeXBlPihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJUeXBlKTsgfQogICAgIGNvbnN0IFZlY3RvcjxBdG9t
U3RyaW5nPiYgY29udGFpbmVyTmFtZXMoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluZXJOYW1lczsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KQEAgLTEwNjUsNiArMTA2Nyw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbnRhaW5lclR5cGUoQ29udGFpbmVyVHlwZSBjb250
YWluZXJUeXBlKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGFpbmVyVHlw
ZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbnRhaW5lclR5cGUpKTsgfQogICAgIHZvaWQgc2V0
Q29udGFpbmVyTmFtZXMoY29uc3QgVmVjdG9yPEF0b21TdHJpbmc+JiBuYW1lcykgeyBTRVRfVkFS
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lck5hbWVzLCBuYW1lcyk7IH0KIAorICAg
IHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHkgdmFsdWUpIHsgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBjb250ZW50VmlzaWJpbGl0eSwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHZhbHVlKSk7IH0KKwogICAgIHZvaWQgc2V0TGlzdFN0eWxlU3RyaW5nVmFs
dWUoY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRh
LCBsaXN0U3R5bGVTdHJpbmdWYWx1ZSwgdmFsdWUpOyB9CiAgICAgdm9pZCBzZXRMaXN0U3R5bGVU
eXBlKExpc3RTdHlsZVR5cGUgdikgeyBtX2luaGVyaXRlZEZsYWdzLmxpc3RTdHlsZVR5cGUgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4odik7IH0KICAgICB2b2lkIHNldExpc3RTdHlsZUltYWdlKFJl
ZlB0cjxTdHlsZUltYWdlPiYmKTsKQEAgLTE0OTUsNiArMTQ5OSw4IEBAIHB1YmxpYzoKICAgICBj
b25zdCBTdHJpbmcmIGNvbnRlbnRBbHRUZXh0KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNBdHRyQ29u
dGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmhhc0F0dHJDb250
ZW50OyB9CiAgICAgdm9pZCBzZXRIYXNBdHRyQ29udGVudCgpOworICAgIGJvb2wgc2tpcHNDb250
ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fbm9uSW5oZXJpdGVkRmxhZ3Muc2tpcHNDb250ZW50czsg
fQorICAgIHZvaWQgc2V0U2tpcHNDb250ZW50cyhib29sIHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFn
cy5za2lwc0NvbnRlbnRzID0gdjsgfQogCiAgICAgY29uc3QgQ291bnRlckRpcmVjdGl2ZU1hcCog
Y291bnRlckRpcmVjdGl2ZXMoKSBjb25zdDsKICAgICBDb3VudGVyRGlyZWN0aXZlTWFwJiBhY2Nl
c3NDb3VudGVyRGlyZWN0aXZlcygpOwpAQCAtMTY4MCw2ICsxNjg2LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGluaXRpYWxDb250YWlubWVudCgpIHsgcmV0
dXJuIE9wdGlvblNldDxDb250YWlubWVudD4geyB9OyB9CiAgICAgc3RhdGljIE9wdGlvblNldDxD
b250YWlubWVudD4gc3RyaWN0Q29udGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29udGFp
bm1lbnQ+IHsgQ29udGFpbm1lbnQ6OlNpemUsIENvbnRhaW5tZW50OjpMYXlvdXQsIENvbnRhaW5t
ZW50OjpQYWludCwgQ29udGFpbm1lbnQ6OlN0eWxlIH07IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0
PENvbnRhaW5tZW50PiBjb250ZW50Q29udGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29u
dGFpbm1lbnQ+IHsgQ29udGFpbm1lbnQ6OkxheW91dCwgQ29udGFpbm1lbnQ6OlBhaW50LCBDb250
YWlubWVudDo6U3R5bGUgfTsgfQorICAgIHN0YXRpYyBDb250ZW50VmlzaWJpbGl0eSBpbml0aWFs
Q29udGVudFZpc2liaWxpdHkoKSB7IHJldHVybiBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZTsg
fQogICAgIHN0YXRpYyBDb250YWluZXJUeXBlIGluaXRpYWxDb250YWluZXJUeXBlKCkgeyByZXR1
cm4gQ29udGFpbmVyVHlwZTo6Tm9uZTsgfQogICAgIHN0YXRpYyBWZWN0b3I8QXRvbVN0cmluZz4g
aW5pdGlhbENvbnRhaW5lck5hbWVzKCkgeyByZXR1cm4geyB9OyB9CiAgICAgc3RhdGljIGRvdWJs
ZSBpbml0aWFsQXNwZWN0UmF0aW9XaWR0aCgpIHsgcmV0dXJuIDEuMDsgfQpAQCAtMTk1Myw2ICsx
OTYwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgbGFzdENoaWxkU3RhdGUgOiAxOwog
ICAgICAgICB1bnNpZ25lZCBpc0xpbmsgOiAxOwogICAgICAgICB1bnNpZ25lZCBoYXNDb250ZW50
Tm9uZSA6IDE7CisgICAgICAgIHVuc2lnbmVkIHNraXBzQ29udGVudHMgOiAxOwogCiAgICAgICAg
IHVuc2lnbmVkIHN0eWxlVHlwZSA6IDQ7IC8vIFBzZXVkb0lkCiAgICAgICAgIHVuc2lnbmVkIHBz
ZXVkb0JpdHMgOiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpGaXJzdEludGVybmFs
UHNldWRvSWQpIC0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpGaXJzdFB1YmxpY1Bz
ZXVkb0lkKSk7CkBAIC0yMDkwLDYgKzIwOTgsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJTdHlsZTo6
Tm9uSW5oZXJpdGVkRmxhZ3M6Om9wZXJhdG9yPT0oY29uc3QgTm9uSW5oZXJpdGVkRmxhZ3MmCiAg
ICAgICAgICYmIGxhc3RDaGlsZFN0YXRlID09IG90aGVyLmxhc3RDaGlsZFN0YXRlCiAgICAgICAg
ICYmIGlzTGluayA9PSBvdGhlci5pc0xpbmsKICAgICAgICAgJiYgaGFzQ29udGVudE5vbmUgPT0g
b3RoZXIuaGFzQ29udGVudE5vbmUKKyAgICAgICAgJiYgc2tpcHNDb250ZW50cyA9PSBvdGhlci5z
a2lwc0NvbnRlbnRzCiAgICAgICAgICYmIHN0eWxlVHlwZSA9PSBvdGhlci5zdHlsZVR5cGUKICAg
ICAgICAgJiYgcHNldWRvQml0cyA9PSBvdGhlci5wc2V1ZG9CaXRzOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRl
eCAwYTk0YjZkZjNkNDc0OGI0MmFhMzdjY2NlZGMzN2JjOTM3NTI2YWZiLi4xYTUwNDU0MTAxMGQ2
OGVmZjRjMTgzNjQ2YTllOTk3ZDYyYWEzYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTIzOCw2ICsxMjM4
LDEyIEBAIGVudW0gY2xhc3MgQ29udGFpbmVyVHlwZSA6IHVpbnQ4X3QgewogICAgIElubGluZVNp
emUsCiB9OwogCitlbnVtIGNsYXNzIENvbnRlbnRWaXNpYmlsaXR5IDogdWludDhfdCB7CisgICAg
VmlzaWJsZSwKKyAgICBBdXRvLAorICAgIEhpZGRlbiwKK307CisKIENTU0JveFR5cGUgdHJhbnNm
b3JtQm94VG9DU1NCb3hUeXBlKFRyYW5zZm9ybUJveCk7CiAKIGV4dGVybiBjb25zdCBmbG9hdCBk
ZWZhdWx0TWl0ZXJMaW1pdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAppbmRleCAxOTI0OWVmMGU5
ZmEyOGZjNTQwYmRkYjBjNGNjNGMyMWYxNjAwMGYyLi43NzM0YWE2ZTZjZGQ2NTgxMTI1OGY2YzMz
N2ZjZWU4M2UwOWYxYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCkBAIC05NSw2ICs5NSw3
IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEo
KQogICAgICwgZWZmZWN0aXZlQXBwZWFyYW5jZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVy
U3R5bGU6OmluaXRpYWxBcHBlYXJhbmNlKCkpKQogICAgICwgdGV4dERlY29yYXRpb25TdHlsZShz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvblN0
eWxlKCkpKQogICAgICwgYXNwZWN0UmF0aW9UeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5k
ZXJTdHlsZTo6aW5pdGlhbEFzcGVjdFJhdGlvVHlwZSgpKSkKKyAgICAsIGNvbnRlbnRWaXNpYmls
aXR5KHN0YXRpY19jYXN0PHVuc2lnbmVkPihDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkpCiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAsIGVmZmVjdGl2ZUJsZW5kTW9kZShzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxCbGVuZE1vZGUoKSkpCiAgICAg
LCBpc29sYXRpb24oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsSXNv
bGF0aW9uKCkpKQpAQCAtMTk5LDYgKzIwMCw3IEBAIGlubGluZSBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbkluCiAg
ICAgLCBlZmZlY3RpdmVBcHBlYXJhbmNlKG8uZWZmZWN0aXZlQXBwZWFyYW5jZSkKICAgICAsIHRl
eHREZWNvcmF0aW9uU3R5bGUoby50ZXh0RGVjb3JhdGlvblN0eWxlKQogICAgICwgYXNwZWN0UmF0
aW9UeXBlKG8uYXNwZWN0UmF0aW9UeXBlKQorICAgICwgY29udGVudFZpc2liaWxpdHkoby5jb250
ZW50VmlzaWJpbGl0eSkKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgZWZmZWN0
aXZlQmxlbmRNb2RlKG8uZWZmZWN0aXZlQmxlbmRNb2RlKQogICAgICwgaXNvbGF0aW9uKG8uaXNv
bGF0aW9uKQpAQCAtMzIwLDYgKzMyMiw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAgICAg
ICAgICYmIGFwcGxlUGF5QnV0dG9uVHlwZSA9PSBvLmFwcGxlUGF5QnV0dG9uVHlwZQogI2VuZGlm
CiAgICAgICAgICYmIGFzcGVjdFJhdGlvVHlwZSA9PSBvLmFzcGVjdFJhdGlvVHlwZQorICAgICAg
ICAmJiBjb250ZW50VmlzaWJpbGl0eSA9PSBvLmNvbnRlbnRWaXNpYmlsaXR5CiAgICAgICAgICYm
IG9iamVjdEZpdCA9PSBvLm9iamVjdEZpdAogICAgICAgICAmJiBicmVha0FmdGVyID09IG8uYnJl
YWtBZnRlcgogICAgICAgICAmJiBicmVha0JlZm9yZSA9PSBvLmJyZWFrQmVmb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuaAppbmRleCBjYTE1N2Y4MzM0ZTRmOTAxNjFjZTViMTk2ODhmNzc3NmRhODdmN2Y2
Li5jYjNlNDFlODhlODlhMDkwODI0NzY2MmIxNTQzMWE2MGRjYzlmMDk3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmgKQEAgLTIwOCw3ICsyMDgsOCBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCB0ZXh0
RGVjb3JhdGlvblN0eWxlIDogMzsgLy8gVGV4dERlY29yYXRpb25TdHlsZQogCi0gICAgdW5zaWdu
ZWQgYXNwZWN0UmF0aW9UeXBlIDogMzsKKyAgICB1bnNpZ25lZCBhc3BlY3RSYXRpb1R5cGUgOiAy
OworICAgIHVuc2lnbmVkIGNvbnRlbnRWaXNpYmlsaXR5IDogMjsKIAogI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCiAgICAgdW5zaWduZWQgZWZmZWN0aXZlQmxlbmRNb2RlOiA1OyAvLyBFQmxl
bmRNb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCmluZGV4IDA3MDMwZDdm
ODcxZjNjNTQ3YTRlMjZkZmNlYWRlNWQxMzAyOWUyNWIuLmIwNDY4NzE4Y2UwNGYzZGE0M2U4NDVk
OTNiYWY2M2Y1NWIyMjQzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
QWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3Bw
CkBAIC01NDYsNiArNTQ2LDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYg
c3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB1c2VyQWdlbnRBcHBlYXJhbmNlCiAKICAgICBpZiAo
bV9lbGVtZW50KQogICAgICAgICBzdHlsZS5zZXRFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoY29t
cHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcygqbV9lbGVtZW50LCBtX3BhcmVudFN0eWxlLmV2
ZW50TGlzdGVuZXJSZWdpb25UeXBlcygpKSk7CisgICAgaWYgKHN0eWxlLmNvbnRlbnRWaXNpYmls
aXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pCisgICAgICAgIHN0eWxlLnNldFNraXBz
Q29udGVudHMobV9lbGVtZW50ICYmIG1fZWxlbWVudC0+c2hvdWxkU2tpcENvbnRlbnQoKSk7Cisg
ICAgZWxzZQorICAgICAgICBzdHlsZS5zZXRTa2lwc0NvbnRlbnRzKHN0eWxlLmNvbnRlbnRWaXNp
YmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbik7CiAKICNpZiBFTkFCTEUoVEVY
VF9BVVRPU0laSU5HKQogICAgIGlmIChtX2VsZW1lbnQgJiYgbV9kb2N1bWVudC5zZXR0aW5ncygp
LnRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGU4ODRlNWJjZmFjNWRkNDg1MDlkZWQyMzllZTJl
ZjY2YWYzZTE0ZWQuLjA5Mjc1YzNlYjJkYWNjNmNlZDA3NzQ0YTFlMjBjMThiNzU1NTI5MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC04MSw2ICs4MSw3
IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDbGlwKTsK
ICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb250YWluKTsKICAgICBERUNM
QVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb250ZW50KTsKKyAgICBERUNMQVJFX1BST1BF
UlRZX0NVU1RPTV9IQU5ETEVSUyhDb250ZW50VmlzaWJpbGl0eSk7CiAgICAgREVDTEFSRV9QUk9Q
RVJUWV9DVVNUT01fSEFORExFUlMoQ291bnRlckluY3JlbWVudCk7CiAgICAgREVDTEFSRV9QUk9Q
RVJUWV9DVVNUT01fSEFORExFUlMoQ291bnRlclJlc2V0KTsKICAgICBERUNMQVJFX1BST1BFUlRZ
X0NVU1RPTV9IQU5ETEVSUyhDdXJzb3IpOwpAQCAtMTI4Nyw2ICsxMjg4LDI3IEBAIGlubGluZSB2
b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb250YWluKEJ1aWxkZXJTdGF0ZSYgYnVpbGRl
clN0YXRlLCBDU1NWYWx1CiAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRh
aW4oY29udGFpbm1lbnQpOwogfQogCitpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseUlu
aXRpYWxDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK3sKKyAg
ICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShSZW5kZXJTdHlsZTo6
aW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkpOworfQorCitpbmxpbmUgdm9pZCBCdWlsZGVyQ3Vz
dG9tOjphcHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJT
dGF0ZSkKK3sKKyAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShm
b3J3YXJkSW5oZXJpdGVkVmFsdWUoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkuY29udGVudFZp
c2liaWxpdHkoKSkpOworfQorCitpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
Q29udGVudFZpc2liaWxpdHkoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHVlJiB2
YWx1ZSkKK3sKKyAgICBpZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgeworICAgICAg
ICBpZiAoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS52YWx1ZUlEKCkgPT0gQ1NT
VmFsdWVIaWRkZW4pCisgICAgICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0
Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbik7CisgICAgICAgIGlm
IChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLnZhbHVlSUQoKSA9PSBDU1NWYWx1
ZUF1dG8pCisgICAgICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVu
dFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHk6OkF1dG8pOworICAgICAgICByZXR1cm4gYnVp
bGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoUmVuZGVyU3R5bGU6OmluaXRp
YWxDb250ZW50VmlzaWJpbGl0eSgpKTsKKyAgICB9Cit9CisKIGlubGluZSB2b2lkIEJ1aWxkZXJD
dXN0b206OmFwcGx5VmFsdWVUZXh0RW1waGFzaXNTdHlsZShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJT
dGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGlmIChpczxDU1NWYWx1ZUxpc3Q+KHZhbHVl
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAppbmRleCA5NWEyNmZmODM2MWFjNjFj
MzFjMGUzMjFhNTdhNmEzMTJkMTRmYjFmLi4wYWUyZjkxNTZmZDZmNDE5Y2JiMjJiZmJmNjg3OTA5
ZDUxZjg4ZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcApAQCAtNjYsNyArNjYs
NyBAQCBGbG9hdFJlY3QgU1ZHTG9jYXRhYmxlOjpnZXRCQm94KFNWR0VsZW1lbnQqIGVsZW1lbnQs
IFN0eWxlVXBkYXRlU3RyYXRlZ3kgc3R5bGVVcAogewogICAgIEFTU0VSVChlbGVtZW50KTsKICAg
ICBpZiAoc3R5bGVVcGRhdGVTdHJhdGVneSA9PSBBbGxvd1N0eWxlVXBkYXRlKQotICAgICAgICBl
bGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygp
OworICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwg
RG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogCiAgICAgLy8gRklYTUU6IEV2ZW50dWFsbHkg
d2Ugc2hvdWxkIHN1cHBvcnQgZ2V0QkJveCBmb3IgZGV0YWNoZWQgZWxlbWVudHMuCiAgICAgaWYg
KCFlbGVtZW50LT5yZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmNwcAppbmRleCBjMTQ1M2JmYzYwNDA4Yzk1MDc0NjA3N2Q3NjFlZTE0ZDcyOTY1
MWZiLi44MDNjZjkwZGUzMmMxZGRhM2MwYjgyNTIxN2ExYzk3ZjdlN2YwZmEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtNTUsMTMgKzU1LDEz
IEBAIFNWR1RleHRDb250ZW50RWxlbWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtCiAKIHVuc2lnbmVkIFNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0TnVtYmVyT2ZDaGFycygpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3lu
Y2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIHJldHVybiBTVkdU
ZXh0UXVlcnkocmVuZGVyZXIoKSkubnVtYmVyT2ZDaGFyYWN0ZXJzKCk7CiB9CiAKIGZsb2F0IFNW
R1RleHRDb250ZW50RWxlbWVudDo6Z2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCkKIHsKLSAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3Vt
ZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Q
b3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olll
cyk7CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS50ZXh0TGVuZ3RoKCk7CiB9
CiAKQEAgLTEwOSw3ICsxMDksNyBAQCBFeGNlcHRpb25PcjxmbG9hdD4gU1ZHVGV4dENvbnRlbnRF
bGVtZW50OjpnZXRSb3RhdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQogCiBpbnQgU1ZHVGV4
dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVtQXRQb3NpdGlvbihET01Qb2ludEluaXQmJiBwb2lu
dEluaXQpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1l
bnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIEZsb2F0UG9pbnQgdHJhbnNmb3JtUG9pbnQge3N0
YXRpY19jYXN0PGZsb2F0Pihwb2ludEluaXQueCksIHN0YXRpY19jYXN0PGZsb2F0Pihwb2ludElu
aXQueSl9OwogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSkuY2hhcmFjdGVyTnVt
YmVyQXRQb3NpdGlvbih0cmFuc2Zvcm1Qb2ludCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmIxZjE5MTY1ZjFjMmMx
YmMxNzAyMGRmMDEwYTQ3YjY1ZWJmZWNlYy4uMWM5NTdmNDY0NGZiN2U0ZTFkMGRjYmNmMDk3N2E0
ZTUxNjIzNjIzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAyLTIyICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3BlcnR5IGNv
bnRlbnQtdmlzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIyLTAyLTIxICBDYW1lcm9uIE1jQ29y
bWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBpbnB1dCBlbGVtZW50IFVB
IHNoYWRvdyB0cmVlIGNyZWF0aW9uIGxhenkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IGZkOTQzZmRmMGY0NjlhNTVkNzQxMGNhN2ZiZWUzMzhiNGVjMmM0ZWIuLjFlYzkzM2ZhZGU2
NWYzMzQwNDdjMTY2MzQ5YjIyNzc0ZjNlOTY1Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSArMSwzMyBAQAorMjAyMi0wMi0yMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9wZXJ0eSBjb250ZW50LXZpc2liaWxp
dHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjIz
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0
aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAxNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAy
OS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0Ny1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0OC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA4MC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktY29tcHV0
ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlk
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQtYXV0
by5odG1sOgorCiA9PSBSb2xsZWQgb3ZlciB0byBDaGFuZ2VMb2ctMjAyMi0wMi0yMiA9PQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNGMzNmRkNjQ1ZTA1YzM2YWVhYTQ5ZWY4ZDFlMmU1ZmQ1NmEzYTQz
My4uMGZmZDIwZmZkYWZlZDVhYzk3NmVkNzAyZjZiNDM4MTNiOTAxZTVjNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCkBAIC00NjI3LDQ0ICs0NjI3LDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT24KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwOC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwOS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAx
MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAxOS5zdWIuaHR0cHMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzMuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM0Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM3Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQwLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDQ1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDUxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDU2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDU4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDY0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDY3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDc1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDc2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDg0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktd2l0aC10b3AtbGF5ZXItMDAwLnRl
bnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LXdpdGgtdG9wLWxheWVyLTAwMS50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0wMDIudGVu
dGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9lbGVtZW50LXJlYXNz
aWduZWQtdG8tc2tpcHBlZC1zbG90Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9lbGVtZW50LXJlYXNzaWduZWQtdG8tc2xvdC1pbi1za2lwcGVkLXN1YnRyZWUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY291bnRlci1zY29waW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb3VudGVyLXNj
b3BpbmctMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3F1b3RlLXNjb3BpbmctMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAppbmRleCA5YjI1
NDcxNDJkODU1YjFkMzhkZTA0MDEzYWZhZDAwMzJmMGQ1Zjk2Li5iZDc5MzYyZTI2MGIzYTQzYzYx
NzIyZjIxZWU3OGRlODA1NzIzNDZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXht
bC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0
CkBAIC0xMDAsNiArMTAwLDcgQEAgUEFTUyBjb250YWluCiBQQVNTIGNvbnRhaW5lci1uYW1lCiBQ
QVNTIGNvbnRhaW5lci10eXBlCiBQQVNTIGNvbnRlbnQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5
CiBQQVNTIGNvdW50ZXItaW5jcmVtZW50CiBQQVNTIGNvdW50ZXItcmVzZXQKIFBBU1MgY3Vyc29y
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9j
ay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXkt
bG9jay1leHBlY3RlZC50eHQKaW5kZXggNGM4MjQwZDhkODI2NmJiN2NlODZiNjFmMDljYjY5NmZh
YzY4NmQ3Ni4uMThjZWU4NGUwZjc5NzI5YTgxMTAyMWIyZTYyZDZlMTM0MTM2M2NkMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2Nr
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBBbmltYXRpb24gZXZlbnRzIGRv
IG5vdCBmaXJlIGZvciBhIENTUyBhbmltYXRpb24gcnVubmluZyBpbiBhIGRpc3BsYXkgbG9ja2Vk
IHN1YnRyZWUgYXNzZXJ0X2ZhbHNlOiBBbmltYXRpb24gZXZlbnRzIGRvIG5vIGZpcmUgd2hpbGUg
dGhlIGFuaW1hdGlvbiBpcyBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZSBleHBl
Y3RlZCBmYWxzZSBnb3QgdHJ1ZQorRkFJTCBBbmltYXRpb24gZXZlbnRzIGRvIG5vdCBmaXJlIGZv
ciBhIENTUyBhbmltYXRpb24gcnVubmluZyBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUgYXNz
ZXJ0X3RydWU6IFRoZSBhbmltYXRpb25pdGVyYXRpb24gZXZlbnQgZmlyZXMgb25jZSB0aGUgYW5p
bWF0aW9uIGlzIG5vIGxvbmdlciBkaXNwbGF5IGxvY2tlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCByZXNvbHZlIGR1ZSB0byB0aGUg
bm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9yIGEgQ1NTIGFuaW1hdGlvbiBpbiBhIGRpc3BsYXkg
bG9ja2VkIHN1YnRyZWUKIFBBU1MgVGhlIGZpbmlzaGVkIHByb21pc2UgZG9lcyBub3QgcmVzb2x2
ZSBkdWUgdG8gdGhlIG5vcm1hbCBwYXNzYWdlIG9mIHRpbWUgIGZvciBhIENTUyB0cmFuc2l0aW9u
IGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZQogRkFJTCBFdmVudHMgYW5kIHByb21pc2VzIGFy
ZSBoYW5kbGVkIG5vcm1hbGx5IGZvciBhbmltYXRpb25zIHdpdGhvdXQgYW4gb3duaW5nIGVsZW1l
bnQgYXNzZXJ0X3RydWU6IEFuaW1hdGlvbiBldmVudCBub3QgYmxvY2tlZCBvbiBkaXNwbGF5IGxv
Y2tlZCBzdWJ0cmVlIGlmIG5vIG93bmluZyBlbGVtZW50IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAx
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAxNS1leHBlY3RlZC50eHQKaW5kZXggNWQ2ZjFmNmRlZjY1YTVhYTY0MjBmMDAxODQ4ZGI4ZDQ1
ZTMwZmJkZC4uZGJlNDhhZjkyMTc2NGEyOGE0YzY1YjQxYmI2YzU0N2M0OTQ0NzI5ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6
IGhpdCB0ZXN0aW5nIGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4cGVjdGVkICJv
dXRlciIgYnV0IGdvdCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3Rp
bmcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMTYtZXhwZWN0ZWQudHh0CmluZGV4IDliNzkxNDBjZGEyZDQzYzg0ZmFjODI3NDg0MThk
OTNmYTNkNTQxNzcuLjQ1MWE0YTM1ZWFmOGQ1YTlmMmNkYjc4YjJkZjk0NTIzMDI1MzY5M2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAxNi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmls
aXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCkgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMg
b3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNp
YmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CmluZGV4
IDlmYjA4OGE3ODRiYzViMDNmMGY0OTJjZTY3MGQ3ZjBjMGU5MDBiZWMuLmY2ZjY4MGU4MmJlYTgw
ZjI2MzA3MGZhNmUzYTcxZTE2MmZjN2MxYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSwzIEBACiAKLUZBSUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRl
ZCBjaGlsZCkgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVy
IiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAo
Y29tcG9zaXRlZCBjaGlsZCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0CmluZGV4IGUyOTJlZjcyMTYxYjA4
NDk3ZGEyMjM4Njc0N2EzNTQ5YTY2Y2IwNjEuLmI5YjgzMzUyZjhiZWYxNDY2OWJlYTcyOTA0Mjhm
NDJjZGQzZmY0YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
Q29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyAoY29tcG9zaXRlZCB3aXRoIGEgY29tcG9z
aXRlZCBjaGlsZCkgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91
dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGlu
ZyAoY29tcG9zaXRlZCB3aXRoIGEgY29tcG9zaXRlZCBjaGlsZCkKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0
CmluZGV4IDczZGE0OGRkYjRhZGM5OGJlZmE4M2IyOGMzNTQ5ZmY0OGRiMDVmYTAuLjgzOTkzYzlk
MDg1NDQ2MjIyZGY2ZWUwZDVkY2Q1ZGMxOTExZjBlYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSw0IEBACiAKLUZBSUwgY29udGVudC12aXNpYmlsaXR5OmhpZGRlbiBkb2VzIG5vdCBh
ZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IChzdHJpbmcpICJoaWRkZW4iIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIGNv
bnRlbnQtdmlzaWJpbGl0eTphdXRvIGRvZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAn
Y29udGFpbicgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImF1dG8iIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIGNvbnRlbnQtdmlzaWJpbGl0eTpoaWRkZW4gZG9l
cyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9mICdjb250YWluJworUEFTUyBjb250ZW50LXZp
c2liaWxpdHk6YXV0byBkb2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4n
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDI5LWV4cGVjdGVkLnR4dAppbmRleCAzYTBlYThjOGM5NzkxMjA2M2RlMDgzNjU1ODJkY2Iz
NTc0YzYyYTNmLi4xY2Y0ZDBmNjIyNWNhZGE0NWY4ZDA2ZmY1NmViZDJiZGI0ZTQ4YzNlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MjktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNp
YmxlLgotVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgdmlzaWJsZS4KLVRoaXMgdGV4dCBpcyBhbHNv
IG5vdCB2aXNpYmxlLgogCi1GQUlMIGlubmVyVGV4dCBvbiBsb2NrZWQgZWxlbWVudC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgdGV4dCBzaG91bGQgYmUgdmlzaWJsZS4iIGJ1dCBnb3Qg
IlRoaXMgdGV4dCBzaG91bGQgYmUgdmlzaWJsZS5cblRoaXMgdGV4dCBzaG91bGQgbm90IGJlIHZp
c2libGUuXG5UaGlzIHRleHQgaXMgYWxzbyBub3QgdmlzaWJsZS4iCitQQVNTIGlubmVyVGV4dCBv
biBsb2NrZWQgZWxlbWVudC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0CmluZGV4IGRlYWE1NzdjZGRjYjk2
OGYwMzk5YTI3NmQxY2I3NDU4YjlkNjljNDkuLjgyOWMyOTZiYzBkNzRmYzgxZmUwMTk3ZTAyOWVk
NTBmYmE4Y2U3YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJhY3Rpb25zIGFzc2VydF9lcXVhbHM6IHJ1blN0ZXAy
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCitQQVNTIEludGVyc2VjdGlvbk9ic2VydmVyIGludGVyYWN0
aW9ucwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAzMS1leHBlY3RlZC50eHQKaW5kZXggNWNjOGI4Mjk2ZmY3YmE2OGNhZTY2ZTA3ZTE2
ZjIwOWIyZGI1YzhlOS4uMWNjNmMxYzBhYzgwN2Y2ZWMzMzQwZmRjYWE4ZGU2OTk2OGNhZmY5NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDMxLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFVu
aGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogRXJyb3I6IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9i
c2V2ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5nIHdoaWxlIHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1
ZSBidXQgZ290IGZhbHNlCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5k
bGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogUmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1
biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQot
VElNRU9VVCBSZXNpemVPYnNlcnZlciBza2lwcGVkIHdoaWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91
dAotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246
IGFzc2VydF9lcXVhbHM6IFJlc2l6ZU9ic2V2ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5nIHdoaWxl
IHVucmVuZGVyZWQgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCi0KLVRJTUVPVVQgUmVzaXpl
T2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRkZW4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgUmVzaXpl
T2JzZXJ2ZXIgc2tpcHBlZCB3aGlsZSBoaWRkZW4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CmluZGV4IDBl
ODgwZTA1NWYwNDE3MGNkN2U2N2M5NmZhOTcwNWM0NGU1ODc1NDAuLmJjZmM3ODlmYTQwYTMzZTMx
NWMzNTNhYTRhMWJhYmNlZGU2Mzk5ZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgTWVhc3VyZSBGb3JjZWQgTGF5b3V0IGFzc2VydF9lcXVhbHM6IHNwYWNlciBm
b3JjZWQgZXhwZWN0ZWQgOCBidXQgZ290IDEwOAorUEFTUyBNZWFzdXJlIEZvcmNlZCBMYXlvdXQK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNDQtZXhwZWN0ZWQudHh0CmluZGV4IGMzYjY0YjEyMDgwYTA4ODFhOTc4NTc4NDA3MmUzYjMy
Yjg5NDVjYjIuLmUxMzcyYjhkMmYxYTliMGFkMTk3M2E5ZTJkZTM5M2YzZjIzYTA2MjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0
NC1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBFcnJvcjog
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIKIAogCi1IYXJuZXNzIEVycm9yIChG
QUlMKSwgbWVzc2FnZSA9IEVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3Qg
MgotCi1USU1FT1VUIENvbnRlbnQgVmlzaWJpbGl0eTogc2xvdCBtb3ZlZCBhZnRlciBjb250YWlu
ZXIgaXMgaGlkZGVuIFRlc3QgdGltZWQgb3V0Ci0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAyCi0KLVRJTUVP
VVQgQ29udGVudCBWaXNpYmlsaXR5OiBzbG90IG1vdmVkIGFmdGVyIGNvbnRhaW5lciBpcyBoaWRk
ZW4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBzbG90IG1vdmVkIGFm
dGVyIGNvbnRhaW5lciBpcyBoaWRkZW4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CmluZGV4IDM5NWQ1OWM0
NmE1NDcyNzJjY2FlZDkyZTYyYzAyMmFkYjc2NTIxYWQuLjRjM2M4YmI5NDNlMDRlMjJmZWVkMzlk
MzRiMGY2ZDgxYzAzZTk0N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAK
IAotCi0KLUZBSUwgVGFiIG9yZGVyIG5hdmlnYXRpb24gc2tpcHMgaGlkZGVuIHN1YnRyZWVzIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9ImZpdmUiIHR5cGU9
InRleHQiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0idHdvIiB0eXBl
PSJ0ZXh0Ij48L2lucHV0PgorUEFTUyBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBoaWRkZW4g
c3VidHJlZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0CmluZGV4IGY4YjAxMWJhODE3OGQ2ODdjN2Y5MDlk
ZTQ4Mzc5OTczYzlkMDk2ZDQuLjczMjY4ZmRiMDhkZjk0NzRmMDFkZjU3NmExODBmOWJlMzg3ZGFh
ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDQ4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0OC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgRnJhZ21lbnQg
bmF2aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgc2luZ2xlIHRleHQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZldGNoUmVzdWx0cyIKLUZBSUwgRnJhZ21lbnQgbmF2
aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgcmFuZ2UgYWNyb3NzIGJsb2NrcyBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgorRkFJTCBGcmFnbWVu
dCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAidGV4dCIgYnV0IGdvdCAidG9wIgorRkFJTCBGcmFnbWVudCBuYXZp
Z2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxvY2tzIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXh0MiIgYnV0IGdvdCAidG9wIgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50
eHQKaW5kZXggNDRhMjkzNjUwMzYxOWY3NmUxYmRhM2ZiYzdjYzA0OGIzZjNjMWM2Zi4uZWIxOTM1
MTY2NmU1N2EwMGZkNDZhNzAyN2MxYjYwMDIwN2ViNWFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dApA
QCAtMSw4ICsxLDMgQEAKLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxvCi1oZWxsbwogCiBGQUlM
IE9uZSBlbGVtZW50cyBzZWxlY3RlZDogIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQogRkFJTCBSYW5nZSBleHRlbmRlZCB0byBjb3ZlciBtb3JlIGVsZW1lbnRzOiAgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKaW5kZXggMDNl
M2JiN2MwZTg5NjAzMzc2MWI1MjQ5ZWQ2NjE2MjY5NGM1MDdlNi4uMDBmMWM3ZjQ0NDE4NzgyYmNl
YjM0MzhkN2I2ZmE1MWY1NjFlMTc2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcg
QEAKIAogUEFTUyBvbmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6CiBGQUlMIHR3by5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290
IDMwNDEKLUZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxz
OiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDc1Ci1GQUlMIGZvdXIuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMTA5Ci1G
QUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVj
dGVkIDMwMDcgYnV0IGdvdCAzMTQzCitGQUlMIHRocmVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQorRkFJTCBmb3Vy
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3
IGJ1dCBnb3QgMzA0MQorRkFJTCBmaXZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0
X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQK
aW5kZXggOTI3MDk2ZWRmOTczZGIxODk2ZDdlMjVhOTQ0ZTFhOTQwZjJhODBhMi4uMDQ5YmUyODRk
NDdmNmNkZjA5ODMzZjUxNDMyNTEwZTkwMzE4ZGRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50LXZpc2liaWxpdHkgaXMgbm90IGFuaW1hdGFibGUg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInZpc2libGUiIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCitQQVNTIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5pbWF0YWJs
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA4MC1leHBlY3RlZC50eHQKaW5kZXggZDBmMDVhZDVhMzhjZTQxMjQyMzMwZWIzOTFhYWQw
ZTkxNzE5YzdiNi4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDgwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxIEBACi1Db250ZW50IFZpc2liaWxpdHk6IGNhcmV0
IHBvc2l0aW9uIHdpdGggaHRtbCBoaWRkZW4gICAqIHsgYWxsOiBpbml0aWFsOyBjb250ZW50LXZp
c2liaWxpdHk6IGhpZGRlbjsgfSB0ZXN0KCgpID0+IHsgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5j
YXJldFJhbmdlRnJvbVBvaW50KCk7IGFzc2VydF9ub3RfZXF1YWxzKHJhbmdlLCBudWxsLCAicmFu
Z2UgZXhpc3RzIik7IGFzc2VydF9lcXVhbHMocmFuZ2Uuc3RhcnRDb250YWluZXIsIGh0bWwsICJz
dGFydENvbnRhaW5lciBpcyBodG1sIik7IGFzc2VydF9lcXVhbHMocmFuZ2Uuc3RhcnRPZmZzZXQs
IDAsICJzdGFydE9mZnNldCBpcyB6ZXJvIik7IGFzc2VydF9lcXVhbHMocmFuZ2UuZW5kQ29udGFp
bmVyLCBodG1sLCAiZW5kQ29udGFpbmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5l
bmRPZmZzZXQsIDAsICJlbmRPZmZzZXQgaXMgemVybyIpOyB9LCAiQ2FyZXQgcmFuZ2UgZnJvbSBw
b2ludCIpOwotRkFJTCBDYXJldCByYW5nZSBmcm9tIHBvaW50IGFzc2VydF9lcXVhbHM6IHN0YXJ0
Q29udGFpbmVyIGlzIGh0bWwgZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxodG1sIGlkPSJodG1sIj48
aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTx0aXRsZT5Db250ZW4uLi4gYnV0IGdvdCBUZXh0
IG5vZGUgIkNvbnRlbnQgVmlzaWJpbGl0eTogY2FyZXQgcG9zaXRpb24gd2l0aCBodG1sIGhpZGRl
biIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wODEtZXhwZWN0ZWQudHh0CmluZGV4IDZlZWRiYWRlZjVlZjE5NzNmYWNjM2RjNWUxOTU0
MTJjN2VjZWNhZDYuLjRkZjkzY2RjMTgzNTFiZjczZjBiZTQ0NGZmYzVmMjljMjkyYzFlZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA4MS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgU2Nyb2xsIG9mZnNldCBp
cyByZXN0b3JlZCB3aGVuIGNvbnRlbnQtdmlzaWJpbGl0eSBoaWRkZW4gaXMgcmVtb3ZlZAorRkFJ
TCBTY3JvbGwgb2Zmc2V0IGlzIHJlc3RvcmVkIHdoZW4gY29udGVudC12aXNpYmlsaXR5IGhpZGRl
biBpcyByZW1vdmVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMDAgYnV0IGdvdCAwCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1n
LWV4cGVjdGVkLnR4dAppbmRleCBjYTM3ODdlNDQ4N2JkMzY0OTYwZmU0ZWI0YzkxZWRhZDE3N2U0
ODcxLi40NDQ5ZDdjNzczYjkwNTgyZDNhMzc5NmEzNmNjY2RjYzgzY2JlODE3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAogCi0KLQotCi0KIFBBU1MgYy12OmhpZGRlbiA8aW1n
PiBsYXlvdXQgQVBJcyBzaG91bGRuJ3QgcmV0dXJuIHplcm8gd2hlbiBhY2Nlc3NlZCBmcm9tIHNj
cmlwdC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dAppbmRleCBhNDVlZDU4Mjkw
MWY3YzVjMmRmOTdlNzBlYTQ1MDUwMjM3MmE1NjE2Li5lNGEzMWZiMWJhMWE2MzkyY2VlYjg2NmJi
N2U2MGJjZGJiMThiMDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dApAQCAt
MSw1ICsxLDMgQEAKIAotCi0KIFBBU1MgPGlucHV0IHR5cGU9aW1hZ2U+IHNob3VsZCByZXR1cm4g
bm9uemVybyB2YWx1ZXMgZm9yIHdpZHRoIGFuZCBoZWlnaHQgaW4gYSBjLXY6aGlkZGVuIHN1YnRy
ZWUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktc3ZnLWV4cGVjdGVkLnR4dAppbmRleCA0Njc2Yjg4YzlhY2M3ZjI5Nzk1ODI4OTQ0NDI4
ZjI0MjE4MzExZDU2Li44ZGYxYjdmZmFmNGJjMjNlMjU0NjYyZWQ4ZjM2YmE4YjA2NWFiYTBjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS1zdmctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAotSGVsbG8gV29ybGQhCi1IZWxsbyBX
b3JsZCBBZ2FpbiEKIAogUEFTUyBnZXRCQm94KCkgc2hvdWxkIHJldHVybiBub256ZXJvIHZhbHVl
cyBpbiBhIGMtdjpoaWRkZW4gc3VidHJlZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggN2RhMTdmZmFmOWNkNTIwYTc1M2U5ZjNlOWE1
OGU5YzYxYzQ1ZmU2NS4uNjY4ODk2YWYxMmQ2YTBkOTBkMWEzYWRhNmNkODdjYWFkZWVhNTZlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBoYXMgaW5p
dGlhbCB2YWx1ZSB2aXNpYmxlIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24n
dCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IGRvZXMgbm90IGlu
aGVyaXQgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5
IGNvbnRlbnQtdmlzaWJpbGl0eSBoYXMgaW5pdGlhbCB2YWx1ZSB2aXNpYmxlCitQQVNTIFByb3Bl
cnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2VzIG5vdCBpbmhlcml0CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2li
aWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDg3YTNjNjgwZWY4Y2ZlNDI5YWU0NmQz
MDkzZTc4MGU3MTI3YmRmOTIuLjBjMzRhNWRiYmRkZTdkYWMzNjllNmI4MGNkMjVhOWU3ZDg3NmRl
NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlz
aWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDUgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ3Zpc2li
bGUnIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1
cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdhdXRvJyBhc3NlcnRfdHJ1ZTog
Y29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNv
bXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRl
bnQtdmlzaWJpbGl0eSB2YWx1ZSAnaGlkZGVuJyBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmls
aXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2
YWx1ZSAndmlzaWJsZScKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdh
dXRvJworUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2hpZGRlbicKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmls
aXR5LXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2Nv
bnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKaW5kZXggNmE2NWZmNjg0ZjYwODJk
MWNlODFjMTM3ZTQwM2E0ZGU3MDA4OTU2Zi4uOWRhNDU3M2UwNzQ3N2I3NzdkNmJhODc2OGY0NTNj
NzQzNTczMzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29u
dGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0x
LDUgKzEsNSBAQAogCi1GQUlMIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gInZpc2li
bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9w
ZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVb
J2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImF1dG8iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZh
bHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxv
d2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImhpZGRl
biIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3Bl
cnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsn
Y29udGVudC12aXNpYmlsaXR5J10gPSAidmlzaWJsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkg
dmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAiYXV0byIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5
J10gPSAiaGlkZGVuIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1
dG8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10
YXJnZXQtYXV0by5odG1sCmluZGV4IGQwN2VkZTVhNTQ2MDA3ZTMyN2QzNTNlZDU5OTQ4OWRkZmU1
NzQ0ODEuLjUzYTIyZjVmZDhkMWNkYjg4Mzg1MzUzNTQ1NDllMTE3NTc2ZDdlNTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQt
YXV0by5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFn
bWVudC10YXJnZXQtYXV0by5odG1sCkBAIC00Miw3ICs0Miw3IEBAIGZ1bmN0aW9uIGRvdWJsZVJh
ZkNoZWNrU2Nyb2xsKCkgewogICBoZWlnaHQ6IDEwMDAwcHg7CiB9CiAuYXV0byB7Ci0gIHN1YnRy
ZWUtdmlzaWJpbGl0eTogYXV0bzsKKyAgY29udGVudC12aXNpYmlsaXR5OiBhdXRvOwogfQogPC9z
dHlsZT4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1s
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBl
Y3RlZC50eHQKaW5kZXggN2IxYjNjNjg0NGM0NDk3MjE0M2ZhNjAzMzcxYWIzMDU5Y2IyMDc3Zi4u
NDI5OTYyYjI5YWM2ODg1OWEwZDY3ZDYwMjJlMGY4OTdmNWYxNzNmNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBAIC0xMDAsNiAr
MTAwLDcgQEAgUEFTUyBjb250YWluCiBQQVNTIGNvbnRhaW5lci1uYW1lCiBQQVNTIGNvbnRhaW5l
ci10eXBlCiBQQVNTIGNvbnRlbnQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5CiBQQVNTIGNvdW50
ZXItaW5jcmVtZW50CiBQQVNTIGNvdW50ZXItcmVzZXQKIFBBU1MgY3Vyc29yCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAppbmRleCA4ZTJk
MDExMWZhMTE4NjBhMzUwNDA5NDQwYjQ3NTRlYjRhMjQxNDNlLi5lNDUwMTZhYjU1Y2RlOTYyNTBl
Y2RlYmY1MDAyMWZhYThjMTY5NjQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXBy
b3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dw
ZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJv
cC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKQEAgLTEwMCw2ICsxMDAsNyBAQCBQQVNTIGNvbnRh
aW4KIFBBU1MgY29udGFpbmVyLW5hbWUKIFBBU1MgY29udGFpbmVyLXR5cGUKIFBBU1MgY29udGVu
dAorUEFTUyBjb250ZW50LXZpc2liaWxpdHkKIFBBU1MgY291bnRlci1pbmNyZW1lbnQKIFBBU1Mg
Y291bnRlci1yZXNldAogUEFTUyBjdXJzb3IK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452899</attachid>
            <date>2022-02-22 13:40:55 -0800</date>
            <delta_ts>2022-02-23 03:45:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220222214053.patch</filename>
            <type>text/plain</type>
            <size>112706</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGJjZWUxYTYwMzAwYzMz
YzMzMzM1Y2E1N2ZlOTY4ZTQ5Y2MzNGFmNy4uNzhjNTYzYzRmMjQyMjMxMDYyODZkMDU0NmFlMDM4
OTljYjcwY2E3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0yMiAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMjIgIEZyw6lkw6lyaWMgV2FuZyAgPGZ3YW5nQGlnYWxp
YS5jb20+CiAKICAgICAgICAgbnVsbCBwdHIgZGVyZWYgdmlhIFdlYlhSU3lzdGVtOjpyZXF1ZXN0
U2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGlt
ZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3Bw
CmluZGV4IDNjOTU5ZTljYmQ0YTg3MTI0NGVlMmY0NWIwYjVhYTA2ZTFjNWZkNDUuLmY3NjgzOTll
ODkzNDNmMTBjZDZjNzZlMDZhOTRmNGEzODdkNmU2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKQEAgLTQyOSw2ICs0MjksMTYgQEAgQW5pbWF0
aW9uRXZlbnRzIERvY3VtZW50VGltZWxpbmU6OnByZXBhcmVGb3JQZW5kaW5nQW5pbWF0aW9uRXZl
bnRzRGlzcGF0Y2goKQogewogICAgIG1fc2hvdWxkU2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9u
Rm9yTmV3UGVuZGluZ0V2ZW50cyA9IHRydWU7CiAgICAgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9w
ZW5kaW5nQW5pbWF0aW9uRXZlbnRzLCB7IH0pOworICAgIEFuaW1hdGlvbkV2ZW50cyBldmVudHM7
CisgICAgZm9yIChhdXRvJiBldmVudCA6IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cykgeworICAg
ICAgICBpZiAoZXZlbnQtPmFuaW1hdGlvbigpLT5pc0luSGlkZGVuU3VidHJlZSgpKQorLy8gICAg
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgpICYmICFkb3du
Y2FzdDxOb2RlPigqZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8gZHluYW1pY0Rv
d25jYXN0PEVsZW1lbnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKy8vICAgICAgICBp
ZiAoZWxlbWVudCAmJiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgZXZlbnRzLmFwcGVuZChldmVudCk7CisgICAgICAgIG1fcGVuZGlu
Z0FuaW1hdGlvbkV2ZW50cy5yZW1vdmVGaXJzdChldmVudCk7CisgICAgfQorICAgIHJldHVybiBl
dmVudHM7CiB9CiAKIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBkb3VibGU+PiBEb2N1bWVudFRp
bWVsaW5lOjphY2NlbGVyYXRlZEFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1l
bGluZXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRp
bWVsaW5lc0NvbnRyb2xsZXIuY3BwCmluZGV4IDcwOTQ1M2JjNjYyNTJmOTU5ODI0YmE5NGVjYTdh
MzMwMDhjOWNhM2MuLmI5MjdjYWI4MmZmYmE0YjY4MzA3YzRiMGFmYzkyZTJkMDQyNjhmYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5l
c0NvbnRyb2xsZXIuY3BwCkBAIC0xMjAsNiArMTIwLDggQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5l
c0NvbnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0
aW8KICAgICAgICAgdGltZWxpbmVzVG9VcGRhdGUuYXBwZW5kKHRpbWVsaW5lLmNvcHlSZWYoKSk7
CiAKICAgICAgICAgZm9yIChhdXRvJiBhbmltYXRpb24gOiBjb3B5VG9WZWN0b3IodGltZWxpbmUt
PnJlbGV2YW50QW5pbWF0aW9ucygpKSkgeworICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aXNJ
bkhpZGRlblN1YnRyZWUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IGlmIChhbmltYXRpb24tPnRpbWVsaW5lKCkgIT0gdGltZWxpbmUucHRyKCkpIHsKICAgICAgICAg
ICAgICAgICBBU1NFUlQoIWFuaW1hdGlvbi0+dGltZWxpbmUoKSk7CiAgICAgICAgICAgICAgICAg
Y29udGludWU7CkBAIC0xOTksOCArMjAxLDEyIEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZXNDb250
cm9sbGVyOjp1cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhSZWR1Y2VkUmVzb2x1dGlvCiAg
ICAgfSk7CiAKICAgICAvLyA3LiBEaXNwYXRjaCBlYWNoIG9mIHRoZSBldmVudHMgaW4gZXZlbnRz
IHRvIGRpc3BhdGNoIGF0IHRoZWlyIGNvcnJlc3BvbmRpbmcgdGFyZ2V0IHVzaW5nIHRoZSBvcmRl
ciBlc3RhYmxpc2hlZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICBmb3IgKGF1dG8mIGV2ZW50
IDogZXZlbnRzKQorICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpIHsKKyAgICAgICAgLy8g
RWxlbWVudCogZWxlbWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRvd25jYXN0
PE5vZGU+KCpldmVudC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWljRG93bmNh
c3Q8RWxlbWVudD4oKmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworICAgICAgICAvLyBpZiAo
ZWxlbWVudCAmJiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIC8vICAgIGNv
bnRpbnVlOwogICAgICAgICBldmVudC0+dGFyZ2V0KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOwor
ICAgIH0KIAogICAgIC8vIFRoaXMgd2lsbCBjYW5jZWwgYW55IHNjaGVkdWxlZCBpbnZhbGlkYXRp
b24gaWYgd2UgZW5kIHVwIHJlbW92aW5nIGFsbCBhbmltYXRpb25zLgogICAgIGZvciAoYXV0byYg
YW5pbWF0aW9uIDogYW5pbWF0aW9uc1RvUmVtb3ZlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9XZWJBbmltYXRpb24uY3BwCmluZGV4IDJiOWMyMTdhMzM4MDMxMjhmY2NjYmQ0YmQ5YmMxYzhm
ODYzYjRiMzIuLjhmNDc1MTkyMTk1NzIzZDViOTM2ODJmZDNlZmRhY2Y2ODI0ZDA1ZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xNTEzLDQgKzE1MTMs
MTMgQEAgU2Vjb25kcyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QKICAgICBy
ZXR1cm4gZWZmZWN0KCktPnRpbWVUb05leHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNpY1RpbWluZygp
KSAvIHBsYXliYWNrUmF0ZTsKIH0KIAorYm9vbCBXZWJBbmltYXRpb246OmlzSW5IaWRkZW5TdWJ0
cmVlKCkKK3sKKyAgICBpZiAoIWlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGlmIChhdXRvIGVsZW1lbnQgPSBkb3duY2FzdDxEZWNsYXJhdGl2ZUFu
aW1hdGlvbj4odGhpcyktPm93bmluZ0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQt
PmVsZW1lbnQuaXNTa2lwcGVkQ29udGVudCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5o
CmluZGV4IDM3YTYxN2Y2MDUzNzA3OWQyYjEyZWEwYzA2MjhlMWNlYTJhMzJlNDYuLjA4MmExYjFh
NWFjMmU2NTlkNTQyZTBlMmQ2NWMxN2E2NTI4YTk4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBpc0RlY2xhcmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNDU1NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0NTU1RyYW5zaXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorICAgIGJvb2wgaXNJbkhpZGRlblN1YnRyZWUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgaWQo
KSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAgICAgdm9pZCBzZXRJZChjb25zdCBTdHJpbmcmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKaW5kZXggOTc5YWY2ODQzMWZmOTI1Nzc1ZWI1ZjkzZTg2YTY5YmE2NDMyZTMwZS4uNWRiYzRj
ZDMzNTZlZjI2ZDQ1NjhlNjY1Mjk3YzVjNTQzNzYyNTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM3NzEsNiArMzc3
MSwxNCBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9y
UHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlQ3VzdG9tSWRlbnQobmFtZSkpOwogICAgICAgICAgICAg
cmV0dXJuIGxpc3Q7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnRW
aXNpYmlsaXR5OgorICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGlu
Z3MoKS5jc3NDb250YWlubWVudEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eUhpZGRlbigpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVl
KENTU1ZhbHVlSGlkZGVuKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0
eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICAgICAgICAgIHJldHVybiBj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisgICAgICAg
ICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVZp
c2libGUpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2ZhY2VWaXNpYmlsaXR5OgogICAg
ICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoKHN0eWxl
LmJhY2tmYWNlVmlzaWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0eTo6SGlkZGVuKSA/IENT
U1ZhbHVlSGlkZGVuIDogQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlckltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5k
ZXggMjc4YzBmM2FmZTUwNDg0ZmYzMTFkODI5ZGUzMjgwZGM1NWUyNzlkZC4uZTY1YmJkNWU2NDI3
N2E3ZTI5ZGNkODM5ZGE3NmNhNzRmNDU4MzBmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uCkBAIC01Mjg1LDYgKzUyODUsMTkgQEAKICAgICAgICAgICAgICAgICAidXJsIjog
Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcXVlcmll
cyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImNvbnRlbnQtdmlzaWJpbGl0
eSI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAg
ICAgImN1c3RvbSI6ICJBbGwiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNz
c0NvbnRhaW5tZW50RW5hYmxlZCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3RhdHVz
IjogeworICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiZXhwZXJpbWVudGFsIgorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJj
YXRlZ29yeSI6ICJjc3MtY29udGFpbiIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4tMi8iCisgICAgICAgICAgICB9CisgICAgICAg
IH0sCiAgICAgICAgICJiYWNrZmFjZS12aXNpYmlsaXR5IjogewogICAgICAgICAgICAgImNvZGVn
ZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4IDUzYzMyYTYw
YTdlNzVmOTY2ZmM4MjZhOWM4NjZlYjY5NDUwZWYzZWMuLjUxZTU4NjkyODZiNWM3YjYyNjgyZjMz
MGY1NzkwOWRjMTRhNTZjZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VyQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJDb250ZXh0LmNwcApAQCAtMjM0LDYgKzIzNCw3IEBAIGJvb2wgQ1NTUGFyc2VyQ29udGV4
dDo6aXNQcm9wZXJ0eVJ1bnRpbWVEaXNhYmxlZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25z
dAogICAgIGNhc2UgQ1NTUHJvcGVydHlBc3BlY3RSYXRpbzoKICAgICAgICAgcmV0dXJuICFhc3Bl
Y3RSYXRpb0VuYWJsZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5OgogICAgICAgICByZXR1cm4gIWNvbnRhaW5tZW50
RW5hYmxlZDsKICAgICBjYXNlIENTU1Byb3BlcnR5QXBwbGVDb2xvckZpbHRlcjoKICAgICAgICAg
cmV0dXJuICFjb2xvckZpbHRlckVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDczZWFiYmZjNzIwMTE2MmQ5MDEzOWFhYWFj
NDNjOGY5OGFjMDQ0OGMuLmMzNjZmOTYyMWNjMWJkNWQ3ZjU5Zjg0MTUzZTJjMmI2ZGUzZmEzY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3Bw
CkBAIC00MDcyLDYgKzQwNzIsMTMgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNv
bnRhaW4oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIFJlZlB0cjxDU1NW
YWx1ZT4oV1RGTW92ZShsaXN0KSk7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1
bWVDb250ZW50VmlzaWJpbGl0eUhpZGRlbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sK
KyAgICBpZiAoYXV0byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZVZpc2libGUs
IENTU1ZhbHVlQXV0bywgQ1NTVmFsdWVIaWRkZW4+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNp
bmdsZVZhbHVlOworICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lVGV4dEVtcGhhc2lzUG9zaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFu
Z2UpCiB7CiAgICAgYm9vbCBmb3VuZE92ZXJPclVuZGVyID0gZmFsc2U7CkBAIC00NzAwLDYgKzQ3
MDcsMTAgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVW
YWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgaWYgKCFtX2NvbnRleHQu
Y29udGFpbm1lbnRFbmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAg
IHJldHVybiBjb25zdW1lQ29udGFpbihtX3JhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29u
dGVudFZpc2liaWxpdHk6CisgICAgICAgIGlmICghbV9jb250ZXh0LmNvbnRhaW5tZW50RW5hYmxl
ZCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY29uc3VtZUNv
bnRlbnRWaXNpYmlsaXR5SGlkZGVuKG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0
RW1waGFzaXNQb3NpdGlvbjoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVUZXh0RW1waGFzaXNQb3Np
dGlvbihtX3JhbmdlKTsKICNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IGMyZmYzNWZlNTEzMzRjMWExNTEwZDA1ZTkyMGQ1Y2I0OTNmYWFjNTkuLjU2
MmRlYjNkYzM1MDY0ODJjNDFmMThmNTRlMTkzMDU0ZmJiMWE5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtMTM0LDYgKzEzNCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPdmVybGF5Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUg
IkludGVyc2VjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJD
YWxsYmFjay5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5o
IgpAQCAtMzg5LDYgKzM5MCwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaXNhbGxvd0xheW91
dCB7IGZhbHNlIH07CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9i
c2VydmVyQ2FsbGJhY2sgZmluYWwgOiBwdWJsaWMgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFj
ayB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlv
bk9ic2VydmVyQ2FsbGJhY2s+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9i
c2VydmVyQ2FsbGJhY2soZG9jdW1lbnQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBo
YXNDYWxsYmFjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIENhbGxiYWNr
UmVzdWx0PHZvaWQ+IGhhbmRsZUV2ZW50KEludGVyc2VjdGlvbk9ic2VydmVyJiwgY29uc3QgVmVj
dG9yPFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMsIEludGVyc2VjdGlv
bk9ic2VydmVyJikgZmluYWwKKyAgICB7CisgICAgICAgIEFTU0VSVCghZW50cmllcy5pc0VtcHR5
KCkpOworCisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgICAg
ICBpZiAoYXV0byogZWxlbWVudCA9IGVudHJ5LT50YXJnZXQoKSkKKyAgICAgICAgICAgICAgICBl
bGVtZW50LT5jb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGVudHJ5LT5pc0ludGVyc2Vj
dGluZygpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENv
bnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhEb2N1bWVudCYgZG9j
dW1lbnQpCisgICAgICAgIDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaygmZG9jdW1lbnQp
CisgICAgeworICAgIH0KK307CisKIC8vIERlZmluZWQgaGVyZSB0byBhdm9pZCBpbmNsdWRpbmcg
R0NSZWFjaGFibGVSZWYuaCBpbiBEb2N1bWVudC5oCiBzdHJ1Y3QgRG9jdW1lbnQ6OlBlbmRpbmdT
Y3JvbGxFdmVudFRhcmdldExpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAt
MjE4MCw3ICsyMjA4LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCit2b2lk
IERvY3VtZW50Ojp1cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgZm9yY2VMYXlvdXQpCiB7CiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIApAQCAtMjIwMywxNiArMjIzMSwyNSBAQCB2b2lkIERv
Y3VtZW50Ojp1cGRhdGVMYXlvdXQoKQogCiAgICAgaWYgKCFmcmFtZVZpZXcgfHwgIXJlbmRlclZp
ZXcoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0
KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKKyAg
ICBzdGQ6Om9wdGlvbmFsPGJvb2w+IG9sZExheW91dEZvcmNlZDsKKyAgICBpZiAoZm9yY2VMYXlv
dXQgPT0gRm9yY2VMYXlvdXQ6OlllcyAmJiB2aWV3KCkpIHsKKyAgICAgICAgb2xkTGF5b3V0Rm9y
Y2VkID0gdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKTsKKyAgICAgICAg
dmlldygpLT5sYXlvdXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKHRydWUpOworICAgIH0KKwor
ICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYg
IXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSAmJiBmb3JjZUxheW91dCAhPSBGb3JjZUxheW91
dDo6WWVzKQogICAgICAgICByZXR1cm47CiAKICAgICBmcmFtZVZpZXctPmxheW91dENvbnRleHQo
KS5sYXlvdXQoKTsKIAorICAgIGlmIChvbGRMYXlvdXRGb3JjZWQpCisgICAgICAgIHZpZXcoKS0+
bGF5b3V0Q29udGV4dCgpLnNldExheW91dEZvcmNlZCgqb2xkTGF5b3V0Rm9yY2VkKTsKKwogICAg
IGlmIChzdHlsZVNjb3BlKCkudXBkYXRlUXVlcnlDb250YWluZXJTdGF0ZSgpKQotICAgICAgICB1
cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIH0KIAot
dm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3Vt
ZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzKQordm9pZCBEb2N1bWVu
dDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzLCBGb3JjZUxheW91dCBmb3JjZUxheW91dCkK
IHsKICAgICBib29sIG9sZElnbm9yZSA9IG1faWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzOwogCkBA
IC0yMjIzLDcgKzIyNjAsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcwogICAgICAgICAgICAg
c2NoZWR1bGVGdWxsU3R5bGVSZWJ1aWxkKCk7CiAgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0KCk7
CisgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIAogICAgIGlmIChydW5Qb3N0TGF5b3V0
VGFza3MgPT0gUnVuUG9zdExheW91dFRhc2tzOjpTeW5jaHJvbm91c2x5ICYmIHZpZXcoKSkKICAg
ICAgICAgdmlldygpLT5mbHVzaEFueVBlbmRpbmdQb3N0TGF5b3V0VGFza3MoKTsKQEAgLTIzNTEs
NyArMjM4OCw3IEBAIGJvb2wgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElmRGltZW5zaW9uc091dE9m
RGF0ZShFbGVtZW50JiBlbGVtZW50LCBEaW1lbnNpb25zQ2hlCiAgICAgLy8gT25seSBkbyBhIGxh
eW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2FyeS4gICAg
ICAKICAgICBpZiAocmVxdWlyZUZ1bGxMYXlvdXQgJiYgZnJhbWVWaWV3ICYmIHJlbmRlclZpZXco
KSAmJiAoZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgfHwgcmVu
ZGVyVmlldygpLT5uZWVkc0xheW91dCgpKSkKICAgICAgICAgZnJhbWVWaWV3LT5sYXlvdXRDb250
ZXh0KCkubGF5b3V0KCk7Ci0gICAgCisKICAgICByZXR1cm4gcmVxdWlyZUZ1bGxMYXlvdXQ7CiB9
CiAKQEAgLTQ2OTEsNiArNDcyOCwxMSBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1c2VkRWxlbWVu
dChFbGVtZW50KiBlbGVtZW50LCBjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAgICAgICAg
IG1fZm9jdXNlZEVsZW1lbnQtPnNldEZvY3VzKHRydWUsIG9wdGlvbnMudmlzaWJpbGl0eSk7CiAg
ICAgICAgIG1fbGF0ZXN0Rm9jdXNUcmlnZ2VyID0gb3B0aW9ucy50cmlnZ2VyOwogCisgICAgICAg
IGZvciAoYXV0byBmb2N1c2VkID0gbmV3Rm9jdXNlZEVsZW1lbnQ7IGZvY3VzZWQ7IGZvY3VzZWQg
PSBmb2N1c2VkLT5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkgeworICAgICAgICAgICAg
aWYgKGF1dG8qIGRhdGEgPSBmb2N1c2VkLT5jb250ZW50VmlzaWJpbGl0eURhdGEoKSkKKyAgICAg
ICAgICAgICAgICBkYXRhLT5zdWJ0cmVlSGFzRm9jdXMgPSB0cnVlOworICAgICAgICB9CisKICAg
ICAgICAgLy8gVGhlIHNldEZvY3VzIGNhbGwgdHJpZ2dlcnMgYSBibHVyIGFuZCBhIGZvY3VzIGV2
ZW50LiBFdmVudCBoYW5kbGVycyBjb3VsZCBjYXVzZSB0aGUgZm9jdXNlZCBlbGVtZW50IHRvIGJl
IGNsZWFyZWQuCiAgICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0ZvY3VzZWRFbGVt
ZW50KSB7CiAgICAgICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAgLTgwMTYsNyAr
ODA1OCw4IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEludGVyc2VjdGlvbk9ic2VydmF0aW9uU3Rh
dGU+IGNvbXB1dGVJbnRlcnNlY3Rpb25TdGF0ZShGcmFtCiAgICAgRmxvYXRSZWN0IHJvb3RMb2Nh
bEludGVyc2VjdGlvblJlY3QgPSBsb2NhbFJvb3RCb3VuZHM7CiAKICAgICBJbnRlcnNlY3Rpb25P
YnNlcnZhdGlvblN0YXRlIGludGVyc2VjdGlvblN0YXRlOwotICAgIGludGVyc2VjdGlvblN0YXRl
LmlzSW50ZXJzZWN0aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJbnRlcnNl
Y3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJlY3QpOwor
ICAgIGlmICghdGFyZ2V0LmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgaW50ZXJzZWN0aW9u
U3RhdGUuaXNJbnRlcnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbElu
dGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVj
dCk7CiAgICAgaW50ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVUYXJnZXRSZWN0ID0gdGFyZ2V0UmVu
ZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KGxvY2FsVGFyZ2V0Qm91bmRzKSku
Ym91bmRpbmdCb3goKTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVJvb3RCb3VuZHMg
PSByb290UmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQobG9jYWxSb290Qm91bmRzKS5ib3Vu
ZGluZ0JveCgpOwogCkBAIC05MDc0LDYgKzkxMTcsNDQgQEAgc3RkOjpvcHRpb25hbDxQQUw6OlNl
c3Npb25JRD4gRG9jdW1lbnQ6OnNlc3Npb25JRCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKIH0KIAorQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBEb2N1bWVudDo6Y29u
dGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCkKK3sKKyAgICBpZiAoIW1fY29udGVudFZpc2li
aWxpdHlEb2N1bWVudFN0YXRlKQorICAgICAgICBtX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRT
dGF0ZSA9IG1ha2VVbmlxdWU8Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlPigqdGhpcyk7
CisgICAgcmV0dXJuICptX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTsKK30KKworQ29u
dGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3Rh
dGUoRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK3sKK30K
Kwordm9pZCBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmls
aXR5T2JzZXJ2YXRpb24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBp
bnRlcnNlY3Rpb25PYnNlcnZlci0+b2JzZXJ2ZShlbGVtZW50KTsKK30KKwordm9pZCBDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OnJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRp
b24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0aW9uT2JzZXJ2
ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRlcnNlY3Rpb25P
YnNlcnZlci0+dW5vYnNlcnZlKGVsZW1lbnQpOworfQorCitJbnRlcnNlY3Rpb25PYnNlcnZlciog
Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjplbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZl
cigpCit7CisgICAgaWYgKCFtX29ic2VydmVyKSB7CisgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBD
b250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s6OmNyZWF0ZSgqbV9k
b2N1bWVudCk7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IGNv
bnRlbnRWaXNpYmlsaXR5Um9vdE1hcmdpbkZhbGxiYWNrKE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCIxMDAlIikpOworICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6SW5pdCBvcHRpb25zIHsg
c3RkOjpudWxsb3B0LCBjb250ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFjaywgeyB9IH07
CisgICAgICAgIGF1dG8gb2JzZXJ2ZXIgPSBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6Y3JlYXRlKCpt
X2RvY3VtZW50LCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7CisgICAgICAg
IGlmIChvYnNlcnZlci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICBtX29ic2VydmVyID0gb2JzZXJ2ZXIucmV0dXJuVmFsdWUoKS5wdHIoKTsKKyAg
ICB9CisgICAgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI3VuZGVmIERPQ1VNRU5UX1JFTEVBU0VfTE9HCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmlu
ZGV4IGMxYmVjY2QyMWFiMTMxNmFlMDMwNGU5NzkzOWM3YTI2NjI0MjM2MTMuLjk4ZDk0OTIwNmI5
ZmY0N2ZhMGM3YzdhOTJkZGIwMDY1ZTQzMTE0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0z
MzksNiArMzM5LDIxIEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVu
dDsKIH07CiAKK2NsYXNzIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ29udGVudFZpc2liaWxpdHlEb2N1
bWVudFN0YXRlKERvY3VtZW50Jik7CisKKyAgICB2b2lkIGFkZENvbnRlbnRWaXNpYmlsaXR5T2Jz
ZXJ2YXRpb24oRWxlbWVudCYpOworICAgIHZvaWQgcmVtb3ZlQ29udGVudFZpc2liaWxpdHlPYnNl
cnZhdGlvbihFbGVtZW50Jik7CisKK3ByaXZhdGU6CisgICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIq
IGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCk7CisKKyAgICBSZWZQdHI8SW50ZXJzZWN0aW9u
T2JzZXJ2ZXI+IG1fb2JzZXJ2ZXI7CisgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsK
K307CisKIGNsYXNzIERvY3VtZW50CiAgICAgOiBwdWJsaWMgQ29udGFpbmVyTm9kZQogICAgICwg
cHVibGljIFRyZWVTY29wZQpAQCAtNjIwLDEyICs2MzUsMTMgQEAgcHVibGljOgogICAgIGJvb2wg
bmVlZHNTdHlsZVJlY2FsYygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxhc3RTdHlsZVVwZGF0ZVNp
emVGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0U3R5bGVVcGRhdGVTaXplRm9yVGVz
dGluZzsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXQoKTsKKyAgICBl
bnVtIGNsYXNzIEZvcmNlTGF5b3V0IHsgTm8sIFllcyB9OworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgdXBkYXRlTGF5b3V0KEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsKICAgICAKICAg
ICAvLyB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKSBmb3JjZXMgbGF5b3V0
IGV2ZW4gaWYgd2UgYXJlIHdhaXRpbmcgZm9yIHBlbmRpbmcgc3R5bGVzaGVldCBsb2FkcywKICAg
ICAvLyBzbyBjYWxsaW5nIHRoaXMgbWF5IGNhdXNlIGEgZmxhc2ggb2YgdW5zdHlsZWQgY29udGVu
dCAoRk9VQykuCiAgICAgZW51bSBjbGFzcyBSdW5Qb3N0TGF5b3V0VGFza3MgeyBBc3luY2hyb25v
dXNseSwgU3luY2hyb25vdXNseSB9OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1blBvc3RM
YXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHkpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1
blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlv
dXQ6Ok5vKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JFbGVt
ZW50SWdub3JpbmdQZW5kaW5nU3R5bGVzaGVldHMoRWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxl
KiBwYXJlbnRTdHlsZSwgUHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZSk7CiAKQEAgLTE2NDEsNiAr
MTY1Nyw4IEBAIHB1YmxpYzoKIAogICAgIExhenlMb2FkSW1hZ2VPYnNlcnZlciYgbGF6eUxvYWRJ
bWFnZU9ic2VydmVyKCk7CiAKKyAgICBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUmIGNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpOworCiAgICAgdm9pZCBzZXRIYXNWaXN1YWxs
eU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29u
dGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudDsgfQog
ICAgIHZvaWQgZW5xdWV1ZVBhaW50VGltaW5nRW50cnlJZk5lZWRlZCgpOwpAQCAtMTg4Miw2ICsx
OTAwLDggQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5TG9hZEltYWdlT2Jz
ZXJ2ZXI+IG1fbGF6eUxvYWRJbWFnZU9ic2VydmVyOwogCisgICAgc3RkOjp1bmlxdWVfcHRyPENv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZT4gbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50
U3RhdGU7CisKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3BlbmRpbmdTdGF0
ZU9iamVjdDsKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgTW9ub3RvbmljVGltZSBtX2RvY3VtZW50
Q3JlYXRpb25UaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGZlZTk4YzNmMWZlOWI4MTE2
Mjc0OGEzN2MzMGYxMmUzMzBhYTI0MmEuLjcxMDc4NmFmNjc1N2Q5MGI1ZjMxOTI5MTcwZmQ1NTY0
NDk5OGM3OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyODEsNyArMTI4MSw3IEBAIGlu
dCBFbGVtZW50OjpvZmZzZXRUb3BGb3JCaW5kaW5ncygpCiAKIGludCBFbGVtZW50OjpvZmZzZXRU
b3AoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50
OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRl
cmVyID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGFkanVzdE9mZnNl
dEZvclpvb21BbmRTdWJwaXhlbExheW91dCgqcmVuZGVyZXIsIHJlbmRlcmVyLT5vZmZzZXRUb3Ao
KSk7CiAgICAgcmV0dXJuIDA7CkBAIC0xNzY2LDcgKzE3NjYsNyBAQCBzdGQ6Om9wdGlvbmFsPHN0
ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBFbGVtZW50Ojpib3VuZGluZ0Fic29s
dXRlUmVjdAogCiBGbG9hdFJlY3QgRWxlbWVudDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKIHsKLSAg
ICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAg
IGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50
OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlv
dXQ6Olllcyk7CiAgICAgYXV0byBwYWlyID0gYm91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5
b3V0KCk7CiAgICAgaWYgKCFwYWlyKQogICAgICAgICByZXR1cm4geyB9OwpAQCAtMzA3MCw2ICsz
MDcwLDkgQEAgdm9pZCBFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMp
CiAgICAgaWYgKCFpc0Nvbm5lY3RlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoaXNT
a2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKICAgICBSZWYgZG9jdW1lbnQgeyB0
aGlzLT5kb2N1bWVudCgpIH07CiAgICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkRWxlbWVudCgpID09
IHRoaXMpIHsKICAgICAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCkpCkBAIC0zMzQyLDYgKzMzNDUs
OSBAQCBTdHJpbmcgRWxlbWVudDo6aW5uZXJUZXh0KCkKICAgICAvLyBXZSBuZWVkIHRvIHVwZGF0
ZSBsYXlvdXQsIHNpbmNlIHBsYWluVGV4dCB1c2VzIGxpbmUgYm94ZXMgaW4gdGhlIHJlbmRlciB0
cmVlLgogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KCk7CiAKKyAgICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiB0ZXh0Q29udGVudCh0
cnVlKTsKIApAQCAtMzU1Nyw5ICszNTYzLDggQEAgYm9vbCBFbGVtZW50OjpoYXNWYWxpZFN0eWxl
KCkgY29uc3QKIAogYm9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRob3V0UmVzb2x2aW5nRnVsbFN0
eWxlKCkgY29uc3QKIHsKLQogICAgIGlmIChyZW5kZXJTdHlsZSgpIHx8IGhhc1ZhbGlkU3R5bGUo
KSkKLSAgICAgICAgcmV0dXJuIHJlbmRlclN0eWxlKCkgJiYgcmVuZGVyU3R5bGUoKS0+dmlzaWJp
bGl0eSgpID09IFZpc2liaWxpdHk6OlZpc2libGU7CisgICAgICAgIHJldHVybiByZW5kZXJTdHls
ZSgpICYmIHJlbmRlclN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxl
ICYmICFpc1NraXBwZWRDb250ZW50KCk7CiAKICAgICBhdXRvIGNvbXB1dGVkU3R5bGVGb3JFbGVt
ZW50ID0gW10oRWxlbWVudCYgZWxlbWVudCkgLT4gY29uc3QgUmVuZGVyU3R5bGUqIHsKICAgICAg
ICAgYXV0byogc3R5bGUgPSBlbGVtZW50Lmhhc05vZGVGbGFnKE5vZGVGbGFnOjpJc0NvbXB1dGVk
U3R5bGVJbnZhbGlkRmxhZykgPyBudWxscHRyIDogZWxlbWVudC5leGlzdGluZ0NvbXB1dGVkU3R5
bGUoKTsKQEAgLTM1NzcsNiArMzU4Miw5IEBAIGJvb2wgRWxlbWVudDo6aXNWaXNpYmxlV2l0aG91
dFJlc29sdmluZ0Z1bGxTdHlsZSgpIGNvbnN0CiAgICAgaWYgKHN0eWxlLT52aXNpYmlsaXR5KCkg
IT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYg
KGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgZm9yIChh
dXRvJiBlbGVtZW50IDogY29tcG9zZWRUcmVlQW5jZXN0b3JzKGNvbnN0X2Nhc3Q8RWxlbWVudCY+
KCp0aGlzKSkpIHsKICAgICAgICAgYXV0byogc3R5bGUgPSBjb21wdXRlZFN0eWxlRm9yRWxlbWVu
dChlbGVtZW50KTsKICAgICAgICAgaWYgKCFzdHlsZSB8fCBzdHlsZS0+ZGlzcGxheSgpID09IERp
c3BsYXlUeXBlOjpOb25lKQpAQCAtNDc1MCw2ICs0NzU4LDEwMiBAQCBFbGVtZW50SWRlbnRpZmll
ciBFbGVtZW50OjpjcmVhdGVFbGVtZW50SWRlbnRpZmllcigpCiAgICAgcmV0dXJuIEVsZW1lbnRJ
ZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogfQogCitDb250ZW50VmlzaWJpbGl0eURhdGEmIEVsZW1l
bnQ6OmVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpCit7CisgICAgYXV0byYgcmFyZURhdGEg
PSBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhLmNvbnRlbnRWaXNp
YmlsaXR5RGF0YSgpKQorICAgICAgICByYXJlRGF0YS5zZXRDb250ZW50VmlzaWJpbGl0eURhdGEo
bWFrZVVuaXF1ZTxDb250ZW50VmlzaWJpbGl0eURhdGE+KCkpOworICAgIHJldHVybiAqcmFyZURh
dGEuY29udGVudFZpc2liaWxpdHlEYXRhKCk7Cit9CisKK0NvbnRlbnRWaXNpYmlsaXR5RGF0YSog
RWxlbWVudDo6Y29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFz
UmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5jb250ZW50VmlzaWJpbGl0eURhdGEoKSA6
IG51bGxwdHI7Cit9CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRh
KGJvb2wgc2hvdWxkU2tpcCwgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkpCit7
CisgICAgaWYgKGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKSkKKyAgICAgICAgc2hvdWxk
U2tpcCB8PSBwYXJlbnQtPmlzU2tpcHBlZENvbnRlbnQoKTsKKworICAgIGF1dG8mIGRhdGEgPSBl
bnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBpZiAoaXM8SFRNTERpYWxvZ0VsZW1l
bnQ+KCp0aGlzKSkKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcCAm
JiBjb250ZW50VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOworICAgIGVs
c2UKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250ZW50ID0gc2hvdWxkU2tpcDsKKworICAgIGlm
IChSZW5kZXJFbGVtZW50KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCisgICAgICAgIHNo
b3VsZFNraXAgfD0gcmVuZGVyZXItPnNob3VsZFNraXBDb250ZW50KCk7CisgICAgZm9yIChhdXRv
JiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPEVsZW1lbnQ+KCp0aGlzKSkKKyAgICAgICAgY2hpbGQu
dXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKHNob3VsZFNraXAsIGNvbnRlbnRWaXNpYmlsaXR5
KTsKK30KKworLy8gRklYTUU6IHRoaXMgaXMgaW5jb21wbGV0ZSwgYW5kIG5lZWRzIHRvIGJlIHJl
ZmFjdG9yZWQgd2l0aCBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgY29tcHV0YXRpb25zIGluIERvY3Vt
ZW50Lgorc3RhdGljIGJvb2wgY29tcHV0ZUludGVyc2VjdGlvbihjb25zdCBEb2N1bWVudCYgZG9j
dW1lbnQsIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVuZGVyZXIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGRvY3VtZW50LnZp
ZXcoKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZsb2F0
UmVjdCBsb2NhbFJvb3RCb3VuZHMgPSB2aWV3LT5sYXlvdXRWaWV3cG9ydFJlY3QoKTsKKyAgICBM
YXlvdXRSZWN0IGxvY2FsVGFyZ2V0Qm91bmRzOworICAgIGlmIChpczxSZW5kZXJCb3g+KCpyZW5k
ZXJlcikpCisgICAgICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93bmNhc3Q8UmVuZGVyQm94Pihy
ZW5kZXJlciktPmJvcmRlckJvdW5kaW5nQm94KCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPExheW91
dFJlY3Q+IHJvb3RMb2NhbFRhcmdldFJlY3Q7CisgICAgT3B0aW9uU2V0PFJlbmRlck9iamVjdDo6
VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uPiB2aXNpYmxlUmVjdE9wdGlvbnMgPSB7IFJlbmRlck9i
amVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpVc2VFZGdlSW5jbHVzaXZlSW50ZXJzZWN0
aW9uLCBSZW5kZXJPYmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21wb3Np
dGVkQ2xpcHMsIFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNv
bXBvc2l0ZWRDb250YWluZXJTY3JvbGxzIH07CisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRSZWN0
PiByZWN0SW5GcmFtZUFic29sdXRlU3BhY2UgPSByZW5kZXJlci0+Y29tcHV0ZVZpc2libGVSZWN0
SW5Db250YWluZXIobG9jYWxUYXJnZXRCb3VuZHMsICZyZW5kZXJlci0+dmlldygpLCB7IGZhbHNl
IC8qIGhhc1Bvc2l0aW9uRml4ZWREZXNjZW5kYW50ICovLCBmYWxzZSAvKiBkaXJ0eVJlY3RJc0Zs
aXBwZWQgKi8sIHZpc2libGVSZWN0T3B0aW9ucyB9KTsKKyAgICBpZiAocmVjdEluRnJhbWVBYnNv
bHV0ZVNwYWNlKQorICAgICAgICByb290TG9jYWxUYXJnZXRSZWN0ID0gcmVjdEluRnJhbWVBYnNv
bHV0ZVNwYWNlOworICAgIEZsb2F0UmVjdCByb290TG9jYWxJbnRlcnNlY3Rpb25SZWN0ID0gbG9j
YWxSb290Qm91bmRzOworICAgIHJldHVybiByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2Nh
bEludGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0
UmVjdCk7Cit9CisKK2Jvb2wgRWxlbWVudDo6ZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9jdXMoKQor
eworICAgIGZvciAoYXV0byogZm9jdXNlZCA9IGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKTsg
Zm9jdXNlZDsgZm9jdXNlZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgp
KSB7CisgICAgICAgIGlmIChmb2N1c2VkID09IHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEVsZW1lbnQ6OnVwZGF0ZUNv
bnRlbnRWaXNpYmlsaXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+LCBDb250ZW50
VmlzaWJpbGl0eSBuZXdDb250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAobmV3Q29udGVudFZp
c2liaWxpdHkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pIHsKKyAgICAgICAgYXV0byYgZGF0
YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgICAgICBkYXRhLmlzSW50ZXJz
ZWN0aW5nVmlld3BvcnQgPSBjb21wdXRlSW50ZXJzZWN0aW9uKGRvY3VtZW50KCksIHJlbmRlcmVy
KCkpOworICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBmYWxzZTsKKyAgICAgICAgZGF0
YS5zdWJ0cmVlSGFzRm9jdXMgPSBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygpOworICAgICAg
ICBkb2N1bWVudCgpLmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpLmFkZENvbnRlbnRW
aXNpYmlsaXR5T2JzZXJ2YXRpb24oKnRoaXMpOworICAgIH0KKyAgICB1cGRhdGVDb250ZW50Vmlz
aWJpbGl0eURhdGEoZmFsc2UsIG5ld0NvbnRlbnRWaXNpYmlsaXR5KTsKK30KKworYm9vbCBFbGVt
ZW50Ojppc1NraXBwZWRDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29udGVudFZpc2li
aWxpdHlEYXRhKCkgPyBjb250ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNTa2lwcGVkQ29udGVudCA6
IGZhbHNlOworfQorCitib29sIEVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50KCkgY29uc3QKK3sK
KyAgICBpZiAoIXJlbmRlcmVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAocmVu
ZGVyZXIoKS0+c3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5
OjpBdXRvKQorICAgICAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkgPyAhY29udGVu
dFZpc2liaWxpdHlEYXRhKCktPmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgJiYgIWNvbnRlbnRWaXNp
YmlsaXR5RGF0YSgpLT5zdWJ0cmVlSGFzRm9jdXMgOiB0cnVlOworICAgIHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6Okhp
ZGRlbjsKK30KKwordm9pZCBFbGVtZW50Ojpjb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdl
KGJvb2wgaXNJbnRlcnNlY3RpbmcpCit7CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRW
aXNpYmlsaXR5RGF0YSgpOworICAgIGRhdGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCA9IGlzSW50
ZXJzZWN0aW5nOworICAgIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShmYWxzZSwgQ29udGVu
dFZpc2liaWxpdHk6OkF1dG8pOworfQorCiAjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKIAogU3R5
bGVQcm9wZXJ0eU1hcCogRWxlbWVudDo6YXR0cmlidXRlU3R5bGVNYXAoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKaW5kZXggNjIwOWJlNjJhNzA0NjRmZWM3MzMzNDVlNjU1MzYzZGNjZmU5ZjU4OC4uYTkzNmM0
OWIwMWI3NDA2OTY2Mjc4YjE5OTg3ODExNDRhZTczNjc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBA
IC05MSw2ICs5MSwxMiBAQCBzdHJ1Y3QgU2Nyb2xsSW50b1ZpZXdPcHRpb25zOwogc3RydWN0IFNj
cm9sbFRvT3B0aW9uczsKIHN0cnVjdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsK
IHN0cnVjdCBTaGFkb3dSb290SW5pdDsKK3N0cnVjdCBDb250ZW50VmlzaWJpbGl0eURhdGEgewor
ICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBib29sIGlzU2tpcHBlZENv
bnRlbnQgeyBmYWxzZSB9OworICAgIGJvb2wgaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCB7IGZhbHNl
IH07CisgICAgYm9vbCBzdWJ0cmVlSGFzRm9jdXMgeyBmYWxzZSB9OworfTsKIAogbmFtZXNwYWNl
IFN0eWxlIHsKIGNsYXNzIFJlc29sdmVyOwpAQCAtNjY0LDYgKzY3MCwxMyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBtX2hhc0R1cGxp
Y2F0ZUF0dHJpYnV0ZTsgfTsKICAgICB2b2lkIHNldEhhc0R1cGxpY2F0ZUF0dHJpYnV0ZShib29s
IGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSkgeyBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZSA9IGhhc0R1
cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RGF0YSYgZW5zdXJl
Q29udGVudFZpc2liaWxpdHlEYXRhKCk7CisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhKiBjb250
ZW50VmlzaWJpbGl0eURhdGEoKSBjb25zdDsKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRWaXNpYmls
aXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+IG9sZENvbnRlbnRWaXNpYmlsaXR5
LCBDb250ZW50VmlzaWJpbGl0eSBuZXdDb250ZW50VmlzaWJpbGl0eSk7CisgICAgdm9pZCBjb250
ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGJvb2wpOworICAgIGJvb2wgaXNTa2lwcGVkQ29u
dGVudCgpIGNvbnN0OworICAgIGJvb2wgc2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJv
dGVjdGVkOgogICAgIEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgQ29u
c3RydWN0aW9uVHlwZSk7CiAKQEAgLTY4Nyw2ICs3MDAsMTAgQEAgcHJvdGVjdGVkOgogICAgIHZv
aWQgc2V0QXR0cmlidXRlU3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlNYXA+JiYpOwogI2VuZGlm
CiAKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRWaXNpYmlsaXR5RGF0YShib29sIHNob3VsZFNraXAs
IENvbnRlbnRWaXNpYmlsaXR5KTsKKworICAgIGJvb2wgZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9j
dXMoKTsKKwogcHJpdmF0ZToKICAgICBGcmFtZSogZG9jdW1lbnRGcmFtZVdpdGhOb25OdWxsVmll
dygpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IDg3
N2EzNDlhMTQzOTNjYjlkYmQ2ZDQzN2E3YmQ2NjE2ZWYyNzUxMGEuLjVjODZiOGU0MmYxYjU0ODYw
YTAxYTYyZjk5Mzk4OTdjYTI4YThjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuY3BwCkBAIC00Myw2ICs0Myw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRh
IDogTm9kZVJhcmVEYXRhIHsKICAgICB2b2lkKiB0eXBlZE9NRGF0YTsKICNlbmRpZgogICAgIHZv
aWQqIHJlc2l6ZU9ic2VydmVyRGF0YTsKKyAgICB2b2lkKiBjb250ZW50VmlzaWJpbGl0eURhdGE7
CiB9OwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09IHNpemVvZihT
YW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91bGQgc3RheSBz
bWFsbCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDBlYzQ4N2ZiOGQx
ZjBmZjkyZGIxNzY5NTMxOWMwN2RmNGUyN2Y2ZmIuLjlmMTA5ZDAzN2UwODlkZDBkMjU0M2IzYTJk
ZmExNDk2NThiNWY1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTEw
Niw2ICsxMDYsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgQXRvbVN0cmluZyYgbm9uY2UoKSBjb25z
dCB7IHJldHVybiBtX25vbmNlOyB9CiAgICAgdm9pZCBzZXROb25jZShjb25zdCBBdG9tU3RyaW5n
JiB2YWx1ZSkgeyBtX25vbmNlID0gdmFsdWU7IH0KIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RGF0
YSogY29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50VmlzaWJp
bGl0eURhdGEuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENvbnRlbnRWaXNpYmlsaXR5RGF0YShzdGQ6
OnVuaXF1ZV9wdHI8Q29udGVudFZpc2liaWxpdHlEYXRhPiYmIGRhdGEpIHsgbV9jb250ZW50Vmlz
aWJpbGl0eURhdGEgPSBXVEZNb3ZlKGRhdGEpOyB9CisKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09N
KQogICAgIFN0eWxlUHJvcGVydHlNYXAqIGF0dHJpYnV0ZVN0eWxlTWFwKCkgeyByZXR1cm4gbV9h
dHRyaWJ1dGVTdHlsZU1hcC5nZXQoKTsgfQogICAgIHZvaWQgc2V0QXR0cmlidXRlU3R5bGVNYXAo
UmVmPFN0eWxlUHJvcGVydHlNYXA+JiYgbWFwKSB7IG1fYXR0cmlidXRlU3R5bGVNYXAgPSBXVEZN
b3ZlKG1hcCk7IH0KQEAgLTE1MSw2ICsxNTQsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1
bHQuYWRkKFVzZVR5cGU6OlBhcnROYW1lcyk7CiAgICAgICAgIGlmIChtX25vbmNlKQogICAgICAg
ICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpOb25jZSk7CisgICAgICAgIGlmIChtX0NvbnRlbnRW
aXNpYmlsaXR5RGF0YSkKKyAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6Q29udGVudFZp
c2liaWxpdHkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNlbmRpZgpAQCAtMTg0
LDYgKzE4OSw4IEBAIHByaXZhdGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9uY2U7CiAKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8Q29udGVudFZpc2liaWxpdHlEYXRhPiBtX2NvbnRlbnRWaXNpYmlsaXR5
RGF0YTsKKwogICAgIHZvaWQgcmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudCopOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGMzMzFmYjhlNWE1NTc3MWMzOWEw
YjYzMGIxMTA5ZWY5MzM3YjlhODUuLmNlNTg0ODcyNTY2ZmZjNDQ3MTQ4NTI4ZjVmODNiYWRiNDFj
NmE4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NCw2ICsyNjQsNyBAQCBw
dWJsaWM6CiAgICAgICAgIFBhcnRMaXN0ID0gMSA8PCAxNiwKICAgICAgICAgUGFydE5hbWVzID0g
MSA8PCAxNywKICAgICAgICAgTm9uY2UgPSAxIDw8IDE4LAorICAgICAgICBDb250ZW50VmlzaWJp
bGl0eT0gMSA8PCAxOSwKICAgICB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dEl0ZXJhdG9yLmNwcAppbmRleCBjZjcxNDk1ZmY5ZDI0OWU1YTM1YmE1ZmE0YWUyMDhlOWIwYzVl
YWY5Li40MTQyYjc0MTE5YzkwZWFlZjc1OWVjMGM4MDBmMjczZDhjNDZiMTIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC00NTYsNiArNDU2LDE2IEBAIHZvaWQg
VGV4dEl0ZXJhdG9yOjphZHZhbmNlKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAg
ICBhdXRvIGlzU2tpcHBlZENvbnRlbnRPclRleHQgPSBbJl0oKSB7CisgICAgICAgIGlmIChpczxF
bGVtZW50PihtX25vZGUpKQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KG1f
bm9kZSktPmlzU2tpcHBlZENvbnRlbnQoKTsKKyAgICAgICAgCisgICAgICAgIGlmIChtX25vZGUt
PmlzVGV4dE5vZGUoKSkKKyAgICAgICAgICAgIHJldHVybiBtX25vZGUtPnBhcmVudEVsZW1lbnQo
KSA/IG1fbm9kZS0+cGFyZW50RWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCk6IGZhbHNlOwor
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9OworCiAgICAgd2hpbGUgKG1fbm9kZSAmJiBt
X25vZGUgIT0gbV9wYXN0RW5kTm9kZSkgewogICAgICAgICAvLyBpZiB0aGUgcmFuZ2UgZW5kcyBh
dCBvZmZzZXQgMCBvZiBhbiBlbGVtZW50LCByZXByZXNlbnQgdGhlCiAgICAgICAgIC8vIHBvc2l0
aW9uLCBidXQgbm90IHRoZSBjb250ZW50LCBvZiB0aGF0IGVsZW1lbnQgZS5nLiBpZiB0aGUKQEAg
LTQ3Miw3ICs0ODIsOSBAQCB2b2lkIFRleHRJdGVyYXRvcjo6YWR2YW5jZSgpCiAgICAgICAgICAg
ICBpZiAoIXJlbmRlcmVyKSB7CiAgICAgICAgICAgICAgICAgbV9oYW5kbGVkTm9kZSA9IHRydWU7
CiAgICAgICAgICAgICAgICAgbV9oYW5kbGVkQ2hpbGRyZW4gPSAhaGFzRGlzcGxheUNvbnRlbnRz
KCptX25vZGUpOwotICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAo
aXM8RWxlbWVudD4obV9ub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50PihtX25vZGUpLT5zaG91bGRT
a2lwQ29udGVudCgpKSB7CisgICAgICAgICAgICAgICAgbV9oYW5kbGVkQ2hpbGRyZW4gPSB0cnVl
OworICAgICAgICAgICAgfSBlbHNlIGlmICghaXNTa2lwcGVkQ29udGVudE9yVGV4dCgpKSB7CiAg
ICAgICAgICAgICAgICAgLy8gaGFuZGxlIGN1cnJlbnQgbm9kZSBhY2NvcmRpbmcgdG8gaXRzIHR5
cGUKICAgICAgICAgICAgICAgICBpZiAocmVuZGVyZXItPmlzVGV4dCgpICYmIG1fbm9kZS0+aXNU
ZXh0Tm9kZSgpKQogICAgICAgICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gaGFuZGxlVGV4
dE5vZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc5
OGZlODZiYzRmMzIwMjY3MWNkMmQ3MTQ2NjAwMGI2ZWJhYmI2YmYuLjQ1YjRkMDIwODlkMTAyODg1
ZDQxMzYxY2IzMDZiNTQ4OGI5MzdmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VF
bGVtZW50LmNwcApAQCAtNDg1LDkgKzQ4NSw5IEBAIHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6
OndpZHRoKGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogICAgIH0KIAogICAgIGlmIChp
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6
OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgZWxzZQot
ICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOworICAgICAgICBkb2N1bWVudCgpLnVw
ZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBSZW5kZXJCb3gq
IGJveCA9IHJlbmRlckJveCgpOwogICAgIGlmICghYm94KQpAQCAtNDk4LDYgKzQ5OCwxMSBAQCB1
bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWR0aChib29sIGlnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cykKIAogdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wgaWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKQogeworICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCisg
ICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERv
Y3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9y
Y2VMYXlvdXQ6Olllcyk7CisgICAgZWxzZQorICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91
dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpIHsK
ICAgICAgICAgLy8gY2hlY2sgdGhlIGF0dHJpYnV0ZSBmaXJzdCBmb3IgYW4gZXhwbGljaXQgcGl4
ZWwgdmFsdWUKICAgICAgICAgYXV0byBvcHRpb25hbEhlaWdodCA9IHBhcnNlSFRNTE5vbk5lZ2F0
aXZlSW50ZWdlcihhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGhlaWdodEF0dHIpKTsK
QEAgLTUwOSwxMSArNTE0LDYgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJv
b2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogICAgICAgICAgICAgcmV0dXJuIG1faW1hZ2VM
b2FkZXItPmltYWdlKCktPmltYWdlU2l6ZUZvclJlbmRlcmVyKHJlbmRlcmVyKCksIDEuMGYpLmhl
aWdodCgpLnRvVW5zaWduZWQoKTsKICAgICB9CiAKLSAgICBpZiAoaWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0cygpOwotICAgIGVsc2UKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsK
LQogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFib3gpCiAgICAg
ICAgIHJldHVybiAwOwpAQCAtNjIxLDcgKzYyMSw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6
c2V0V2lkdGgodW5zaWduZWQgdmFsdWUpCiAKIGludCBIVE1MSW1hZ2VFbGVtZW50Ojp4KCkgY29u
c3QKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6
Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7
CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CkBAIC02MzIsNyArNjMyLDcg
QEAgaW50IEhUTUxJbWFnZUVsZW1lbnQ6OngoKSBjb25zdAogCiBpbnQgSFRNTEltYWdlRWxlbWVu
dDo6eSgpIGNvbnN0CiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwg
RG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIGF1dG8gcmVuZGVyZXIgPSB0aGlzLT5y
ZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcAppbmRleCA5NjE1MzQxMWM3MDNiMzRhYjNkODJj
NWFhMjY1NDk4YjFjYTMwYWUyLi5hMjBjOGI2NzFkMGJjMGRlNGRjMmU4ZTAyNDg3NWI1OTlkNTgz
NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcApAQCAtMTczLDcgKzE3
Myw3IEBAIHVuc2lnbmVkIEltYWdlSW5wdXRUeXBlOjpoZWlnaHQoKSBjb25zdAogICAgIEFTU0VS
VChlbGVtZW50KCkpOwogICAgIFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5l
bGVtZW50KCkpOwogCi0gICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAg
ICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6
Olllcyk7CiAKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQog
ICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4o
KnJlbmRlcmVyKS5jb250ZW50SGVpZ2h0KCksICpyZW5kZXJlcik7CkBAIC0xOTUsNyArMTk1LDcg
QEAgdW5zaWduZWQgSW1hZ2VJbnB1dFR5cGU6OndpZHRoKCkgY29uc3QKICAgICBBU1NFUlQoZWxl
bWVudCgpKTsKICAgICBSZWY8SFRNTElucHV0RWxlbWVudD4gZWxlbWVudCgqdGhpcy0+ZWxlbWVu
dCgpKTsKIAotICAgIGVsZW1lbnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7CisgICAgZWxl
bWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMp
OwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKSkKICAgICAg
ICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5k
ZXJlcikuY29udGVudFdpZHRoKCksICpyZW5kZXJlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcAppbmRleCA2OWE0YzIzYzlhMzYxODJjMTcwOWUz
N2ExYWI0ZDhlNzQ4MThmODcxLi41MjJkYmIyYzc0OWRiMGNjMTAxMWVmMGQwODRhN2M3NTdhZTc4
NWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5j
cHAKQEAgLTIzNiw3ICsyMzYsOCBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91
dCgpCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgICAgIGxheW91
dFVzaW5nRm9ybWF0dGluZ0NvbnRleHQoKTsKICNlbmRpZgotICAgICAgICArK21fbGF5b3V0Q291
bnQ7CisgICAgICAgIGlmICghbV9sYXlvdXRGb3JjZWQpCisgICAgICAgICAgICArK21fbGF5b3V0
Q291bnQ7CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICAgICAgYXBwbHlUZXh0U2l6
aW5nSWZOZWVkZWQoKmxheW91dFJvb3QuZ2V0KCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCmluZGV4IDZmOWViMWUwOTM4MjRlNmIxYjBm
OWE1N2E3NTI1M2EzMjRmZWUxZmEuLmRkYzZmMDMwZjMxMmM4YjA4NThjYTY0ZWFkOWU1MTZhNjMy
NGYzOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29u
dGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5o
CkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzSW5MYXlvdXQoKSBjb25zdCB7
IHJldHVybiBsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpPdXRzaWRlTGF5b3V0OyB9CiAg
ICAgYm9vbCBpc0luUmVuZGVyVHJlZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNl
KCkgPT0gTGF5b3V0UGhhc2U6OkluUmVuZGVyVHJlZUxheW91dDsgfQogICAgIGJvb2wgaW5QYWlu
dGFibGVTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6
OkluUmVuZGVyVHJlZUxheW91dCAmJiBsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblZp
ZXdTaXplQWRqdXN0ICYmIChsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblBvc3RMYXlv
dXQgfHwgaW5Bc3luY2hyb25vdXNUYXNrcygpKTsgfQorICAgIGJvb2wgaXNMYXlvdXRGb3JjZWQo
KSBjb25zdCB7IHJldHVybiBtX2xheW91dEZvcmNlZDsgfQorICAgIHZvaWQgc2V0TGF5b3V0Rm9y
Y2VkKGJvb2wgZikgeyBtX2xheW91dEZvcmNlZCA9IGY7IH0KIAogICAgIHVuc2lnbmVkIGxheW91
dENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRDb3VudDsgfQogCkBAIC0xNzksNiArMTgx
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNGdWxsUmVwYWludCB7IHRydWUgfTsKICAg
ICBib29sIG1faW5Bc3luY2hyb25vdXNUYXNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NldE5l
ZWRzTGF5b3V0V2FzRGVmZXJyZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9sYXlvdXRGb3JjZWQg
eyBmYWxzZSB9OwogICAgIExheW91dFBoYXNlIG1fbGF5b3V0UGhhc2UgeyBMYXlvdXRQaGFzZTo6
T3V0c2lkZUxheW91dCB9OwogICAgIGVudW0gY2xhc3MgTGF5b3V0TmVzdGVkU3RhdGUgOiB1aW50
OF90ICB7IE5vdEluTGF5b3V0LCBOb3ROZXN0ZWQsIE5lc3RlZCB9OwogICAgIExheW91dE5lc3Rl
ZFN0YXRlIG1fbGF5b3V0TmVzdGVkU3RhdGUgeyBMYXlvdXROZXN0ZWRTdGF0ZTo6Tm90SW5MYXlv
dXQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50
cnkuY3BwCmluZGV4IGI1YTIzN2U4MTQyZWQ3YjIzN2FiNDQ1M2RlYjY1ZTMzYmY0Yzc2MTguLmRl
ZjYxMzQzNzZiMzYyZTM4M2ZmYmNmY2I5NzU1YzVmYTQyMmM2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcApAQCAtNDEsNiArNDEs
OCBAQCBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5OjpJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5
KGNvbnN0IEluaXQmIGluaXQpCiB7CiAgICAgaWYgKGluaXQucm9vdEJvdW5kcykKICAgICAgICAg
bV9yb290Qm91bmRzID0gRE9NUmVjdFJlYWRPbmx5Ojpmcm9tUmVjdCgqaW5pdC5yb290Qm91bmRz
KTsKKyAgICBpZiAobV90YXJnZXQgJiYgbV90YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAg
ICAgICAgbV9pc0ludGVyc2VjdGluZyA9IGZhbHNlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCmluZGV4IGViY2E3
ZTMzYmQxN2EwNjUyZGRlYTA4Y2Q0ZTViYWFkY2Y2YzllYWYuLmQ4ZGVmM2ExNGQ1MDczYmFhMTBl
YzkwZWM0YzFmMDNlODdhMWQ3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVz
aXplT2JzZXJ2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2
YXRpb24uY3BwCkBAIC01MSwyNCArNTEsMjYgQEAgdm9pZCBSZXNpemVPYnNlcnZhdGlvbjo6dXBk
YXRlT2JzZXJ2YXRpb25TaXplKGNvbnN0IEJveFNpemVzJiBib3hTaXplcykKICAgICBtX2xhc3RP
YnNlcnZhdGlvblNpemVzID0gYm94U2l6ZXM7CiB9CiAKLWF1dG8gUmVzaXplT2JzZXJ2YXRpb246
OmNvbXB1dGVPYnNlcnZlZFNpemVzKCkgY29uc3QgLT4gQm94U2l6ZXMKK3N0ZDo6b3B0aW9uYWw8
UmVzaXplT2JzZXJ2YXRpb246OkJveFNpemVzPiBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9i
c2VydmVkU2l6ZXMoKSBjb25zdAogewogICAgIGlmIChtX3RhcmdldC0+aXNTVkdFbGVtZW50KCkp
IHsKICAgICAgICAgaWYgKGF1dG8gc3ZnUmVjdCA9IGRvd25jYXN0PFNWR0VsZW1lbnQ+KCptX3Rh
cmdldCkuZ2V0Qm91bmRpbmdCb3goKSkgewogICAgICAgICAgICAgYXV0byBzaXplID0gTGF5b3V0
U2l6ZShzdmdSZWN0LT53aWR0aCgpLCBzdmdSZWN0LT5oZWlnaHQoKSk7Ci0gICAgICAgICAgICBy
ZXR1cm4geyBzaXplLCBzaXplLCBzaXplIH07CisgICAgICAgICAgICByZXR1cm4gQm94U2l6ZXMg
eyBzaXplLCBzaXplLCBzaXplIH07CiAgICAgICAgIH0KICAgICB9CiAgICAgYXV0byogYm94ID0g
bV90YXJnZXQtPnJlbmRlckJveCgpOwogICAgIGlmIChib3gpIHsKLSAgICAgICAgcmV0dXJuIHsK
KyAgICAgICAgaWYgKG1fdGFyZ2V0LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICByZXR1cm4gQm94U2l6ZXMgewogICAgICAgICAg
ICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRTaXplKCksICpi
b3gpLAogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNv
bnRlbnRMb2dpY2FsU2l6ZSgpLCAqYm94KSwKICAgICAgICAgICAgIGFkanVzdExheW91dFNpemVG
b3JBYnNvbHV0ZVpvb20oYm94LT5ib3JkZXJCb3hMb2dpY2FsU2l6ZSgpLCAqYm94KQogICAgICAg
ICB9OwogICAgIH0KIAotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIEJveFNpemVzIHsgfTsK
IH0KIAogTGF5b3V0UG9pbnQgUmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVUYXJnZXRMb2NhdGlv
bigpIGNvbnN0CkBAIC0xMDQsMTUgKzEwNiwxNyBAQCBGbG9hdFNpemUgUmVzaXplT2JzZXJ2YXRp
b246OnNuYXBwZWRDb250ZW50Qm94U2l6ZSgpIGNvbnN0CiBzdGQ6Om9wdGlvbmFsPFJlc2l6ZU9i
c2VydmF0aW9uOjpCb3hTaXplcz4gUmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdl
ZCgpIGNvbnN0CiB7CiAgICAgYXV0byBjdXJyZW50U2l6ZXMgPSBjb21wdXRlT2JzZXJ2ZWRTaXpl
cygpOworICAgIGlmICghY3VycmVudFNpemVzKQorICAgICAgICByZXR1cm4gY3VycmVudFNpemVz
OwogCiAgICAgc3dpdGNoIChtX29ic2VydmVkQm94KSB7CiAgICAgY2FzZSBSZXNpemVPYnNlcnZl
ckJveE9wdGlvbnM6OkJvcmRlckJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6
ZXMuYm9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLmJvcmRlckJveExvZ2ljYWxT
aXplKQotICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRTaXplczsKKyAgICAgICAgaWYgKG1fbGFz
dE9ic2VydmF0aW9uU2l6ZXMuYm9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5i
b3JkZXJCb3hMb2dpY2FsU2l6ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVudFNpemVzOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9uczo6Q29udGVu
dEJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVudEJveExvZ2lj
YWxTaXplICE9IGN1cnJlbnRTaXplcy5jb250ZW50Qm94TG9naWNhbFNpemUpCi0gICAgICAgICAg
ICByZXR1cm4gY3VycmVudFNpemVzOworICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXpl
cy5jb250ZW50Qm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5jb250ZW50Qm94TG9naWNh
bFNpemUpCisgICAgICAgICAgICByZXR1cm4gKmN1cnJlbnRTaXplczsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgKaW5kZXggNjhi
MWMyYTk3NGU2NTMxMjVlOTI4ZmQ0ODgyMTBmNWMyZGYwZDcxMy4uODA1NTRmYzA4ZGZmMGVmMWM5
YWRlNTc4NmNlODE1YTVlMmYxODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9S
ZXNpemVPYnNlcnZhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2
YXRpb24uaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlc2l6ZU9i
c2VydmF0aW9uKEVsZW1lbnQmLCBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMpOwogCi0gICAgQm94
U2l6ZXMgY29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEJv
eFNpemVzPiBjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNvbnN0OwogICAgIExheW91dFBvaW50IGNv
bXB1dGVUYXJnZXRMb2NhdGlvbigpIGNvbnN0OwogCiAgICAgV2Vha1B0cjxFbGVtZW50PiBtX3Rh
cmdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGVjOWRl
YjllNzE5NWE3N2ZiZThkZTg0NWQxMGM0M2RkZjEyOWY1ODMuLjFlNTRmZWJhZGZmMDgwMDU3MjZk
NjM3OTA4NjdhNzA4MjliM2IwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtNjUyLDYgKzY1Miw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2Nr
KGJvb2wsIExheW91dFVuaXQpCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNo
aWxkcmVuKCkKIHsKKyAgICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1l
VmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICByZXR1cm47
CiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIGFkZE92ZXJmbG93RnJvbUlubGlu
ZUNoaWxkcmVuKCk7CiAgICAgZWxzZQpAQCAtNzQzLDYgKzc0NSw4IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKQogCiB2b2lkIFJlbmRlckJsb2NrOjph
ZGRPdmVyZmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpCiB7CisgICAgaWYgKHNob3VsZFNraXBD
b250ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRG
b3JjZWQoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0
KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAgIGlmICgh
cG9zaXRpb25lZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm47CkBAIC0xMDc0LDcgKzEwNzgs
MTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxh
eW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXQKICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFz
aFNldCogcG9zaXRpb25lZERlc2NlbmRhbnRzID0gcG9zaXRpb25lZE9iamVjdHMoKTsKICAgICBp
ZiAoIXBvc2l0aW9uZWREZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJuOwotICAgIAorCisgICAg
aWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250
ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkgeworICAgICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlv
bmVkRGVzY2VuZGFudHMtPmJlZ2luKCk7IGl0ICE9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5k
KCk7ICsraXQpCisgICAgICAgICAgICAoKippdCkuY2xlYXJOZWVkc0xheW91dCgpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgLy8gRG8gbm90IGNhY2hlIHBvc2l0aW9uZWREZXNjZW5k
YW50cy0+ZW5kKCkgaW4gYSBsb2NhbCB2YXJpYWJsZSwgc2luY2UgfHBvc2l0aW9uZWREZXNjZW5k
YW50c3wgY2FuIGJlIG11dGF0ZWQKICAgICAvLyBhcyBpdCBpcyB3YWxrZWQuIFdlIGFsd2F5cyBu
ZWVkIHRvIGZldGNoIHRoZSBuZXcgZW5kKCkgdmFsdWUgZHluYW1pY2FsbHkuCiAgICAgZm9yIChh
dXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdpbigpOyBpdCAhPSBwb3NpdGlvbmVk
RGVzY2VuZGFudHMtPmVuZCgpOyArK2l0KQpAQCAtMTEzNyw3ICsxMTQ3LDcgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6cGFpbnRDb250ZW50cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0
UG9pbnQmIHBhaW50T2YKICAgICAvLyBTdHlsZSBpcyBub24tZmluYWwgaWYgdGhlIGVsZW1lbnQg
aGFzIGEgcGVuZGluZyBzdHlsZXNoZWV0IGJlZm9yZSBpdC4gV2UgZW5kIHVwIHdpdGggcmVuZGVy
ZXJzIHdpdGggc3VjaCBzdHlsZXMgaWYgYSBzY3JpcHQKICAgICAvLyBmb3JjZXMgcmVuZGVyZXIg
Y29uc3RydWN0aW9uIGJ5IHF1ZXJ5aW5nIHNvbWV0aGluZyBsYXlvdXQgZGVwZW5kZW50LgogICAg
IC8vIEF2b2lkIEZPVUMgYnkgbm90IHBhaW50aW5nLiBTd2l0Y2hpbmcgdG8gZmluYWwgc3R5bGUg
dHJpZ2dlcnMgcmVwYWludC4KLSAgICBpZiAoc3R5bGUoKS5pc05vdEZpbmFsKCkpCisgICAgaWYg
KHN0eWxlKCkuaXNOb3RGaW5hbCgpIHx8IHNob3VsZFNraXBDb250ZW50KCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKQpAQCAtMTI0MCw2ICsxMjUwLDkgQEAg
dm9pZCBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWludE9mZnMKIHsKICAgICBQYWludFBoYXNlIHBhaW50UGhhc2UgPSBw
YWludEluZm8ucGhhc2U7CiAKKyAgICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lw
cGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKICAgICAvLyAxLiBwYWludCBiYWNrZ3Jv
dW5kLCBib3JkZXJzIGV0YwogICAgIGlmICgocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpCbG9j
a0JhY2tncm91bmQgfHwgcGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJsb2NrQmFja2dy
b3VuZCkgJiYgc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkgewog
ICAgICAgICBpZiAoaGFzVmlzaWJsZUJveERlY29yYXRpb25zKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDM2NDMxMmIwNDA1MzFmNmU1ZTBk
ODExZWE3ZWZlZTAzYmQ5OGQ3YmMuLjk3ODVkZTE5YzA3ZTIyNDk5YzcwYTYxMGJiMGU0YWQ4ZWNi
ZTZmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3Bw
CkBAIC01MjcsNiArNTI3LDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dEJsb2NrKGJv
b2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEgKICAgICAgICAgaWYg
KCFmaXJzdENoaWxkKCkgJiYgIWlzQW5vbnltb3VzQmxvY2soKSkKICAgICAgICAgICAgIHNldENo
aWxkcmVuSW5saW5lKHRydWUpOwogICAgICAgICBkaXJ0eUZvckxheW91dEZyb21QZXJjZW50YWdl
SGVpZ2h0RGVzY2VuZGFudHMoKTsKKyAgICAgICAgaWYgKHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlv
dXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSAmJiAoKGVsZW1lbnQoKSAmJiBlbGVtZW50KCkt
PmlzU2tpcHBlZENvbnRlbnQoKSkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkpCisgICAgICAgICAg
ICByZWxheW91dENoaWxkcmVuID0gdHJ1ZTsKICAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkp
CiAgICAgICAgICAgICBsYXlvdXRJbmxpbmVDaGlsZHJlbihyZWxheW91dENoaWxkcmVuLCByZXBh
aW50TG9naWNhbFRvcCwgcmVwYWludExvZ2ljYWxCb3R0b20pOwogICAgICAgICBlbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCA5YWI5OThlNDFjYjA4Y2YwYjZmOTBmMTBmMTNjNGI4NDU3ZWM5MzlmLi5mMWMzMmRiNjBlZjY3
ZDE4NDVjMGQxYzFmZjg0ZjVlOWM3M2QyZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTIxMiw2ICsyMTIsNyBAQCB2b2lk
IFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIGlmIChzdHlsZVRv
VXNlLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5mcmFtZVZp
ZXcoKS5zZXRIYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CiAgICAgc2V0UGFpbnRDb250
YWlubWVudEFwcGxpZXMoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7CisgICAg
c2V0TGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCghaXNJbmxpbmUoKSB8fCBpc0F0b21pY0lubGlu
ZUxldmVsQm94KCkpICYmICFpc1J1YnlUZXh0KCkgJiYgKCFpc1RhYmxlUGFydCgpIHx8IGlzUmVu
ZGVyQmxvY2tGbG93KCkpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxv
d1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDEwOGMwODAwOTkwNzFlMjNjNjJj
YmM1MjA1OWQ4ZDk4NGM2MWRkOWIuLmYxMWUwM2I0NDEwNzA0OGRmYjhhN2JmOTkzZjhlMDdlODA0
NDEyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAg
LTI0NDIsNCArMjQ0MiwxMSBAQCBPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVPdmVy
Zmxvd1koKSBjb25zdAogICAgIHJldHVybiBvdmVyZmxvd1k7CiB9CiAKK2Jvb2wgUmVuZGVyRWxl
bWVudDo6c2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghbGF5b3V0Q29udGFp
bm1lbnRBcHBsaWVzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZWxlbWVu
dCgpICYmIGVsZW1lbnQoKS0+c2hvdWxkU2tpcENvbnRlbnQoKTsKK30KKwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggNmU5NzVkM2QwNzI4YzY1OTgyMTY0
OWYwZjU3ODBiZjA2MGFlYWIzNi4uZjJjYzE3NDJmZWJhNDQ4NGNhMjc5ODkxY2U5YTQxZDE2ZTRl
OTAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0xNjIs
NiArMTYyLDkgQEAgcHVibGljOgogICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0g
VmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAg
ICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmICgoIWhpdFRlc3RSZXF1ZXN0IHx8ICFo
aXRUZXN0UmVxdWVzdC0+aWdub3JlQ1NTUG9pbnRlckV2ZW50c1Byb3BlcnR5KCkpICYmIHN0eWxl
KCkuZWZmZWN0aXZlUG9pbnRlckV2ZW50cygpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTI3MSw2ICsyNzQsOCBAQCBwdWJsaWM6CiAgICAg
T3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVy
biBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1go
KSA6IGVmZmVjdGl2ZU92ZXJmbG93WSgpOyB9CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZs
b3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7
IH0KIAorICAgIGJvb2wgc2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgog
ICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZs
YWcgID0gMSA8PCAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcApp
bmRleCBlMmI0YjA5ZjU3ZGViM2E0NTk4ZjNiZDBjZTY3MzRiMDk3NWIxYzUyLi4yMmJlNTM3N2Fl
ZGU5ZDM2YTE2MWY0OGM3YzAzZjZhOThhNTcwMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmNwcApAQCAtMjI4LDYgKzIyOCw4IEBAIGJvb2wgUmVuZGVySW5saW5l
OjptYXlBZmZlY3RMYXlvdXQoKSBjb25zdAogCiB2b2lkIFJlbmRlcklubGluZTo6cGFpbnQoUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKKyAg
ICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSB8fCAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNT
a2lwcGVkQ29udGVudCgpKSkKKyAgICAgICAgcmV0dXJuOwogICAgIG1fbGluZUJveGVzLnBhaW50
KHRoaXMsIHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAzN2E4MmI4MjlhNThkYWZhYWZiN2VkMDA0ZWUzM2Q1
OWNlYWM0ZTRkLi45OTBlOTg3ZDk3NmU1NWNhNGQyNDk5M2Y3ZjFkYTBkZDBmMjMxZjYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTMwNTAsNiArMzA1MCw5
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwYWludEZvckZpeGVkUm9vdEJhY2tncm91bmQoY29uc3Qg
UmVuZGVyTGF5ZXIqIGxheWVyLCBPcHRpb25TCiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5
ZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgcGFp
bnRpbmdJbmZvLCBPcHRpb25TZXQ8UGFpbnRMYXllckZsYWc+IHBhaW50RmxhZ3MpCiB7CisgICAg
aWYgKHJlbmRlcmVyKCkuZWxlbWVudCgpICYmIHJlbmRlcmVyKCkuZWxlbWVudCgpLT5pc1NraXBw
ZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gc2hvdWxkQ29udGludWVQ
YWludCA9IFsmXSAoKSB7CiAgICAgICAgIHJldHVybiBiYWNraW5nKCktPnBhaW50c0ludG9XaW5k
b3coKQogICAgICAgICAgICAgfHwgYmFja2luZygpLT5wYWludHNJbnRvQ29tcG9zaXRlZEFuY2Vz
dG9yKCkKQEAgLTMzNDMsNiArMzM0Niw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJD
b250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiB7CiAg
ICAgQVNTRVJUKGlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNTZWxmUGFpbnRpbmdMYXllckRl
c2NlbmRhbnQoKSk7CiAKKyAgICAvLyBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVy
ZXIoKS5lbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAvLyAgICAgcmV0dXJuOwor
CiAgICAgaWYgKGNvbnRleHQuZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgJiYgY29udGV4dC5j
b250ZW5mdWxQYWludERldGVjdGVkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMzU5Miw3ICsz
NTk4LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMaXN0KExheWVyTGlzdCBsYXllckl0ZXJh
dG9yLCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGMKICAgICBpZiAobGF5ZXJJdGVyYXRvci5i
ZWdpbigpID09IGxheWVySXRlcmF0b3IuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlm
ICghaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCisgICAgaWYgKCFoYXNTZWxmUGFp
bnRpbmdMYXllckRlc2NlbmRhbnQoKSB8fCByZW5kZXJlcigpLnNob3VsZFNraXBDb250ZW50KCkp
CiAgICAgICAgIHJldHVybjsKIAogI2lmIEFTU0VSVF9FTkFCTEVECkBAIC00MDcyLDYgKzQwNzgs
OCBAQCBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBSZW5kZXJMYXllcjo6dG9wTGF5ZXJSZW5kZXJMYXll
cnMoUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBsYXll
cnM7CiAgICAgYXV0byB0b3BMYXllckVsZW1lbnRzID0gcmVuZGVyVmlldy5kb2N1bWVudCgpLnRv
cExheWVyRWxlbWVudHMoKTsKICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiB0b3BMYXllckVsZW1l
bnRzKSB7CisgICAgICAgIGlmIChlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJl
cigpOwogICAgICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CkBAIC00
NDg5LDYgKzQ0OTcsOSBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMaXN0KExh
eWVyTGlzdCBsYXllckl0ZXJhdG9yLCBSZW5kZXJMYXllciogcm9vdAogICAgIGlmICghaGFzU2Vs
ZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisg
ICAgaWYgKHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKICAgICBSZW5kZXJMYXllciogcmVzdWx0TGF5ZXIgPSBudWxscHRyOwogCiAgICAg
Zm9yIChhdXRvIGl0ZXIgPSBsYXllckl0ZXJhdG9yLnJiZWdpbigpOyBpdGVyICE9IGxheWVySXRl
cmF0b3IucmVuZCgpOyArK2l0ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggNDI1YzY5YzMxNDFiZjc0ZmE1NzJkZjIwYmI4YTBl
NDA1NzdhYjgxOC4uMDlmYTE0ODI4NzRiMjgwY2U4Mzg5MjMwOGJkYjRlZjQzYjE2MDllMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAg
LTE1OTgsNyArMTU5OCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVBZnRlckRl
c2NlbmRhbnRzKCkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZSgh
bV9oYXNTdWJwaXhlbFJvdW5kaW5nICYmIG1fb3duaW5nTGF5ZXIuYmFja2dyb3VuZElzS25vd25U
b0JlT3BhcXVlSW5SZWN0KGNvbXBvc2l0ZWRCb3VuZHMoKSkpOwogICAgIH0KIAotICAgIG1fZ3Jh
cGhpY3NMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNv
bnRlbnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpOworICAgIGJv
b2wgaXNTa2lwcGVkQ29udGVudCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpID8gcmVuZGVyZXIoKS5l
bGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSA6IGZhbHNlOworICAgIG1fZ3JhcGhpY3NMYXll
ci0+c2V0Q29udGVudHNWaXNpYmxlKCFpc1NraXBwZWRDb250ZW50ICYmIChtX293bmluZ0xheWVy
Lmhhc1Zpc2libGVDb250ZW50KCkgfHwgaGFzVmlzaWJsZU5vbkNvbXBvc2l0ZWREZXNjZW5kYW50
cygpKSk7CiAgICAgaWYgKG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXIpIHsKICAgICAgICAgbV9zY3Jv
bGxDb250YWluZXJMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKHJlbmRlcmVyKCkuc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAppbmRleCA4ZDk5MGYx
ZDUzMWJlNjNmMmIyNWQwNjE0NWZiMTMxYzQxMDA3MjZjLi5mMGYxOGUxMTg3NmJmNzkwNTJkNDEz
Njc0YjQxZGMyMTkyNzhmYjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oIgogCisjaW5jbHVk
ZSAiRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXll
ckNvbXBvc2l0b3IuaCIKQEAgLTExNCw2ICsxMTUsMTIgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVs
T2JqZWN0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVy
U3QKICAgICBSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAg
ICAgdXBkYXRlRnJvbVN0eWxlKCk7CiAKKyAgICBpZiAoZWxlbWVudCgpICYmICgob2xkU3R5bGUg
JiYgb2xkU3R5bGUtPmNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gc3R5bGUoKS5jb250ZW50VmlzaWJp
bGl0eSgpKSB8fCAoIW9sZFN0eWxlICYmIHN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSAhPSBD
b250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkpKSB7CisgICAgICAgIGVsZW1lbnQoKS0+dXBkYXRl
Q29udGVudFZpc2liaWxpdHkob2xkU3R5bGUgPyBzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmls
aXR5PihvbGRTdHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSkgOiBzdGQ6Om51bGxvcHQsIHN0eWxl
KCkuY29udGVudFZpc2liaWxpdHkoKSk7CisgICAgICAgIGlmIChzdHlsZSgpLmNvbnRlbnRWaXNp
YmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAgICBkb2N1
bWVudCgpLnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKCk7CisgICAgfQorCiAgICAgaWYg
KHJlcXVpcmVzTGF5ZXIoKSkgewogICAgICAgICBpZiAoIWxheWVyKCkgJiYgbGF5ZXJDcmVhdGlv
bkFsbG93ZWRGb3JTdWJ0cmVlKCkpIHsKICAgICAgICAgICAgIGlmIChzX3dhc0Zsb2F0aW5nICYm
IGlzRmxvYXRpbmcoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggMTBiMGQzY2VhNjc2YTg5ZDBiMWRmMTFlNzMyN2UzNGI1M2E0NDZmYy4uYTc5ZjBiMGRm
NWQ1MjZhMDdlZWVjOWNhY2ExODE1Y2ZjYzVmNzJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQ1NCw2ICs0NTQsOSBAQCBib29sIFJlbmRlck9iamVj
dDo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJv
b2wgaW5zaQogICAgIGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9k
ZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChpczxFbGVt
ZW50Pihub2RlKCkpICYmIGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKCkpLmlzU2tpcHBlZENvbnRl
bnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgUmVuZGVyTGF5ZXIqIGVuY2xvc2lu
Z0xheWVyID0gdGhpcy0+ZW5jbG9zaW5nTGF5ZXIoKTsKICAgICBpZiAoIWVuY2xvc2luZ0xheWVy
KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xOTg2LDYgKzE5ODksMTIgQEAgdm9pZCBSZW5k
ZXJPYmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgcGFpbnRDb250YWlubWVu
dEFwcGxpZXMpCiAgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuc2V0UGFpbnRDb250YWlubWVudEFw
cGxpZXMocGFpbnRDb250YWlubWVudEFwcGxpZXMpOwogfQogCit2b2lkIFJlbmRlck9iamVjdDo6
c2V0TGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgbGF5b3V0Q29udGFpbm1lbnRBcHBsaWVz
KQoreworICAgIGlmIChsYXlvdXRDb250YWlubWVudEFwcGxpZXMgfHwgaGFzUmFyZURhdGEoKSkK
KyAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMobGF5
b3V0Q29udGFpbm1lbnRBcHBsaWVzKTsKK30KKwogUmVuZGVyT2JqZWN0OjpSYXJlRGF0YU1hcCYg
UmVuZGVyT2JqZWN0OjpyYXJlRGF0YU1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PFJhcmVEYXRhTWFwPiBtYXA7CkBAIC0yMDE1LDYgKzIwMjQsNyBAQCBSZW5kZXJPYmplY3Q6OlJl
bmRlck9iamVjdFJhcmVEYXRhOjpSZW5kZXJPYmplY3RSYXJlRGF0YSgpCiAgICAgLCBtX2lzUmVu
ZGVyRnJhZ21lbnRlZEZsb3coZmFsc2UpCiAgICAgLCBtX2hhc091dGxpbmVBdXRvQW5jZXN0b3Io
ZmFsc2UpCiAgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQorICAgICwgbV9s
YXlvdXRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmMGVlYWFlYzk4NGQ4M2I2YWQ2ZDE5YWVlOTY1OWUz
YjM2M2Y0ZmU3Li5jMTFhMzcxZmU3MTNmOGRiZGE4MmQyMThmYTNhNDE0ZjEzYjVkYTBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC00MTYsNiArNDE2LDcgQEAg
cHVibGljOgogICAgIGJvb2wgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIGNvbnN0IHsgcmV0dXJu
IG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5pc1JlbmRlckZyYWdtZW50
ZWRGbG93KCk7IH0KICAgICBib29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3IoKSBjb25zdCB7IHJl
dHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkuaGFzT3V0bGluZUF1
dG9BbmNlc3RvcigpOyB9CiAgICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0
IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5wYWludENv
bnRhaW5tZW50QXBwbGllcygpOyB9CisgICAgYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMo
KSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCku
bGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KIAogICAgIGJvb2wgaXNFeGNsdWRlZEZyb21O
b3JtYWxMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5pc0V4Y2x1ZGVkRnJvbU5v
cm1hbExheW91dCgpOyB9CiAgICAgdm9pZCBzZXRJc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dChi
b29sIGV4Y2x1ZGVkKSB7IG1fYml0ZmllbGRzLnNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0
KGV4Y2x1ZGVkKTsgfQpAQCAtNTE1LDYgKzUxNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElz
UmVuZGVyRnJhZ21lbnRlZEZsb3coYm9vbCA9IHRydWUpOwogICAgIHZvaWQgc2V0SGFzT3V0bGlu
ZUF1dG9BbmNlc3Rvcihib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRQYWludENvbnRhaW5tZW50
QXBwbGllcyhib29sID0gdHJ1ZSk7CisgICAgdm9pZCBzZXRMYXlvdXRDb250YWlubWVudEFwcGxp
ZXMoYm9vbCA9IHRydWUpOwogCiAgICAgLy8gSG9vayBzbyB0aGF0IFJlbmRlclRleHRDb250cm9s
IGNhbiByZXR1cm4gdGhlIGxpbmUgaGVpZ2h0IG9mIGl0cyBpbm5lciByZW5kZXJlci4KICAgICAv
LyBGb3Igb3RoZXIgcmVuZGVyZXJzLCB0aGUgdmFsdWUgaXMgdGhlIHNhbWUgYXMgbGluZUhlaWdo
dChmYWxzZSkuCkBAIC05NDQsNiArOTQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQUREX0JPT0xF
QU5fQklURklFTEQoaXNSZW5kZXJGcmFnbWVudGVkRmxvdywgSXNSZW5kZXJGcmFnbWVudGVkRmxv
dyk7CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGhhc091dGxpbmVBdXRvQW5jZXN0b3Is
IEhhc091dGxpbmVBdXRvQW5jZXN0b3IpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChw
YWludENvbnRhaW5tZW50QXBwbGllcywgUGFpbnRDb250YWlubWVudEFwcGxpZXMpOworICAgICAg
ICBBRERfQk9PTEVBTl9CSVRGSUVMRChsYXlvdXRDb250YWlubWVudEFwcGxpZXMsIExheW91dENv
bnRhaW5tZW50QXBwbGllcyk7CiAKICAgICAgICAgLy8gRnJvbSBSZW5kZXJFbGVtZW50CiAgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gY2FjaGVkRmlyc3RMaW5lU3R5bGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA2OTdjNzQ1
OWJhYWIxOWJlNzg3NzQxZGRlMTJmYjM4ZTc4MmUwZWY0Li42ZGUxMDEzMDliNGQ3YzZhNGJkNTU1
YjU2YTMxZGYxM2M3YjJlYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHAKQEAgLTI3Niw3ICsyNzYsOCBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpwYWlu
dChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQog
ICAgIH0KIAogICAgIGlmICghY29tcGxldGVseUNsaXBwZWRPdXQpIHsKLSAgICAgICAgcGFpbnRS
ZXBsYWNlZChwYWludEluZm8sIGFkanVzdGVkUGFpbnRPZmZzZXQpOworICAgICAgICBpZiAoIXNo
b3VsZFNraXBDb250ZW50KCkpCisgICAgICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5mbywg
YWRqdXN0ZWRQYWludE9mZnNldCk7CiAKICAgICAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFk
aXVzKCkpCiAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dCgpLnJlc3RvcmUoKTsKQEAgLTMx
Niw3ICszMTcsNyBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50TwogICAgIC8vIGlmIHdlJ3JlIGlu
dmlzaWJsZSBvciBoYXZlbid0IHJlY2VpdmVkIGEgbGF5b3V0IHlldCwgdGhlbiBqdXN0IGJhaWwu
CiAgICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIExheW91dFBvaW50IGFkanVzdGVkUGFp
bnRPZmZzZXQgPSBwYWludE9mZnNldCArIGxvY2F0aW9uKCk7CiAKICAgICAvLyBFYXJseSBleGl0
IGlmIHRoZSBlbGVtZW50IHRvdWNoZXMgdGhlIGVkZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwCmluZGV4IGFhZmQ5ZGNkMDU2ODM5Zjg3N2I5MzY3MTZhZGRiNmJjMGNl
YTNiMmQuLjhiZmYxMWIzNjQ2OTk4OWI5ZjhjNTc4MDVkNTkxMmQ0ZmI3YjNiZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE3Niw3ICsxNzYsOSBAQCB2b2lk
IFJlbmRlclZpZXc6OmxheW91dCgpCiAgICAgfQogCiAgICAgQVNTRVJUKCFmcmFtZVZpZXcoKS5s
YXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKSk7Ci0gICAgaWYgKCFuZWVkc0xheW91dCgpKQor
ICAgIGlmIChmcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAg
ICAgICAgc2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOworICAgIGVsc2UgaWYgKCFu
ZWVkc0xheW91dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBMYXlvdXRTdGF0ZU1haW50YWlu
ZXIgc3RhdGVQdXNoZXIoKnRoaXMsIHsgfSwgZmFsc2UsIHZhbHVlT3JEZWZhdWx0KG1fcGFnZUxv
Z2ljYWxTaXplKS5oZWlnaHQoKSwgbV9wYWdlTG9naWNhbEhlaWdodENoYW5nZWQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcAppbmRleCBlZmIzYThiZTBjZTJkMDAy
MTM0Y2YyODNkMzhkOTQwYmY0MDIzMTU4Li40MTY2ZDZkNzA1ZDYxZGM5NjkzNzM4YzYyM2VhNDFi
MmQ0ZWY0ZWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lk
Z2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcApA
QCAtMzI1LDcgKzMyNSw3IEBAIHZvaWQgUmVuZGVyV2lkZ2V0OjpwYWludChQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgICAgICBjbGlwUm91
bmRlZElubmVyUmVjdChwYWludEluZm8uY29udGV4dCgpLCBib3JkZXJSZWN0LCByb3VuZGVkSW5u
ZXJSZWN0KTsKICAgICB9CiAKLSAgICBpZiAobV93aWRnZXQpCisgICAgaWYgKG1fd2lkZ2V0ICYm
ICFzaG91bGRTa2lwQ29udGVudCgpKQogICAgICAgICBwYWludENvbnRlbnRzKHBhaW50SW5mbywg
cGFpbnRPZmZzZXQpOwogCiAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBlOGY0
NGY1MjBkNzg2ZThhNmI0ZTI4YTJiZWExODU5ZTZmOTc4ZjY3Li5mM2M2OWMxZGFkOTA2MDc3MGEw
OTYxMjNiODc5NGY4ZTM3NmVmY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTE5NSw2ICsxOTUsNyBAQCBSZW5kZXJTdHlsZTo6UmVu
ZGVyU3R5bGUoQ3JlYXRlRGVmYXVsdFN0eWxlVGFnKQogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3Mu
bGFzdENoaWxkU3RhdGUgPSBmYWxzZTsKICAgICBtX25vbkluaGVyaXRlZEZsYWdzLmlzTGluayA9
IGZhbHNlOwogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MuaGFzQ29udGVudE5vbmUgPSBmYWxzZTsK
KyAgICBtX25vbkluaGVyaXRlZEZsYWdzLnNraXBzQ29udGVudHMgPSBmYWxzZTsKICAgICBtX25v
bkluaGVyaXRlZEZsYWdzLnN0eWxlVHlwZSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihQc2V1ZG9J
ZDo6Tm9uZSk7CiAgICAgbV9ub25Jbmhlcml0ZWRGbGFncy5wc2V1ZG9CaXRzID0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpOb25lKTsKIApAQCAtNzQ3LDYgKzc0OCw5IEBAIHN0YXRp
YyBib29sIHJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlm
IChmaXJzdC5jb250ZW50VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisg
ICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKGZpcnN0LmlucHV0U2VjdXJpdHkgIT0gc2Vj
b25kLmlucHV0U2VjdXJpdHkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xMDU2LDYgKzEw
NjAsOSBAQCBzdGF0aWMgYm9vbCByYXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVw
YWludChjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZQogICAgIGlmIChmaXJzdC5zaGFwZU91dHNp
ZGUgIT0gc2Vjb25kLnNoYXBlT3V0c2lkZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBp
ZiAoZmlyc3QuY29udGVudFZpc2liaWxpdHkgIT0gc2Vjb25kLmNvbnRlbnRWaXNpYmlsaXR5KQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBwcm9iYWJs
eSBiZSBtb3ZlZCB0byBjaGFuZ2VSZXF1aXJlc0xheWVyUmVwYWludCgpLgogICAgIGlmIChmaXJz
dC5jbGlwUGF0aCAhPSBzZWNvbmQuY2xpcFBhdGgpIHsKICAgICAgICAgY2hhbmdlZENvbnRleHRT
ZW5zaXRpdmVQcm9wZXJ0aWVzLmFkZChTdHlsZURpZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJv
cGVydHk6OkNsaXBQYXRoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKaW5kZXggZjk0NTFhMjNhZGRjODNhYmY2Mjg0YWY4MjNiYjc1OTk0N2Y3OTNlNS4u
MDM5NmUzMjhmNDE3ZWNlNTY2MDJhZDMyY2UwMjI2YmViZDI2Njc1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCwxMSArNTI4LDEzIEBA
IHB1YmxpYzoKICAgICB9CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJu
IGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0
aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25T
ZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluOyB9CisgICAgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxp
dHkoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250ZW50VmlzaWJpbGl0eT4obV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+Y29udGVudFZpc2liaWxpdHkpOyB9CisgICAgYm9vbCBjb250ZW50
VmlzaWJpbGl0eUhpZGRlbigpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRWaXNpYmlsaXR5KCkgPT0g
Q29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4g
ZWZmZWN0aXZlQ29udGFpbm1lbnQoKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkg
Y29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVu
dDo6TGF5b3V0KTsgfQotICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gZWZm
ZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KLSAgICBi
b29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgp
LmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSk7IH0KLSAgICBib29sIGNvbnRhaW5zUGFpbnQo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpQYWludCk7IH0KKyAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4g
ZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KSB8fCBz
a2lwc0NvbnRlbnRzKCk7IH0KKyAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpIHx8IHNr
aXBzQ29udGVudHMoKTsgfQorICAgIGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJu
IGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxlKSB8fCBj
b250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAg
Ym9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQo
KS5jb250YWlucyhDb250YWlubWVudDo6UGFpbnQpIHx8IGNvbnRlbnRWaXNpYmlsaXR5KCkgIT0g
Q29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0KICAgICBDb250YWluZXJUeXBlIGNvbnRhaW5l
clR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250YWluZXJUeXBlPihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJUeXBlKTsgfQogICAgIGNvbnN0IFZlY3RvcjxBdG9t
U3RyaW5nPiYgY29udGFpbmVyTmFtZXMoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluZXJOYW1lczsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KQEAgLTEwNjYsNiArMTA2OCw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbnRhaW5lclR5cGUoQ29udGFpbmVyVHlwZSBjb250
YWluZXJUeXBlKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGFpbmVyVHlw
ZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbnRhaW5lclR5cGUpKTsgfQogICAgIHZvaWQgc2V0
Q29udGFpbmVyTmFtZXMoY29uc3QgVmVjdG9yPEF0b21TdHJpbmc+JiBuYW1lcykgeyBTRVRfVkFS
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lck5hbWVzLCBuYW1lcyk7IH0KIAorICAg
IHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHkgdmFsdWUpIHsgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBjb250ZW50VmlzaWJpbGl0eSwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHZhbHVlKSk7IH0KKwogICAgIHZvaWQgc2V0TGlzdFN0eWxlU3RyaW5nVmFs
dWUoY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRh
LCBsaXN0U3R5bGVTdHJpbmdWYWx1ZSwgdmFsdWUpOyB9CiAgICAgdm9pZCBzZXRMaXN0U3R5bGVU
eXBlKExpc3RTdHlsZVR5cGUgdikgeyBtX2luaGVyaXRlZEZsYWdzLmxpc3RTdHlsZVR5cGUgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4odik7IH0KICAgICB2b2lkIHNldExpc3RTdHlsZUltYWdlKFJl
ZlB0cjxTdHlsZUltYWdlPiYmKTsKQEAgLTE0OTYsNiArMTUwMCw4IEBAIHB1YmxpYzoKICAgICBj
b25zdCBTdHJpbmcmIGNvbnRlbnRBbHRUZXh0KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNBdHRyQ29u
dGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmhhc0F0dHJDb250
ZW50OyB9CiAgICAgdm9pZCBzZXRIYXNBdHRyQ29udGVudCgpOworICAgIGJvb2wgc2tpcHNDb250
ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fbm9uSW5oZXJpdGVkRmxhZ3Muc2tpcHNDb250ZW50czsg
fQorICAgIHZvaWQgc2V0U2tpcHNDb250ZW50cyhib29sIHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFn
cy5za2lwc0NvbnRlbnRzID0gdjsgfQogCiAgICAgY29uc3QgQ291bnRlckRpcmVjdGl2ZU1hcCog
Y291bnRlckRpcmVjdGl2ZXMoKSBjb25zdDsKICAgICBDb3VudGVyRGlyZWN0aXZlTWFwJiBhY2Nl
c3NDb3VudGVyRGlyZWN0aXZlcygpOwpAQCAtMTY4MSw2ICsxNjg3LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGluaXRpYWxDb250YWlubWVudCgpIHsgcmV0
dXJuIE9wdGlvblNldDxDb250YWlubWVudD4geyB9OyB9CiAgICAgc3RhdGljIE9wdGlvblNldDxD
b250YWlubWVudD4gc3RyaWN0Q29udGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29udGFp
bm1lbnQ+IHsgQ29udGFpbm1lbnQ6OlNpemUsIENvbnRhaW5tZW50OjpMYXlvdXQsIENvbnRhaW5t
ZW50OjpQYWludCwgQ29udGFpbm1lbnQ6OlN0eWxlIH07IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0
PENvbnRhaW5tZW50PiBjb250ZW50Q29udGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29u
dGFpbm1lbnQ+IHsgQ29udGFpbm1lbnQ6OkxheW91dCwgQ29udGFpbm1lbnQ6OlBhaW50LCBDb250
YWlubWVudDo6U3R5bGUgfTsgfQorICAgIHN0YXRpYyBDb250ZW50VmlzaWJpbGl0eSBpbml0aWFs
Q29udGVudFZpc2liaWxpdHkoKSB7IHJldHVybiBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZTsg
fQogICAgIHN0YXRpYyBDb250YWluZXJUeXBlIGluaXRpYWxDb250YWluZXJUeXBlKCkgeyByZXR1
cm4gQ29udGFpbmVyVHlwZTo6Tm9uZTsgfQogICAgIHN0YXRpYyBWZWN0b3I8QXRvbVN0cmluZz4g
aW5pdGlhbENvbnRhaW5lck5hbWVzKCkgeyByZXR1cm4geyB9OyB9CiAgICAgc3RhdGljIGRvdWJs
ZSBpbml0aWFsQXNwZWN0UmF0aW9XaWR0aCgpIHsgcmV0dXJuIDEuMDsgfQpAQCAtMTk1NCw2ICsx
OTYxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgbGFzdENoaWxkU3RhdGUgOiAxOwog
ICAgICAgICB1bnNpZ25lZCBpc0xpbmsgOiAxOwogICAgICAgICB1bnNpZ25lZCBoYXNDb250ZW50
Tm9uZSA6IDE7CisgICAgICAgIHVuc2lnbmVkIHNraXBzQ29udGVudHMgOiAxOwogCiAgICAgICAg
IHVuc2lnbmVkIHN0eWxlVHlwZSA6IDQ7IC8vIFBzZXVkb0lkCiAgICAgICAgIHVuc2lnbmVkIHBz
ZXVkb0JpdHMgOiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpGaXJzdEludGVybmFs
UHNldWRvSWQpIC0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpGaXJzdFB1YmxpY1Bz
ZXVkb0lkKSk7CkBAIC0yMDkxLDYgKzIwOTksNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJTdHlsZTo6
Tm9uSW5oZXJpdGVkRmxhZ3M6Om9wZXJhdG9yPT0oY29uc3QgTm9uSW5oZXJpdGVkRmxhZ3MmCiAg
ICAgICAgICYmIGxhc3RDaGlsZFN0YXRlID09IG90aGVyLmxhc3RDaGlsZFN0YXRlCiAgICAgICAg
ICYmIGlzTGluayA9PSBvdGhlci5pc0xpbmsKICAgICAgICAgJiYgaGFzQ29udGVudE5vbmUgPT0g
b3RoZXIuaGFzQ29udGVudE5vbmUKKyAgICAgICAgJiYgc2tpcHNDb250ZW50cyA9PSBvdGhlci5z
a2lwc0NvbnRlbnRzCiAgICAgICAgICYmIHN0eWxlVHlwZSA9PSBvdGhlci5zdHlsZVR5cGUKICAg
ICAgICAgJiYgcHNldWRvQml0cyA9PSBvdGhlci5wc2V1ZG9CaXRzOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRl
eCAwYTk0YjZkZjNkNDc0OGI0MmFhMzdjY2NlZGMzN2JjOTM3NTI2YWZiLi4xYTUwNDU0MTAxMGQ2
OGVmZjRjMTgzNjQ2YTllOTk3ZDYyYWEzYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTIzOCw2ICsxMjM4
LDEyIEBAIGVudW0gY2xhc3MgQ29udGFpbmVyVHlwZSA6IHVpbnQ4X3QgewogICAgIElubGluZVNp
emUsCiB9OwogCitlbnVtIGNsYXNzIENvbnRlbnRWaXNpYmlsaXR5IDogdWludDhfdCB7CisgICAg
VmlzaWJsZSwKKyAgICBBdXRvLAorICAgIEhpZGRlbiwKK307CisKIENTU0JveFR5cGUgdHJhbnNm
b3JtQm94VG9DU1NCb3hUeXBlKFRyYW5zZm9ybUJveCk7CiAKIGV4dGVybiBjb25zdCBmbG9hdCBk
ZWZhdWx0TWl0ZXJMaW1pdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAppbmRleCAxOTI0OWVmMGU5
ZmEyOGZjNTQwYmRkYjBjNGNjNGMyMWYxNjAwMGYyLi43NzM0YWE2ZTZjZGQ2NTgxMTI1OGY2YzMz
N2ZjZWU4M2UwOWYxYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCkBAIC05NSw2ICs5NSw3
IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEo
KQogICAgICwgZWZmZWN0aXZlQXBwZWFyYW5jZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVy
U3R5bGU6OmluaXRpYWxBcHBlYXJhbmNlKCkpKQogICAgICwgdGV4dERlY29yYXRpb25TdHlsZShz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvblN0
eWxlKCkpKQogICAgICwgYXNwZWN0UmF0aW9UeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5k
ZXJTdHlsZTo6aW5pdGlhbEFzcGVjdFJhdGlvVHlwZSgpKSkKKyAgICAsIGNvbnRlbnRWaXNpYmls
aXR5KHN0YXRpY19jYXN0PHVuc2lnbmVkPihDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkpCiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAsIGVmZmVjdGl2ZUJsZW5kTW9kZShzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxCbGVuZE1vZGUoKSkpCiAgICAg
LCBpc29sYXRpb24oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsSXNv
bGF0aW9uKCkpKQpAQCAtMTk5LDYgKzIwMCw3IEBAIGlubGluZSBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbkluCiAg
ICAgLCBlZmZlY3RpdmVBcHBlYXJhbmNlKG8uZWZmZWN0aXZlQXBwZWFyYW5jZSkKICAgICAsIHRl
eHREZWNvcmF0aW9uU3R5bGUoby50ZXh0RGVjb3JhdGlvblN0eWxlKQogICAgICwgYXNwZWN0UmF0
aW9UeXBlKG8uYXNwZWN0UmF0aW9UeXBlKQorICAgICwgY29udGVudFZpc2liaWxpdHkoby5jb250
ZW50VmlzaWJpbGl0eSkKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgZWZmZWN0
aXZlQmxlbmRNb2RlKG8uZWZmZWN0aXZlQmxlbmRNb2RlKQogICAgICwgaXNvbGF0aW9uKG8uaXNv
bGF0aW9uKQpAQCAtMzIwLDYgKzMyMiw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAgICAg
ICAgICYmIGFwcGxlUGF5QnV0dG9uVHlwZSA9PSBvLmFwcGxlUGF5QnV0dG9uVHlwZQogI2VuZGlm
CiAgICAgICAgICYmIGFzcGVjdFJhdGlvVHlwZSA9PSBvLmFzcGVjdFJhdGlvVHlwZQorICAgICAg
ICAmJiBjb250ZW50VmlzaWJpbGl0eSA9PSBvLmNvbnRlbnRWaXNpYmlsaXR5CiAgICAgICAgICYm
IG9iamVjdEZpdCA9PSBvLm9iamVjdEZpdAogICAgICAgICAmJiBicmVha0FmdGVyID09IG8uYnJl
YWtBZnRlcgogICAgICAgICAmJiBicmVha0JlZm9yZSA9PSBvLmJyZWFrQmVmb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuaAppbmRleCBjYTE1N2Y4MzM0ZTRmOTAxNjFjZTViMTk2ODhmNzc3NmRhODdmN2Y2
Li5jYjNlNDFlODhlODlhMDkwODI0NzY2MmIxNTQzMWE2MGRjYzlmMDk3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmgKQEAgLTIwOCw3ICsyMDgsOCBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCB0ZXh0
RGVjb3JhdGlvblN0eWxlIDogMzsgLy8gVGV4dERlY29yYXRpb25TdHlsZQogCi0gICAgdW5zaWdu
ZWQgYXNwZWN0UmF0aW9UeXBlIDogMzsKKyAgICB1bnNpZ25lZCBhc3BlY3RSYXRpb1R5cGUgOiAy
OworICAgIHVuc2lnbmVkIGNvbnRlbnRWaXNpYmlsaXR5IDogMjsKIAogI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCiAgICAgdW5zaWduZWQgZWZmZWN0aXZlQmxlbmRNb2RlOiA1OyAvLyBFQmxl
bmRNb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCmluZGV4IDA3MDMwZDdm
ODcxZjNjNTQ3YTRlMjZkZmNlYWRlNWQxMzAyOWUyNWIuLmIwNDY4NzE4Y2UwNGYzZGE0M2U4NDVk
OTNiYWY2M2Y1NWIyMjQzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
QWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3Bw
CkBAIC01NDYsNiArNTQ2LDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYg
c3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB1c2VyQWdlbnRBcHBlYXJhbmNlCiAKICAgICBpZiAo
bV9lbGVtZW50KQogICAgICAgICBzdHlsZS5zZXRFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoY29t
cHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcygqbV9lbGVtZW50LCBtX3BhcmVudFN0eWxlLmV2
ZW50TGlzdGVuZXJSZWdpb25UeXBlcygpKSk7CisgICAgaWYgKHN0eWxlLmNvbnRlbnRWaXNpYmls
aXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pCisgICAgICAgIHN0eWxlLnNldFNraXBz
Q29udGVudHMobV9lbGVtZW50ICYmIG1fZWxlbWVudC0+c2hvdWxkU2tpcENvbnRlbnQoKSk7Cisg
ICAgZWxzZQorICAgICAgICBzdHlsZS5zZXRTa2lwc0NvbnRlbnRzKHN0eWxlLmNvbnRlbnRWaXNp
YmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbik7CiAKICNpZiBFTkFCTEUoVEVY
VF9BVVRPU0laSU5HKQogICAgIGlmIChtX2VsZW1lbnQgJiYgbV9kb2N1bWVudC5zZXR0aW5ncygp
LnRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGU4ODRlNWJjZmFjNWRkNDg1MDlkZWQyMzllZTJl
ZjY2YWYzZTE0ZWQuLjA5Mjc1YzNlYjJkYWNjNmNlZDA3NzQ0YTFlMjBjMThiNzU1NTI5MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC04MSw2ICs4MSw3
IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDbGlwKTsK
ICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb250YWluKTsKICAgICBERUNM
QVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb250ZW50KTsKKyAgICBERUNMQVJFX1BST1BF
UlRZX0NVU1RPTV9IQU5ETEVSUyhDb250ZW50VmlzaWJpbGl0eSk7CiAgICAgREVDTEFSRV9QUk9Q
RVJUWV9DVVNUT01fSEFORExFUlMoQ291bnRlckluY3JlbWVudCk7CiAgICAgREVDTEFSRV9QUk9Q
RVJUWV9DVVNUT01fSEFORExFUlMoQ291bnRlclJlc2V0KTsKICAgICBERUNMQVJFX1BST1BFUlRZ
X0NVU1RPTV9IQU5ETEVSUyhDdXJzb3IpOwpAQCAtMTI4Nyw2ICsxMjg4LDI3IEBAIGlubGluZSB2
b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb250YWluKEJ1aWxkZXJTdGF0ZSYgYnVpbGRl
clN0YXRlLCBDU1NWYWx1CiAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRh
aW4oY29udGFpbm1lbnQpOwogfQogCitpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseUlu
aXRpYWxDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK3sKKyAg
ICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShSZW5kZXJTdHlsZTo6
aW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkpOworfQorCitpbmxpbmUgdm9pZCBCdWlsZGVyQ3Vz
dG9tOjphcHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJT
dGF0ZSkKK3sKKyAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShm
b3J3YXJkSW5oZXJpdGVkVmFsdWUoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkuY29udGVudFZp
c2liaWxpdHkoKSkpOworfQorCitpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
Q29udGVudFZpc2liaWxpdHkoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHVlJiB2
YWx1ZSkKK3sKKyAgICBpZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgeworICAgICAg
ICBpZiAoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS52YWx1ZUlEKCkgPT0gQ1NT
VmFsdWVIaWRkZW4pCisgICAgICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0
Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbik7CisgICAgICAgIGlm
IChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLnZhbHVlSUQoKSA9PSBDU1NWYWx1
ZUF1dG8pCisgICAgICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVu
dFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHk6OkF1dG8pOworICAgICAgICByZXR1cm4gYnVp
bGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoUmVuZGVyU3R5bGU6OmluaXRp
YWxDb250ZW50VmlzaWJpbGl0eSgpKTsKKyAgICB9Cit9CisKIGlubGluZSB2b2lkIEJ1aWxkZXJD
dXN0b206OmFwcGx5VmFsdWVUZXh0RW1waGFzaXNTdHlsZShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJT
dGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGlmIChpczxDU1NWYWx1ZUxpc3Q+KHZhbHVl
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAppbmRleCA5NWEyNmZmODM2MWFjNjFj
MzFjMGUzMjFhNTdhNmEzMTJkMTRmYjFmLi4wYWUyZjkxNTZmZDZmNDE5Y2JiMjJiZmJmNjg3OTA5
ZDUxZjg4ZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcApAQCAtNjYsNyArNjYs
NyBAQCBGbG9hdFJlY3QgU1ZHTG9jYXRhYmxlOjpnZXRCQm94KFNWR0VsZW1lbnQqIGVsZW1lbnQs
IFN0eWxlVXBkYXRlU3RyYXRlZ3kgc3R5bGVVcAogewogICAgIEFTU0VSVChlbGVtZW50KTsKICAg
ICBpZiAoc3R5bGVVcGRhdGVTdHJhdGVneSA9PSBBbGxvd1N0eWxlVXBkYXRlKQotICAgICAgICBl
bGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygp
OworICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwg
RG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogCiAgICAgLy8gRklYTUU6IEV2ZW50dWFsbHkg
d2Ugc2hvdWxkIHN1cHBvcnQgZ2V0QkJveCBmb3IgZGV0YWNoZWQgZWxlbWVudHMuCiAgICAgaWYg
KCFlbGVtZW50LT5yZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmNwcAppbmRleCBjMTQ1M2JmYzYwNDA4Yzk1MDc0NjA3N2Q3NjFlZTE0ZDcyOTY1
MWZiLi44MDNjZjkwZGUzMmMxZGRhM2MwYjgyNTIxN2ExYzk3ZjdlN2YwZmEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtNTUsMTMgKzU1LDEz
IEBAIFNWR1RleHRDb250ZW50RWxlbWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtCiAKIHVuc2lnbmVkIFNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0TnVtYmVyT2ZDaGFycygpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3lu
Y2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIHJldHVybiBTVkdU
ZXh0UXVlcnkocmVuZGVyZXIoKSkubnVtYmVyT2ZDaGFyYWN0ZXJzKCk7CiB9CiAKIGZsb2F0IFNW
R1RleHRDb250ZW50RWxlbWVudDo6Z2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCkKIHsKLSAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3Vt
ZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Q
b3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olll
cyk7CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS50ZXh0TGVuZ3RoKCk7CiB9
CiAKQEAgLTEwOSw3ICsxMDksNyBAQCBFeGNlcHRpb25PcjxmbG9hdD4gU1ZHVGV4dENvbnRlbnRF
bGVtZW50OjpnZXRSb3RhdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQogCiBpbnQgU1ZHVGV4
dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVtQXRQb3NpdGlvbihET01Qb2ludEluaXQmJiBwb2lu
dEluaXQpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1l
bnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIEZsb2F0UG9pbnQgdHJhbnNmb3JtUG9pbnQge3N0
YXRpY19jYXN0PGZsb2F0Pihwb2ludEluaXQueCksIHN0YXRpY19jYXN0PGZsb2F0Pihwb2ludElu
aXQueSl9OwogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSkuY2hhcmFjdGVyTnVt
YmVyQXRQb3NpdGlvbih0cmFuc2Zvcm1Qb2ludCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjFlYjcwYTJmZGQ0MWI1
YzczNjQxNzM3OTUwMjY4YjM4MTgwNDFkZS4uNTJjOTRiYjIxZDFmNTYwMjgxMzZkODkwZGIzOWJh
OTUxMGQwMDY3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAyLTIyICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3BlcnR5IGNv
bnRlbnQtdmlzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIyLTAyLTIyICBGcsOpZMOpcmljIFdh
bmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIG51bGwgcHRyIGRlcmVmIHZpYSBXZWJY
UlN5c3RlbTo6cmVxdWVzdFNlc3Npb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDk5MmQxMTdlYzVmZmNjNWQ0YWIyOGUwMzJlMDk1YTE2M2M0ZTBmMTEuLmRkNWYwYmRiODBhNDA5
Y2YwY2U5NDljNjRiM2EwN2RlNzY2YzQwN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM1IEBACisyMDIyLTAyLTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MjM4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRp
b24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDE1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDQ3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ4LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDgwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRl
ZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRv
Lmh0bWw6CisKIDIwMjItMDItMjIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDU1MgY29udGFpbmVyIFF1ZXJpZXNdIGdldENvbXB1dGVkU3R5bGUgc2hvdWxk
IHVwZGF0ZSBzdHlsZSBmb3IgaW52YWxpZCBxdWVyeSBjb250YWluZXJzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCAwOTBmYzI4MjVlMTIxZTAxYzU3YjE5ZDMyYTkxOTkzOWNlNWM2ZDA5Li5kZTYxNWJj
YmM3MTI2N2ZlZWI3Y2Q5OTE0ZTM2Nzk3MjYzZWVlMTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTQ2MzEsNDQgKzQ2MzEsOSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbgogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA3Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA4Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA5Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDEwLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDExLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE5LnN1
Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAzMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAzMy5zdWIuaHR0cHMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzcuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDAuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDUuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNTEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNTYu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNjcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNzUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wNzYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wNzguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wODIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wODMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0wMDAudGVudGF0aXZlLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktd2l0
aC10b3AtbGF5ZXItMDAxLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxheWVyLTAwMi50ZW50YXRpdmUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2VsZW1lbnQtcmVhc3NpZ25lZC10by1z
a2lwcGVkLXNsb3QuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2VsZW1lbnQt
cmVhc3NpZ25lZC10by1zbG90LWluLXNraXBwZWQtc3VidHJlZS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b3VudGVyLXNjb3BpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvdW50ZXItc2NvcGluZy0wMDIu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2Nh
ZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IDliMjU0NzE0MmQ4NTVi
MWQzOGRlMDQwMTNhZmFkMDAzMmYwZDVmOTYuLmJkNzkzNjJlMjYwYjNhNDNjNjE3MjJmMjFlZTc4
ZGU4MDU3MjM0NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKQEAgLTEwMCw2
ICsxMDAsNyBAQCBQQVNTIGNvbnRhaW4KIFBBU1MgY29udGFpbmVyLW5hbWUKIFBBU1MgY29udGFp
bmVyLXR5cGUKIFBBU1MgY29udGVudAorUEFTUyBjb250ZW50LXZpc2liaWxpdHkKIFBBU1MgY291
bnRlci1pbmNyZW1lbnQKIFBBU1MgY291bnRlci1yZXNldAogUEFTUyBjdXJzb3IKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVj
dGVkLnR4dAppbmRleCA0YzgyNDBkOGQ4MjY2YmI3Y2U4NmI2MWYwOWNiNjk2ZmFjNjg2ZDc2Li4x
OGNlZTg0ZTBmNzk3MjlhODExMDIxYjJlNjJkNmUxMzQxMzYzY2QzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEFuaW1hdGlvbiBldmVudHMgZG8gbm90IGZpcmUg
Zm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZSBh
c3NlcnRfZmFsc2U6IEFuaW1hdGlvbiBldmVudHMgZG8gbm8gZmlyZSB3aGlsZSB0aGUgYW5pbWF0
aW9uIGlzIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlCitGQUlMIEFuaW1hdGlvbiBldmVudHMgZG8gbm90IGZpcmUgZm9yIGEgQ1NTIGFu
aW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZSBhc3NlcnRfdHJ1ZTog
VGhlIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudCBmaXJlcyBvbmNlIHRoZSBhbmltYXRpb24gaXMg
bm8gbG9uZ2VyIGRpc3BsYXkgbG9ja2VkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIFRo
ZSBmaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVlIHRvIHRoZSBub3JtYWwgcGFz
c2FnZSBvZiB0aW1lICBmb3IgYSBDU1MgYW5pbWF0aW9uIGluIGEgZGlzcGxheSBsb2NrZWQgc3Vi
dHJlZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCByZXNvbHZlIGR1ZSB0byB0
aGUgbm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9yIGEgQ1NTIHRyYW5zaXRpb24gaW4gYSBkaXNw
bGF5IGxvY2tlZCBzdWJ0cmVlCiBGQUlMIEV2ZW50cyBhbmQgcHJvbWlzZXMgYXJlIGhhbmRsZWQg
bm9ybWFsbHkgZm9yIGFuaW1hdGlvbnMgd2l0aG91dCBhbiBvd25pbmcgZWxlbWVudCBhc3NlcnRf
dHJ1ZTogQW5pbWF0aW9uIGV2ZW50IG5vdCBibG9ja2VkIG9uIGRpc3BsYXkgbG9ja2VkIHN1YnRy
ZWUgaWYgbm8gb3duaW5nIGVsZW1lbnQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVj
dGVkLnR4dAppbmRleCA1ZDZmMWY2ZGVmNjVhNWFhNjQyMGYwMDE4NDhkYjhkNDVlMzBmYmRkLi5k
YmU0OGFmOTIxNzY0YTI4YTRjNjViNDFiYjZjNTQ3YzQ5NDQ3MjlkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3Rp
bmcgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQgIm91dGVyIiBidXQg
Z290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1l
eHBlY3RlZC50eHQKaW5kZXggOWI3OTE0MGNkYTJkNDNjODRmYWM4Mjc0ODQxOGQ5M2ZhM2Q1NDE3
Ny4uNDUxYTRhMzVlYWY4ZDVhOWYyY2RiNzhiMmRmOTQ1MjMwMjUzNjkzZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0
ZXN0aW5nIChjb21wb3NpdGVkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBl
Y3RlZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhp
dCB0ZXN0aW5nIChjb21wb3NpdGVkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQKaW5kZXggOWZiMDg4YTc4
NGJjNWIwM2YwZjQ5MmNlNjcwZDdmMGMwZTkwMGJlYy4uZjZmNjgwZTgyYmVhODBmMjYzMDcwZmE2
ZTNhNzFlMTYyZmM3YzFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkIGNoaWxkKSBh
c3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1dCBnb3Qg
ImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVk
IGNoaWxkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQKaW5kZXggZTI5MmVmNzIxNjFiMDg0OTdkYTIyMzg2
NzQ3YTM1NDlhNjZjYjA2MS4uYjliODMzNTJmOGJlZjE0NjY5YmVhNzI5MDQyOGY0MmNkZDNmZjRi
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MTgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDE4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZp
c2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkIHdpdGggYSBjb21wb3NpdGVkIGNoaWxk
KSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1dCBn
b3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3Np
dGVkIHdpdGggYSBjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKaW5kZXggNzNk
YTQ4ZGRiNGFkYzk4YmVmYTgzYjI4YzM1NDlmZjQ4ZGIwNWZhMC4uODM5OTNjOWQwODU0NDYyMjJk
ZjZlZTBkNWRjZDVkYzE5MTFmMGViZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKIAotRkFJTCBjb250ZW50LXZpc2liaWxpdHk6aGlkZGVuIGRvZXMgbm90IGFmZmVjdCBjb21w
dXRlZCB2YWx1ZSBvZiAnY29udGFpbicgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykg
ImhpZGRlbiIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgY29udGVudC12aXNp
YmlsaXR5OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9mICdjb250YWluJyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXV0byIgYnV0IGdvdCAodW5kZWZpbmVk
KSB1bmRlZmluZWQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5OmhpZGRlbiBkb2VzIG5vdCBhZmZl
Y3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nCitQQVNTIGNvbnRlbnQtdmlzaWJpbGl0eTph
dXRvIGRvZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjktZXhw
ZWN0ZWQudHh0CmluZGV4IDNhMGVhOGM4Yzk3OTEyMDYzZGUwODM2NTU4MmRjYjM1NzRjNjJhM2Yu
LjFjZjRkMGY2MjI1Y2FkYTQ1ZjhkMDZmZjU2ZWJkMmJkYjRlNDhjM2UgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw0IEBACiBUaGlzIHRleHQgc2hvdWxkIGJlIHZpc2libGUuCi1UaGlz
IHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLgotVGhpcyB0ZXh0IGlzIGFsc28gbm90IHZpc2li
bGUuCiAKLUZBSUwgaW5uZXJUZXh0IG9uIGxvY2tlZCBlbGVtZW50LiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLiIgYnV0IGdvdCAiVGhpcyB0ZXh0
IHNob3VsZCBiZSB2aXNpYmxlLlxuVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5cblRo
aXMgdGV4dCBpcyBhbHNvIG5vdCB2aXNpYmxlLiIKK1BBU1MgaW5uZXJUZXh0IG9uIGxvY2tlZCBl
bGVtZW50LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQKaW5kZXggZGVhYTU3N2NkZGNiOTY4ZjAzOTlhMjc2
ZDFjYjc0NThiOWQ2OWM0OS4uODI5YzI5NmJjMGQ3NGZjODFmZTAxOTdlMDI5ZWQ1MGZiYThjZTdj
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MzAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDMwLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBJbnRlcnNlY3Rp
b25PYnNlcnZlciBpbnRlcmFjdGlvbnMgYXNzZXJ0X2VxdWFsczogcnVuU3RlcDIgZXhwZWN0ZWQg
MSBidXQgZ290IDAKK1BBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJhY3Rpb25zCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMx
LWV4cGVjdGVkLnR4dAppbmRleCA1Y2M4YjgyOTZmZjdiYTY4Y2FlNjZlMDdlMTZmMjA5YjJkYjVj
OGU5Li4xY2M2YzFjMGFjODA3ZjZlYzMzNDBmZGNhYThkZTY5OTY4Y2FmZjk1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEtZXhw
ZWN0ZWQudHh0CkBAIC0xLDEwICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFBy
b21pc2UgUmVqZWN0aW9uOiBFcnJvcjogYXNzZXJ0X2VxdWFsczogUmVzaXplT2JzZXZlciBzaG91
bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBleHBlY3RlZCB0cnVlIGJ1dCBnb3Qg
ZmFsc2UKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhhbmRsZWQgcmVqZWN0
aW9uOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3VsZCBub3QgcnVuIGR1cmluZyB3
aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQotCi1USU1FT1VUIFJl
c2l6ZU9ic2VydmVyIHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3QgdGltZWQgb3V0Ci0KLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogYXNzZXJ0X2Vx
dWFsczogUmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJl
ZCBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQotVElNRU9VVCBSZXNpemVPYnNlcnZlciBz
a2lwcGVkIHdoaWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91dAorUEFTUyBSZXNpemVPYnNlcnZlciBz
a2lwcGVkIHdoaWxlIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQKaW5kZXggMGU4ODBlMDU1ZjA0
MTcwY2Q3ZTY3Yzk2ZmE5NzA1YzQ0ZTU4NzU0MC4uYmNmYzc4OWZhNDBhMzNlMzE1YzM1M2FhNGEx
YmFiY2VkZTYzOTllNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBNZWFzdXJlIEZvcmNlZCBMYXlvdXQgYXNzZXJ0X2VxdWFsczogc3BhY2VyIGZvcmNlZCBleHBl
Y3RlZCA4IGJ1dCBnb3QgMTA4CitQQVNTIE1lYXN1cmUgRm9yY2VkIExheW91dAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0NC1leHBl
Y3RlZC50eHQKaW5kZXggYzNiNjRiMTIwODBhMDg4MWE5Nzg1Nzg0MDcyZTNiMzJiODk0NWNiMi4u
ZTEzNzJiOGQyZjFhOWIwYWQxOTczYTllMmRlMzkzZjNmMjNhMDYyMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4cGVjdGVk
LnR4dApAQCAtMSwxMSArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IEVycm9yOiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMgogCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAyCi0KLVRJTUVP
VVQgQ29udGVudCBWaXNpYmlsaXR5OiBzbG90IG1vdmVkIGFmdGVyIGNvbnRhaW5lciBpcyBoaWRk
ZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBFcnJv
cjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIKLQotVElNRU9VVCBDb250ZW50
IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhpZGRlbiBUZXN0IHRp
bWVkIG91dAorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFp
bmVyIGlzIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKaW5kZXggMzk1ZDU5YzQ2YTU0NzI3MmNj
YWVkOTJlNjJjMDIyYWRiNzY1MjFhZC4uNGMzYzhiYjk0M2UwNGUyMmZlZWQzOWQzNGIwZjZkODFj
MDNlOTQ3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNDctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIAogCi0KLQotRkFJ
TCBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBoaWRkZW4gc3VidHJlZXMgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0iZml2ZSIgdHlwZT0idGV4dCI+PC9p
bnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJ0d28iIHR5cGU9InRleHQiPjwv
aW5wdXQ+CitQQVNTIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNraXBzIGhpZGRlbiBzdWJ0cmVlcwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA0OC1leHBlY3RlZC50eHQKaW5kZXggZjhiMDExYmE4MTc4ZDY4N2M3ZjkwOWRlNDgzNzk5NzNj
OWQwOTZkNC4uNzMyNjhmZGIwOGRmOTQ3NGYwMWRmNTc2YTE4MGY5YmUzODdkYWFlOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDgtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ4
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBGcmFnbWVudCBuYXZpZ2F0aW9u
IHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgotRkFJTCBGcmFnbWVudCBuYXZpZ2F0aW9uIHdp
dGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxvY2tzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3VsdHMiCitGQUlMIEZyYWdtZW50IG5hdmlnYXRp
b24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHNpbmdsZSB0ZXh0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJ0ZXh0IiBidXQgZ290ICJ0b3AiCitGQUlMIEZyYWdtZW50IG5hdmlnYXRpb24gd2l0
aCBjb250ZW50LXZpc2liaWxpdHk7IHJhbmdlIGFjcm9zcyBibG9ja3MgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInRleHQyIiBidXQgZ290ICJ0b3AiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4dAppbmRleCA0
NGEyOTM2NTAzNjE5Zjc2ZTFiZGEzZmJjN2NjMDQ4YjNmM2MxYzZmLi5lYjE5MzUxNjY2ZTU3YTAw
ZmQ0NmE3MDI3YzFiNjAwMjA3ZWI1YWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEs
MyBAQAotaGVsbG8KLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxvCiAKIEZBSUwgT25lIGVsZW1l
bnRzIHNlbGVjdGVkOiAgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlM
IFJhbmdlIGV4dGVuZGVkIHRvIGNvdmVyIG1vcmUgZWxlbWVudHM6ICBhc3NlcnRfdHJ1ZTogZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dAppbmRleCAwM2UzYmI3YzBlODk2
MDMzNzYxYjUyNDllZDY2MTYyNjk0YzUwN2U2Li4wMGYxYzdmNDQ0MTg3ODJiY2ViMzQzOGQ3YjZm
YTUxZjU2MWUxNzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNT
IG9uZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKToKIEZBSUwgdHdvLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA0MQotRkFJ
TCB0aHJlZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0
ZWQgMzAwNyBidXQgZ290IDMwNzUKLUZBSUwgZm91ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTog
IGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMxMDkKLUZBSUwgZml2ZS5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBi
dXQgZ290IDMxNDMKK0ZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRf
ZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCitGQUlMIGZvdXIuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAz
MDQxCitGQUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5
IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dAppbmRleCA5Mjcw
OTZlZGY5NzNkYjE4OTZkN2UyNWE5NDRlMWE5NDBmMmE4MGEyLi4wNDliZTI4NGQ0N2Y2Y2RmMDk4
MzNmNTE0MzI1MTBlOTAzMThkZGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBA
QAogCi1GQUlMIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5pbWF0YWJsZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAidmlzaWJsZSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKK1BBU1MgQ29udGVudC12aXNpYmlsaXR5IGlzIG5vdCBhbmltYXRhYmxlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4
cGVjdGVkLnR4dAppbmRleCBkMGYwNWFkNWEzOGNlNDEyNDIzMzBlYjM5MWFhZDBlOTE3MTljN2I2
Li44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEgQEAKLUNvbnRlbnQgVmlzaWJpbGl0eTogY2FyZXQgcG9zaXRpb24g
d2l0aCBodG1sIGhpZGRlbiAgICogeyBhbGw6IGluaXRpYWw7IGNvbnRlbnQtdmlzaWJpbGl0eTog
aGlkZGVuOyB9IHRlc3QoKCkgPT4geyBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNhcmV0UmFuZ2VG
cm9tUG9pbnQoKTsgYXNzZXJ0X25vdF9lcXVhbHMocmFuZ2UsIG51bGwsICJyYW5nZSBleGlzdHMi
KTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydENvbnRhaW5lciwgaHRtbCwgInN0YXJ0Q29udGFp
bmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydE9mZnNldCwgMCwgInN0YXJ0
T2Zmc2V0IGlzIHplcm8iKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5lbmRDb250YWluZXIsIGh0bWws
ICJlbmRDb250YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLmVuZE9mZnNldCwg
MCwgImVuZE9mZnNldCBpcyB6ZXJvIik7IH0sICJDYXJldCByYW5nZSBmcm9tIHBvaW50Iik7Ci1G
QUlMIENhcmV0IHJhbmdlIGZyb20gcG9pbnQgYXNzZXJ0X2VxdWFsczogc3RhcnRDb250YWluZXIg
aXMgaHRtbCBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGh0bWwgaWQ9Imh0bWwiPjxoZWFkPjxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgotPHRpdGxlPkNvbnRlbi4uLiBidXQgZ290IFRleHQgbm9kZSAiQ29u
dGVudCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlvbiB3aXRoIGh0bWwgaGlkZGVuIgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MS1l
eHBlY3RlZC50eHQKaW5kZXggNmVlZGJhZGVmNWVmMTk3M2ZhY2MzZGM1ZTE5NTQxMmM3ZWNlY2Fk
Ni4uNGRmOTNjZGMxODM1MWJmNzNmMGJlNDQ0ZmZjNWYyOWMyOTJjMWVkZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODEtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgxLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBTY3JvbGwgb2Zmc2V0IGlzIHJlc3RvcmVk
IHdoZW4gY29udGVudC12aXNpYmlsaXR5IGhpZGRlbiBpcyByZW1vdmVkCitGQUlMIFNjcm9sbCBv
ZmZzZXQgaXMgcmVzdG9yZWQgd2hlbiBjb250ZW50LXZpc2liaWxpdHkgaGlkZGVuIGlzIHJlbW92
ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwMCBidXQgZ290IDAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQu
dHh0CmluZGV4IGNhMzc4N2U0NDg3YmQzNjQ5NjBmZTRlYjRjOTFlZGFkMTc3ZTQ4NzEuLjQ0NDlk
N2M3NzNiOTA1ODJkM2EzNzk2YTM2Y2NjZGNjODNjYmU4MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50eHQK
QEAgLTEsNyArMSwzIEBACiAKLQotCi0KLQogUEFTUyBjLXY6aGlkZGVuIDxpbWc+IGxheW91dCBB
UElzIHNob3VsZG4ndCByZXR1cm4gemVybyB3aGVuIGFjY2Vzc2VkIGZyb20gc2NyaXB0LgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0
LWltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGE0NWVkNTgyOTAxZjdjNWMyZGY5
N2U3MGVhNDUwNTAyMzcyYTU2MTYuLmU0YTMxZmIxYmExYTYzOTJjZWViODY2YmI3ZTYwYmNkYmIx
OGIwNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBA
QAogCi0KLQogUEFTUyA8aW5wdXQgdHlwZT1pbWFnZT4gc2hvdWxkIHJldHVybiBub256ZXJvIHZh
bHVlcyBmb3Igd2lkdGggYW5kIGhlaWdodCBpbiBhIGMtdjpoaWRkZW4gc3VidHJlZS4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmct
ZXhwZWN0ZWQudHh0CmluZGV4IDQ2NzZiODhjOWFjYzdmMjk3OTU4Mjg5NDQ0MjhmMjQyMTgzMTFk
NTYuLjhkZjFiN2ZmYWY0YmMyM2UyNTQ2NjJlZDhmMzZiYThiMDY1YWJhMGMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1leHBl
Y3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1IZWxsbyBXb3JsZCEKLUhlbGxvIFdvcmxkIEFnYWlu
IQogCiBQQVNTIGdldEJCb3goKSBzaG91bGQgcmV0dXJuIG5vbnplcm8gdmFsdWVzIGluIGEgYy12
OmhpZGRlbiBzdWJ0cmVlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5o
ZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNl
LWV4cGVjdGVkLnR4dAppbmRleCA3ZGExN2ZmYWY5Y2Q1MjBhNzUzZTlmM2U5YTU4ZTljNjFjNDVm
ZTY1Li42Njg4OTZhZjEyZDZhMGQ5MGQxYTNhZGE2Y2Q4N2NhYWRlZWE1NmVlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACiAKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IGhhcyBpbml0aWFsIHZhbHVl
IHZpc2libGUgYXNzZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8g
YmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgZG9lcyBub3QgaW5oZXJpdCBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGVudC12
aXNpYmlsaXR5IGhhcyBpbml0aWFsIHZhbHVlIHZpc2libGUKK1BBU1MgUHJvcGVydHkgY29udGVu
dC12aXNpYmlsaXR5IGRvZXMgbm90IGluaGVyaXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21w
dXRlZC1leHBlY3RlZC50eHQKaW5kZXggODdhM2M2ODBlZjhjZmU0MjlhZTQ2ZDMwOTNlNzgwZTcx
MjdiZGY5Mi4uMGMzNGE1ZGJiZGRlN2RhYzM2OWU2YjgwY2QyNWE5ZTdkODc2ZGU2NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNv
bXB1dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9j
b250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAog
Ci1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAndmlzaWJsZScgYXNzZXJ0
X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGlu
IHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9wZXJ0
eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2F1dG8nIGFzc2VydF90cnVlOiBjb250ZW50LXZp
c2liaWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmls
aXR5IHZhbHVlICdoaWRkZW4nIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24n
dCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICd2aXNp
YmxlJworUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2F1dG8nCitQQVNT
IFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnaGlkZGVuJwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNp
YmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dAppbmRleCA2YTY1ZmY2ODRmNjA4MmQxY2U4MWMxMzdl
NDAzYTRkZTcwMDg5NTZmLi45ZGE0NTczZTA3NDc3Yjc3N2Q2YmE4NzY4ZjQ1M2M3NDM1NzMzNWQ1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2li
aWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJz
aW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBA
CiAKLUZBSUwgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAidmlzaWJsZSIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3Vs
ZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKLUZBSUwgZS5zdHlsZVsnY29udGVudC12
aXNpYmlsaXR5J10gPSAiYXV0byIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUg
IiIKLUZBSUwgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAiaGlkZGVuIiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxk
IGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydjb250ZW50LXZp
c2liaWxpdHknXSA9ICJ2aXNpYmxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFT
UyBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJhdXRvIiBzaG91bGQgc2V0IHRoZSBw
cm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJoaWRk
ZW4iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQtYXV0by5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRv
Lmh0bWwKaW5kZXggZDA3ZWRlNWE1NDYwMDdlMzI3ZDM1M2VkNTk5NDg5ZGRmZTU3NDQ4MS4uNTNh
MjJmNWZkOGQxY2RiODgzODUzNTM1NDU0OWUxMTc1NzZkN2U1MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50LXRhcmdl
dC1hdXRvLmh0bWwKQEAgLTQyLDcgKzQyLDcgQEAgZnVuY3Rpb24gZG91YmxlUmFmQ2hlY2tTY3Jv
bGwoKSB7CiAgIGhlaWdodDogMTAwMDBweDsKIH0KIC5hdXRvIHsKLSAgc3VidHJlZS12aXNpYmls
aXR5OiBhdXRvOworICBjb250ZW50LXZpc2liaWxpdHk6IGF1dG87CiB9CiA8L3N0eWxlPgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dApp
bmRleCA3YjFiM2M2ODQ0YzQ0OTcyMTQzZmE2MDMzNzFhYjMwNTljYjIwNzdmLi40Mjk5NjJiMjlh
YzY4ODU5YTBkNjdkNjAyMmUwZjg5N2Y1ZjE3M2Y0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2Nh
ZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2Fk
ZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKQEAgLTEwMCw2ICsxMDAsNyBAQCBQ
QVNTIGNvbnRhaW4KIFBBU1MgY29udGFpbmVyLW5hbWUKIFBBU1MgY29udGFpbmVyLXR5cGUKIFBB
U1MgY29udGVudAorUEFTUyBjb250ZW50LXZpc2liaWxpdHkKIFBBU1MgY291bnRlci1pbmNyZW1l
bnQKIFBBU1MgY291bnRlci1yZXNldAogUEFTUyBjdXJzb3IKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2Nh
ZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IDhlMmQwMTExZmExMTg2
MGEzNTA0MDk0NDBiNDc1NGViNGEyNDE0M2UuLmU0NTAxNmFiNTVjZGU5NjI1MGVjZGViZjUwMDIx
ZmFhOGMxNjk2NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFs
LXhtbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwt
eG1sLWV4cGVjdGVkLnR4dApAQCAtMTAwLDYgKzEwMCw3IEBAIFBBU1MgY29udGFpbgogUEFTUyBj
b250YWluZXItbmFtZQogUEFTUyBjb250YWluZXItdHlwZQogUEFTUyBjb250ZW50CitQQVNTIGNv
bnRlbnQtdmlzaWJpbGl0eQogUEFTUyBjb3VudGVyLWluY3JlbWVudAogUEFTUyBjb3VudGVyLXJl
c2V0CiBQQVNTIGN1cnNvcgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452962</attachid>
            <date>2022-02-23 03:45:15 -0800</date>
            <delta_ts>2022-02-24 02:10:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220223114513.patch</filename>
            <type>text/plain</type>
            <size>112732</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGJjZWUxYTYwMzAwYzMz
YzMzMzM1Y2E1N2ZlOTY4ZTQ5Y2MzNGFmNy4uNzhjNTYzYzRmMjQyMjMxMDYyODZkMDU0NmFlMDM4
OTljYjcwY2E3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0yMiAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMjIgIEZyw6lkw6lyaWMgV2FuZyAgPGZ3YW5nQGlnYWxp
YS5jb20+CiAKICAgICAgICAgbnVsbCBwdHIgZGVyZWYgdmlhIFdlYlhSU3lzdGVtOjpyZXF1ZXN0
U2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGlt
ZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3Bw
CmluZGV4IDNjOTU5ZTljYmQ0YTg3MTI0NGVlMmY0NWIwYjVhYTA2ZTFjNWZkNDUuLmY3NjgzOTll
ODkzNDNmMTBjZDZjNzZlMDZhOTRmNGEzODdkNmU2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKQEAgLTQyOSw2ICs0MjksMTYgQEAgQW5pbWF0
aW9uRXZlbnRzIERvY3VtZW50VGltZWxpbmU6OnByZXBhcmVGb3JQZW5kaW5nQW5pbWF0aW9uRXZl
bnRzRGlzcGF0Y2goKQogewogICAgIG1fc2hvdWxkU2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9u
Rm9yTmV3UGVuZGluZ0V2ZW50cyA9IHRydWU7CiAgICAgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9w
ZW5kaW5nQW5pbWF0aW9uRXZlbnRzLCB7IH0pOworICAgIEFuaW1hdGlvbkV2ZW50cyBldmVudHM7
CisgICAgZm9yIChhdXRvJiBldmVudCA6IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cykgeworICAg
ICAgICBpZiAoZXZlbnQtPmFuaW1hdGlvbigpLT5pc0luSGlkZGVuU3VidHJlZSgpKQorLy8gICAg
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgpICYmICFkb3du
Y2FzdDxOb2RlPigqZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8gZHluYW1pY0Rv
d25jYXN0PEVsZW1lbnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKy8vICAgICAgICBp
ZiAoZWxlbWVudCAmJiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgZXZlbnRzLmFwcGVuZChldmVudCk7CisgICAgICAgIG1fcGVuZGlu
Z0FuaW1hdGlvbkV2ZW50cy5yZW1vdmVGaXJzdChldmVudCk7CisgICAgfQorICAgIHJldHVybiBl
dmVudHM7CiB9CiAKIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBkb3VibGU+PiBEb2N1bWVudFRp
bWVsaW5lOjphY2NlbGVyYXRlZEFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1l
bGluZXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRp
bWVsaW5lc0NvbnRyb2xsZXIuY3BwCmluZGV4IDcwOTQ1M2JjNjYyNTJmOTU5ODI0YmE5NGVjYTdh
MzMwMDhjOWNhM2MuLmI5MjdjYWI4MmZmYmE0YjY4MzA3YzRiMGFmYzkyZTJkMDQyNjhmYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5l
c0NvbnRyb2xsZXIuY3BwCkBAIC0xMjAsNiArMTIwLDggQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5l
c0NvbnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0
aW8KICAgICAgICAgdGltZWxpbmVzVG9VcGRhdGUuYXBwZW5kKHRpbWVsaW5lLmNvcHlSZWYoKSk7
CiAKICAgICAgICAgZm9yIChhdXRvJiBhbmltYXRpb24gOiBjb3B5VG9WZWN0b3IodGltZWxpbmUt
PnJlbGV2YW50QW5pbWF0aW9ucygpKSkgeworICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aXNJ
bkhpZGRlblN1YnRyZWUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IGlmIChhbmltYXRpb24tPnRpbWVsaW5lKCkgIT0gdGltZWxpbmUucHRyKCkpIHsKICAgICAgICAg
ICAgICAgICBBU1NFUlQoIWFuaW1hdGlvbi0+dGltZWxpbmUoKSk7CiAgICAgICAgICAgICAgICAg
Y29udGludWU7CkBAIC0xOTksOCArMjAxLDEyIEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZXNDb250
cm9sbGVyOjp1cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhSZWR1Y2VkUmVzb2x1dGlvCiAg
ICAgfSk7CiAKICAgICAvLyA3LiBEaXNwYXRjaCBlYWNoIG9mIHRoZSBldmVudHMgaW4gZXZlbnRz
IHRvIGRpc3BhdGNoIGF0IHRoZWlyIGNvcnJlc3BvbmRpbmcgdGFyZ2V0IHVzaW5nIHRoZSBvcmRl
ciBlc3RhYmxpc2hlZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICBmb3IgKGF1dG8mIGV2ZW50
IDogZXZlbnRzKQorICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpIHsKKyAgICAgICAgLy8g
RWxlbWVudCogZWxlbWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRvd25jYXN0
PE5vZGU+KCpldmVudC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWljRG93bmNh
c3Q8RWxlbWVudD4oKmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworICAgICAgICAvLyBpZiAo
ZWxlbWVudCAmJiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIC8vICAgIGNv
bnRpbnVlOwogICAgICAgICBldmVudC0+dGFyZ2V0KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOwor
ICAgIH0KIAogICAgIC8vIFRoaXMgd2lsbCBjYW5jZWwgYW55IHNjaGVkdWxlZCBpbnZhbGlkYXRp
b24gaWYgd2UgZW5kIHVwIHJlbW92aW5nIGFsbCBhbmltYXRpb25zLgogICAgIGZvciAoYXV0byYg
YW5pbWF0aW9uIDogYW5pbWF0aW9uc1RvUmVtb3ZlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9XZWJBbmltYXRpb24uY3BwCmluZGV4IDJiOWMyMTdhMzM4MDMxMjhmY2NjYmQ0YmQ5YmMxYzhm
ODYzYjRiMzIuLjhmNDc1MTkyMTk1NzIzZDViOTM2ODJmZDNlZmRhY2Y2ODI0ZDA1ZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xNTEzLDQgKzE1MTMs
MTMgQEAgU2Vjb25kcyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QKICAgICBy
ZXR1cm4gZWZmZWN0KCktPnRpbWVUb05leHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNpY1RpbWluZygp
KSAvIHBsYXliYWNrUmF0ZTsKIH0KIAorYm9vbCBXZWJBbmltYXRpb246OmlzSW5IaWRkZW5TdWJ0
cmVlKCkKK3sKKyAgICBpZiAoIWlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGlmIChhdXRvIGVsZW1lbnQgPSBkb3duY2FzdDxEZWNsYXJhdGl2ZUFu
aW1hdGlvbj4odGhpcyktPm93bmluZ0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQt
PmVsZW1lbnQuaXNTa2lwcGVkQ29udGVudCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5o
CmluZGV4IDM3YTYxN2Y2MDUzNzA3OWQyYjEyZWEwYzA2MjhlMWNlYTJhMzJlNDYuLjA4MmExYjFh
NWFjMmU2NTlkNTQyZTBlMmQ2NWMxN2E2NTI4YTk4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBpc0RlY2xhcmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNDU1NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0NTU1RyYW5zaXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorICAgIGJvb2wgaXNJbkhpZGRlblN1YnRyZWUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgaWQo
KSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAgICAgdm9pZCBzZXRJZChjb25zdCBTdHJpbmcmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKaW5kZXggOTc5YWY2ODQzMWZmOTI1Nzc1ZWI1ZjkzZTg2YTY5YmE2NDMyZTMwZS4uNWRiYzRj
ZDMzNTZlZjI2ZDQ1NjhlNjY1Mjk3YzVjNTQzNzYyNTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM3NzEsNiArMzc3
MSwxNCBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9y
UHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlQ3VzdG9tSWRlbnQobmFtZSkpOwogICAgICAgICAgICAg
cmV0dXJuIGxpc3Q7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnRW
aXNpYmlsaXR5OgorICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGlu
Z3MoKS5jc3NDb250YWlubWVudEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eUhpZGRlbigpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVl
KENTU1ZhbHVlSGlkZGVuKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0
eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICAgICAgICAgIHJldHVybiBj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisgICAgICAg
ICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVZp
c2libGUpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2ZhY2VWaXNpYmlsaXR5OgogICAg
ICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoKHN0eWxl
LmJhY2tmYWNlVmlzaWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0eTo6SGlkZGVuKSA/IENT
U1ZhbHVlSGlkZGVuIDogQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlckltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5k
ZXggMjc4YzBmM2FmZTUwNDg0ZmYzMTFkODI5ZGUzMjgwZGM1NWUyNzlkZC4uZTY1YmJkNWU2NDI3
N2E3ZTI5ZGNkODM5ZGE3NmNhNzRmNDU4MzBmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uCkBAIC01Mjg1LDYgKzUyODUsMTkgQEAKICAgICAgICAgICAgICAgICAidXJsIjog
Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcXVlcmll
cyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImNvbnRlbnQtdmlzaWJpbGl0
eSI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAg
ICAgImN1c3RvbSI6ICJBbGwiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNz
c0NvbnRhaW5tZW50RW5hYmxlZCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3RhdHVz
IjogeworICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiZXhwZXJpbWVudGFsIgorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJj
YXRlZ29yeSI6ICJjc3MtY29udGFpbiIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4tMi8iCisgICAgICAgICAgICB9CisgICAgICAg
IH0sCiAgICAgICAgICJiYWNrZmFjZS12aXNpYmlsaXR5IjogewogICAgICAgICAgICAgImNvZGVn
ZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4IDUzYzMyYTYw
YTdlNzVmOTY2ZmM4MjZhOWM4NjZlYjY5NDUwZWYzZWMuLjUxZTU4NjkyODZiNWM3YjYyNjgyZjMz
MGY1NzkwOWRjMTRhNTZjZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VyQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJDb250ZXh0LmNwcApAQCAtMjM0LDYgKzIzNCw3IEBAIGJvb2wgQ1NTUGFyc2VyQ29udGV4
dDo6aXNQcm9wZXJ0eVJ1bnRpbWVEaXNhYmxlZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25z
dAogICAgIGNhc2UgQ1NTUHJvcGVydHlBc3BlY3RSYXRpbzoKICAgICAgICAgcmV0dXJuICFhc3Bl
Y3RSYXRpb0VuYWJsZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5OgogICAgICAgICByZXR1cm4gIWNvbnRhaW5tZW50
RW5hYmxlZDsKICAgICBjYXNlIENTU1Byb3BlcnR5QXBwbGVDb2xvckZpbHRlcjoKICAgICAgICAg
cmV0dXJuICFjb2xvckZpbHRlckVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDczZWFiYmZjNzIwMTE2MmQ5MDEzOWFhYWFj
NDNjOGY5OGFjMDQ0OGMuLmMzNjZmOTYyMWNjMWJkNWQ3ZjU5Zjg0MTUzZTJjMmI2ZGUzZmEzY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3Bw
CkBAIC00MDcyLDYgKzQwNzIsMTMgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNv
bnRhaW4oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIFJlZlB0cjxDU1NW
YWx1ZT4oV1RGTW92ZShsaXN0KSk7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1
bWVDb250ZW50VmlzaWJpbGl0eUhpZGRlbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sK
KyAgICBpZiAoYXV0byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZVZpc2libGUs
IENTU1ZhbHVlQXV0bywgQ1NTVmFsdWVIaWRkZW4+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNp
bmdsZVZhbHVlOworICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lVGV4dEVtcGhhc2lzUG9zaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFu
Z2UpCiB7CiAgICAgYm9vbCBmb3VuZE92ZXJPclVuZGVyID0gZmFsc2U7CkBAIC00NzAwLDYgKzQ3
MDcsMTAgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVW
YWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgaWYgKCFtX2NvbnRleHQu
Y29udGFpbm1lbnRFbmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAg
IHJldHVybiBjb25zdW1lQ29udGFpbihtX3JhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29u
dGVudFZpc2liaWxpdHk6CisgICAgICAgIGlmICghbV9jb250ZXh0LmNvbnRhaW5tZW50RW5hYmxl
ZCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY29uc3VtZUNv
bnRlbnRWaXNpYmlsaXR5SGlkZGVuKG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0
RW1waGFzaXNQb3NpdGlvbjoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVUZXh0RW1waGFzaXNQb3Np
dGlvbihtX3JhbmdlKTsKICNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IGMyZmYzNWZlNTEzMzRjMWExNTEwZDA1ZTkyMGQ1Y2I0OTNmYWFjNTkuLjU2
MmRlYjNkYzM1MDY0ODJjNDFmMThmNTRlMTkzMDU0ZmJiMWE5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtMTM0LDYgKzEzNCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPdmVybGF5Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUg
IkludGVyc2VjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJD
YWxsYmFjay5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5o
IgpAQCAtMzg5LDYgKzM5MCwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaXNhbGxvd0xheW91
dCB7IGZhbHNlIH07CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9i
c2VydmVyQ2FsbGJhY2sgZmluYWwgOiBwdWJsaWMgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFj
ayB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlv
bk9ic2VydmVyQ2FsbGJhY2s+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9i
c2VydmVyQ2FsbGJhY2soZG9jdW1lbnQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBo
YXNDYWxsYmFjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIENhbGxiYWNr
UmVzdWx0PHZvaWQ+IGhhbmRsZUV2ZW50KEludGVyc2VjdGlvbk9ic2VydmVyJiwgY29uc3QgVmVj
dG9yPFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMsIEludGVyc2VjdGlv
bk9ic2VydmVyJikgZmluYWwKKyAgICB7CisgICAgICAgIEFTU0VSVCghZW50cmllcy5pc0VtcHR5
KCkpOworCisgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgICAg
ICBpZiAoYXV0byogZWxlbWVudCA9IGVudHJ5LT50YXJnZXQoKSkKKyAgICAgICAgICAgICAgICBl
bGVtZW50LT5jb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGVudHJ5LT5pc0ludGVyc2Vj
dGluZygpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENv
bnRlbnRWaXNpYmlsaXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhEb2N1bWVudCYgZG9j
dW1lbnQpCisgICAgICAgIDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaygmZG9jdW1lbnQp
CisgICAgeworICAgIH0KK307CisKIC8vIERlZmluZWQgaGVyZSB0byBhdm9pZCBpbmNsdWRpbmcg
R0NSZWFjaGFibGVSZWYuaCBpbiBEb2N1bWVudC5oCiBzdHJ1Y3QgRG9jdW1lbnQ6OlBlbmRpbmdT
Y3JvbGxFdmVudFRhcmdldExpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAt
MjE4MCw3ICsyMjA4LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCit2b2lk
IERvY3VtZW50Ojp1cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgZm9yY2VMYXlvdXQpCiB7CiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIApAQCAtMjIwMywxNiArMjIzMSwyNSBAQCB2b2lkIERv
Y3VtZW50Ojp1cGRhdGVMYXlvdXQoKQogCiAgICAgaWYgKCFmcmFtZVZpZXcgfHwgIXJlbmRlclZp
ZXcoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0
KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKKyAg
ICBzdGQ6Om9wdGlvbmFsPGJvb2w+IG9sZExheW91dEZvcmNlZDsKKyAgICBpZiAoZm9yY2VMYXlv
dXQgPT0gRm9yY2VMYXlvdXQ6OlllcyAmJiB2aWV3KCkpIHsKKyAgICAgICAgb2xkTGF5b3V0Rm9y
Y2VkID0gdmlldygpLT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKTsKKyAgICAgICAg
dmlldygpLT5sYXlvdXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKHRydWUpOworICAgIH0KKwor
ICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgJiYg
IXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSAmJiBmb3JjZUxheW91dCAhPSBGb3JjZUxheW91
dDo6WWVzKQogICAgICAgICByZXR1cm47CiAKICAgICBmcmFtZVZpZXctPmxheW91dENvbnRleHQo
KS5sYXlvdXQoKTsKIAorICAgIGlmIChvbGRMYXlvdXRGb3JjZWQpCisgICAgICAgIHZpZXcoKS0+
bGF5b3V0Q29udGV4dCgpLnNldExheW91dEZvcmNlZCgqb2xkTGF5b3V0Rm9yY2VkKTsKKwogICAg
IGlmIChzdHlsZVNjb3BlKCkudXBkYXRlUXVlcnlDb250YWluZXJTdGF0ZSgpKQotICAgICAgICB1
cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIH0KIAot
dm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3Vt
ZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzKQordm9pZCBEb2N1bWVu
dDo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3MgcnVuUG9zdExheW91dFRhc2tzLCBGb3JjZUxheW91dCBmb3JjZUxheW91dCkK
IHsKICAgICBib29sIG9sZElnbm9yZSA9IG1faWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzOwogCkBA
IC0yMjIzLDcgKzIyNjAsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXRJZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrcwogICAgICAgICAgICAg
c2NoZWR1bGVGdWxsU3R5bGVSZWJ1aWxkKCk7CiAgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0KCk7
CisgICAgdXBkYXRlTGF5b3V0KGZvcmNlTGF5b3V0KTsKIAogICAgIGlmIChydW5Qb3N0TGF5b3V0
VGFza3MgPT0gUnVuUG9zdExheW91dFRhc2tzOjpTeW5jaHJvbm91c2x5ICYmIHZpZXcoKSkKICAg
ICAgICAgdmlldygpLT5mbHVzaEFueVBlbmRpbmdQb3N0TGF5b3V0VGFza3MoKTsKQEAgLTIzNTEs
NyArMjM4OCw3IEBAIGJvb2wgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElmRGltZW5zaW9uc091dE9m
RGF0ZShFbGVtZW50JiBlbGVtZW50LCBEaW1lbnNpb25zQ2hlCiAgICAgLy8gT25seSBkbyBhIGxh
eW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2FyeS4gICAg
ICAKICAgICBpZiAocmVxdWlyZUZ1bGxMYXlvdXQgJiYgZnJhbWVWaWV3ICYmIHJlbmRlclZpZXco
KSAmJiAoZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQZW5kaW5nKCkgfHwgcmVu
ZGVyVmlldygpLT5uZWVkc0xheW91dCgpKSkKICAgICAgICAgZnJhbWVWaWV3LT5sYXlvdXRDb250
ZXh0KCkubGF5b3V0KCk7Ci0gICAgCisKICAgICByZXR1cm4gcmVxdWlyZUZ1bGxMYXlvdXQ7CiB9
CiAKQEAgLTQ2OTEsNiArNDcyOCwxMSBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1c2VkRWxlbWVu
dChFbGVtZW50KiBlbGVtZW50LCBjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAgICAgICAg
IG1fZm9jdXNlZEVsZW1lbnQtPnNldEZvY3VzKHRydWUsIG9wdGlvbnMudmlzaWJpbGl0eSk7CiAg
ICAgICAgIG1fbGF0ZXN0Rm9jdXNUcmlnZ2VyID0gb3B0aW9ucy50cmlnZ2VyOwogCisgICAgICAg
IGZvciAoYXV0byBmb2N1c2VkID0gbmV3Rm9jdXNlZEVsZW1lbnQ7IGZvY3VzZWQ7IGZvY3VzZWQg
PSBmb2N1c2VkLT5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkgeworICAgICAgICAgICAg
aWYgKGF1dG8qIGRhdGEgPSBmb2N1c2VkLT5jb250ZW50VmlzaWJpbGl0eURhdGEoKSkKKyAgICAg
ICAgICAgICAgICBkYXRhLT5zdWJ0cmVlSGFzRm9jdXMgPSB0cnVlOworICAgICAgICB9CisKICAg
ICAgICAgLy8gVGhlIHNldEZvY3VzIGNhbGwgdHJpZ2dlcnMgYSBibHVyIGFuZCBhIGZvY3VzIGV2
ZW50LiBFdmVudCBoYW5kbGVycyBjb3VsZCBjYXVzZSB0aGUgZm9jdXNlZCBlbGVtZW50IHRvIGJl
IGNsZWFyZWQuCiAgICAgICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICE9IG5ld0ZvY3VzZWRFbGVt
ZW50KSB7CiAgICAgICAgICAgICAvLyBoYW5kbGVyIHNoaWZ0ZWQgZm9jdXMKQEAgLTgwMTYsNyAr
ODA1OCw4IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEludGVyc2VjdGlvbk9ic2VydmF0aW9uU3Rh
dGU+IGNvbXB1dGVJbnRlcnNlY3Rpb25TdGF0ZShGcmFtCiAgICAgRmxvYXRSZWN0IHJvb3RMb2Nh
bEludGVyc2VjdGlvblJlY3QgPSBsb2NhbFJvb3RCb3VuZHM7CiAKICAgICBJbnRlcnNlY3Rpb25P
YnNlcnZhdGlvblN0YXRlIGludGVyc2VjdGlvblN0YXRlOwotICAgIGludGVyc2VjdGlvblN0YXRl
LmlzSW50ZXJzZWN0aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJbnRlcnNl
Y3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJlY3QpOwor
ICAgIGlmICghdGFyZ2V0LmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgaW50ZXJzZWN0aW9u
U3RhdGUuaXNJbnRlcnNlY3RpbmcgPSByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2NhbElu
dGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0UmVj
dCk7CiAgICAgaW50ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVUYXJnZXRSZWN0ID0gdGFyZ2V0UmVu
ZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KGxvY2FsVGFyZ2V0Qm91bmRzKSku
Ym91bmRpbmdCb3goKTsKICAgICBpbnRlcnNlY3Rpb25TdGF0ZS5hYnNvbHV0ZVJvb3RCb3VuZHMg
PSByb290UmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQobG9jYWxSb290Qm91bmRzKS5ib3Vu
ZGluZ0JveCgpOwogCkBAIC05MDc0LDYgKzkxMTcsNDQgQEAgc3RkOjpvcHRpb25hbDxQQUw6OlNl
c3Npb25JRD4gRG9jdW1lbnQ6OnNlc3Npb25JRCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKIH0KIAorQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBEb2N1bWVudDo6Y29u
dGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlKCkKK3sKKyAgICBpZiAoIW1fY29udGVudFZpc2li
aWxpdHlEb2N1bWVudFN0YXRlKQorICAgICAgICBtX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRT
dGF0ZSA9IG1ha2VVbmlxdWU8Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlPigqdGhpcyk7
CisgICAgcmV0dXJuICptX2NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTsKK30KKworQ29u
dGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3Rh
dGUoRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK3sKK30K
Kwordm9pZCBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmls
aXR5T2JzZXJ2YXRpb24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBp
bnRlcnNlY3Rpb25PYnNlcnZlci0+b2JzZXJ2ZShlbGVtZW50KTsKK30KKwordm9pZCBDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OnJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRp
b24oRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byogaW50ZXJzZWN0aW9uT2JzZXJ2
ZXIgPSBlbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpKQorICAgICAgICBpbnRlcnNlY3Rpb25P
YnNlcnZlci0+dW5vYnNlcnZlKGVsZW1lbnQpOworfQorCitJbnRlcnNlY3Rpb25PYnNlcnZlciog
Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjplbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZl
cigpCit7CisgICAgaWYgKCFtX29ic2VydmVyKSB7CisgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBD
b250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s6OmNyZWF0ZSgqbV9k
b2N1bWVudCk7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IGNv
bnRlbnRWaXNpYmlsaXR5Um9vdE1hcmdpbkZhbGxiYWNrKE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCIxMDAlIikpOworICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6SW5pdCBvcHRpb25zIHsg
c3RkOjpudWxsb3B0LCBjb250ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFjaywgeyB9IH07
CisgICAgICAgIGF1dG8gb2JzZXJ2ZXIgPSBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6Y3JlYXRlKCpt
X2RvY3VtZW50LCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7CisgICAgICAg
IGlmIChvYnNlcnZlci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICBtX29ic2VydmVyID0gb2JzZXJ2ZXIucmV0dXJuVmFsdWUoKS5wdHIoKTsKKyAg
ICB9CisgICAgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI3VuZGVmIERPQ1VNRU5UX1JFTEVBU0VfTE9HCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmlu
ZGV4IGMxYmVjY2QyMWFiMTMxNmFlMDMwNGU5NzkzOWM3YTI2NjI0MjM2MTMuLjk4ZDk0OTIwNmI5
ZmY0N2ZhMGM3YzdhOTJkZGIwMDY1ZTQzMTE0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0z
MzksNiArMzM5LDIxIEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVu
dDsKIH07CiAKK2NsYXNzIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ29udGVudFZpc2liaWxpdHlEb2N1
bWVudFN0YXRlKERvY3VtZW50Jik7CisKKyAgICB2b2lkIGFkZENvbnRlbnRWaXNpYmlsaXR5T2Jz
ZXJ2YXRpb24oRWxlbWVudCYpOworICAgIHZvaWQgcmVtb3ZlQ29udGVudFZpc2liaWxpdHlPYnNl
cnZhdGlvbihFbGVtZW50Jik7CisKK3ByaXZhdGU6CisgICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIq
IGVuc3VyZUludGVyc2VjdGlvbk9ic2VydmVyKCk7CisKKyAgICBSZWZQdHI8SW50ZXJzZWN0aW9u
T2JzZXJ2ZXI+IG1fb2JzZXJ2ZXI7CisgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsK
K307CisKIGNsYXNzIERvY3VtZW50CiAgICAgOiBwdWJsaWMgQ29udGFpbmVyTm9kZQogICAgICwg
cHVibGljIFRyZWVTY29wZQpAQCAtNjIwLDEyICs2MzUsMTMgQEAgcHVibGljOgogICAgIGJvb2wg
bmVlZHNTdHlsZVJlY2FsYygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxhc3RTdHlsZVVwZGF0ZVNp
emVGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0U3R5bGVVcGRhdGVTaXplRm9yVGVz
dGluZzsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVMYXlvdXQoKTsKKyAgICBl
bnVtIGNsYXNzIEZvcmNlTGF5b3V0IHsgTm8sIFllcyB9OworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgdXBkYXRlTGF5b3V0KEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlvdXQ6Ok5vKTsKICAgICAKICAg
ICAvLyB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKSBmb3JjZXMgbGF5b3V0
IGV2ZW4gaWYgd2UgYXJlIHdhaXRpbmcgZm9yIHBlbmRpbmcgc3R5bGVzaGVldCBsb2FkcywKICAg
ICAvLyBzbyBjYWxsaW5nIHRoaXMgbWF5IGNhdXNlIGEgZmxhc2ggb2YgdW5zdHlsZWQgY29udGVu
dCAoRk9VQykuCiAgICAgZW51bSBjbGFzcyBSdW5Qb3N0TGF5b3V0VGFza3MgeyBBc3luY2hyb25v
dXNseSwgU3luY2hyb25vdXNseSB9OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1blBvc3RM
YXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHkpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKFJ1blBvc3RMYXlvdXRUYXNrcyA9IFJ1
blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIEZvcmNlTGF5b3V0ID0gRm9yY2VMYXlv
dXQ6Ok5vKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JFbGVt
ZW50SWdub3JpbmdQZW5kaW5nU3R5bGVzaGVldHMoRWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxl
KiBwYXJlbnRTdHlsZSwgUHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZSk7CiAKQEAgLTE2NDEsNiAr
MTY1Nyw4IEBAIHB1YmxpYzoKIAogICAgIExhenlMb2FkSW1hZ2VPYnNlcnZlciYgbGF6eUxvYWRJ
bWFnZU9ic2VydmVyKCk7CiAKKyAgICBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUmIGNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpOworCiAgICAgdm9pZCBzZXRIYXNWaXN1YWxs
eU5vbkVtcHR5Q3VzdG9tQ29udGVudCgpIHsgbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29u
dGVudCA9IHRydWU7IH0KICAgICBib29sIGhhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudDsgfQog
ICAgIHZvaWQgZW5xdWV1ZVBhaW50VGltaW5nRW50cnlJZk5lZWRlZCgpOwpAQCAtMTg4Miw2ICsx
OTAwLDggQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5TG9hZEltYWdlT2Jz
ZXJ2ZXI+IG1fbGF6eUxvYWRJbWFnZU9ic2VydmVyOwogCisgICAgc3RkOjp1bmlxdWVfcHRyPENv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZT4gbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50
U3RhdGU7CisKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3BlbmRpbmdTdGF0
ZU9iamVjdDsKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgTW9ub3RvbmljVGltZSBtX2RvY3VtZW50
Q3JlYXRpb25UaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGZlZTk4YzNmMWZlOWI4MTE2
Mjc0OGEzN2MzMGYxMmUzMzBhYTI0MmEuLjIzYzI1M2U5NzVmNWUyYmMwZDkxNDJhMzE1NDc2Zjdk
MjZhMDY4OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTEyODEsNyArMTI4MSw3IEBAIGlu
dCBFbGVtZW50OjpvZmZzZXRUb3BGb3JCaW5kaW5ncygpCiAKIGludCBFbGVtZW50OjpvZmZzZXRU
b3AoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50
OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRl
cmVyID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGFkanVzdE9mZnNl
dEZvclpvb21BbmRTdWJwaXhlbExheW91dCgqcmVuZGVyZXIsIHJlbmRlcmVyLT5vZmZzZXRUb3Ao
KSk7CiAgICAgcmV0dXJuIDA7CkBAIC0xNDQxLDcgKzE0NDEsNyBAQCBpbnQgRWxlbWVudDo6c2Ny
b2xsTGVmdCgpCiAKIGludCBFbGVtZW50OjpzY3JvbGxUb3AoKQogewotICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlv
dXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAog
ICAgIGlmIChkb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0aGlzKSB7CiAgICAgICAg
IGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkKQEAgLTE3
NjYsNyArMTc2Niw3IEBAIHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPFJlbmRlck9iamVjdCosIEZs
b2F0UmVjdD4+IEVsZW1lbnQ6OmJvdW5kaW5nQWJzb2x1dGVSZWN0CiAKIEZsb2F0UmVjdCBFbGVt
ZW50Ojpib3VuZGluZ0NsaWVudFJlY3QoKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5
bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBhdXRvIHBhaXIg
PSBib3VuZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRMYXlvdXQoKTsKICAgICBpZiAoIXBhaXIpCiAg
ICAgICAgIHJldHVybiB7IH07CkBAIC0zMDcwLDYgKzMwNzAsMTUgQEAgdm9pZCBFbGVtZW50Ojpm
b2N1cyhjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAgICAgaWYgKCFpc0Nvbm5lY3RlZCgp
KQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoY29udGVudFZpc2liaWxpdHlEYXRhKCkpIHsK
KyAgICAgICAgZm9yIChhdXRvIGZvY3VzZWQgPSB0aGlzOyBmb2N1c2VkOyBmb2N1c2VkID0gZm9j
dXNlZC0+cGFyZW50RWxlbWVudEluQ29tcG9zZWRUcmVlKCkpIHsKKyAgICAgICAgICAgIGlmIChh
dXRvKiBkYXRhID0gZm9jdXNlZC0+Y29udGVudFZpc2liaWxpdHlEYXRhKCkpCisgICAgICAgICAg
ICAgICAgZGF0YS0+c3VidHJlZUhhc0ZvY3VzID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1cm47CisKICAgICBSZWYgZG9j
dW1lbnQgeyB0aGlzLT5kb2N1bWVudCgpIH07CiAgICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkRWxl
bWVudCgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCkpCkBAIC0zMzQy
LDYgKzMzNTEsOSBAQCBTdHJpbmcgRWxlbWVudDo6aW5uZXJUZXh0KCkKICAgICAvLyBXZSBuZWVk
IHRvIHVwZGF0ZSBsYXlvdXQsIHNpbmNlIHBsYWluVGV4dCB1c2VzIGxpbmUgYm94ZXMgaW4gdGhl
IHJlbmRlciB0cmVlLgogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7CiAKKyAgICBpZiAoaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiB0ZXh0
Q29udGVudCh0cnVlKTsKIApAQCAtMzU1Nyw5ICszNTY5LDggQEAgYm9vbCBFbGVtZW50OjpoYXNW
YWxpZFN0eWxlKCkgY29uc3QKIAogYm9vbCBFbGVtZW50Ojppc1Zpc2libGVXaXRob3V0UmVzb2x2
aW5nRnVsbFN0eWxlKCkgY29uc3QKIHsKLQogICAgIGlmIChyZW5kZXJTdHlsZSgpIHx8IGhhc1Zh
bGlkU3R5bGUoKSkKLSAgICAgICAgcmV0dXJuIHJlbmRlclN0eWxlKCkgJiYgcmVuZGVyU3R5bGUo
KS0+dmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OlZpc2libGU7CisgICAgICAgIHJldHVybiBy
ZW5kZXJTdHlsZSgpICYmIHJlbmRlclN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5
OjpWaXNpYmxlICYmICFpc1NraXBwZWRDb250ZW50KCk7CiAKICAgICBhdXRvIGNvbXB1dGVkU3R5
bGVGb3JFbGVtZW50ID0gW10oRWxlbWVudCYgZWxlbWVudCkgLT4gY29uc3QgUmVuZGVyU3R5bGUq
IHsKICAgICAgICAgYXV0byogc3R5bGUgPSBlbGVtZW50Lmhhc05vZGVGbGFnKE5vZGVGbGFnOjpJ
c0NvbXB1dGVkU3R5bGVJbnZhbGlkRmxhZykgPyBudWxscHRyIDogZWxlbWVudC5leGlzdGluZ0Nv
bXB1dGVkU3R5bGUoKTsKQEAgLTM1NzcsNiArMzU4OCw5IEBAIGJvb2wgRWxlbWVudDo6aXNWaXNp
YmxlV2l0aG91dFJlc29sdmluZ0Z1bGxTdHlsZSgpIGNvbnN0CiAgICAgaWYgKHN0eWxlLT52aXNp
YmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgaWYgKGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgZm9yIChhdXRvJiBlbGVtZW50IDogY29tcG9zZWRUcmVlQW5jZXN0b3JzKGNvbnN0X2Nhc3Q8
RWxlbWVudCY+KCp0aGlzKSkpIHsKICAgICAgICAgYXV0byogc3R5bGUgPSBjb21wdXRlZFN0eWxl
Rm9yRWxlbWVudChlbGVtZW50KTsKICAgICAgICAgaWYgKCFzdHlsZSB8fCBzdHlsZS0+ZGlzcGxh
eSgpID09IERpc3BsYXlUeXBlOjpOb25lKQpAQCAtNDc1MCw2ICs0NzY0LDEwNCBAQCBFbGVtZW50
SWRlbnRpZmllciBFbGVtZW50OjpjcmVhdGVFbGVtZW50SWRlbnRpZmllcigpCiAgICAgcmV0dXJu
IEVsZW1lbnRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogfQogCitDb250ZW50VmlzaWJpbGl0eURh
dGEmIEVsZW1lbnQ6OmVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpCit7CisgICAgYXV0byYg
cmFyZURhdGEgPSBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhLmNv
bnRlbnRWaXNpYmlsaXR5RGF0YSgpKQorICAgICAgICByYXJlRGF0YS5zZXRDb250ZW50VmlzaWJp
bGl0eURhdGEobWFrZVVuaXF1ZTxDb250ZW50VmlzaWJpbGl0eURhdGE+KCkpOworICAgIHJldHVy
biAqcmFyZURhdGEuY29udGVudFZpc2liaWxpdHlEYXRhKCk7Cit9CisKK0NvbnRlbnRWaXNpYmls
aXR5RGF0YSogRWxlbWVudDo6Y29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5jb250ZW50VmlzaWJpbGl0
eURhdGEoKSA6IG51bGxwdHI7Cit9CisKK3ZvaWQgRWxlbWVudDo6dXBkYXRlQ29udGVudFZpc2li
aWxpdHlEYXRhKGJvb2wgc2hvdWxkU2tpcCwgYm9vbCBpc0F1dG8sIENvbnRlbnRWaXNpYmlsaXR5
IGNvbnRlbnRWaXNpYmlsaXR5KQoreworICAgIGlmIChhdXRvKiBwYXJlbnQgPSBwYXJlbnRFbGVt
ZW50KCkpCisgICAgICAgIHNob3VsZFNraXAgfD0gcGFyZW50LT5pc1NraXBwZWRDb250ZW50KCk7
CisKKyAgICBhdXRvJiBkYXRhID0gZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCk7CisgICAg
aWYgKGlzPEhUTUxEaWFsb2dFbGVtZW50PigqdGhpcykpCisgICAgICAgIGRhdGEuaXNTa2lwcGVk
Q29udGVudCA9IHNob3VsZFNraXAgJiYgY29udGVudFZpc2liaWxpdHkgPT0gQ29udGVudFZpc2li
aWxpdHk6OkhpZGRlbjsKKyAgICBlbHNlCisgICAgICAgIGRhdGEuaXNTa2lwcGVkQ29udGVudCA9
IHNob3VsZFNraXA7CisgICAgZGF0YS5pc0F1dG8gPSBpc0F1dG87CisKKyAgICBpZiAoUmVuZGVy
RWxlbWVudCogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpKQorICAgICAgICBzaG91bGRTa2lw
IHw9IHJlbmRlcmVyLT5zaG91bGRTa2lwQ29udGVudCgpOworICAgIGZvciAoYXV0byYgY2hpbGQg
OiBjaGlsZHJlbk9mVHlwZTxFbGVtZW50PigqdGhpcykpCisgICAgICAgIGNoaWxkLnVwZGF0ZUNv
bnRlbnRWaXNpYmlsaXR5RGF0YShzaG91bGRTa2lwLCBpc0F1dG8sIGNvbnRlbnRWaXNpYmlsaXR5
KTsKK30KKworLy8gRklYTUU6IHRoaXMgaXMgaW5jb21wbGV0ZSwgYW5kIG5lZWRzIHRvIGJlIHJl
ZmFjdG9yZWQgd2l0aCBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgY29tcHV0YXRpb25zIGluIERvY3Vt
ZW50Lgorc3RhdGljIGJvb2wgY29tcHV0ZUludGVyc2VjdGlvbihjb25zdCBEb2N1bWVudCYgZG9j
dW1lbnQsIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKQoreworICAgIGlmICghcmVuZGVyZXIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGRvY3VtZW50LnZp
ZXcoKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZsb2F0
UmVjdCBsb2NhbFJvb3RCb3VuZHMgPSB2aWV3LT5sYXlvdXRWaWV3cG9ydFJlY3QoKTsKKyAgICBM
YXlvdXRSZWN0IGxvY2FsVGFyZ2V0Qm91bmRzOworICAgIGlmIChpczxSZW5kZXJCb3g+KCpyZW5k
ZXJlcikpCisgICAgICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93bmNhc3Q8UmVuZGVyQm94Pihy
ZW5kZXJlciktPmJvcmRlckJvdW5kaW5nQm94KCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPExheW91
dFJlY3Q+IHJvb3RMb2NhbFRhcmdldFJlY3Q7CisgICAgT3B0aW9uU2V0PFJlbmRlck9iamVjdDo6
VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uPiB2aXNpYmxlUmVjdE9wdGlvbnMgPSB7IFJlbmRlck9i
amVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpVc2VFZGdlSW5jbHVzaXZlSW50ZXJzZWN0
aW9uLCBSZW5kZXJPYmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21wb3Np
dGVkQ2xpcHMsIFJlbmRlck9iamVjdDo6VmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNv
bXBvc2l0ZWRDb250YWluZXJTY3JvbGxzIH07CisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRSZWN0
PiByZWN0SW5GcmFtZUFic29sdXRlU3BhY2UgPSByZW5kZXJlci0+Y29tcHV0ZVZpc2libGVSZWN0
SW5Db250YWluZXIobG9jYWxUYXJnZXRCb3VuZHMsICZyZW5kZXJlci0+dmlldygpLCB7IGZhbHNl
IC8qIGhhc1Bvc2l0aW9uRml4ZWREZXNjZW5kYW50ICovLCBmYWxzZSAvKiBkaXJ0eVJlY3RJc0Zs
aXBwZWQgKi8sIHZpc2libGVSZWN0T3B0aW9ucyB9KTsKKyAgICBpZiAocmVjdEluRnJhbWVBYnNv
bHV0ZVNwYWNlKQorICAgICAgICByb290TG9jYWxUYXJnZXRSZWN0ID0gcmVjdEluRnJhbWVBYnNv
bHV0ZVNwYWNlOworICAgIEZsb2F0UmVjdCByb290TG9jYWxJbnRlcnNlY3Rpb25SZWN0ID0gbG9j
YWxSb290Qm91bmRzOworICAgIHJldHVybiByb290TG9jYWxUYXJnZXRSZWN0ICYmIHJvb3RMb2Nh
bEludGVyc2VjdGlvblJlY3QuZWRnZUluY2x1c2l2ZUludGVyc2VjdCgqcm9vdExvY2FsVGFyZ2V0
UmVjdCk7Cit9CisKK2Jvb2wgRWxlbWVudDo6ZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9jdXMoKQor
eworICAgIGZvciAoYXV0byogZm9jdXNlZCA9IGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKTsg
Zm9jdXNlZDsgZm9jdXNlZCA9IGZvY3VzZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgp
KSB7CisgICAgICAgIGlmIChmb2N1c2VkID09IHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEVsZW1lbnQ6OnVwZGF0ZUNv
bnRlbnRWaXNpYmlsaXR5KHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+LCBDb250ZW50
VmlzaWJpbGl0eSBuZXdDb250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBib29sIGlzQXV0byA9IG5l
d0NvbnRlbnRWaXNpYmlsaXR5ID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvOworICAgIGlmIChp
c0F1dG8pIHsKKyAgICAgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0
YSgpOworICAgICAgICBkYXRhLmlzSW50ZXJzZWN0aW5nVmlld3BvcnQgPSBjb21wdXRlSW50ZXJz
ZWN0aW9uKGRvY3VtZW50KCksIHJlbmRlcmVyKCkpOworICAgICAgICBkYXRhLmlzU2tpcHBlZENv
bnRlbnQgPSBmYWxzZTsKKyAgICAgICAgZGF0YS5zdWJ0cmVlSGFzRm9jdXMgPSBkZXRlcm1pbmVJ
ZlN1YnRyZWVIYXNGb2N1cygpOworICAgICAgICBkb2N1bWVudCgpLmNvbnRlbnRWaXNpYmlsaXR5
RG9jdW1lbnRTdGF0ZSgpLmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24oKnRoaXMpOwor
ICAgIH0KKyAgICB1cGRhdGVDb250ZW50VmlzaWJpbGl0eURhdGEoZmFsc2UsIGlzQXV0bywgbmV3
Q29udGVudFZpc2liaWxpdHkpOworfQorCitib29sIEVsZW1lbnQ6OmlzU2tpcHBlZENvbnRlbnQo
KSBjb25zdAoreworICAgIHJldHVybiBjb250ZW50VmlzaWJpbGl0eURhdGEoKSA/IGNvbnRlbnRW
aXNpYmlsaXR5RGF0YSgpLT5pc1NraXBwZWRDb250ZW50IDogZmFsc2U7Cit9CisKK2Jvb2wgRWxl
bWVudDo6c2hvdWxkU2tpcENvbnRlbnQoKSBjb25zdAoreworICAgIGlmICghcmVuZGVyZXIoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChyZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRl
bnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pCisgICAgICAgIHJldHVy
biBjb250ZW50VmlzaWJpbGl0eURhdGEoKSA/ICFjb250ZW50VmlzaWJpbGl0eURhdGEoKS0+aXNJ
bnRlcnNlY3RpbmdWaWV3cG9ydCAmJiAhY29udGVudFZpc2liaWxpdHlEYXRhKCktPnN1YnRyZWVI
YXNGb2N1cyA6IHRydWU7CisgICAgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCkuY29udGVudFZp
c2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOworfQorCit2b2lkIEVsZW1l
bnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoYm9vbCBpc0ludGVyc2VjdGluZykK
K3sKKyAgICBhdXRvJiBkYXRhID0gZW5zdXJlQ29udGVudFZpc2liaWxpdHlEYXRhKCk7CisgICAg
ZGF0YS5pc0ludGVyc2VjdGluZ1ZpZXdwb3J0ID0gaXNJbnRlcnNlY3Rpbmc7CisgICAgdXBkYXRl
Q29udGVudFZpc2liaWxpdHlEYXRhKGZhbHNlLCBkYXRhLmlzQXV0bywgQ29udGVudFZpc2liaWxp
dHk6OkF1dG8pOworfQorCiAjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKIAogU3R5bGVQcm9wZXJ0
eU1hcCogRWxlbWVudDo6YXR0cmlidXRlU3R5bGVNYXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXgg
NjIwOWJlNjJhNzA0NjRmZWM3MzMzNDVlNjU1MzYzZGNjZmU5ZjU4OC4uZGYxMzRhODllYWU3OTEw
OWUzNGExNWQ4M2Y5OTI3NzdmOWIyNTNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC05MSw2ICs5
MSwxMyBAQCBzdHJ1Y3QgU2Nyb2xsSW50b1ZpZXdPcHRpb25zOwogc3RydWN0IFNjcm9sbFRvT3B0
aW9uczsKIHN0cnVjdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVjdCBT
aGFkb3dSb290SW5pdDsKK3N0cnVjdCBDb250ZW50VmlzaWJpbGl0eURhdGEgeworICAgIFdURl9N
QUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBib29sIGlzU2tpcHBlZENvbnRlbnQgeyBm
YWxzZSB9OworICAgIGJvb2wgaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCB7IGZhbHNlIH07CisgICAg
Ym9vbCBzdWJ0cmVlSGFzRm9jdXMgeyBmYWxzZSB9OworICAgIGJvb2wgaXNBdXRvIHsgZmFsc2Ug
fTsKK307CiAKIG5hbWVzcGFjZSBTdHlsZSB7CiBjbGFzcyBSZXNvbHZlcjsKQEAgLTY2NCw2ICs2
NzEsMTMgQEAgcHVibGljOgogICAgIGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNEdXBsaWNhdGVBdHRyaWJ1dGU7IH07CiAgICAgdm9pZCBzZXRIYXNEdXBs
aWNhdGVBdHRyaWJ1dGUoYm9vbCBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUpIHsgbV9oYXNEdXBsaWNh
dGVBdHRyaWJ1dGUgPSBoYXNEdXBsaWNhdGVBdHRyaWJ1dGU7IH07CiAKKyAgICBDb250ZW50Vmlz
aWJpbGl0eURhdGEmIGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIENvbnRlbnRW
aXNpYmlsaXR5RGF0YSogY29udGVudFZpc2liaWxpdHlEYXRhKCkgY29uc3Q7CisgICAgdm9pZCB1
cGRhdGVDb250ZW50VmlzaWJpbGl0eShzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmlsaXR5PiBv
bGRDb250ZW50VmlzaWJpbGl0eSwgQ29udGVudFZpc2liaWxpdHkgbmV3Q29udGVudFZpc2liaWxp
dHkpOworICAgIHZvaWQgY29udGVudFZpc2liaWxpdHlWaWV3cG9ydENoYW5nZShib29sKTsKKyAg
ICBib29sIGlzU2tpcHBlZENvbnRlbnQoKSBjb25zdDsKKyAgICBib29sIHNob3VsZFNraXBDb250
ZW50KCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYsIENvbnN0cnVjdGlvblR5cGUpOwogCkBAIC02ODcsNiArNzAxLDEwIEBA
IHByb3RlY3RlZDoKICAgICB2b2lkIHNldEF0dHJpYnV0ZVN0eWxlTWFwKFJlZjxTdHlsZVByb3Bl
cnR5TWFwPiYmKTsKICNlbmRpZgogCisgICAgdm9pZCB1cGRhdGVDb250ZW50VmlzaWJpbGl0eURh
dGEoYm9vbCBzaG91bGRTa2lwLCBib29sIHN1YnRyZWVIYXNGb2N1cywgQ29udGVudFZpc2liaWxp
dHkpOworCisgICAgYm9vbCBkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cygpOworCiBwcml2YXRl
OgogICAgIEZyYW1lKiBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxWaWV3KCkgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXggODc3YTM0OWExNDM5M2NiOWRi
ZDZkNDM3YTdiZDY2MTZlZjI3NTEwYS4uNWM4NmI4ZTQyZjFiNTQ4NjBhMDFhNjJmOTkzOTg5N2Nh
MjhhOGNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKQEAgLTQzLDYg
KzQzLDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgOiBOb2RlUmFyZURhdGEg
ewogICAgIHZvaWQqIHR5cGVkT01EYXRhOwogI2VuZGlmCiAgICAgdm9pZCogcmVzaXplT2JzZXJ2
ZXJEYXRhOworICAgIHZvaWQqIGNvbnRlbnRWaXNpYmlsaXR5RGF0YTsKIH07CiAKIHN0YXRpY19h
c3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9mKFNhbWVTaXplQXNFbGVtZW50
UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5IHNtYWxsIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMGVjNDg3ZmI4ZDFmMGZmOTJkYjE3Njk1MzE5
YzA3ZGY0ZTI3ZjZmYi4uOWYxMDlkMDM3ZTA4OWRkMGQyNTQzYjNhMmRmYTE0OTY1OGI1ZjVhZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMTA2LDYgKzEwNiw5IEBAIHB1
YmxpYzoKICAgICBjb25zdCBBdG9tU3RyaW5nJiBub25jZSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9u
Y2U7IH0KICAgICB2b2lkIHNldE5vbmNlKGNvbnN0IEF0b21TdHJpbmcmIHZhbHVlKSB7IG1fbm9u
Y2UgPSB2YWx1ZTsgfQogCisgICAgQ29udGVudFZpc2liaWxpdHlEYXRhKiBjb250ZW50VmlzaWJp
bGl0eURhdGEoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRWaXNpYmlsaXR5RGF0YS5nZXQoKTsg
fQorICAgIHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHlEYXRhKHN0ZDo6dW5pcXVlX3B0cjxDb250
ZW50VmlzaWJpbGl0eURhdGE+JiYgZGF0YSkgeyBtX2NvbnRlbnRWaXNpYmlsaXR5RGF0YSA9IFdU
Rk1vdmUoZGF0YSk7IH0KKwogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAgICAgU3R5bGVQcm9w
ZXJ0eU1hcCogYXR0cmlidXRlU3R5bGVNYXAoKSB7IHJldHVybiBtX2F0dHJpYnV0ZVN0eWxlTWFw
LmdldCgpOyB9CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0
eU1hcD4mJiBtYXApIHsgbV9hdHRyaWJ1dGVTdHlsZU1hcCA9IFdURk1vdmUobWFwKTsgfQpAQCAt
MTUxLDYgKzE1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6
UGFydE5hbWVzKTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAgICAgICAgICByZXN1bHQuYWRk
KFVzZVR5cGU6Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fQ29udGVudFZpc2liaWxpdHlEYXRhKQor
ICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpDb250ZW50VmlzaWJpbGl0eSk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogI2VuZGlmCkBAIC0xODQsNiArMTg5LDggQEAgcHJp
dmF0ZToKIAogICAgIEF0b21TdHJpbmcgbV9ub25jZTsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxD
b250ZW50VmlzaWJpbGl0eURhdGE+IG1fY29udGVudFZpc2liaWxpdHlEYXRhOworCiAgICAgdm9p
ZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50Kik7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZVJhcmVEYXRhLmgKaW5kZXggYzMzMWZiOGU1YTU1NzcxYzM5YTBiNjMwYjExMDllZjkzMzdi
OWE4NS4uY2U1ODQ4NzI1NjZmZmM0NDcxNDg1MjhmNWY4M2JhZGI0MWM2YTg1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMjY0LDYgKzI2NCw3IEBAIHB1YmxpYzoKICAgICAgICAg
UGFydExpc3QgPSAxIDw8IDE2LAogICAgICAgICBQYXJ0TmFtZXMgPSAxIDw8IDE3LAogICAgICAg
ICBOb25jZSA9IDEgPDwgMTgsCisgICAgICAgIENvbnRlbnRWaXNpYmlsaXR5PSAxIDw8IDE5LAog
ICAgIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmlu
ZGV4IGNmNzE0OTVmZjlkMjQ5ZTVhMzViYTVmYTRhZTIwOGU5YjBjNWVhZjkuLjQxNDJiNzQxMTlj
OTBlYWVmNzU5ZWMwYzgwMGYyNzNkOGM0NmIxMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAKQEAgLTQ1Niw2ICs0NTYsMTYgQEAgdm9pZCBUZXh0SXRlcmF0b3I6OmFk
dmFuY2UoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGF1dG8gaXNTa2lwcGVk
Q29udGVudE9yVGV4dCA9IFsmXSgpIHsKKyAgICAgICAgaWYgKGlzPEVsZW1lbnQ+KG1fbm9kZSkp
CisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4obV9ub2RlKS0+aXNTa2lwcGVk
Q29udGVudCgpOworICAgICAgICAKKyAgICAgICAgaWYgKG1fbm9kZS0+aXNUZXh0Tm9kZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIG1fbm9kZS0+cGFyZW50RWxlbWVudCgpID8gbV9ub2RlLT5wYXJl
bnRFbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKTogZmFsc2U7CisKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH07CisKICAgICB3aGlsZSAobV9ub2RlICYmIG1fbm9kZSAhPSBtX3Bhc3RF
bmROb2RlKSB7CiAgICAgICAgIC8vIGlmIHRoZSByYW5nZSBlbmRzIGF0IG9mZnNldCAwIG9mIGFu
IGVsZW1lbnQsIHJlcHJlc2VudCB0aGUKICAgICAgICAgLy8gcG9zaXRpb24sIGJ1dCBub3QgdGhl
IGNvbnRlbnQsIG9mIHRoYXQgZWxlbWVudCBlLmcuIGlmIHRoZQpAQCAtNDcyLDcgKzQ4Miw5IEBA
IHZvaWQgVGV4dEl0ZXJhdG9yOjphZHZhbmNlKCkKICAgICAgICAgICAgIGlmICghcmVuZGVyZXIp
IHsKICAgICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICBtX2hhbmRsZWRDaGlsZHJlbiA9ICFoYXNEaXNwbGF5Q29udGVudHMoKm1fbm9kZSk7Ci0gICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxFbGVtZW50PihtX25v
ZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPnNob3VsZFNraXBDb250ZW50KCkpIHsK
KyAgICAgICAgICAgICAgICBtX2hhbmRsZWRDaGlsZHJlbiA9IHRydWU7CisgICAgICAgICAgICB9
IGVsc2UgaWYgKCFpc1NraXBwZWRDb250ZW50T3JUZXh0KCkpIHsKICAgICAgICAgICAgICAgICAv
LyBoYW5kbGUgY3VycmVudCBub2RlIGFjY29yZGluZyB0byBpdHMgdHlwZQogICAgICAgICAgICAg
ICAgIGlmIChyZW5kZXJlci0+aXNUZXh0KCkgJiYgbV9ub2RlLT5pc1RleHROb2RlKCkpCiAgICAg
ICAgICAgICAgICAgICAgIG1faGFuZGxlZE5vZGUgPSBoYW5kbGVUZXh0Tm9kZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggNzk4ZmU4NmJjNGYzMjAyNjcx
Y2QyZDcxNDY2MDAwYjZlYmFiYjZiZi4uNDViNGQwMjA4OWQxMDI4ODVkNDEzNjFjYjMwNmI1NDg4
YjkzN2ZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCkBAIC00
ODUsOSArNDg1LDkgQEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6d2lkdGgoYm9vbCBpZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMpCiAgICAgfQogCiAgICAgaWYgKGlnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0cykKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMoKTsKKyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHks
IERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBlbHNlCi0gICAgICAgIGRvY3VtZW50
KCkudXBkYXRlTGF5b3V0KCk7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3Vt
ZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94
KCk7CiAgICAgaWYgKCFib3gpCkBAIC00OTgsNiArNDk4LDExIEBAIHVuc2lnbmVkIEhUTUxJbWFn
ZUVsZW1lbnQ6OndpZHRoKGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQogCiB1bnNpZ25l
ZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMp
CiB7CisgICAgaWYgKGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKKyAgICAgICAgZG9jdW1lbnQo
KS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RM
YXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsK
KyAgICBlbHNlCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3Jj
ZUxheW91dDo6WWVzKTsKKwogICAgIGlmICghcmVuZGVyZXIoKSkgewogICAgICAgICAvLyBjaGVj
ayB0aGUgYXR0cmlidXRlIGZpcnN0IGZvciBhbiBleHBsaWNpdCBwaXhlbCB2YWx1ZQogICAgICAg
ICBhdXRvIG9wdGlvbmFsSGVpZ2h0ID0gcGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKGF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oaGVpZ2h0QXR0cikpOwpAQCAtNTA5LDExICs1MTQs
NiBAQCB1bnNpZ25lZCBIVE1MSW1hZ2VFbGVtZW50OjpoZWlnaHQoYm9vbCBpZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMpCiAgICAgICAgICAgICByZXR1cm4gbV9pbWFnZUxvYWRlci0+aW1hZ2UoKS0+
aW1hZ2VTaXplRm9yUmVuZGVyZXIocmVuZGVyZXIoKSwgMS4wZikuaGVpZ2h0KCkudG9VbnNpZ25l
ZCgpOwogICAgIH0KIAotICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCi0gICAgICAg
IGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAg
ZWxzZQotICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOwotCiAgICAgUmVuZGVyQm94
KiBib3ggPSByZW5kZXJCb3goKTsKICAgICBpZiAoIWJveCkKICAgICAgICAgcmV0dXJuIDA7CkBA
IC02MjEsNyArNjIxLDcgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpzZXRXaWR0aCh1bnNpZ25l
ZCB2YWx1ZSkKIAogaW50IEhUTUxJbWFnZUVsZW1lbnQ6OngoKSBjb25zdAogewotICAgIGRvY3Vt
ZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1l
bnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBv
c3RMYXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVz
KTsKICAgICBhdXRvIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRl
cmVyKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzMiw3ICs2MzIsNyBAQCBpbnQgSFRNTEltYWdl
RWxlbWVudDo6eCgpIGNvbnN0CiAKIGludCBIVE1MSW1hZ2VFbGVtZW50Ojp5KCkgY29uc3QKIHsK
LSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwor
ICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3Vt
ZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VM
YXlvdXQ6Olllcyk7CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAg
aWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJ
bnB1dFR5cGUuY3BwCmluZGV4IDk2MTUzNDExYzcwM2IzNGFiM2Q4MmM1YWEyNjU0OThiMWNhMzBh
ZTIuLmEyMGM4YjY3MWQwYmMwZGU0ZGMyZThlMDI0ODc1YjU5OWQ1ODM2ZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNzMsNyArMTczLDcgQEAgdW5zaWduZWQg
SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCgpIGNvbnN0CiAgICAgQVNTRVJUKGVsZW1lbnQoKSk7CiAg
ICAgUmVmPEhUTUxJbnB1dEVsZW1lbnQ+IGVsZW1lbnQoKnRoaXMtPmVsZW1lbnQoKSk7CiAKLSAg
ICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dCgpOworICAgIGVsZW1lbnQtPmRvY3Vt
ZW50KCkudXBkYXRlTGF5b3V0KERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAogICAgIGlm
IChhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiBh
ZGp1c3RGb3JBYnNvbHV0ZVpvb20oZG93bmNhc3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpLmNvbnRl
bnRIZWlnaHQoKSwgKnJlbmRlcmVyKTsKQEAgLTE5NSw3ICsxOTUsNyBAQCB1bnNpZ25lZCBJbWFn
ZUlucHV0VHlwZTo6d2lkdGgoKSBjb25zdAogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIFJl
ZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVtZW50KCkpOwogCi0gICAgZWxl
bWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBlbGVtZW50LT5kb2N1bWVudCgp
LnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBpZiAoYXV0
byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gYWRqdXN0
Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRlcmVyKS5jb250ZW50V2lk
dGgoKSwgKnJlbmRlcmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91
dENvbnRleHQuY3BwCmluZGV4IDY5YTRjMjNjOWEzNjE4MmMxNzA5ZTM3YTFhYjRkOGU3NDgxOGY4
NzEuLjUyMmRiYjJjNzQ5ZGIwY2MxMDExZWYwZDA4NGE3Yzc1N2FlNzg1YjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcApAQCAtMjM2LDcgKzIz
Niw4IEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6bGF5b3V0KCkKICNpZiBFTkFCTEUo
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICAgICAgbGF5b3V0VXNpbmdGb3JtYXR0aW5n
Q29udGV4dCgpOwogI2VuZGlmCi0gICAgICAgICsrbV9sYXlvdXRDb3VudDsKKyAgICAgICAgaWYg
KCFtX2xheW91dEZvcmNlZCkKKyAgICAgICAgICAgICsrbV9sYXlvdXRDb3VudDsKICNpZiBFTkFC
TEUoVEVYVF9BVVRPU0laSU5HKQogICAgICAgICBhcHBseVRleHRTaXppbmdJZk5lZWRlZCgqbGF5
b3V0Um9vdC5nZXQoKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdM
YXlvdXRDb250ZXh0LmgKaW5kZXggNmY5ZWIxZTA5MzgyNGU2YjFiMGY5YTU3YTc1MjUzYTMyNGZl
ZTFmYS4uZGRjNmYwMzBmMzEyYzhiMDg1OGNhNjRlYWQ5ZTUxNmE2MzI0ZjM4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKQEAgLTg0LDYgKzg0LDgg
QEAgcHVibGljOgogICAgIGJvb2wgaXNJbkxheW91dCgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBo
YXNlKCkgIT0gTGF5b3V0UGhhc2U6Ok91dHNpZGVMYXlvdXQ7IH0KICAgICBib29sIGlzSW5SZW5k
ZXJUcmVlTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSA9PSBMYXlvdXRQaGFz
ZTo6SW5SZW5kZXJUcmVlTGF5b3V0OyB9CiAgICAgYm9vbCBpblBhaW50YWJsZVN0YXRlKCkgY29u
c3QgeyByZXR1cm4gbGF5b3V0UGhhc2UoKSAhPSBMYXlvdXRQaGFzZTo6SW5SZW5kZXJUcmVlTGF5
b3V0ICYmIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluVmlld1NpemVBZGp1c3QgJiYg
KGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluUG9zdExheW91dCB8fCBpbkFzeW5jaHJv
bm91c1Rhc2tzKCkpOyB9CisgICAgYm9vbCBpc0xheW91dEZvcmNlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGF5b3V0Rm9yY2VkOyB9CisgICAgdm9pZCBzZXRMYXlvdXRGb3JjZWQoYm9vbCBmKSB7IG1f
bGF5b3V0Rm9yY2VkID0gZjsgfQogCiAgICAgdW5zaWduZWQgbGF5b3V0Q291bnQoKSBjb25zdCB7
IHJldHVybiBtX2xheW91dENvdW50OyB9CiAKQEAgLTE3OSw2ICsxODEsNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9uZWVkc0Z1bGxSZXBhaW50IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pbkFzeW5j
aHJvbm91c1Rhc2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2V0TmVlZHNMYXlvdXRXYXNEZWZl
cnJlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2xheW91dEZvcmNlZCB7IGZhbHNlIH07CiAgICAg
TGF5b3V0UGhhc2UgbV9sYXlvdXRQaGFzZSB7IExheW91dFBoYXNlOjpPdXRzaWRlTGF5b3V0IH07
CiAgICAgZW51bSBjbGFzcyBMYXlvdXROZXN0ZWRTdGF0ZSA6IHVpbnQ4X3QgIHsgTm90SW5MYXlv
dXQsIE5vdE5lc3RlZCwgTmVzdGVkIH07CiAgICAgTGF5b3V0TmVzdGVkU3RhdGUgbV9sYXlvdXRO
ZXN0ZWRTdGF0ZSB7IExheW91dE5lc3RlZFN0YXRlOjpOb3RJbkxheW91dCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKaW5kZXggYjVh
MjM3ZTgxNDJlZDdiMjM3YWI0NDUzZGViNjVlMzNiZjRjNzYxOC4uZGVmNjEzNDM3NmIzNjJlMzgz
ZmZiY2ZjYjk3NTVjNWZhNDIyYzZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9J
bnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCkBAIC00MSw2ICs0MSw4IEBAIEludGVyc2VjdGlv
bk9ic2VydmVyRW50cnk6OkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkoY29uc3QgSW5pdCYgaW5p
dCkKIHsKICAgICBpZiAoaW5pdC5yb290Qm91bmRzKQogICAgICAgICBtX3Jvb3RCb3VuZHMgPSBE
T01SZWN0UmVhZE9ubHk6OmZyb21SZWN0KCppbml0LnJvb3RCb3VuZHMpOworICAgIGlmIChtX3Rh
cmdldCAmJiBtX3RhcmdldC0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICBtX2lzSW50ZXJz
ZWN0aW5nID0gZmFsc2U7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHAKaW5kZXggZWJjYTdlMzNiZDE3YTA2NTJkZGVh
MDhjZDRlNWJhYWRjZjZjOWVhZi4uZDhkZWYzYTE0ZDUwNzNiYWExMGVjOTBlYzRjMWYwM2U4N2Ex
ZDdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHAKQEAgLTUx
LDI0ICs1MSwyNiBAQCB2b2lkIFJlc2l6ZU9ic2VydmF0aW9uOjp1cGRhdGVPYnNlcnZhdGlvblNp
emUoY29uc3QgQm94U2l6ZXMmIGJveFNpemVzKQogICAgIG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMg
PSBib3hTaXplczsKIH0KIAotYXV0byBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVk
U2l6ZXMoKSBjb25zdCAtPiBCb3hTaXplcworc3RkOjpvcHRpb25hbDxSZXNpemVPYnNlcnZhdGlv
bjo6Qm94U2l6ZXM+IFJlc2l6ZU9ic2VydmF0aW9uOjpjb21wdXRlT2JzZXJ2ZWRTaXplcygpIGNv
bnN0CiB7CiAgICAgaWYgKG1fdGFyZ2V0LT5pc1NWR0VsZW1lbnQoKSkgewogICAgICAgICBpZiAo
YXV0byBzdmdSZWN0ID0gZG93bmNhc3Q8U1ZHRWxlbWVudD4oKm1fdGFyZ2V0KS5nZXRCb3VuZGlu
Z0JveCgpKSB7CiAgICAgICAgICAgICBhdXRvIHNpemUgPSBMYXlvdXRTaXplKHN2Z1JlY3QtPndp
ZHRoKCksIHN2Z1JlY3QtPmhlaWdodCgpKTsKLSAgICAgICAgICAgIHJldHVybiB7IHNpemUsIHNp
emUsIHNpemUgfTsKKyAgICAgICAgICAgIHJldHVybiBCb3hTaXplcyB7IHNpemUsIHNpemUsIHNp
emUgfTsKICAgICAgICAgfQogICAgIH0KICAgICBhdXRvKiBib3ggPSBtX3RhcmdldC0+cmVuZGVy
Qm94KCk7CiAgICAgaWYgKGJveCkgewotICAgICAgICByZXR1cm4geworICAgICAgICBpZiAobV90
YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisgICAgICAgIHJldHVybiBCb3hTaXplcyB7CiAgICAgICAgICAgICBhZGp1c3RMYXlvdXRT
aXplRm9yQWJzb2x1dGVab29tKGJveC0+Y29udGVudFNpemUoKSwgKmJveCksCiAgICAgICAgICAg
ICBhZGp1c3RMYXlvdXRTaXplRm9yQWJzb2x1dGVab29tKGJveC0+Y29udGVudExvZ2ljYWxTaXpl
KCksICpib3gpLAogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShi
b3gtPmJvcmRlckJveExvZ2ljYWxTaXplKCksICpib3gpCiAgICAgICAgIH07CiAgICAgfQogCi0g
ICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gQm94U2l6ZXMgeyB9OwogfQogCiBMYXlvdXRQb2lu
dCBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZVRhcmdldExvY2F0aW9uKCkgY29uc3QKQEAgLTEw
NCwxNSArMTA2LDE3IEBAIEZsb2F0U2l6ZSBSZXNpemVPYnNlcnZhdGlvbjo6c25hcHBlZENvbnRl
bnRCb3hTaXplKCkgY29uc3QKIHN0ZDo6b3B0aW9uYWw8UmVzaXplT2JzZXJ2YXRpb246OkJveFNp
emVzPiBSZXNpemVPYnNlcnZhdGlvbjo6ZWxlbWVudFNpemVDaGFuZ2VkKCkgY29uc3QKIHsKICAg
ICBhdXRvIGN1cnJlbnRTaXplcyA9IGNvbXB1dGVPYnNlcnZlZFNpemVzKCk7CisgICAgaWYgKCFj
dXJyZW50U2l6ZXMpCisgICAgICAgIHJldHVybiBjdXJyZW50U2l6ZXM7CiAKICAgICBzd2l0Y2gg
KG1fb2JzZXJ2ZWRCb3gpIHsKICAgICBjYXNlIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9uczo6Qm9y
ZGVyQm94OgotICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXplcy5ib3JkZXJCb3hMb2dp
Y2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMuYm9yZGVyQm94TG9naWNhbFNpemUpCi0gICAgICAgICAg
ICByZXR1cm4gY3VycmVudFNpemVzOworICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXpl
cy5ib3JkZXJCb3hMb2dpY2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMtPmJvcmRlckJveExvZ2ljYWxT
aXplKQorICAgICAgICAgICAgcmV0dXJuICpjdXJyZW50U2l6ZXM7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zOjpDb250ZW50Qm94OgotICAgICAgICBp
ZiAobV9sYXN0T2JzZXJ2YXRpb25TaXplcy5jb250ZW50Qm94TG9naWNhbFNpemUgIT0gY3VycmVu
dFNpemVzLmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSkKLSAgICAgICAgICAgIHJldHVybiBjdXJyZW50
U2l6ZXM7CisgICAgICAgIGlmIChtX2xhc3RPYnNlcnZhdGlvblNpemVzLmNvbnRlbnRCb3hMb2dp
Y2FsU2l6ZSAhPSBjdXJyZW50U2l6ZXMtPmNvbnRlbnRCb3hMb2dpY2FsU2l6ZSkKKyAgICAgICAg
ICAgIHJldHVybiAqY3VycmVudFNpemVzOwogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaAppbmRleCA2OGIxYzJhOTc0ZTY1MzEyNWU5
MjhmZDQ4ODIxMGY1YzJkZjBkNzEzLi44MDU1NGZjMDhkZmYwZWYxYzlhZGU1Nzg2Y2U4MTVhNWUy
ZjE4OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oCkBAIC02NCw3
ICs2NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzaXplT2JzZXJ2YXRpb24oRWxlbWVu
dCYsIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9ucyk7CiAKLSAgICBCb3hTaXplcyBjb21wdXRlT2Jz
ZXJ2ZWRTaXplcygpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8Qm94U2l6ZXM+IGNvbXB1dGVP
YnNlcnZlZFNpemVzKCkgY29uc3Q7CiAgICAgTGF5b3V0UG9pbnQgY29tcHV0ZVRhcmdldExvY2F0
aW9uKCkgY29uc3Q7CiAKICAgICBXZWFrUHRyPEVsZW1lbnQ+IG1fdGFyZ2V0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZWM5ZGViOWU3MTk1YTc3ZmJlOGRl
ODQ1ZDEwYzQzZGRmMTI5ZjU4My4uMWU1NGZlYmFkZmYwODAwNTcyNmQ2Mzc5MDg2N2E3MDgyOWIz
YjA0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC02NTIs
NiArNjUyLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCwgTGF5b3V0VW5p
dCkKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4oKQogeworICAg
IGlmIChzaG91bGRTa2lwQ29udGVudCgpICYmICF2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29u
dGV4dCgpLmlzTGF5b3V0Rm9yY2VkKCkpCisgICAgICAgIHJldHVybjsKICAgICBpZiAoY2hpbGRy
ZW5JbmxpbmUoKSkKICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKICAg
ICBlbHNlCkBAIC03NDMsNiArNzQ1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dG
cm9tQmxvY2tDaGlsZHJlbigpCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbVBv
c2l0aW9uZWRPYmplY3RzKCkKIHsKKyAgICBpZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmll
dygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAg
ICByZXR1cm47CiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQqIHBvc2l0aW9uZWREZXNj
ZW5kYW50cyA9IHBvc2l0aW9uZWRPYmplY3RzKCk7CiAgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNzQsNyArMTA3OCwxMyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJv
b2wgZml4ZWRQb3NpdAogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBwb3NpdGlvbmVk
RGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAgIGlmICghcG9zaXRpb25lZERl
c2NlbmRhbnRzKQogICAgICAgICByZXR1cm47Ci0gICAgCisKKyAgICBpZiAoc2hvdWxkU2tpcENv
bnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZv
cmNlZCgpKSB7CisgICAgICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+
YmVnaW4oKTsgaXQgIT0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgKytpdCkKKyAgICAg
ICAgICAgICgqKml0KS5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICAvLyBEbyBub3QgY2FjaGUgcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKSBpbiBh
IGxvY2FsIHZhcmlhYmxlLCBzaW5jZSB8cG9zaXRpb25lZERlc2NlbmRhbnRzfCBjYW4gYmUgbXV0
YXRlZAogICAgIC8vIGFzIGl0IGlzIHdhbGtlZC4gV2UgYWx3YXlzIG5lZWQgdG8gZmV0Y2ggdGhl
IG5ldyBlbmQoKSB2YWx1ZSBkeW5hbWljYWxseS4KICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlv
bmVkRGVzY2VuZGFudHMtPmJlZ2luKCk7IGl0ICE9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5k
KCk7ICsraXQpCkBAIC0xMTM3LDcgKzExNDcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludENv
bnRlbnRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZgog
ICAgIC8vIFN0eWxlIGlzIG5vbi1maW5hbCBpZiB0aGUgZWxlbWVudCBoYXMgYSBwZW5kaW5nIHN0
eWxlc2hlZXQgYmVmb3JlIGl0LiBXZSBlbmQgdXAgd2l0aCByZW5kZXJlcnMgd2l0aCBzdWNoIHN0
eWxlcyBpZiBhIHNjcmlwdAogICAgIC8vIGZvcmNlcyByZW5kZXJlciBjb25zdHJ1Y3Rpb24gYnkg
cXVlcnlpbmcgc29tZXRoaW5nIGxheW91dCBkZXBlbmRlbnQuCiAgICAgLy8gQXZvaWQgRk9VQyBi
eSBub3QgcGFpbnRpbmcuIFN3aXRjaGluZyB0byBmaW5hbCBzdHlsZSB0cmlnZ2VycyByZXBhaW50
LgotICAgIGlmIChzdHlsZSgpLmlzTm90RmluYWwoKSkKKyAgICBpZiAoc3R5bGUoKS5pc05vdEZp
bmFsKCkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KGNoaWxkcmVuSW5saW5lKCkpCkBAIC0xMjQwLDYgKzEyNTAsOSBAQCB2b2lkIFJlbmRlckJsb2Nr
OjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
aW50T2ZmcwogewogICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9IHBhaW50SW5mby5waGFzZTsK
IAorICAgIGlmIChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpCisg
ICAgICAgIHJldHVybjsKKwogICAgIC8vIDEuIHBhaW50IGJhY2tncm91bmQsIGJvcmRlcnMgZXRj
CiAgICAgaWYgKChwYWludFBoYXNlID09IFBhaW50UGhhc2U6OkJsb2NrQmFja2dyb3VuZCB8fCBw
YWludFBoYXNlID09IFBhaW50UGhhc2U6OkNoaWxkQmxvY2tCYWNrZ3JvdW5kKSAmJiBzdHlsZSgp
LnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKSB7CiAgICAgICAgIGlmIChoYXNW
aXNpYmxlQm94RGVjb3JhdGlvbnMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5jcHAKaW5kZXggMzY0MzEyYjA0MDUzMWY2ZTVlMGQ4MTFlYTdlZmVlMDNiZDk4
ZDdiYy4uOTc4NWRlMTljMDdlMjI0OTljNzBhNjEwYmIwZTRhZDhlY2JlNmY0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTUyNyw2ICs1Mjcs
OCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxk
cmVuLCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSAogICAgICAgICBpZiAoIWZpcnN0Q2hpbGQoKSAm
JiAhaXNBbm9ueW1vdXNCbG9jaygpKQogICAgICAgICAgICAgc2V0Q2hpbGRyZW5JbmxpbmUodHJ1
ZSk7CiAgICAgICAgIGRpcnR5Rm9yTGF5b3V0RnJvbVBlcmNlbnRhZ2VIZWlnaHREZXNjZW5kYW50
cygpOworICAgICAgICBpZiAodmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xh
eW91dEZvcmNlZCgpICYmICgoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVu
dCgpKSB8fCBzaG91bGRTa2lwQ29udGVudCgpKSkKKyAgICAgICAgICAgIHJlbGF5b3V0Q2hpbGRy
ZW4gPSB0cnVlOwogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKICAgICAgICAgICAgIGxh
eW91dElubGluZUNoaWxkcmVuKHJlbGF5b3V0Q2hpbGRyZW4sIHJlcGFpbnRMb2dpY2FsVG9wLCBy
ZXBhaW50TG9naWNhbEJvdHRvbSk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDlhYjk5OGU0MWNiMDhj
ZjBiNmY5MGYxMGYxM2M0Yjg0NTdlYzkzOWYuLmYxYzMyZGI2MGVmNjdkMTg0NWMwZDFjMWZmODRm
NWU5YzczZDJlNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcApAQCAtMjEyLDYgKzIxMiw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxP
YmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgaWYgKHN0eWxlVG9Vc2UuaXNGbGlwcGVkQmxv
Y2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBw
ZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKICAgICBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhz
aG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKTsKKyAgICBzZXRMYXlvdXRDb250YWlu
bWVudEFwcGxpZXMoKCFpc0lubGluZSgpIHx8IGlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYg
IWlzUnVieVRleHQoKSAmJiAoIWlzVGFibGVQYXJ0KCkgfHwgaXNSZW5kZXJCbG9ja0Zsb3coKSkp
OwogfQogCiBzdGF0aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZzZXRz
KGNvbnN0IFJlbmRlck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKaW5kZXggMTA4YzA4MDA5OTA3MWUyM2M2MmNiYzUyMDU5ZDhkOTg0YzYx
ZGQ5Yi4uZjExZTAzYjQ0MTA3MDQ4ZGZiOGE3YmY5OTNmOGUwN2U4MDQ0MTIyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMjQ0Miw0ICsyNDQyLDEx
IEBAIE92ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0CiAg
ICAgcmV0dXJuIG92ZXJmbG93WTsKIH0KIAorYm9vbCBSZW5kZXJFbGVtZW50OjpzaG91bGRTa2lw
Q29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFsYXlvdXRDb250YWlubWVudEFwcGxpZXMoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBlbGVtZW50KCkgJiYgZWxlbWVudCgp
LT5zaG91bGRTa2lwQ29udGVudCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuaAppbmRleCA2ZTk3NWQzZDA3MjhjNjU5ODIxNjQ5ZjBmNTc4MGJmMDYwYWVh
YjM2Li5mMmNjMTc0MmZlYmE0NDg0Y2EyNzk4OTFjZTlhNDFkMTZlNGU5MDBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTE2Miw2ICsxNjIsOSBAQCBwdWJs
aWM6CiAgICAgICAgIGlmIChzdHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNp
YmxlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmIChlbGVtZW50KCkg
JiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKICAgICAgICAgaWYgKCghaGl0VGVzdFJlcXVlc3QgfHwgIWhpdFRlc3RSZXF1ZXN0LT5p
Z25vcmVDU1NQb2ludGVyRXZlbnRzUHJvcGVydHkoKSkgJiYgc3R5bGUoKS5lZmZlY3RpdmVQb2lu
dGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIApAQCAtMjcxLDYgKzI3NCw4IEBAIHB1YmxpYzoKICAgICBPdmVyZmxvdyBlZmZlY3Rp
dmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3Zl
cmZsb3dZKCk7IH0KICAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9u
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZm
ZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQogCisgICAgYm9vbCBz
aG91bGRTa2lwQ29udGVudCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlw
ZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGUyYjRiMDlmNTdk
ZWIzYTQ1OThmM2JkMGNlNjczNGIwOTc1YjFjNTIuLjIyYmU1Mzc3YWVkZTlkMzZhMTYxZjQ4Yzdj
MDNmNmE5OGE1NzAwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUu
Y3BwCkBAIC0yMjgsNiArMjI4LDggQEAgYm9vbCBSZW5kZXJJbmxpbmU6Om1heUFmZmVjdExheW91
dCgpIGNvbnN0CiAKIHZvaWQgUmVuZGVySW5saW5lOjpwYWludChQYWludEluZm8mIHBhaW50SW5m
bywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogeworICAgIGlmIChzaG91bGRTa2lw
Q29udGVudCgpIHx8IChlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkp
KQorICAgICAgICByZXR1cm47CiAgICAgbV9saW5lQm94ZXMucGFpbnQodGhpcywgcGFpbnRJbmZv
LCBwYWludE9mZnNldCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCmluZGV4IDM3YTgyYjgyOWE1OGRhZmFhZmI3ZWQwMDRlZTMzZDU5Y2VhYzRlNGQuLjk5MGU5
ODdkOTc2ZTU1Y2E0ZDI0OTkzZjdmMWRhMGRkMGYyMzFmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzA1MCw2ICszMDUwLDkgQEAgc3RhdGljIGlubGlu
ZSBib29sIHBhaW50Rm9yRml4ZWRSb290QmFja2dyb3VuZChjb25zdCBSZW5kZXJMYXllciogbGF5
ZXIsIE9wdGlvblMKIAogdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0luZm8sIE9wdGlv
blNldDxQYWludExheWVyRmxhZz4gcGFpbnRGbGFncykKIHsKKyAgICBpZiAocmVuZGVyZXIoKS5l
bGVtZW50KCkgJiYgcmVuZGVyZXIoKS5lbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgYXV0byBzaG91bGRDb250aW51ZVBhaW50ID0gWyZdICgpIHsK
ICAgICAgICAgcmV0dXJuIGJhY2tpbmcoKS0+cGFpbnRzSW50b1dpbmRvdygpCiAgICAgICAgICAg
ICB8fCBiYWNraW5nKCktPnBhaW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKQpAQCAtMzM0Myw2
ICszMzQ2LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKIHsKICAgICBBU1NFUlQoaXNTZWxm
UGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKIAor
ICAgIC8vIGlmIChyZW5kZXJlcigpLmVsZW1lbnQoKSAmJiByZW5kZXJlcigpLmVsZW1lbnQoKS0+
aXNTa2lwcGVkQ29udGVudCgpKQorICAgIC8vICAgICByZXR1cm47CisKICAgICBpZiAoY29udGV4
dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSAmJiBjb250ZXh0LmNvbnRlbmZ1bFBhaW50RGV0
ZWN0ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0zNTkyLDcgKzM1OTgsNyBAQCB2b2lkIFJl
bmRlckxheWVyOjpwYWludExpc3QoTGF5ZXJMaXN0IGxheWVySXRlcmF0b3IsIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgYwogICAgIGlmIChsYXllckl0ZXJhdG9yLmJlZ2luKCkgPT0gbGF5ZXJJ
dGVyYXRvci5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFoYXNTZWxmUGFpbnRp
bmdMYXllckRlc2NlbmRhbnQoKSkKKyAgICBpZiAoIWhhc1NlbGZQYWludGluZ0xheWVyRGVzY2Vu
ZGFudCgpIHx8IHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQoKSkKICAgICAgICAgcmV0dXJu
OwogCiAjaWYgQVNTRVJUX0VOQUJMRUQKQEAgLTQwNzIsNiArNDA3OCw4IEBAIFZlY3RvcjxSZW5k
ZXJMYXllcio+IFJlbmRlckxheWVyOjp0b3BMYXllclJlbmRlckxheWVycyhSZW5kZXJWaWV3JiBy
ZW5kZXJWaWV3KQogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGxheWVyczsKICAgICBhdXRvIHRv
cExheWVyRWxlbWVudHMgPSByZW5kZXJWaWV3LmRvY3VtZW50KCkudG9wTGF5ZXJFbGVtZW50cygp
OwogICAgIGZvciAoYXV0byYgZWxlbWVudCA6IHRvcExheWVyRWxlbWVudHMpIHsKKyAgICAgICAg
aWYgKGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICBhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCk7CiAgICAgICAgIGlm
ICghcmVuZGVyZXIpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTQ0ODksNiArNDQ5Nyw5IEBA
IFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdExpc3QoTGF5ZXJMaXN0IGxheWVySXRl
cmF0b3IsIFJlbmRlckxheWVyKiByb290CiAgICAgaWYgKCFoYXNTZWxmUGFpbnRpbmdMYXllckRl
c2NlbmRhbnQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBpZiAocmVuZGVyZXIo
KS5zaG91bGRTa2lwQ29udGVudCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIFJl
bmRlckxheWVyKiByZXN1bHRMYXllciA9IG51bGxwdHI7CiAKICAgICBmb3IgKGF1dG8gaXRlciA9
IGxheWVySXRlcmF0b3IucmJlZ2luKCk7IGl0ZXIgIT0gbGF5ZXJJdGVyYXRvci5yZW5kKCk7ICsr
aXRlcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAppbmRleCA0MjVjNjljMzE0MWJmNzRmYTU3MmRmMjBiYjhhMGU0MDU3N2FiODE4Li4wOWZh
MTQ4Mjg3NGIyODBjZTgzODkyMzA4YmRiNGVmNDNiMTYwOWUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTU5OCw3ICsxNTk4LDgg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUFmdGVyRGVzY2VuZGFudHMoKQogICAg
ICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzT3BhcXVlKCFtX2hhc1N1YnBpeGVsUm91
bmRpbmcgJiYgbV9vd25pbmdMYXllci5iYWNrZ3JvdW5kSXNLbm93blRvQmVPcGFxdWVJblJlY3Qo
Y29tcG9zaXRlZEJvdW5kcygpKSk7CiAgICAgfQogCi0gICAgbV9ncmFwaGljc0xheWVyLT5zZXRD
b250ZW50c1Zpc2libGUobV9vd25pbmdMYXllci5oYXNWaXNpYmxlQ29udGVudCgpIHx8IGhhc1Zp
c2libGVOb25Db21wb3NpdGVkRGVzY2VuZGFudHMoKSk7CisgICAgYm9vbCBpc1NraXBwZWRDb250
ZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkgPyByZW5kZXJlcigpLmVsZW1lbnQoKS0+aXNTa2lw
cGVkQ29udGVudCgpIDogZmFsc2U7CisgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1Zp
c2libGUoIWlzU2tpcHBlZENvbnRlbnQgJiYgKG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNvbnRl
bnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpKTsKICAgICBpZiAo
bV9zY3JvbGxDb250YWluZXJMYXllcikgewogICAgICAgICBtX3Njcm9sbENvbnRhaW5lckxheWVy
LT5zZXRDb250ZW50c1Zpc2libGUocmVuZGVyZXIoKS5zdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBW
aXNpYmlsaXR5OjpWaXNpYmxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCmluZGV4IDhkOTkwZjFkNTMxYmU2M2YyYjI1ZDA2
MTQ1ZmIxMzFjNDEwMDcyNmMuLmYwZjE4ZTExODc2YmY3OTA1MmQ0MTM2NzRiNDFkYzIxOTI3OGZi
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJSZW5kZXJMYXllck1vZGVsT2JqZWN0LmgiCiAKKyNpbmNsdWRlICJEb2N1bWVudFRpbWVs
aW5lc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJl
bmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgpA
QCAtMTE0LDYgKzExNSwxMiBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0eWxlRGlk
Q2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdAogICAgIFJlbmRlckVs
ZW1lbnQ6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICB1cGRhdGVGcm9tU3R5
bGUoKTsKIAorICAgIGlmIChlbGVtZW50KCkgJiYgKChvbGRTdHlsZSAmJiBvbGRTdHlsZS0+Y29u
dGVudFZpc2liaWxpdHkoKSAhPSBzdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkpIHx8ICghb2xk
U3R5bGUgJiYgc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5
OjpWaXNpYmxlKSkpIHsKKyAgICAgICAgZWxlbWVudCgpLT51cGRhdGVDb250ZW50VmlzaWJpbGl0
eShvbGRTdHlsZSA/IHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2liaWxpdHk+KG9sZFN0eWxlLT5j
b250ZW50VmlzaWJpbGl0eSgpKSA6IHN0ZDo6bnVsbG9wdCwgc3R5bGUoKS5jb250ZW50VmlzaWJp
bGl0eSgpKTsKKyAgICAgICAgaWYgKHN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSA9PSBDb250
ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAgICAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlQW5p
bWF0aW9uc0FuZFNlbmRFdmVudHMoKTsKKyAgICB9CisKICAgICBpZiAocmVxdWlyZXNMYXllcigp
KSB7CiAgICAgICAgIGlmICghbGF5ZXIoKSAmJiBsYXllckNyZWF0aW9uQWxsb3dlZEZvclN1YnRy
ZWUoKSkgewogICAgICAgICAgICAgaWYgKHNfd2FzRmxvYXRpbmcgJiYgaXNGbG9hdGluZygpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAxMGIwZDNjZWE2
NzZhODlkMGIxZGYxMWU3MzI3ZTM0YjUzYTQ0NmZjLi5hNzlmMGIwZGY1ZDUyNmEwN2VlZWM5Y2Fj
YTE4MTVjZmNjNWY3MmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcApAQCAtNDU0LDYgKzQ1NCw5IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpzY3JvbGxSZWN0VG9W
aXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpCiAgICAgaWYg
KG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGlzPEVsZW1lbnQ+KG5vZGUoKSkgJiYg
ZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUoKSkuaXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKICAgICBSZW5kZXJMYXllciogZW5jbG9zaW5nTGF5ZXIgPSB0aGlzLT5l
bmNsb3NpbmdMYXllcigpOwogICAgIGlmICghZW5jbG9zaW5nTGF5ZXIpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTE5ODYsNiArMTk4OSwxMiBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0UGFp
bnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcykKICAgICAg
ICAgZW5zdXJlUmFyZURhdGEoKS5zZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhwYWludENvbnRh
aW5tZW50QXBwbGllcyk7CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRMYXlvdXRDb250YWlu
bWVudEFwcGxpZXMoYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMpCit7CisgICAgaWYgKGxh
eW91dENvbnRhaW5tZW50QXBwbGllcyB8fCBoYXNSYXJlRGF0YSgpKQorICAgICAgICBlbnN1cmVS
YXJlRGF0YSgpLnNldExheW91dENvbnRhaW5tZW50QXBwbGllcyhsYXlvdXRDb250YWlubWVudEFw
cGxpZXMpOworfQorCiBSZW5kZXJPYmplY3Q6OlJhcmVEYXRhTWFwJiBSZW5kZXJPYmplY3Q6OnJh
cmVEYXRhTWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmFyZURhdGFNYXA+IG1h
cDsKQEAgLTIwMTUsNiArMjAyNCw3IEBAIFJlbmRlck9iamVjdDo6UmVuZGVyT2JqZWN0UmFyZURh
dGE6OlJlbmRlck9iamVjdFJhcmVEYXRhKCkKICAgICAsIG1faXNSZW5kZXJGcmFnbWVudGVkRmxv
dyhmYWxzZSkKICAgICAsIG1faGFzT3V0bGluZUF1dG9BbmNlc3RvcihmYWxzZSkKICAgICAsIG1f
cGFpbnRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCisgICAgLCBtX2xheW91dENvbnRhaW5tZW50
QXBwbGllcyhmYWxzZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCmluZGV4IGYwZWVhYWVjOTg0ZDgzYjZhZDZkMTlhZWU5NjU5ZTNiMzYzZjRmZTcuLmMxMWEz
NzFmZTcxM2Y4ZGJkYTgyZDIxOGZhM2E0MTRmMTNiNWRhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFz
UmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLmlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKTsgfQogICAg
IGJvb2wgaGFzT3V0bGluZUF1dG9BbmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRz
Lmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5oYXNPdXRsaW5lQXV0b0FuY2VzdG9yKCk7IH0K
ICAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1cm4gbV9iaXRm
aWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
KCk7IH0KKyAgICBib29sIGxheW91dENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0dXJu
IG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5sYXlvdXRDb250YWlubWVu
dEFwcGxpZXMoKTsgfQogCiAgICAgYm9vbCBpc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpIGNv
bnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCk7IH0K
ICAgICB2b2lkIHNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KGJvb2wgZXhjbHVkZWQpIHsg
bV9iaXRmaWVsZHMuc2V0SXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoZXhjbHVkZWQpOyB9CkBA
IC01MTUsNiArNTE2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZW5kZXJGcmFnbWVudGVk
Rmxvdyhib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRIYXNPdXRsaW5lQXV0b0FuY2VzdG9yKGJv
b2wgPSB0cnVlKTsKICAgICB2b2lkIHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgPSB0
cnVlKTsKKyAgICB2b2lkIHNldExheW91dENvbnRhaW5tZW50QXBwbGllcyhib29sID0gdHJ1ZSk7
CiAKICAgICAvLyBIb29rIHNvIHRoYXQgUmVuZGVyVGV4dENvbnRyb2wgY2FuIHJldHVybiB0aGUg
bGluZSBoZWlnaHQgb2YgaXRzIGlubmVyIHJlbmRlcmVyLgogICAgIC8vIEZvciBvdGhlciByZW5k
ZXJlcnMsIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBsaW5lSGVpZ2h0KGZhbHNlKS4KQEAgLTk0
NCw2ICs5NDYsNyBAQCBwcml2YXRlOgogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChpc1Jl
bmRlckZyYWdtZW50ZWRGbG93LCBJc1JlbmRlckZyYWdtZW50ZWRGbG93KTsKICAgICAgICAgQURE
X0JPT0xFQU5fQklURklFTEQoaGFzT3V0bGluZUF1dG9BbmNlc3RvciwgSGFzT3V0bGluZUF1dG9B
bmNlc3Rvcik7CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKHBhaW50Q29udGFpbm1lbnRB
cHBsaWVzLCBQYWludENvbnRhaW5tZW50QXBwbGllcyk7CisgICAgICAgIEFERF9CT09MRUFOX0JJ
VEZJRUxEKGxheW91dENvbnRhaW5tZW50QXBwbGllcywgTGF5b3V0Q29udGFpbm1lbnRBcHBsaWVz
KTsKIAogICAgICAgICAvLyBGcm9tIFJlbmRlckVsZW1lbnQKICAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPFJlbmRlclN0eWxlPiBjYWNoZWRGaXJzdExpbmVTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDY5N2M3NDU5YmFhYjE5YmU3ODc3NDFk
ZGUxMmZiMzhlNzgyZTBlZjQuLjZkZTEwMTMwOWI0ZDdjNmE0YmQ1NTViNTZhMzFkZjEzYzdiMmVi
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAt
Mjc2LDcgKzI3Niw4IEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgfQogCiAgICAgaWYg
KCFjb21wbGV0ZWx5Q2xpcHBlZE91dCkgewotICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5m
bywgYWRqdXN0ZWRQYWludE9mZnNldCk7CisgICAgICAgIGlmICghc2hvdWxkU2tpcENvbnRlbnQo
KSkKKyAgICAgICAgICAgIHBhaW50UmVwbGFjZWQocGFpbnRJbmZvLCBhZGp1c3RlZFBhaW50T2Zm
c2V0KTsKIAogICAgICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAgICAg
ICAgIHBhaW50SW5mby5jb250ZXh0KCkucmVzdG9yZSgpOwpAQCAtMzE2LDcgKzMxNyw3IEBAIGJv
b2wgUmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBMYXlvdXRQb2ludCYgcGFpbnRPCiAgICAgLy8gaWYgd2UncmUgaW52aXNpYmxlIG9yIGhhdmVu
J3QgcmVjZWl2ZWQgYSBsYXlvdXQgeWV0LCB0aGVuIGp1c3QgYmFpbC4KICAgICBpZiAoc3R5bGUo
KS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIAorCiAgICAgTGF5b3V0UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9IHBhaW50
T2Zmc2V0ICsgbG9jYXRpb24oKTsKIAogICAgIC8vIEVhcmx5IGV4aXQgaWYgdGhlIGVsZW1lbnQg
dG91Y2hlcyB0aGUgZWRnZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
aW5kZXggYWFmZDlkY2QwNTY4MzlmODc3YjkzNjcxNmFkZGI2YmMwY2VhM2IyZC4uOGJmZjExYjM2
NDY5OTg5YjlmOGM1NzgwNWQ1OTEyZDRmYjdiM2JlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcApAQCAtMTc2LDcgKzE3Niw5IEBAIHZvaWQgUmVuZGVyVmlldzo6bGF5
b3V0KCkKICAgICB9CiAKICAgICBBU1NFUlQoIWZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5s
YXlvdXRTdGF0ZSgpKTsKLSAgICBpZiAoIW5lZWRzTGF5b3V0KCkpCisgICAgaWYgKGZyYW1lVmll
dygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICBzZXRDaGlsZE5l
ZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgZWxzZSBpZiAoIW5lZWRzTGF5b3V0KCkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcigq
dGhpcywgeyB9LCBmYWxzZSwgdmFsdWVPckRlZmF1bHQobV9wYWdlTG9naWNhbFNpemUpLmhlaWdo
dCgpLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IGVmYjNhOGJlMGNlMmQwMDIxMzRjZjI4M2QzOGQ5NDBi
ZjQwMjMxNTguLjQxNjZkNmQ3MDVkNjFkYzk2OTM3MzhjNjIzZWE0MWIyZDRlZjRlZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBAIC0zMjUsNyArMzI1LDcg
QEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBM
YXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGNsaXBSb3VuZGVkSW5uZXJSZWN0KHBh
aW50SW5mby5jb250ZXh0KCksIGJvcmRlclJlY3QsIHJvdW5kZWRJbm5lclJlY3QpOwogICAgIH0K
IAotICAgIGlmIChtX3dpZGdldCkKKyAgICBpZiAobV93aWRnZXQgJiYgIXNob3VsZFNraXBDb250
ZW50KCkpCiAgICAgICAgIHBhaW50Q29udGVudHMocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAK
ICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGU4ZjQ0ZjUyMGQ3ODZlOGE2YjRl
MjhhMmJlYTE4NTllNmY5NzhmNjcuLmYzYzY5YzFkYWQ5MDYwNzcwYTA5NjEyM2I4Nzk0ZjhlMzc2
ZWZjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcApAQCAtMTk1LDYgKzE5NSw3IEBAIFJlbmRlclN0eWxlOjpSZW5kZXJTdHlsZShDcmVhdGVE
ZWZhdWx0U3R5bGVUYWcpCiAgICAgbV9ub25Jbmhlcml0ZWRGbGFncy5sYXN0Q2hpbGRTdGF0ZSA9
IGZhbHNlOwogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MuaXNMaW5rID0gZmFsc2U7CiAgICAgbV9u
b25Jbmhlcml0ZWRGbGFncy5oYXNDb250ZW50Tm9uZSA9IGZhbHNlOworICAgIG1fbm9uSW5oZXJp
dGVkRmxhZ3Muc2tpcHNDb250ZW50cyA9IGZhbHNlOwogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3Mu
c3R5bGVUeXBlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpOb25lKTsKICAgICBt
X25vbkluaGVyaXRlZEZsYWdzLnBzZXVkb0JpdHMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHNl
dWRvSWQ6Ok5vbmUpOwogCkBAIC03NDcsNiArNzQ4LDkgQEAgc3RhdGljIGJvb2wgcmFyZU5vbklu
aGVyaXRlZERhdGFDaGFuZ2VSZXF1aXJlc0xheW91dChjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0
ZWQKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgaWYgKGZpcnN0LmNvbnRlbnRW
aXNpYmlsaXR5ICE9IHNlY29uZC5jb250ZW50VmlzaWJpbGl0eSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKICAgICBpZiAoZmlyc3QuaW5wdXRTZWN1cml0eSAhPSBzZWNvbmQuaW5wdXRTZWN1cml0
eSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTEwNTYsNiArMTA2MCw5IEBAIHN0YXRpYyBi
b29sIHJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNSZXBhaW50KGNvbnN0IFN0eWxl
UmFyZU5vbkluaGVyaXRlCiAgICAgaWYgKGZpcnN0LnNoYXBlT3V0c2lkZSAhPSBzZWNvbmQuc2hh
cGVPdXRzaWRlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIGlmIChmaXJzdC5jb250ZW50
VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisgICAgICAgIHJldHVybiB0
cnVlOworCiAgICAgLy8gRklYTUU6IHRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIG1vdmVkIHRvIGNo
YW5nZVJlcXVpcmVzTGF5ZXJSZXBhaW50KCkuCiAgICAgaWYgKGZpcnN0LmNsaXBQYXRoICE9IHNl
Y29uZC5jbGlwUGF0aCkgewogICAgICAgICBjaGFuZ2VkQ29udGV4dFNlbnNpdGl2ZVByb3BlcnRp
ZXMuYWRkKFN0eWxlRGlmZmVyZW5jZUNvbnRleHRTZW5zaXRpdmVQcm9wZXJ0eTo6Q2xpcFBhdGgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCBm
OTQ1MWEyM2FkZGM4M2FiZjYyODRhZjgyM2JiNzU5OTQ3Zjc5M2U1Li5hYjU1NDgzOTJiNDMxM2Uy
MjYzODM1ZmNhNzRlNGE5MTQyZGRlNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTI4LDExICs1MjgsMTMgQEAgcHVibGljOgogICAgIH0K
ICAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1cm4gYXNwZWN0UmF0aW9UeXBl
KCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCBhc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3Bl
Y3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbzsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4g
Y29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47
IH0KKyAgICBDb250ZW50VmlzaWJpbGl0eSBjb250ZW50VmlzaWJpbGl0eSgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PENvbnRlbnRWaXNpYmlsaXR5PihtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5jb250ZW50VmlzaWJpbGl0eSk7IH0KKyAgICBib29sIGNvbnRlbnRWaXNpYmlsaXR5SGlkZGVu
KCkgY29uc3QgeyByZXR1cm4gY29udGVudFZpc2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0
eTo6SGlkZGVuOyB9CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBlZmZlY3RpdmVDb250YWlu
bWVudCgpIGNvbnN0OwotICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBl
ZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9Ci0g
ICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVu
dCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQotICAgIGJvb2wgY29udGFpbnNTdHls
ZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFp
bm1lbnQ6OlN0eWxlKTsgfQotICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJu
IGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQor
ICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlu
bWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpIHx8IGNvbnRlbnRWaXNpYmlsaXR5
KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0KKyAgICBib29sIGNvbnRhaW5zU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFp
bm1lbnQ6OlNpemUpIHx8IHNraXBzQ29udGVudHMoKTsgfQorICAgIGJvb2wgY29udGFpbnNTdHls
ZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFp
bm1lbnQ6OlN0eWxlKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5
OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4gZWZm
ZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6UGFpbnQpIHx8IGNvbnRl
bnRWaXNpYmlsaXR5KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0KICAgICBDb250
YWluZXJUeXBlIGNvbnRhaW5lclR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250
YWluZXJUeXBlPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJUeXBlKTsgfQogICAg
IGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgY29udGFpbmVyTmFtZXMoKSBjb25zdCB7IHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJOYW1lczsgfQogICAgIEJveEFsaWdu
bWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4o
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0K
QEAgLTEwNjYsNiArMTA2OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbnRhaW5lclR5cGUo
Q29udGFpbmVyVHlwZSBjb250YWluZXJUeXBlKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVk
RGF0YSwgY29udGFpbmVyVHlwZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbnRhaW5lclR5cGUp
KTsgfQogICAgIHZvaWQgc2V0Q29udGFpbmVyTmFtZXMoY29uc3QgVmVjdG9yPEF0b21TdHJpbmc+
JiBuYW1lcykgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGNvbnRhaW5lck5hbWVz
LCBuYW1lcyk7IH0KIAorICAgIHZvaWQgc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2li
aWxpdHkgdmFsdWUpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBjb250ZW50Vmlz
aWJpbGl0eSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSk7IH0KKwogICAgIHZvaWQgc2V0
TGlzdFN0eWxlU3RyaW5nVmFsdWUoY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpIHsgU0VUX1ZBUiht
X3JhcmVJbmhlcml0ZWREYXRhLCBsaXN0U3R5bGVTdHJpbmdWYWx1ZSwgdmFsdWUpOyB9CiAgICAg
dm9pZCBzZXRMaXN0U3R5bGVUeXBlKExpc3RTdHlsZVR5cGUgdikgeyBtX2luaGVyaXRlZEZsYWdz
Lmxpc3RTdHlsZVR5cGUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odik7IH0KICAgICB2b2lkIHNl
dExpc3RTdHlsZUltYWdlKFJlZlB0cjxTdHlsZUltYWdlPiYmKTsKQEAgLTE0OTYsNiArMTUwMCw4
IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGNvbnRlbnRBbHRUZXh0KCkgY29uc3Q7CiAg
ICAgYm9vbCBoYXNBdHRyQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmhhc0F0dHJDb250ZW50OyB9CiAgICAgdm9pZCBzZXRIYXNBdHRyQ29udGVudCgpOwor
ICAgIGJvb2wgc2tpcHNDb250ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fbm9uSW5oZXJpdGVkRmxh
Z3Muc2tpcHNDb250ZW50czsgfQorICAgIHZvaWQgc2V0U2tpcHNDb250ZW50cyhib29sIHYpIHsg
bV9ub25Jbmhlcml0ZWRGbGFncy5za2lwc0NvbnRlbnRzID0gdjsgfQogCiAgICAgY29uc3QgQ291
bnRlckRpcmVjdGl2ZU1hcCogY291bnRlckRpcmVjdGl2ZXMoKSBjb25zdDsKICAgICBDb3VudGVy
RGlyZWN0aXZlTWFwJiBhY2Nlc3NDb3VudGVyRGlyZWN0aXZlcygpOwpAQCAtMTY4MSw2ICsxNjg3
LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGluaXRpYWxD
b250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlubWVudD4geyB9OyB9CiAgICAg
c3RhdGljIE9wdGlvblNldDxDb250YWlubWVudD4gc3RyaWN0Q29udGFpbm1lbnQoKSB7IHJldHVy
biBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHsgQ29udGFpbm1lbnQ6OlNpemUsIENvbnRhaW5tZW50
OjpMYXlvdXQsIENvbnRhaW5tZW50OjpQYWludCwgQ29udGFpbm1lbnQ6OlN0eWxlIH07IH0KICAg
ICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250ZW50Q29udGFpbm1lbnQoKSB7IHJl
dHVybiBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHsgQ29udGFpbm1lbnQ6OkxheW91dCwgQ29udGFp
bm1lbnQ6OlBhaW50LCBDb250YWlubWVudDo6U3R5bGUgfTsgfQorICAgIHN0YXRpYyBDb250ZW50
VmlzaWJpbGl0eSBpbml0aWFsQ29udGVudFZpc2liaWxpdHkoKSB7IHJldHVybiBDb250ZW50Vmlz
aWJpbGl0eTo6VmlzaWJsZTsgfQogICAgIHN0YXRpYyBDb250YWluZXJUeXBlIGluaXRpYWxDb250
YWluZXJUeXBlKCkgeyByZXR1cm4gQ29udGFpbmVyVHlwZTo6Tm9uZTsgfQogICAgIHN0YXRpYyBW
ZWN0b3I8QXRvbVN0cmluZz4gaW5pdGlhbENvbnRhaW5lck5hbWVzKCkgeyByZXR1cm4geyB9OyB9
CiAgICAgc3RhdGljIGRvdWJsZSBpbml0aWFsQXNwZWN0UmF0aW9XaWR0aCgpIHsgcmV0dXJuIDEu
MDsgfQpAQCAtMTk1NCw2ICsxOTYxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgbGFz
dENoaWxkU3RhdGUgOiAxOwogICAgICAgICB1bnNpZ25lZCBpc0xpbmsgOiAxOwogICAgICAgICB1
bnNpZ25lZCBoYXNDb250ZW50Tm9uZSA6IDE7CisgICAgICAgIHVuc2lnbmVkIHNraXBzQ29udGVu
dHMgOiAxOwogCiAgICAgICAgIHVuc2lnbmVkIHN0eWxlVHlwZSA6IDQ7IC8vIFBzZXVkb0lkCiAg
ICAgICAgIHVuc2lnbmVkIHBzZXVkb0JpdHMgOiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVk
b0lkOjpGaXJzdEludGVybmFsUHNldWRvSWQpIC0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVk
b0lkOjpGaXJzdFB1YmxpY1BzZXVkb0lkKSk7CkBAIC0yMDkxLDYgKzIwOTksNyBAQCBpbmxpbmUg
Ym9vbCBSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6Om9wZXJhdG9yPT0oY29uc3QgTm9u
SW5oZXJpdGVkRmxhZ3MmCiAgICAgICAgICYmIGxhc3RDaGlsZFN0YXRlID09IG90aGVyLmxhc3RD
aGlsZFN0YXRlCiAgICAgICAgICYmIGlzTGluayA9PSBvdGhlci5pc0xpbmsKICAgICAgICAgJiYg
aGFzQ29udGVudE5vbmUgPT0gb3RoZXIuaGFzQ29udGVudE5vbmUKKyAgICAgICAgJiYgc2tpcHND
b250ZW50cyA9PSBvdGhlci5za2lwc0NvbnRlbnRzCiAgICAgICAgICYmIHN0eWxlVHlwZSA9PSBv
dGhlci5zdHlsZVR5cGUKICAgICAgICAgJiYgcHNldWRvQml0cyA9PSBvdGhlci5wc2V1ZG9CaXRz
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaAppbmRleCAwYTk0YjZkZjNkNDc0OGI0MmFhMzdjY2NlZGMzN2JjOTM3NTI2
YWZiLi4xYTUwNDU0MTAxMGQ2OGVmZjRjMTgzNjQ2YTllOTk3ZDYyYWEzYzhkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aApAQCAtMTIzOCw2ICsxMjM4LDEyIEBAIGVudW0gY2xhc3MgQ29udGFpbmVyVHlwZSA6IHVpbnQ4
X3QgewogICAgIElubGluZVNpemUsCiB9OwogCitlbnVtIGNsYXNzIENvbnRlbnRWaXNpYmlsaXR5
IDogdWludDhfdCB7CisgICAgVmlzaWJsZSwKKyAgICBBdXRvLAorICAgIEhpZGRlbiwKK307CisK
IENTU0JveFR5cGUgdHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKFRyYW5zZm9ybUJveCk7CiAKIGV4
dGVybiBjb25zdCBmbG9hdCBkZWZhdWx0TWl0ZXJMaW1pdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNw
cAppbmRleCAxOTI0OWVmMGU5ZmEyOGZjNTQwYmRkYjBjNGNjNGMyMWYxNjAwMGYyLi43NzM0YWE2
ZTZjZGQ2NTgxMTI1OGY2YzMzN2ZjZWU4M2UwOWYxYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwCkBAIC05NSw2ICs5NSw3IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEoKQogICAgICwgZWZmZWN0aXZlQXBwZWFyYW5jZShzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxBcHBlYXJhbmNlKCkpKQogICAgICwgdGV4
dERlY29yYXRpb25TdHlsZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRp
YWxUZXh0RGVjb3JhdGlvblN0eWxlKCkpKQogICAgICwgYXNwZWN0UmF0aW9UeXBlKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbEFzcGVjdFJhdGlvVHlwZSgpKSkKKyAg
ICAsIGNvbnRlbnRWaXNpYmlsaXR5KHN0YXRpY19jYXN0PHVuc2lnbmVkPihDb250ZW50VmlzaWJp
bGl0eTo6VmlzaWJsZSkpCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAsIGVmZmVj
dGl2ZUJsZW5kTW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxC
bGVuZE1vZGUoKSkpCiAgICAgLCBpc29sYXRpb24oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRl
clN0eWxlOjppbml0aWFsSXNvbGF0aW9uKCkpKQpAQCAtMTk5LDYgKzIwMCw3IEBAIGlubGluZSBT
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0
IFN0eWxlUmFyZU5vbkluCiAgICAgLCBlZmZlY3RpdmVBcHBlYXJhbmNlKG8uZWZmZWN0aXZlQXBw
ZWFyYW5jZSkKICAgICAsIHRleHREZWNvcmF0aW9uU3R5bGUoby50ZXh0RGVjb3JhdGlvblN0eWxl
KQogICAgICwgYXNwZWN0UmF0aW9UeXBlKG8uYXNwZWN0UmF0aW9UeXBlKQorICAgICwgY29udGVu
dFZpc2liaWxpdHkoby5jb250ZW50VmlzaWJpbGl0eSkKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lU
SU5HKQogICAgICwgZWZmZWN0aXZlQmxlbmRNb2RlKG8uZWZmZWN0aXZlQmxlbmRNb2RlKQogICAg
ICwgaXNvbGF0aW9uKG8uaXNvbGF0aW9uKQpAQCAtMzIwLDYgKzMyMiw3IEBAIGJvb2wgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhJiBvKSBjCiAgICAgICAgICYmIGFwcGxlUGF5QnV0dG9uVHlwZSA9PSBvLmFwcGxlUGF5
QnV0dG9uVHlwZQogI2VuZGlmCiAgICAgICAgICYmIGFzcGVjdFJhdGlvVHlwZSA9PSBvLmFzcGVj
dFJhdGlvVHlwZQorICAgICAgICAmJiBjb250ZW50VmlzaWJpbGl0eSA9PSBvLmNvbnRlbnRWaXNp
YmlsaXR5CiAgICAgICAgICYmIG9iamVjdEZpdCA9PSBvLm9iamVjdEZpdAogICAgICAgICAmJiBi
cmVha0FmdGVyID09IG8uYnJlYWtBZnRlcgogICAgICAgICAmJiBicmVha0JlZm9yZSA9PSBvLmJy
ZWFrQmVmb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCBjYTE1N2Y4MzM0ZTRmOTAxNjFjZTVi
MTk2ODhmNzc3NmRhODdmN2Y2Li5jYjNlNDFlODhlODlhMDkwODI0NzY2MmIxNTQzMWE2MGRjYzlm
MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAgLTIwOCw3ICsyMDgsOCBAQCBwdWJsaWM6CiAK
ICAgICB1bnNpZ25lZCB0ZXh0RGVjb3JhdGlvblN0eWxlIDogMzsgLy8gVGV4dERlY29yYXRpb25T
dHlsZQogCi0gICAgdW5zaWduZWQgYXNwZWN0UmF0aW9UeXBlIDogMzsKKyAgICB1bnNpZ25lZCBh
c3BlY3RSYXRpb1R5cGUgOiAyOworICAgIHVuc2lnbmVkIGNvbnRlbnRWaXNpYmlsaXR5IDogMjsK
IAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgdW5zaWduZWQgZWZmZWN0aXZlQmxl
bmRNb2RlOiA1OyAvLyBFQmxlbmRNb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIu
Y3BwCmluZGV4IDA3MDMwZDdmODcxZjNjNTQ3YTRlMjZkZmNlYWRlNWQxMzAyOWUyNWIuLmIwNDY4
NzE4Y2UwNGYzZGE0M2U4NDVkOTNiYWY2M2Y1NWIyMjQzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC01NDYsNiArNTQ2LDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFk
anVzdChSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB1c2VyQWdlbnRBcHBl
YXJhbmNlCiAKICAgICBpZiAobV9lbGVtZW50KQogICAgICAgICBzdHlsZS5zZXRFdmVudExpc3Rl
bmVyUmVnaW9uVHlwZXMoY29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcygqbV9lbGVtZW50
LCBtX3BhcmVudFN0eWxlLmV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcygpKSk7CisgICAgaWYgKHN0
eWxlLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkF1dG8pCisgICAg
ICAgIHN0eWxlLnNldFNraXBzQ29udGVudHMobV9lbGVtZW50ICYmIG1fZWxlbWVudC0+c2hvdWxk
U2tpcENvbnRlbnQoKSk7CisgICAgZWxzZQorICAgICAgICBzdHlsZS5zZXRTa2lwc0NvbnRlbnRz
KHN0eWxlLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbik7
CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgIGlmIChtX2VsZW1lbnQgJiYgbV9k
b2N1bWVudC5zZXR0aW5ncygpLnRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGU4ODRlNWJjZmFj
NWRkNDg1MDlkZWQyMzllZTJlZjY2YWYzZTE0ZWQuLjA5Mjc1YzNlYjJkYWNjNmNlZDA3NzQ0YTFl
MjBjMThiNzU1NTI5MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVp
bGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3Rv
bS5oCkBAIC04MSw2ICs4MSw3IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RP
TV9IQU5ETEVSUyhDbGlwKTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhD
b250YWluKTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb250ZW50KTsK
KyAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb250ZW50VmlzaWJpbGl0eSk7
CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ291bnRlckluY3JlbWVudCk7
CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ291bnRlclJlc2V0KTsKICAg
ICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDdXJzb3IpOwpAQCAtMTI4Nyw2ICsx
Mjg4LDI3IEBAIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb250YWluKEJ1
aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1CiAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0
ZS5zdHlsZSgpLnNldENvbnRhaW4oY29udGFpbm1lbnQpOwogfQogCitpbmxpbmUgdm9pZCBCdWls
ZGVyQ3VzdG9tOjphcHBseUluaXRpYWxDb250ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1
aWxkZXJTdGF0ZSkKK3sKKyAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJp
bGl0eShSZW5kZXJTdHlsZTo6aW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkpOworfQorCitpbmxp
bmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eShCdWls
ZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK3sKKyAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRD
b250ZW50VmlzaWJpbGl0eShmb3J3YXJkSW5oZXJpdGVkVmFsdWUoYnVpbGRlclN0YXRlLnBhcmVu
dFN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSkpOworfQorCitpbmxpbmUgdm9pZCBCdWlsZGVy
Q3VzdG9tOjphcHBseVZhbHVlQ29udGVudFZpc2liaWxpdHkoQnVpbGRlclN0YXRlJiBidWlsZGVy
U3RhdGUsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICBpZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+
KHZhbHVlKSkgeworICAgICAgICBpZiAoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVl
KS52YWx1ZUlEKCkgPT0gQ1NTVmFsdWVIaWRkZW4pCisgICAgICAgICAgICByZXR1cm4gYnVpbGRl
clN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHk6Okhp
ZGRlbik7CisgICAgICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLnZh
bHVlSUQoKSA9PSBDU1NWYWx1ZUF1dG8pCisgICAgICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRl
LnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZpc2liaWxpdHk6OkF1dG8pOwor
ICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHko
UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSgpKTsKKyAgICB9Cit9CisKIGlu
bGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVUZXh0RW1waGFzaXNTdHlsZShCdWls
ZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIGlmIChpczxD
U1NWYWx1ZUxpc3Q+KHZhbHVlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0xvY2F0YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAppbmRl
eCA5NWEyNmZmODM2MWFjNjFjMzFjMGUzMjFhNTdhNmEzMTJkMTRmYjFmLi4wYWUyZjkxNTZmZDZm
NDE5Y2JiMjJiZmJmNjg3OTA5ZDUxZjg4ZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTG9jYXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxl
LmNwcApAQCAtNjYsNyArNjYsNyBAQCBGbG9hdFJlY3QgU1ZHTG9jYXRhYmxlOjpnZXRCQm94KFNW
R0VsZW1lbnQqIGVsZW1lbnQsIFN0eWxlVXBkYXRlU3RyYXRlZ3kgc3R5bGVVcAogewogICAgIEFT
U0VSVChlbGVtZW50KTsKICAgICBpZiAoc3R5bGVVcGRhdGVTdHJhdGVneSA9PSBBbGxvd1N0eWxl
VXBkYXRlKQotICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOworICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tz
OjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogCiAgICAgLy8g
RklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIHN1cHBvcnQgZ2V0QkJveCBmb3IgZGV0YWNoZWQg
ZWxlbWVudHMuCiAgICAgaWYgKCFlbGVtZW50LT5yZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAppbmRleCBjMTQ1M2JmYzYwNDA4Yzk1MDc0
NjA3N2Q3NjFlZTE0ZDcyOTY1MWZiLi44MDNjZjkwZGUzMmMxZGRhM2MwYjgyNTIxN2ExYzk3Zjdl
N2YwZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNw
cApAQCAtNTUsMTMgKzU1LDEzIEBAIFNWR1RleHRDb250ZW50RWxlbWVudDo6U1ZHVGV4dENvbnRl
bnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtCiAKIHVuc2lnbmVk
IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0TnVtYmVyT2ZDaGFycygpCiB7Ci0gICAgZG9jdW1l
bnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9z
dExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMp
OwogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSkubnVtYmVyT2ZDaGFyYWN0ZXJz
KCk7CiB9CiAKIGZsb2F0IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Q29tcHV0ZWRUZXh0TGVu
Z3RoKCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVu
dDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJlcigp
KS50ZXh0TGVuZ3RoKCk7CiB9CiAKQEAgLTEwOSw3ICsxMDksNyBAQCBFeGNlcHRpb25PcjxmbG9h
dD4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRSb3RhdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFy
bnVtKQogCiBpbnQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVtQXRQb3NpdGlvbihE
T01Qb2ludEluaXQmJiBwb2ludEluaXQpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3lu
Y2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIEZsb2F0UG9pbnQg
dHJhbnNmb3JtUG9pbnQge3N0YXRpY19jYXN0PGZsb2F0Pihwb2ludEluaXQueCksIHN0YXRpY19j
YXN0PGZsb2F0Pihwb2ludEluaXQueSl9OwogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVy
ZXIoKSkuY2hhcmFjdGVyTnVtYmVyQXRQb3NpdGlvbih0cmFuc2Zvcm1Qb2ludCk7CiB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNjFlYjcwYTJmZGQ0MWI1YzczNjQxNzM3OTUwMjY4YjM4MTgwNDFkZS4uNTJjOTRiYjIxZDFm
NTYwMjgxMzZkODkwZGIzOWJhOTUxMGQwMDY3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIy
LTAyLTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBm
b3IgQ1NTIHByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIyLTAy
LTIyICBGcsOpZMOpcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIG51bGwg
cHRyIGRlcmVmIHZpYSBXZWJYUlN5c3RlbTo6cmVxdWVzdFNlc3Npb24KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IDk5MmQxMTdlYzVmZmNjNWQ0YWIyOGUwMzJlMDk1YTE2M2M0ZTBm
MTEuLmRkNWYwYmRiODBhNDA5Y2YwY2U5NDljNjRiM2EwN2RlNzY2YzQwN2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIyLTAyLTIyICBSb2IgQnVp
cyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3BlcnR5
IGNvbnRlbnQtdmlzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDE2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDMwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDcxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDgxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1n
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQt
dmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50
LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZy
YWdtZW50LXRhcmdldC1hdXRvLmh0bWw6CisKIDIwMjItMDItMjIgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgY29udGFpbmVyIFF1ZXJpZXNdIGdldENv
bXB1dGVkU3R5bGUgc2hvdWxkIHVwZGF0ZSBzdHlsZSBmb3IgaW52YWxpZCBxdWVyeSBjb250YWlu
ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwOTBmYzI4MjVlMTIxZTAxYzU3YjE5ZDMyYTkxOTkz
OWNlNWM2ZDA5Li5kZTYxNWJjYmM3MTI2N2ZlZWI3Y2Q5OTE0ZTM2Nzk3MjYzZWVlMTFlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTQ2MzEsNDQgKzQ2MzEsOSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1h
Z2VPbgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA1Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA2Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA3
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDE5LnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMy5zdWIuaHR0cHMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzcu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NDAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wNTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wNTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNjcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzguaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXll
ci0wMDAudGVudGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktd2l0aC10b3AtbGF5ZXItMDAxLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxheWVy
LTAwMi50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2VsZW1l
bnQtcmVhc3NpZ25lZC10by1za2lwcGVkLXNsb3QuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2VsZW1lbnQtcmVhc3NpZ25lZC10by1zbG90LWluLXNraXBwZWQtc3VidHJlZS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb3VudGVyLXNjb3BpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
dW50ZXItc2NvcGluZy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14
bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDliMjU0NzE0MmQ4NTViMWQzOGRlMDQwMTNhZmFkMDAzMmYwZDVmOTYuLmJkNzkzNjJlMjYw
YjNhNDNjNjE3MjJmMjFlZTc4ZGU4MDU3MjM0NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWlu
aXRpYWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBl
Y3RlZC50eHQKQEAgLTEwMCw2ICsxMDAsNyBAQCBQQVNTIGNvbnRhaW4KIFBBU1MgY29udGFpbmVy
LW5hbWUKIFBBU1MgY29udGFpbmVyLXR5cGUKIFBBU1MgY29udGVudAorUEFTUyBjb250ZW50LXZp
c2liaWxpdHkKIFBBU1MgY291bnRlci1pbmNyZW1lbnQKIFBBU1MgY291bnRlci1yZXNldAogUEFT
UyBjdXJzb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlz
cGxheS1sb2NrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24t
ZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dAppbmRleCA0YzgyNDBkOGQ4MjY2YmI3Y2U4NmI2MWYw
OWNiNjk2ZmFjNjg2ZDc2Li4xOGNlZTg0ZTBmNzk3MjlhODExMDIxYjJlNjJkNmUxMzQxMzYzY2Qz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9j
ay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNw
bGF5LWxvY2stZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEFuaW1hdGlvbiBl
dmVudHMgZG8gbm90IGZpcmUgZm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxh
eSBsb2NrZWQgc3VidHJlZSBhc3NlcnRfZmFsc2U6IEFuaW1hdGlvbiBldmVudHMgZG8gbm8gZmly
ZSB3aGlsZSB0aGUgYW5pbWF0aW9uIGlzIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0
cmVlIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIEFuaW1hdGlvbiBldmVudHMgZG8gbm90
IGZpcmUgZm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3Vi
dHJlZSBhc3NlcnRfdHJ1ZTogVGhlIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudCBmaXJlcyBvbmNl
IHRoZSBhbmltYXRpb24gaXMgbm8gbG9uZ2VyIGRpc3BsYXkgbG9ja2VkIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCiBQQVNTIFRoZSBmaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVl
IHRvIHRoZSBub3JtYWwgcGFzc2FnZSBvZiB0aW1lICBmb3IgYSBDU1MgYW5pbWF0aW9uIGluIGEg
ZGlzcGxheSBsb2NrZWQgc3VidHJlZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlzZSBkb2VzIG5v
dCByZXNvbHZlIGR1ZSB0byB0aGUgbm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9yIGEgQ1NTIHRy
YW5zaXRpb24gaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlCiBGQUlMIEV2ZW50cyBhbmQgcHJv
bWlzZXMgYXJlIGhhbmRsZWQgbm9ybWFsbHkgZm9yIGFuaW1hdGlvbnMgd2l0aG91dCBhbiBvd25p
bmcgZWxlbWVudCBhc3NlcnRfdHJ1ZTogQW5pbWF0aW9uIGV2ZW50IG5vdCBibG9ja2VkIG9uIGRp
c3BsYXkgbG9ja2VkIHN1YnRyZWUgaWYgbm8gb3duaW5nIGVsZW1lbnQgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dAppbmRleCA1ZDZmMWY2ZGVmNjVhNWFhNjQyMGYwMDE4
NDhkYjhkNDVlMzBmYmRkLi5kYmU0OGFmOTIxNzY0YTI4YTRjNjViNDFiYjZjNTQ3YzQ5NDQ3Mjlk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAx
NS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMTUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlz
aWJpbGl0eTogaGl0IHRlc3RpbmcgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhw
ZWN0ZWQgIm91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBo
aXQgdGVzdGluZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50eHQKaW5kZXggOWI3OTE0MGNkYTJkNDNjODRmYWM4
Mjc0ODQxOGQ5M2ZhM2Q1NDE3Ny4uNDUxYTRhMzVlYWY4ZDVhOWYyY2RiNzhiMmRmOTQ1MjMwMjUz
NjkzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMTYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50
IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkKSBhc3NlcnRfZXF1YWxzOiBjZW50
ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250
ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkKQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50
eHQKaW5kZXggOWZiMDg4YTc4NGJjNWIwM2YwZjQ5MmNlNjcwZDdmMGMwZTkwMGJlYy4uZjZmNjgw
ZTgyYmVhODBmMjYzMDcwZmE2ZTNhNzFlMTYyZmM3YzFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChj
b21wb3NpdGVkIGNoaWxkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3Rl
ZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0
ZXN0aW5nIChjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQKaW5kZXggZTI5MmVm
NzIxNjFiMDg0OTdkYTIyMzg2NzQ3YTM1NDlhNjZjYjA2MS4uYjliODMzNTJmOGJlZjE0NjY5YmVh
NzI5MDQyOGY0MmNkZDNmZjRiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkIHdpdGgg
YSBjb21wb3NpdGVkIGNoaWxkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBl
Y3RlZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhp
dCB0ZXN0aW5nIChjb21wb3NpdGVkIHdpdGggYSBjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBl
Y3RlZC50eHQKaW5kZXggNzNkYTQ4ZGRiNGFkYzk4YmVmYTgzYjI4YzM1NDlmZjQ4ZGIwNWZhMC4u
ODM5OTNjOWQwODU0NDYyMjJkZjZlZTBkNWRjZDVkYzE5MTFmMGViZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBjb250ZW50LXZpc2liaWxpdHk6aGlkZGVuIGRv
ZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKHN0cmluZykgImhpZGRlbiIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQK
LUZBSUwgY29udGVudC12aXNpYmlsaXR5OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZh
bHVlIG9mICdjb250YWluJyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXV0byIg
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5Omhp
ZGRlbiBkb2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nCitQQVNTIGNv
bnRlbnQtdmlzaWJpbGl0eTphdXRvIGRvZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAn
Y29udGFpbicKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0CmluZGV4IDNhMGVhOGM4Yzk3OTEyMDYzZGUwODM2
NTU4MmRjYjM1NzRjNjJhM2YuLjFjZjRkMGY2MjI1Y2FkYTQ1ZjhkMDZmZjU2ZWJkMmJkYjRlNDhj
M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDI5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAyOS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiBUaGlzIHRleHQgc2hvdWxk
IGJlIHZpc2libGUuCi1UaGlzIHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLgotVGhpcyB0ZXh0
IGlzIGFsc28gbm90IHZpc2libGUuCiAKLUZBSUwgaW5uZXJUZXh0IG9uIGxvY2tlZCBlbGVtZW50
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLiIg
YnV0IGdvdCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLlxuVGhpcyB0ZXh0IHNob3VsZCBu
b3QgYmUgdmlzaWJsZS5cblRoaXMgdGV4dCBpcyBhbHNvIG5vdCB2aXNpYmxlLiIKK1BBU1MgaW5u
ZXJUZXh0IG9uIGxvY2tlZCBlbGVtZW50LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQKaW5kZXggZGVhYTU3
N2NkZGNiOTY4ZjAzOTlhMjc2ZDFjYjc0NThiOWQ2OWM0OS4uODI5YzI5NmJjMGQ3NGZjODFmZTAx
OTdlMDI5ZWQ1MGZiYThjZTdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBJbnRlcnNlY3Rpb25PYnNlcnZlciBpbnRlcmFjdGlvbnMgYXNzZXJ0X2VxdWFsczog
cnVuU3RlcDIgZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIg
aW50ZXJhY3Rpb25zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dAppbmRleCA1Y2M4YjgyOTZmZjdiYTY4Y2Fl
NjZlMDdlMTZmMjA5YjJkYjVjOGU5Li4xY2M2YzFjMGFjODA3ZjZlYzMzNDBmZGNhYThkZTY5OTY4
Y2FmZjk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAzMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDMgQEAKLUNPTlNPTEUgTUVT
U0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBFcnJvcjogYXNzZXJ0X2VxdWFsczog
UmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBleHBl
Y3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2Ug
PSBVbmhhbmRsZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3Vs
ZCBub3QgcnVuIGR1cmluZyB3aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBm
YWxzZQotCi1USU1FT1VUIFJlc2l6ZU9ic2VydmVyIHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3Qg
dGltZWQgb3V0Ci0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJl
amVjdGlvbjogYXNzZXJ0X2VxdWFsczogUmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJp
bmcgd2hpbGUgdW5yZW5kZXJlZCBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQotVElNRU9V
VCBSZXNpemVPYnNlcnZlciBza2lwcGVkIHdoaWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91dAorUEFT
UyBSZXNpemVPYnNlcnZlciBza2lwcGVkIHdoaWxlIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQK
aW5kZXggMGU4ODBlMDU1ZjA0MTcwY2Q3ZTY3Yzk2ZmE5NzA1YzQ0ZTU4NzU0MC4uYmNmYzc4OWZh
NDBhMzNlMzE1YzM1M2FhNGExYmFiY2VkZTYzOTllNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBNZWFzdXJlIEZvcmNlZCBMYXlvdXQgYXNzZXJ0X2VxdWFsczog
c3BhY2VyIGZvcmNlZCBleHBlY3RlZCA4IGJ1dCBnb3QgMTA4CitQQVNTIE1lYXN1cmUgRm9yY2Vk
IExheW91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA0NC1leHBlY3RlZC50eHQKaW5kZXggYzNiNjRiMTIwODBhMDg4MWE5Nzg1Nzg0
MDcyZTNiMzJiODk0NWNiMi4uZTEzNzJiOGQyZjFhOWIwYWQxOTczYTllMmRlMzkzZjNmMjNhMDYy
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NDQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDQ0LWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6
IEVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMgogCiAKLUhhcm5lc3Mg
RXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAg
YnV0IGdvdCAyCi0KLVRJTUVPVVQgQ29udGVudCBWaXNpYmlsaXR5OiBzbG90IG1vdmVkIGFmdGVy
IGNvbnRhaW5lciBpcyBoaWRkZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFybmVzcyBFcnJvciAoRkFJ
TCksIG1lc3NhZ2UgPSBFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIK
LQotVElNRU9VVCBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVy
IGlzIGhpZGRlbiBUZXN0IHRpbWVkIG91dAorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IHNsb3Qg
bW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKaW5kZXgg
Mzk1ZDU5YzQ2YTU0NzI3MmNjYWVkOTJlNjJjMDIyYWRiNzY1MjFhZC4uNGMzYzhiYjk0M2UwNGUy
MmZlZWQzOWQzNGIwZjZkODFjMDNlOTQ3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDQgQEAKIAogCi0KLQotRkFJTCBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBoaWRkZW4gc3Vi
dHJlZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0iZml2
ZSIgdHlwZT0idGV4dCI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJ0
d28iIHR5cGU9InRleHQiPjwvaW5wdXQ+CitQQVNTIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNraXBz
IGhpZGRlbiBzdWJ0cmVlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQKaW5kZXggZjhiMDExYmE4MTc4ZDY4
N2M3ZjkwOWRlNDgzNzk5NzNjOWQwOTZkNC4uNzMyNjhmZGIwOGRmOTQ3NGYwMWRmNTc2YTE4MGY5
YmUzODdkYWFlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBG
cmFnbWVudCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgotRkFJTCBGcmFn
bWVudCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxv
Y2tzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3VsdHMiCitGQUlM
IEZyYWdtZW50IG5hdmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHNpbmdsZSB0ZXh0
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXh0IiBidXQgZ290ICJ0b3AiCitGQUlMIEZyYWdt
ZW50IG5hdmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHJhbmdlIGFjcm9zcyBibG9j
a3MgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRleHQyIiBidXQgZ290ICJ0b3AiCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4
cGVjdGVkLnR4dAppbmRleCA0NGEyOTM2NTAzNjE5Zjc2ZTFiZGEzZmJjN2NjMDQ4YjNmM2MxYzZm
Li5lYjE5MzUxNjY2ZTU3YTAwZmQ0NmE3MDI3YzFiNjAwMjA3ZWI1YWVlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0
ZWQudHh0CkBAIC0xLDggKzEsMyBAQAotaGVsbG8KLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxv
CiAKIEZBSUwgT25lIGVsZW1lbnRzIHNlbGVjdGVkOiAgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCiBGQUlMIFJhbmdlIGV4dGVuZGVkIHRvIGNvdmVyIG1vcmUgZWxlbWVudHM6
ICBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dApp
bmRleCAwM2UzYmI3YzBlODk2MDMzNzYxYjUyNDllZDY2MTYyNjk0YzUwN2U2Li4wMGYxYzdmNDQ0
MTg3ODJiY2ViMzQzOGQ3YjZmYTUxZjU2MWUxNzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CkBAIC0x
LDcgKzEsNyBAQAogCiBQQVNTIG9uZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKToKIEZBSUwgdHdv
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3
IGJ1dCBnb3QgMzA0MQotRkFJTCB0aHJlZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2Vy
dF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNzUKLUZBSUwgZm91ci5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290
IDMxMDkKLUZBSUwgZml2ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6
IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMxNDMKK0ZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCitG
QUlMIGZvdXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVj
dGVkIDMwMDcgYnV0IGdvdCAzMDQxCitGQUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6
ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVj
dGVkLnR4dAppbmRleCA5MjcwOTZlZGY5NzNkYjE4OTZkN2UyNWE5NDRlMWE5NDBmMmE4MGEyLi4w
NDliZTI4NGQ0N2Y2Y2RmMDk4MzNmNTE0MzI1MTBlOTAzMThkZGU0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5p
bWF0YWJsZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAidmlzaWJsZSIgYnV0IGdv
dCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgQ29udGVudC12aXNpYmlsaXR5IGlzIG5vdCBh
bmltYXRhYmxlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDgwLWV4cGVjdGVkLnR4dAppbmRleCBkMGYwNWFkNWEzOGNlNDEyNDIzMzBl
YjM5MWFhZDBlOTE3MTljN2I2Li44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4
YmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA4MC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wODAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEgQEAKLUNvbnRlbnQgVmlzaWJpbGl0
eTogY2FyZXQgcG9zaXRpb24gd2l0aCBodG1sIGhpZGRlbiAgICogeyBhbGw6IGluaXRpYWw7IGNv
bnRlbnQtdmlzaWJpbGl0eTogaGlkZGVuOyB9IHRlc3QoKCkgPT4geyBjb25zdCByYW5nZSA9IGRv
Y3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsgYXNzZXJ0X25vdF9lcXVhbHMocmFuZ2UsIG51
bGwsICJyYW5nZSBleGlzdHMiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydENvbnRhaW5lciwg
aHRtbCwgInN0YXJ0Q29udGFpbmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFy
dE9mZnNldCwgMCwgInN0YXJ0T2Zmc2V0IGlzIHplcm8iKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5l
bmRDb250YWluZXIsIGh0bWwsICJlbmRDb250YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxz
KHJhbmdlLmVuZE9mZnNldCwgMCwgImVuZE9mZnNldCBpcyB6ZXJvIik7IH0sICJDYXJldCByYW5n
ZSBmcm9tIHBvaW50Iik7Ci1GQUlMIENhcmV0IHJhbmdlIGZyb20gcG9pbnQgYXNzZXJ0X2VxdWFs
czogc3RhcnRDb250YWluZXIgaXMgaHRtbCBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGh0bWwgaWQ9
Imh0bWwiPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPHRpdGxlPkNvbnRlbi4uLiBidXQg
Z290IFRleHQgbm9kZSAiQ29udGVudCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlvbiB3aXRoIGh0
bWwgaGlkZGVuIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LWltZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50eHQKaW5kZXggY2EzNzg3ZTQ0ODdiZDM2NDk2MGZl
NGViNGM5MWVkYWQxNzdlNDg3MS4uNDQ0OWQ3Yzc3M2I5MDU4MmQzYTM3OTZhMzZjY2NkY2M4M2Ni
ZTgxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS1pbWctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktaW1nLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDMgQEAKIAotCi0KLQotCiBQQVNT
IGMtdjpoaWRkZW4gPGltZz4gbGF5b3V0IEFQSXMgc2hvdWxkbid0IHJldHVybiB6ZXJvIHdoZW4g
YWNjZXNzZWQgZnJvbSBzY3JpcHQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQK
aW5kZXggYTQ1ZWQ1ODI5MDFmN2M1YzJkZjk3ZTcwZWE0NTA1MDIzNzJhNTYxNi4uZTRhMzFmYjFi
YTFhNjM5MmNlZWI4NjZiYjdlNjBiY2RiYjE4YjA3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACiAKLQotCiBQQVNTIDxpbnB1dCB0eXBlPWltYWdl
PiBzaG91bGQgcmV0dXJuIG5vbnplcm8gdmFsdWVzIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGluIGEg
Yy12OmhpZGRlbiBzdWJ0cmVlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LXN2Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1leHBlY3RlZC50eHQKaW5kZXggNDY3NmI4OGM5YWNj
N2YyOTc5NTgyODk0NDQyOGYyNDIxODMxMWQ1Ni4uOGRmMWI3ZmZhZjRiYzIzZTI1NDY2MmVkOGYz
NmJhOGIwNjVhYmEwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKLUhlbGxv
IFdvcmxkIQotSGVsbG8gV29ybGQgQWdhaW4hCiAKIFBBU1MgZ2V0QkJveCgpIHNob3VsZCByZXR1
cm4gbm9uemVybyB2YWx1ZXMgaW4gYSBjLXY6aGlkZGVuIHN1YnRyZWUuCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDdkYTE3ZmZhZjlj
ZDUyMGE3NTNlOWYzZTlhNThlOWM2MWM0NWZlNjUuLjY2ODg5NmFmMTJkNmEwZDkwZDFhM2FkYTZj
ZDg3Y2FhZGVlYTU2ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNl
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZp
c2liaWxpdHkgaGFzIGluaXRpYWwgdmFsdWUgdmlzaWJsZSBhc3NlcnRfdHJ1ZTogY29udGVudC12
aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0
eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJp
bGl0eSBkb2VzIG5vdCBpbmhlcml0IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgaGFzIGluaXRpYWwgdmFsdWUgdmlz
aWJsZQorUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgZG9lcyBub3QgaW5oZXJpdAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2li
aWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNp
bmcvY29udGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVkLnR4dAppbmRleCA4N2EzYzY4
MGVmOGNmZTQyOWFlNDZkMzA5M2U3ODBlNzEyN2JkZjkyLi4wYzM0YTVkYmJkZGU3ZGFjMzY5ZTZi
ODBjZDI1YTllN2Q4NzZkZTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFy
c2luZy9jb250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBl
Y3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmls
aXR5IHZhbHVlICd2aXNpYmxlJyBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNu
J3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnYXV0
bycgYXNzZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3Vw
cG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJ
TCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2hpZGRlbicgYXNzZXJ0X3RydWU6
IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBj
b21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9wZXJ0eSBjb250
ZW50LXZpc2liaWxpdHkgdmFsdWUgJ3Zpc2libGUnCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlz
aWJpbGl0eSB2YWx1ZSAnYXV0bycKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZh
bHVlICdoaWRkZW4nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5n
L2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4
IDZhNjVmZjY4NGY2MDgyZDFjZTgxYzEzN2U0MDNhNGRlNzAwODk1NmYuLjlkYTQ1NzNlMDc0Nzdi
Nzc3ZDZiYTg3NjhmNDUzYzc0MzU3MzM1ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2li
aWxpdHknXSA9ICJ2aXNpYmxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRf
bm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAi
IgotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJhdXRvIiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJl
IHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2li
aWxpdHknXSA9ICJoaWRkZW4iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9u
b3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIi
CitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gInZpc2libGUiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSdd
ID0gImF1dG8iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2Nv
bnRlbnQtdmlzaWJpbGl0eSddID0gImhpZGRlbiIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFs
dWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZy
YWdtZW50LXRhcmdldC1hdXRvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2Vz
L3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbAppbmRleCBkMDdlZGU1YTU0NjAwN2UzMjdk
MzUzZWQ1OTk0ODlkZGZlNTc0NDgxLi41M2EyMmY1ZmQ4ZDFjZGI4ODM4NTM1MzU0NTQ5ZTExNzU3
NmQ3ZTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQt
ZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVz
b3VyY2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbApAQCAtNDIsNyArNDIsNyBAQCBm
dW5jdGlvbiBkb3VibGVSYWZDaGVja1Njcm9sbCgpIHsKICAgaGVpZ2h0OiAxMDAwMHB4OwogfQog
LmF1dG8gewotICBzdWJ0cmVlLXZpc2liaWxpdHk6IGF1dG87CisgIGNvbnRlbnQtdmlzaWJpbGl0
eTogYXV0bzsKIH0KIDwvc3R5bGU+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwt
cHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3At
aW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IDdiMWIzYzY4NDRjNDQ5NzIxNDNmYTYwMzM3
MWFiMzA1OWNiMjA3N2YuLjQyOTk2MmIyOWFjNjg4NTlhMGQ2N2Q2MDIyZTBmODk3ZjVmMTczZjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVk
LnR4dApAQCAtMTAwLDYgKzEwMCw3IEBAIFBBU1MgY29udGFpbgogUEFTUyBjb250YWluZXItbmFt
ZQogUEFTUyBjb250YWluZXItdHlwZQogUEFTUyBjb250ZW50CitQQVNTIGNvbnRlbnQtdmlzaWJp
bGl0eQogUEFTUyBjb3VudGVyLWluY3JlbWVudAogUEFTUyBjb3VudGVyLXJlc2V0CiBQQVNTIGN1
cnNvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3Rl
ZC50eHQKaW5kZXggOGUyZDAxMTFmYTExODYwYTM1MDQwOTQ0MGI0NzU0ZWI0YTI0MTQzZS4uZTQ1
MDE2YWI1NWNkZTk2MjUwZWNkZWJmNTAwMjFmYWE4YzE2OTY0MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBAIC0xMDAsNiArMTAw
LDcgQEAgUEFTUyBjb250YWluCiBQQVNTIGNvbnRhaW5lci1uYW1lCiBQQVNTIGNvbnRhaW5lci10
eXBlCiBQQVNTIGNvbnRlbnQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5CiBQQVNTIGNvdW50ZXIt
aW5jcmVtZW50CiBQQVNTIGNvdW50ZXItcmVzZXQKIFBBU1MgY3Vyc29yCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453086</attachid>
            <date>2022-02-24 02:11:02 -0800</date>
            <delta_ts>2022-02-24 03:35:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220224101100.patch</filename>
            <type>text/plain</type>
            <size>112441</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZhNmRhNDdhYmU2NjRh
Zjg5NzMyNzBhZGJlODM4M2M0ZmZiYzRkZi4uYjBjYzQ1Y2U5M2NkNjBkMDAzMGVmNzI0ZmIxZTg3
ZTE0ZTRmZjUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0yNCAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjkwMjg0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCmluZGV4IDNjOTU5
ZTljYmQ0YTg3MTI0NGVlMmY0NWIwYjVhYTA2ZTFjNWZkNDUuLmY3NjgzOTllODkzNDNmMTBjZDZj
NzZlMDZhOTRmNGEzODdkNmU2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9j
dW1lbnRUaW1lbGluZS5jcHAKQEAgLTQyOSw2ICs0MjksMTYgQEAgQW5pbWF0aW9uRXZlbnRzIERv
Y3VtZW50VGltZWxpbmU6OnByZXBhcmVGb3JQZW5kaW5nQW5pbWF0aW9uRXZlbnRzRGlzcGF0Y2go
KQogewogICAgIG1fc2hvdWxkU2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9uRm9yTmV3UGVuZGlu
Z0V2ZW50cyA9IHRydWU7CiAgICAgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9wZW5kaW5nQW5pbWF0
aW9uRXZlbnRzLCB7IH0pOworICAgIEFuaW1hdGlvbkV2ZW50cyBldmVudHM7CisgICAgZm9yIChh
dXRvJiBldmVudCA6IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cykgeworICAgICAgICBpZiAoZXZl
bnQtPmFuaW1hdGlvbigpLT5pc0luSGlkZGVuU3VidHJlZSgpKQorLy8gICAgICAgIEVsZW1lbnQq
IGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgpICYmICFkb3duY2FzdDxOb2RlPigq
ZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8gZHluYW1pY0Rvd25jYXN0PEVsZW1l
bnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKy8vICAgICAgICBpZiAoZWxlbWVudCAm
JiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgZXZlbnRzLmFwcGVuZChldmVudCk7CisgICAgICAgIG1fcGVuZGluZ0FuaW1hdGlvbkV2
ZW50cy5yZW1vdmVGaXJzdChldmVudCk7CisgICAgfQorICAgIHJldHVybiBldmVudHM7CiB9CiAK
IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBkb3VibGU+PiBEb2N1bWVudFRpbWVsaW5lOjphY2Nl
bGVyYXRlZEFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuY3BwCmluZGV4IDcwOTQ1M2JjNjYyNTJmOTU5ODI0YmE5NGVjYTdhMzMwMDhjOWNhM2Mu
LmI5MjdjYWI4MmZmYmE0YjY4MzA3YzRiMGFmYzkyZTJkMDQyNjhmYTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIu
Y3BwCkBAIC0xMjAsNiArMTIwLDggQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6
OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0aW8KICAgICAgICAg
dGltZWxpbmVzVG9VcGRhdGUuYXBwZW5kKHRpbWVsaW5lLmNvcHlSZWYoKSk7CiAKICAgICAgICAg
Zm9yIChhdXRvJiBhbmltYXRpb24gOiBjb3B5VG9WZWN0b3IodGltZWxpbmUtPnJlbGV2YW50QW5p
bWF0aW9ucygpKSkgeworICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aXNJbkhpZGRlblN1YnRy
ZWUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChhbmltYXRp
b24tPnRpbWVsaW5lKCkgIT0gdGltZWxpbmUucHRyKCkpIHsKICAgICAgICAgICAgICAgICBBU1NF
UlQoIWFuaW1hdGlvbi0+dGltZWxpbmUoKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CkBA
IC0xOTksOCArMjAxLDEyIEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjp1cGRh
dGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhSZWR1Y2VkUmVzb2x1dGlvCiAgICAgfSk7CiAKICAg
ICAvLyA3LiBEaXNwYXRjaCBlYWNoIG9mIHRoZSBldmVudHMgaW4gZXZlbnRzIHRvIGRpc3BhdGNo
IGF0IHRoZWlyIGNvcnJlc3BvbmRpbmcgdGFyZ2V0IHVzaW5nIHRoZSBvcmRlciBlc3RhYmxpc2hl
ZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICBmb3IgKGF1dG8mIGV2ZW50IDogZXZlbnRzKQor
ICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpIHsKKyAgICAgICAgLy8gRWxlbWVudCogZWxl
bWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRvd25jYXN0PE5vZGU+KCpldmVu
dC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWljRG93bmNhc3Q8RWxlbWVudD4o
KmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworICAgICAgICAvLyBpZiAoZWxlbWVudCAmJiBl
bGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIC8vICAgIGNvbnRpbnVlOwogICAg
ICAgICBldmVudC0+dGFyZ2V0KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgIH0KIAogICAg
IC8vIFRoaXMgd2lsbCBjYW5jZWwgYW55IHNjaGVkdWxlZCBpbnZhbGlkYXRpb24gaWYgd2UgZW5k
IHVwIHJlbW92aW5nIGFsbCBhbmltYXRpb25zLgogICAgIGZvciAoYXV0byYgYW5pbWF0aW9uIDog
YW5pbWF0aW9uc1RvUmVtb3ZlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uY3BwCmluZGV4IDJiOWMyMTdhMzM4MDMxMjhmY2NjYmQ0YmQ5YmMxYzhmODYzYjRiMzIuLjhm
NDc1MTkyMTk1NzIzZDViOTM2ODJmZDNlZmRhY2Y2ODI0ZDA1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xNTEzLDQgKzE1MTMsMTMgQEAgU2Vjb25k
cyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QKICAgICByZXR1cm4gZWZmZWN0
KCktPnRpbWVUb05leHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNpY1RpbWluZygpKSAvIHBsYXliYWNr
UmF0ZTsKIH0KIAorYm9vbCBXZWJBbmltYXRpb246OmlzSW5IaWRkZW5TdWJ0cmVlKCkKK3sKKyAg
ICBpZiAoIWlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChhdXRvIGVsZW1lbnQgPSBkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4odGhp
cyktPm93bmluZ0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmVsZW1lbnQuaXNT
a2lwcGVkQ29udGVudCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDM3YTYx
N2Y2MDUzNzA3OWQyYjEyZWEwYzA2MjhlMWNlYTJhMzJlNDYuLjA4MmExYjFhNWFjMmU2NTlkNTQy
ZTBlMmQ2NWMxN2E2NTI4YTk4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0
aW9uLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0RlY2xh
cmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaXNDU1NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc0NTU1RyYW5zaXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wg
aXNJbkhpZGRlblN1YnRyZWUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJl
dHVybiBtX2lkOyB9CiAgICAgdm9pZCBzZXRJZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOTc5
YWY2ODQzMWZmOTI1Nzc1ZWI1ZjkzZTg2YTY5YmE2NDMyZTMwZS4uNWRiYzRjZDMzNTZlZjI2ZDQ1
NjhlNjY1Mjk3YzVjNTQzNzYyNTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM3NzEsNiArMzc3MSwxNCBAQCBSZWZQ
dHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0
eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wuY3JlYXRlQ3VzdG9tSWRlbnQobmFtZSkpOwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7
CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5Ogor
ICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5jc3NDb250
YWlubWVudEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eUhpZGRlbigpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlSGlk
ZGVuKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRl
bnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wu
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisgICAgICAgICAgICByZXR1cm4g
Y3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVZpc2libGUpOwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2ZhY2VWaXNpYmlsaXR5OgogICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoKHN0eWxlLmJhY2tmYWNlVmlz
aWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0eTo6SGlkZGVuKSA/IENTU1ZhbHVlSGlkZGVu
IDogQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
ckltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggMjc4YzBmM2Fm
ZTUwNDg0ZmYzMTFkODI5ZGUzMjgwZGM1NWUyNzlkZC4uZTY1YmJkNWU2NDI3N2E3ZTI5ZGNkODM5
ZGE3NmNhNzRmNDU4MzBmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBA
IC01Mjg1LDYgKzUyODUsMTkgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcXVlcmllcyIKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImNvbnRlbnQtdmlzaWJpbGl0eSI6IHsKKyAgICAg
ICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgImN1c3RvbSI6
ICJBbGwiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvbnRhaW5tZW50
RW5hYmxlZCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3RhdHVzIjogeworICAgICAg
ICAgICAgICAgICJzdGF0dXMiOiAiZXhwZXJpbWVudGFsIgorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJj
c3MtY29udGFpbiIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWNvbnRhaW4tMi8iCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICJiYWNrZmFjZS12aXNpYmlsaXR5IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4IGRjMjM5ZmQyNTQxZDgyNDQwMTU2
ZmRmM2FjNWIxOGJjMjIzMzk0YzUuLjliMzM3NTVhZGMwODkwNzYyNTVhMmU5ZGU1NGYwZmRiNjM5
YTcyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0
LmNwcApAQCAtMjM0LDYgKzIzNCw3IEBAIGJvb2wgQ1NTUGFyc2VyQ29udGV4dDo6aXNQcm9wZXJ0
eVJ1bnRpbWVEaXNhYmxlZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25zdAogICAgIGNhc2Ug
Q1NTUHJvcGVydHlBc3BlY3RSYXRpbzoKICAgICAgICAgcmV0dXJuICFhc3BlY3RSYXRpb0VuYWJs
ZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CisgICAgY2FzZSBDU1NQcm9wZXJ0eUNv
bnRlbnRWaXNpYmlsaXR5OgogICAgICAgICByZXR1cm4gIWNvbnRhaW5tZW50RW5hYmxlZDsKICAg
ICBjYXNlIENTU1Byb3BlcnR5QXBwbGVDb2xvckZpbHRlcjoKICAgICAgICAgcmV0dXJuICFjb2xv
ckZpbHRlckVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwCmluZGV4IDczZWFiYmZjNzIwMTE2MmQ5MDEzOWFhYWFjNDNjOGY5OGFjMDQ0
OGMuLmMzNjZmOTYyMWNjMWJkNWQ3ZjU5Zjg0MTUzZTJjMmI2ZGUzZmEzY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC00MDcyLDYg
KzQwNzIsMTMgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIFJlZlB0cjxDU1NWYWx1ZT4oV1RGTW92
ZShsaXN0KSk7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb250ZW50Vmlz
aWJpbGl0eUhpZGRlbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0
byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZVZpc2libGUsIENTU1ZhbHVlQXV0
bywgQ1NTVmFsdWVIaWRkZW4+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNpbmdsZVZhbHVlOwor
ICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1l
VGV4dEVtcGhhc2lzUG9zaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7CiAgICAg
Ym9vbCBmb3VuZE92ZXJPclVuZGVyID0gZmFsc2U7CkBAIC00NzAwLDYgKzQ3MDcsMTAgQEAgUmVm
UHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgaWYgKCFtX2NvbnRleHQuY29udGFpbm1lbnRF
bmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiBjb25z
dW1lQ29udGFpbihtX3JhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxp
dHk6CisgICAgICAgIGlmICghbV9jb250ZXh0LmNvbnRhaW5tZW50RW5hYmxlZCkKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY29uc3VtZUNvbnRlbnRWaXNpYmls
aXR5SGlkZGVuKG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0RW1waGFzaXNQb3Np
dGlvbjoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVUZXh0RW1waGFzaXNQb3NpdGlvbihtX3Jhbmdl
KTsKICNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IDk1NWY3NDY2YzNhZTc1NDc2MzRiNDk3MGY5ZTk2YjQ2MzhhZDc0YjUuLmM4MTliYTExMGZhZTE3
ZGQ2YmFkOGRjZTFkZjYyZDdiZTMxOGZhOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MTM0LDYgKzEzNCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludGVyc2VjdGlv
bk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIgog
I2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NV2lu
ZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5oIgpAQCAtMzg5LDYg
KzM5MCwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaXNhbGxvd0xheW91dCB7IGZhbHNlIH07
CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2sgZmluYWwgOiBwdWJsaWMgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2s+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2soZG9jdW1lbnQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBoYXNDYWxsYmFjaygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIENhbGxiYWNrUmVzdWx0PHZvaWQ+
IGhhbmRsZUV2ZW50KEludGVyc2VjdGlvbk9ic2VydmVyJiwgY29uc3QgVmVjdG9yPFJlZjxJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyJikg
ZmluYWwKKyAgICB7CisgICAgICAgIEFTU0VSVCghZW50cmllcy5pc0VtcHR5KCkpOworCisgICAg
ICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoYXV0byog
ZWxlbWVudCA9IGVudHJ5LT50YXJnZXQoKSkKKyAgICAgICAgICAgICAgICBlbGVtZW50LT5jb250
ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGVudHJ5LT5pc0ludGVyc2VjdGluZygpKTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENvbnRlbnRWaXNpYmls
aXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhEb2N1bWVudCYgZG9jdW1lbnQpCisgICAg
ICAgIDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaygmZG9jdW1lbnQpCisgICAgeworICAg
IH0KK307CisKIC8vIERlZmluZWQgaGVyZSB0byBhdm9pZCBpbmNsdWRpbmcgR0NSZWFjaGFibGVS
ZWYuaCBpbiBEb2N1bWVudC5oCiBzdHJ1Y3QgRG9jdW1lbnQ6OlBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldExpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtMjE4MCw3ICsyMjA4
LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCit2b2lkIERvY3VtZW50Ojp1
cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgZm9yY2VMYXlvdXQpCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKIApAQCAtMjIwMywxMSArMjIzMSwxOSBAQCB2b2lkIERvY3VtZW50Ojp1cGRh
dGVMYXlvdXQoKQogCiAgICAgaWYgKCFmcmFtZVZpZXcgfHwgIXJlbmRlclZpZXcoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQ
ZW5kaW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKKyAgICBzdGQ6Om9wdGlv
bmFsPGJvb2w+IG9sZExheW91dEZvcmNlZDsKKyAgICBpZiAoZm9yY2VMYXlvdXQgPT0gRm9yY2VM
YXlvdXQ6OlllcyAmJiB2aWV3KCkpIHsKKyAgICAgICAgb2xkTGF5b3V0Rm9yY2VkID0gdmlldygp
LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKTsKKyAgICAgICAgdmlldygpLT5sYXlv
dXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKHRydWUpOworICAgIH0KKyAgICBpZiAoIWZyYW1l
Vmlldy0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpICYmICFyZW5kZXJWaWV3KCkt
Pm5lZWRzTGF5b3V0KCkgJiYgZm9yY2VMYXlvdXQgIT0gRm9yY2VMYXlvdXQ6OlllcykKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkubGF5b3V0KCk7CiAK
KyAgICBpZiAob2xkTGF5b3V0Rm9yY2VkKQorICAgICAgICB2aWV3KCktPmxheW91dENvbnRleHQo
KS5zZXRMYXlvdXRGb3JjZWQoKm9sZExheW91dEZvcmNlZCk7CisKICAgICBTdHlsZTo6U2NvcGU6
OlF1ZXJ5Q29udGFpbmVyVXBkYXRlQ29udGV4dCBxdWVyeUNvbnRhaW5lclVwZGF0ZUNvbnRleHQ7
CiAgICAgd2hpbGUgKHN0eWxlU2NvcGUoKS51cGRhdGVRdWVyeUNvbnRhaW5lclN0YXRlKHF1ZXJ5
Q29udGFpbmVyVXBkYXRlQ29udGV4dCkpIHsKICAgICAgICAgdXBkYXRlU3R5bGVJZk5lZWRlZCgp
OwpAQCAtMjIxOSw3ICsyMjU1LDcgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KCkKICAg
ICB9CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzIHJ1blBvc3RMYXlvdXRUYXNrcykKK3Zv
aWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVu
dDo6UnVuUG9zdExheW91dFRhc2tzIHJ1blBvc3RMYXlvdXRUYXNrcywgRm9yY2VMYXlvdXQgZm9y
Y2VMYXlvdXQpCiB7CiAgICAgYm9vbCBvbGRJZ25vcmUgPSBtX2lnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0czsKIApAQCAtMjIzMCw3ICsyMjY2LDcgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MKICAg
ICAgICAgICAgIHNjaGVkdWxlRnVsbFN0eWxlUmVidWlsZCgpOwogICAgIH0KIAotICAgIHVwZGF0
ZUxheW91dCgpOworICAgIHVwZGF0ZUxheW91dChmb3JjZUxheW91dCk7CiAKICAgICBpZiAocnVu
UG9zdExheW91dFRhc2tzID09IFJ1blBvc3RMYXlvdXRUYXNrczo6U3luY2hyb25vdXNseSAmJiB2
aWV3KCkpCiAgICAgICAgIHZpZXcoKS0+Zmx1c2hBbnlQZW5kaW5nUG9zdExheW91dFRhc2tzKCk7
CkBAIC00NzAzLDYgKzQ3MzksMTEgQEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNlZEVsZW1lbnQo
RWxlbWVudCogZWxlbWVudCwgY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogICAgICAgICBt
X2ZvY3VzZWRFbGVtZW50LT5zZXRGb2N1cyh0cnVlLCBvcHRpb25zLnZpc2liaWxpdHkpOwogICAg
ICAgICBtX2xhdGVzdEZvY3VzVHJpZ2dlciA9IG9wdGlvbnMudHJpZ2dlcjsKIAorICAgICAgICBm
b3IgKGF1dG8gZm9jdXNlZCA9IG5ld0ZvY3VzZWRFbGVtZW50OyBmb2N1c2VkOyBmb2N1c2VkID0g
Zm9jdXNlZC0+cGFyZW50RWxlbWVudEluQ29tcG9zZWRUcmVlKCkpIHsKKyAgICAgICAgICAgIGlm
IChhdXRvKiBkYXRhID0gZm9jdXNlZC0+Y29udGVudFZpc2liaWxpdHlEYXRhKCkpCisgICAgICAg
ICAgICAgICAgZGF0YS0+c3VidHJlZUhhc0ZvY3VzID0gdHJ1ZTsKKyAgICAgICAgfQorCiAgICAg
ICAgIC8vIFRoZSBzZXRGb2N1cyBjYWxsIHRyaWdnZXJzIGEgYmx1ciBhbmQgYSBmb2N1cyBldmVu
dC4gRXZlbnQgaGFuZGxlcnMgY291bGQgY2F1c2UgdGhlIGZvY3VzZWQgZWxlbWVudCB0byBiZSBj
bGVhcmVkLgogICAgICAgICBpZiAobV9mb2N1c2VkRWxlbWVudCAhPSBuZXdGb2N1c2VkRWxlbWVu
dCkgewogICAgICAgICAgICAgLy8gaGFuZGxlciBzaGlmdGVkIGZvY3VzCkBAIC04MDI4LDcgKzgw
NjksOCBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblN0YXRl
PiBjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUoRnJhbQogICAgIEZsb2F0UmVjdCByb290TG9jYWxJ
bnRlcnNlY3Rpb25SZWN0ID0gbG9jYWxSb290Qm91bmRzOwogCiAgICAgSW50ZXJzZWN0aW9uT2Jz
ZXJ2YXRpb25TdGF0ZSBpbnRlcnNlY3Rpb25TdGF0ZTsKLSAgICBpbnRlcnNlY3Rpb25TdGF0ZS5p
c0ludGVyc2VjdGluZyA9IHJvb3RMb2NhbFRhcmdldFJlY3QgJiYgcm9vdExvY2FsSW50ZXJzZWN0
aW9uUmVjdC5lZGdlSW5jbHVzaXZlSW50ZXJzZWN0KCpyb290TG9jYWxUYXJnZXRSZWN0KTsKKyAg
ICBpZiAoIXRhcmdldC5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIGludGVyc2VjdGlvblN0
YXRlLmlzSW50ZXJzZWN0aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJbnRl
cnNlY3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJlY3Qp
OwogICAgIGludGVyc2VjdGlvblN0YXRlLmFic29sdXRlVGFyZ2V0UmVjdCA9IHRhcmdldFJlbmRl
cmVyLT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdChsb2NhbFRhcmdldEJvdW5kcykpLmJv
dW5kaW5nQm94KCk7CiAgICAgaW50ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVSb290Qm91bmRzID0g
cm9vdFJlbmRlcmVyLT5sb2NhbFRvQWJzb2x1dGVRdWFkKGxvY2FsUm9vdEJvdW5kcykuYm91bmRp
bmdCb3goKTsKIApAQCAtOTA4Niw2ICs5MTI4LDQ0IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpTZXNz
aW9uSUQ+IERvY3VtZW50OjpzZXNzaW9uSUQoKSBjb25zdAogICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiB9CiAKK0NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSYgRG9jdW1lbnQ6OmNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpCit7CisgICAgaWYgKCFtX2NvbnRlbnRWaXNpYmls
aXR5RG9jdW1lbnRTdGF0ZSkKKyAgICAgICAgbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3Rh
dGUgPSBtYWtlVW5pcXVlPENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZT4oKnRoaXMpOwor
ICAgIHJldHVybiAqbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU7Cit9CisKK0NvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRl
KERvY3VtZW50JiBkb2N1bWVudCkKKyAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCit7Cit9CisK
K3ZvaWQgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjphZGRDb250ZW50VmlzaWJpbGl0
eU9ic2VydmF0aW9uKEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgaWYgKGF1dG8qIGludGVyc2Vj
dGlvbk9ic2VydmVyID0gZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSkKKyAgICAgICAgaW50
ZXJzZWN0aW9uT2JzZXJ2ZXItPm9ic2VydmUoZWxlbWVudCk7Cit9CisKK3ZvaWQgQ29udGVudFZp
c2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1vdmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9u
KEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgaWYgKGF1dG8qIGludGVyc2VjdGlvbk9ic2VydmVy
ID0gZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSkKKyAgICAgICAgaW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXItPnVub2JzZXJ2ZShlbGVtZW50KTsKK30KKworSW50ZXJzZWN0aW9uT2JzZXJ2ZXIqIENv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIo
KQoreworICAgIGlmICghbV9vYnNlcnZlcikgeworICAgICAgICBhdXRvIGNhbGxiYWNrID0gQ29u
dGVudFZpc2liaWxpdHlJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrOjpjcmVhdGUoKm1fZG9j
dW1lbnQpOworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBjb250
ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFjayhNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgi
MTAwJSIpKTsKKyAgICAgICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OkluaXQgb3B0aW9ucyB7IHN0
ZDo6bnVsbG9wdCwgY29udGVudFZpc2liaWxpdHlSb290TWFyZ2luRmFsbGJhY2ssIHsgfSB9Owor
ICAgICAgICBhdXRvIG9ic2VydmVyID0gSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OmNyZWF0ZSgqbV9k
b2N1bWVudCwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUob3B0aW9ucykpOworICAgICAgICBp
ZiAob2JzZXJ2ZXIuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICAgICAgbV9vYnNlcnZlciA9IG9ic2VydmVyLnJldHVyblZhbHVlKCkucHRyKCk7CisgICAg
fQorICAgIHJldHVybiBtX29ic2VydmVyLmdldCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICN1bmRlZiBET0NVTUVOVF9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCBjMWJlY2NkMjFhYjEzMTZhZTAzMDRlOTc5MzljN2EyNjYyNDIzNjEzLi45OGQ5NDkyMDZiOWZm
NDdmYTBjN2M3YTkyZGRiMDA2NWU0MzExNGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMzM5
LDYgKzMzOSwyMSBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1l
bnRTdGF0ZShEb2N1bWVudCYpOworCisgICAgdm9pZCBhZGRDb250ZW50VmlzaWJpbGl0eU9ic2Vy
dmF0aW9uKEVsZW1lbnQmKTsKKyAgICB2b2lkIHJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2
YXRpb24oRWxlbWVudCYpOworCitwcml2YXRlOgorICAgIEludGVyc2VjdGlvbk9ic2VydmVyKiBl
bnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpOworCisgICAgUmVmUHRyPEludGVyc2VjdGlvbk9i
c2VydmVyPiBtX29ic2VydmVyOworICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Cit9
OworCiBjbGFzcyBEb2N1bWVudAogICAgIDogcHVibGljIENvbnRhaW5lck5vZGUKICAgICAsIHB1
YmxpYyBUcmVlU2NvcGUKQEAgLTYyMCwxMiArNjM1LDEzIEBAIHB1YmxpYzoKICAgICBib29sIG5l
ZWRzU3R5bGVSZWNhbGMoKSBjb25zdDsKICAgICB1bnNpZ25lZCBsYXN0U3R5bGVVcGRhdGVTaXpl
Rm9yVGVzdGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFN0eWxlVXBkYXRlU2l6ZUZvclRlc3Rp
bmc7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0KCk7CisgICAgZW51
bSBjbGFzcyBGb3JjZUxheW91dCB7IE5vLCBZZXMgfTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHVwZGF0ZUxheW91dChGb3JjZUxheW91dCA9IEZvcmNlTGF5b3V0OjpObyk7CiAgICAgCiAgICAg
Ly8gdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCkgZm9yY2VzIGxheW91dCBl
dmVuIGlmIHdlIGFyZSB3YWl0aW5nIGZvciBwZW5kaW5nIHN0eWxlc2hlZXQgbG9hZHMsCiAgICAg
Ly8gc28gY2FsbGluZyB0aGlzIG1heSBjYXVzZSBhIGZsYXNoIG9mIHVuc3R5bGVkIGNvbnRlbnQg
KEZPVUMpLgogICAgIGVudW0gY2xhc3MgUnVuUG9zdExheW91dFRhc2tzIHsgQXN5bmNocm9ub3Vz
bHksIFN5bmNocm9ub3VzbHkgfTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhSdW5Qb3N0TGF5b3V0VGFza3MgPSBSdW5Qb3N0TGF5
b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhSdW5Qb3N0TGF5b3V0VGFza3MgPSBSdW5Q
b3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBGb3JjZUxheW91dCA9IEZvcmNlTGF5b3V0
OjpObyk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IHN0eWxlRm9yRWxlbWVu
dElnbm9yaW5nUGVuZGluZ1N0eWxlc2hlZXRzKEVsZW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSog
cGFyZW50U3R5bGUsIFBzZXVkb0lkID0gUHNldWRvSWQ6Ok5vbmUpOwogCkBAIC0xNjQxLDYgKzE2
NTcsOCBAQCBwdWJsaWM6CiAKICAgICBMYXp5TG9hZEltYWdlT2JzZXJ2ZXImIGxhenlMb2FkSW1h
Z2VPYnNlcnZlcigpOwogCisgICAgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBjb250
ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoKTsKKwogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRl
bnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgp
IGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KICAg
ICB2b2lkIGVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKQEAgLTE4ODIsNiArMTkw
MCw4IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGF6eUxvYWRJbWFnZU9ic2Vy
dmVyPiBtX2xhenlMb2FkSW1hZ2VPYnNlcnZlcjsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250
ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU+IG1fY29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0
YXRlOworCiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9wZW5kaW5nU3RhdGVP
YmplY3Q7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIE1vbm90b25pY1RpbWUgbV9kb2N1bWVudENy
ZWF0aW9uVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBmZWU5OGMzZjFmZTliODExNjI3
NDhhMzdjMzBmMTJlMzMwYWEyNDJhLi4yM2MyNTNlOTc1ZjVlMmJjMGQ5MTQyYTMxNTQ3NmY3ZDI2
YTA2ODkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjgxLDcgKzEyODEsNyBAQCBpbnQg
RWxlbWVudDo6b2Zmc2V0VG9wRm9yQmluZGluZ3MoKQogCiBpbnQgRWxlbWVudDo6b2Zmc2V0VG9w
KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6
Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgaWYgKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kZXJl
ciA9IHJlbmRlckJveE1vZGVsT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBhZGp1c3RPZmZzZXRG
b3Jab29tQW5kU3VicGl4ZWxMYXlvdXQoKnJlbmRlcmVyLCByZW5kZXJlci0+b2Zmc2V0VG9wKCkp
OwogICAgIHJldHVybiAwOwpAQCAtMTQ0MSw3ICsxNDQxLDcgQEAgaW50IEVsZW1lbnQ6OnNjcm9s
bExlZnQoKQogCiBpbnQgRWxlbWVudDo6c2Nyb2xsVG9wKCkKIHsKLSAgICBkb2N1bWVudCgpLnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0
VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAg
ICBpZiAoZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGhpcykgewogICAgICAgICBp
ZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxWaWV3KCkpCkBAIC0xNzY2
LDcgKzE3NjYsNyBAQCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9h
dFJlY3Q+PiBFbGVtZW50Ojpib3VuZGluZ0Fic29sdXRlUmVjdAogCiBGbG9hdFJlY3QgRWxlbWVu
dDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5j
aHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byBwYWlyID0g
Ym91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0KCk7CiAgICAgaWYgKCFwYWlyKQogICAg
ICAgICByZXR1cm4geyB9OwpAQCAtMzA3MCw2ICszMDcwLDE1IEBAIHZvaWQgRWxlbWVudDo6Zm9j
dXMoY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogICAgIGlmICghaXNDb25uZWN0ZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpKSB7Cisg
ICAgICAgIGZvciAoYXV0byBmb2N1c2VkID0gdGhpczsgZm9jdXNlZDsgZm9jdXNlZCA9IGZvY3Vz
ZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgICAgICBpZiAoYXV0
byogZGF0YSA9IGZvY3VzZWQtPmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpKQorICAgICAgICAgICAg
ICAgIGRhdGEtPnN1YnRyZWVIYXNGb2N1cyA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisgICAg
aWYgKGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUmVmIGRvY3Vt
ZW50IHsgdGhpcy0+ZG9jdW1lbnQoKSB9OwogICAgIGlmIChkb2N1bWVudC0+Zm9jdXNlZEVsZW1l
bnQoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC0+cGFnZSgpKQpAQCAtMzM0Miw2
ICszMzUxLDkgQEAgU3RyaW5nIEVsZW1lbnQ6OmlubmVyVGV4dCgpCiAgICAgLy8gV2UgbmVlZCB0
byB1cGRhdGUgbGF5b3V0LCBzaW5jZSBwbGFpblRleHQgdXNlcyBsaW5lIGJveGVzIGluIHRoZSBy
ZW5kZXIgdHJlZS4KICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0cygpOwogCisgICAgaWYgKGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJu
IFN0cmluZygpOworCiAgICAgaWYgKCFyZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gdGV4dENv
bnRlbnQodHJ1ZSk7CiAKQEAgLTM1NTcsOSArMzU2OSw4IEBAIGJvb2wgRWxlbWVudDo6aGFzVmFs
aWRTdHlsZSgpIGNvbnN0CiAKIGJvb2wgRWxlbWVudDo6aXNWaXNpYmxlV2l0aG91dFJlc29sdmlu
Z0Z1bGxTdHlsZSgpIGNvbnN0CiB7Ci0KICAgICBpZiAocmVuZGVyU3R5bGUoKSB8fCBoYXNWYWxp
ZFN0eWxlKCkpCi0gICAgICAgIHJldHVybiByZW5kZXJTdHlsZSgpICYmIHJlbmRlclN0eWxlKCkt
PnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlOworICAgICAgICByZXR1cm4gcmVu
ZGVyU3R5bGUoKSAmJiByZW5kZXJTdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6
VmlzaWJsZSAmJiAhaXNTa2lwcGVkQ29udGVudCgpOwogCiAgICAgYXV0byBjb21wdXRlZFN0eWxl
Rm9yRWxlbWVudCA9IFtdKEVsZW1lbnQmIGVsZW1lbnQpIC0+IGNvbnN0IFJlbmRlclN0eWxlKiB7
CiAgICAgICAgIGF1dG8qIHN0eWxlID0gZWxlbWVudC5oYXNOb2RlRmxhZyhOb2RlRmxhZzo6SXND
b21wdXRlZFN0eWxlSW52YWxpZEZsYWcpID8gbnVsbHB0ciA6IGVsZW1lbnQuZXhpc3RpbmdDb21w
dXRlZFN0eWxlKCk7CkBAIC0zNTc3LDYgKzM1ODgsOSBAQCBib29sIEVsZW1lbnQ6OmlzVmlzaWJs
ZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUoKSBjb25zdAogICAgIGlmIChzdHlsZS0+dmlzaWJp
bGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgIGlmIChpc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IGZvciAoYXV0byYgZWxlbWVudCA6IGNvbXBvc2VkVHJlZUFuY2VzdG9ycyhjb25zdF9jYXN0PEVs
ZW1lbnQmPigqdGhpcykpKSB7CiAgICAgICAgIGF1dG8qIHN0eWxlID0gY29tcHV0ZWRTdHlsZUZv
ckVsZW1lbnQoZWxlbWVudCk7CiAgICAgICAgIGlmICghc3R5bGUgfHwgc3R5bGUtPmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSkKQEAgLTQ3NTAsNiArNDc2NCwxMDQgQEAgRWxlbWVudElk
ZW50aWZpZXIgRWxlbWVudDo6Y3JlYXRlRWxlbWVudElkZW50aWZpZXIoKQogICAgIHJldHVybiBF
bGVtZW50SWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKIH0KIAorQ29udGVudFZpc2liaWxpdHlEYXRh
JiBFbGVtZW50OjplbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKQoreworICAgIGF1dG8mIHJh
cmVEYXRhID0gZW5zdXJlRWxlbWVudFJhcmVEYXRhKCk7CisgICAgaWYgKCFyYXJlRGF0YS5jb250
ZW50VmlzaWJpbGl0eURhdGEoKSkKKyAgICAgICAgcmFyZURhdGEuc2V0Q29udGVudFZpc2liaWxp
dHlEYXRhKG1ha2VVbmlxdWU8Q29udGVudFZpc2liaWxpdHlEYXRhPigpKTsKKyAgICByZXR1cm4g
KnJhcmVEYXRhLmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworfQorCitDb250ZW50VmlzaWJpbGl0
eURhdGEqIEVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+Y29udGVudFZpc2liaWxpdHlE
YXRhKCkgOiBudWxscHRyOworfQorCit2b2lkIEVsZW1lbnQ6OnVwZGF0ZUNvbnRlbnRWaXNpYmls
aXR5RGF0YShib29sIHNob3VsZFNraXAsIGJvb2wgaXNBdXRvLCBDb250ZW50VmlzaWJpbGl0eSBj
b250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAoYXV0byogcGFyZW50ID0gcGFyZW50RWxlbWVu
dCgpKQorICAgICAgICBzaG91bGRTa2lwIHw9IHBhcmVudC0+aXNTa2lwcGVkQ29udGVudCgpOwor
CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGlm
IChpczxIVE1MRGlhbG9nRWxlbWVudD4oKnRoaXMpKQorICAgICAgICBkYXRhLmlzU2tpcHBlZENv
bnRlbnQgPSBzaG91bGRTa2lwICYmIGNvbnRlbnRWaXNpYmlsaXR5ID09IENvbnRlbnRWaXNpYmls
aXR5OjpIaWRkZW47CisgICAgZWxzZQorICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBz
aG91bGRTa2lwOworICAgIGRhdGEuaXNBdXRvID0gaXNBdXRvOworCisgICAgaWYgKFJlbmRlckVs
ZW1lbnQqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKKyAgICAgICAgc2hvdWxkU2tpcCB8
PSByZW5kZXJlci0+c2hvdWxkU2tpcENvbnRlbnQoKTsKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDog
Y2hpbGRyZW5PZlR5cGU8RWxlbWVudD4oKnRoaXMpKQorICAgICAgICBjaGlsZC51cGRhdGVDb250
ZW50VmlzaWJpbGl0eURhdGEoc2hvdWxkU2tpcCwgaXNBdXRvLCBjb250ZW50VmlzaWJpbGl0eSk7
Cit9CisKKy8vIEZJWE1FOiB0aGlzIGlzIGluY29tcGxldGUsIGFuZCBuZWVkcyB0byBiZSByZWZh
Y3RvcmVkIHdpdGggaW50ZXJzZWN0aW9uIG9ic2VydmVyIGNvbXB1dGF0aW9ucyBpbiBEb2N1bWVu
dC4KK3N0YXRpYyBib29sIGNvbXB1dGVJbnRlcnNlY3Rpb24oY29uc3QgRG9jdW1lbnQmIGRvY3Vt
ZW50LCBSZW5kZXJFbGVtZW50KiByZW5kZXJlcikKK3sKKyAgICBpZiAoIXJlbmRlcmVyKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudC52aWV3
KCk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBGbG9hdFJl
Y3QgbG9jYWxSb290Qm91bmRzID0gdmlldy0+bGF5b3V0Vmlld3BvcnRSZWN0KCk7CisgICAgTGF5
b3V0UmVjdCBsb2NhbFRhcmdldEJvdW5kczsKKyAgICBpZiAoaXM8UmVuZGVyQm94PigqcmVuZGVy
ZXIpKQorICAgICAgICBsb2NhbFRhcmdldEJvdW5kcyA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVu
ZGVyZXIpLT5ib3JkZXJCb3VuZGluZ0JveCgpOworCisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRS
ZWN0PiByb290TG9jYWxUYXJnZXRSZWN0OworICAgIE9wdGlvblNldDxSZW5kZXJPYmplY3Q6OlZp
c2libGVSZWN0Q29udGV4dE9wdGlvbj4gdmlzaWJsZVJlY3RPcHRpb25zID0geyBSZW5kZXJPYmpl
Y3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6VXNlRWRnZUluY2x1c2l2ZUludGVyc2VjdGlv
biwgUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OkFwcGx5Q29tcG9zaXRl
ZENsaXBzLCBSZW5kZXJPYmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21w
b3NpdGVkQ29udGFpbmVyU2Nyb2xscyB9OworICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0UmVjdD4g
cmVjdEluRnJhbWVBYnNvbHV0ZVNwYWNlID0gcmVuZGVyZXItPmNvbXB1dGVWaXNpYmxlUmVjdElu
Q29udGFpbmVyKGxvY2FsVGFyZ2V0Qm91bmRzLCAmcmVuZGVyZXItPnZpZXcoKSwgeyBmYWxzZSAv
KiBoYXNQb3NpdGlvbkZpeGVkRGVzY2VuZGFudCAqLywgZmFsc2UgLyogZGlydHlSZWN0SXNGbGlw
cGVkICovLCB2aXNpYmxlUmVjdE9wdGlvbnMgfSk7CisgICAgaWYgKHJlY3RJbkZyYW1lQWJzb2x1
dGVTcGFjZSkKKyAgICAgICAgcm9vdExvY2FsVGFyZ2V0UmVjdCA9IHJlY3RJbkZyYW1lQWJzb2x1
dGVTcGFjZTsKKyAgICBGbG9hdFJlY3Qgcm9vdExvY2FsSW50ZXJzZWN0aW9uUmVjdCA9IGxvY2Fs
Um9vdEJvdW5kczsKKyAgICByZXR1cm4gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJ
bnRlcnNlY3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJl
Y3QpOworfQorCitib29sIEVsZW1lbnQ6OmRldGVybWluZUlmU3VidHJlZUhhc0ZvY3VzKCkKK3sK
KyAgICBmb3IgKGF1dG8qIGZvY3VzZWQgPSBkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCk7IGZv
Y3VzZWQ7IGZvY3VzZWQgPSBmb2N1c2VkLT5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkg
eworICAgICAgICBpZiAoZm9jdXNlZCA9PSB0aGlzKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBFbGVtZW50Ojp1cGRhdGVDb250
ZW50VmlzaWJpbGl0eShzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmlsaXR5PiwgQ29udGVudFZp
c2liaWxpdHkgbmV3Q29udGVudFZpc2liaWxpdHkpCit7CisgICAgYm9vbCBpc0F1dG8gPSBuZXdD
b250ZW50VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6QXV0bzsKKyAgICBpZiAoaXNB
dXRvKSB7CisgICAgICAgIGF1dG8mIGRhdGEgPSBlbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEo
KTsKKyAgICAgICAgZGF0YS5pc0ludGVyc2VjdGluZ1ZpZXdwb3J0ID0gY29tcHV0ZUludGVyc2Vj
dGlvbihkb2N1bWVudCgpLCByZW5kZXJlcigpKTsKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250
ZW50ID0gZmFsc2U7CisgICAgICAgIGRhdGEuc3VidHJlZUhhc0ZvY3VzID0gZGV0ZXJtaW5lSWZT
dWJ0cmVlSGFzRm9jdXMoKTsKKyAgICAgICAgZG9jdW1lbnQoKS5jb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGUoKS5hZGRDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKCp0aGlzKTsKKyAg
ICB9CisgICAgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGZhbHNlLCBpc0F1dG8sIG5ld0Nv
bnRlbnRWaXNpYmlsaXR5KTsKK30KKworYm9vbCBFbGVtZW50Ojppc1NraXBwZWRDb250ZW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkgPyBjb250ZW50Vmlz
aWJpbGl0eURhdGEoKS0+aXNTa2lwcGVkQ29udGVudCA6IGZhbHNlOworfQorCitib29sIEVsZW1l
bnQ6OnNob3VsZFNraXBDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS5jb250ZW50
VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICByZXR1cm4g
Y29udGVudFZpc2liaWxpdHlEYXRhKCkgPyAhY29udGVudFZpc2liaWxpdHlEYXRhKCktPmlzSW50
ZXJzZWN0aW5nVmlld3BvcnQgJiYgIWNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpLT5zdWJ0cmVlSGFz
Rm9jdXMgOiB0cnVlOworICAgIHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRlbnRWaXNp
YmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsKK30KKwordm9pZCBFbGVtZW50
Ojpjb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGJvb2wgaXNJbnRlcnNlY3RpbmcpCit7
CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGRh
dGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCA9IGlzSW50ZXJzZWN0aW5nOworICAgIHVwZGF0ZUNv
bnRlbnRWaXNpYmlsaXR5RGF0YShmYWxzZSwgZGF0YS5pc0F1dG8sIENvbnRlbnRWaXNpYmlsaXR5
OjpBdXRvKTsKK30KKwogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAKIFN0eWxlUHJvcGVydHlN
YXAqIEVsZW1lbnQ6OmF0dHJpYnV0ZVN0eWxlTWFwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDYy
MDliZTYyYTcwNDY0ZmVjNzMzMzQ1ZTY1NTM2M2RjY2ZlOWY1ODguLmRmMTM0YTg5ZWFlNzkxMDll
MzRhMTVkODNmOTkyNzc3ZjliMjUzZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtOTEsNiArOTEs
MTMgQEAgc3RydWN0IFNjcm9sbEludG9WaWV3T3B0aW9uczsKIHN0cnVjdCBTY3JvbGxUb09wdGlv
bnM7CiBzdHJ1Y3QgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQ7CiBzdHJ1Y3QgU2hh
ZG93Um9vdEluaXQ7CitzdHJ1Y3QgQ29udGVudFZpc2liaWxpdHlEYXRhIHsKKyAgICBXVEZfTUFL
RV9TVFJVQ1RfRkFTVF9BTExPQ0FURUQ7CisgICAgYm9vbCBpc1NraXBwZWRDb250ZW50IHsgZmFs
c2UgfTsKKyAgICBib29sIGlzSW50ZXJzZWN0aW5nVmlld3BvcnQgeyBmYWxzZSB9OworICAgIGJv
b2wgc3VidHJlZUhhc0ZvY3VzIHsgZmFsc2UgfTsKKyAgICBib29sIGlzQXV0byB7IGZhbHNlIH07
Cit9OwogCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7CkBAIC02NjQsNiArNjcx
LDEzIEBAIHB1YmxpYzoKICAgICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1faGFzRHVwbGljYXRlQXR0cmlidXRlOyB9OwogICAgIHZvaWQgc2V0SGFzRHVwbGlj
YXRlQXR0cmlidXRlKGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRlKSB7IG1faGFzRHVwbGljYXRl
QXR0cmlidXRlID0gaGFzRHVwbGljYXRlQXR0cmlidXRlOyB9OwogCisgICAgQ29udGVudFZpc2li
aWxpdHlEYXRhJiBlbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBDb250ZW50Vmlz
aWJpbGl0eURhdGEqIGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0OworICAgIHZvaWQgdXBk
YXRlQ29udGVudFZpc2liaWxpdHkoc3RkOjpvcHRpb25hbDxDb250ZW50VmlzaWJpbGl0eT4gb2xk
Q29udGVudFZpc2liaWxpdHksIENvbnRlbnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5
KTsKKyAgICB2b2lkIGNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoYm9vbCk7CisgICAg
Ym9vbCBpc1NraXBwZWRDb250ZW50KCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRTa2lwQ29udGVu
dCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmLCBDb25zdHJ1Y3Rpb25UeXBlKTsKIApAQCAtNjg3LDYgKzcwMSwxMCBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0
eU1hcD4mJik7CiAjZW5kaWYKIAorICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRh
KGJvb2wgc2hvdWxkU2tpcCwgYm9vbCBzdWJ0cmVlSGFzRm9jdXMsIENvbnRlbnRWaXNpYmlsaXR5
KTsKKworICAgIGJvb2wgZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9jdXMoKTsKKwogcHJpdmF0ZToK
ICAgICBGcmFtZSogZG9jdW1lbnRGcmFtZVdpdGhOb25OdWxsVmlldygpIGNvbnN0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IDg3N2EzNDlhMTQzOTNjYjlkYmQ2
ZDQzN2E3YmQ2NjE2ZWYyNzUxMGEuLjVjODZiOGU0MmYxYjU0ODYwYTAxYTYyZjk5Mzk4OTdjYTI4
YThjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCkBAIC00Myw2ICs0
Myw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhIDogTm9kZVJhcmVEYXRhIHsK
ICAgICB2b2lkKiB0eXBlZE9NRGF0YTsKICNlbmRpZgogICAgIHZvaWQqIHJlc2l6ZU9ic2VydmVy
RGF0YTsKKyAgICB2b2lkKiBjb250ZW50VmlzaWJpbGl0eURhdGE7CiB9OwogCiBzdGF0aWNfYXNz
ZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09IHNpemVvZihTYW1lU2l6ZUFzRWxlbWVudFJh
cmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91bGQgc3RheSBzbWFsbCIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDBlYzQ4N2ZiOGQxZjBmZjkyZGIxNzY5NTMxOWMw
N2RmNGUyN2Y2ZmIuLjlmMTA5ZDAzN2UwODlkZDBkMjU0M2IzYTJkZmExNDk2NThiNWY1YWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTEwNiw2ICsxMDYsOSBAQCBwdWJs
aWM6CiAgICAgY29uc3QgQXRvbVN0cmluZyYgbm9uY2UoKSBjb25zdCB7IHJldHVybiBtX25vbmNl
OyB9CiAgICAgdm9pZCBzZXROb25jZShjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSkgeyBtX25vbmNl
ID0gdmFsdWU7IH0KIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RGF0YSogY29udGVudFZpc2liaWxp
dHlEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50VmlzaWJpbGl0eURhdGEuZ2V0KCk7IH0K
KyAgICB2b2lkIHNldENvbnRlbnRWaXNpYmlsaXR5RGF0YShzdGQ6OnVuaXF1ZV9wdHI8Q29udGVu
dFZpc2liaWxpdHlEYXRhPiYmIGRhdGEpIHsgbV9jb250ZW50VmlzaWJpbGl0eURhdGEgPSBXVEZN
b3ZlKGRhdGEpOyB9CisKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogICAgIFN0eWxlUHJvcGVy
dHlNYXAqIGF0dHJpYnV0ZVN0eWxlTWFwKCkgeyByZXR1cm4gbV9hdHRyaWJ1dGVTdHlsZU1hcC5n
ZXQoKTsgfQogICAgIHZvaWQgc2V0QXR0cmlidXRlU3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlN
YXA+JiYgbWFwKSB7IG1fYXR0cmlidXRlU3R5bGVNYXAgPSBXVEZNb3ZlKG1hcCk7IH0KQEAgLTE1
MSw2ICsxNTQsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OlBh
cnROYW1lcyk7CiAgICAgICAgIGlmIChtX25vbmNlKQogICAgICAgICAgICAgcmVzdWx0LmFkZChV
c2VUeXBlOjpOb25jZSk7CisgICAgICAgIGlmIChtX0NvbnRlbnRWaXNpYmlsaXR5RGF0YSkKKyAg
ICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6Q29udGVudFZpc2liaWxpdHkpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNlbmRpZgpAQCAtMTg0LDYgKzE4OSw4IEBAIHByaXZh
dGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9uY2U7CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29u
dGVudFZpc2liaWxpdHlEYXRhPiBtX2NvbnRlbnRWaXNpYmlsaXR5RGF0YTsKKwogICAgIHZvaWQg
cmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGVSYXJlRGF0YS5oCmluZGV4IGMzMzFmYjhlNWE1NTc3MWMzOWEwYjYzMGIxMTA5ZWY5MzM3Yjlh
ODUuLmNlNTg0ODcyNTY2ZmZjNDQ3MTQ4NTI4ZjVmODNiYWRiNDFjNmE4NTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NCw2ICsyNjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBh
cnRMaXN0ID0gMSA8PCAxNiwKICAgICAgICAgUGFydE5hbWVzID0gMSA8PCAxNywKICAgICAgICAg
Tm9uY2UgPSAxIDw8IDE4LAorICAgICAgICBDb250ZW50VmlzaWJpbGl0eT0gMSA8PCAxOSwKICAg
ICB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRl
eCBjZjcxNDk1ZmY5ZDI0OWU1YTM1YmE1ZmE0YWUyMDhlOWIwYzVlYWY5Li40MTQyYjc0MTE5Yzkw
ZWFlZjc1OWVjMGM4MDBmMjczZDhjNDZiMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCkBAIC00NTYsNiArNDU2LDE2IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjphZHZh
bmNlKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBhdXRvIGlzU2tpcHBlZENv
bnRlbnRPclRleHQgPSBbJl0oKSB7CisgICAgICAgIGlmIChpczxFbGVtZW50PihtX25vZGUpKQor
ICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPmlzU2tpcHBlZENv
bnRlbnQoKTsKKyAgICAgICAgCisgICAgICAgIGlmIChtX25vZGUtPmlzVGV4dE5vZGUoKSkKKyAg
ICAgICAgICAgIHJldHVybiBtX25vZGUtPnBhcmVudEVsZW1lbnQoKSA/IG1fbm9kZS0+cGFyZW50
RWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCk6IGZhbHNlOworCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9OworCiAgICAgd2hpbGUgKG1fbm9kZSAmJiBtX25vZGUgIT0gbV9wYXN0RW5k
Tm9kZSkgewogICAgICAgICAvLyBpZiB0aGUgcmFuZ2UgZW5kcyBhdCBvZmZzZXQgMCBvZiBhbiBl
bGVtZW50LCByZXByZXNlbnQgdGhlCiAgICAgICAgIC8vIHBvc2l0aW9uLCBidXQgbm90IHRoZSBj
b250ZW50LCBvZiB0aGF0IGVsZW1lbnQgZS5nLiBpZiB0aGUKQEAgLTQ3Miw3ICs0ODIsOSBAQCB2
b2lkIFRleHRJdGVyYXRvcjo6YWR2YW5jZSgpCiAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyKSB7
CiAgICAgICAgICAgICAgICAgbV9oYW5kbGVkTm9kZSA9IHRydWU7CiAgICAgICAgICAgICAgICAg
bV9oYW5kbGVkQ2hpbGRyZW4gPSAhaGFzRGlzcGxheUNvbnRlbnRzKCptX25vZGUpOwotICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXM8RWxlbWVudD4obV9ub2Rl
KSAmJiBkb3duY2FzdDxFbGVtZW50PihtX25vZGUpLT5zaG91bGRTa2lwQ29udGVudCgpKSB7Cisg
ICAgICAgICAgICAgICAgbV9oYW5kbGVkQ2hpbGRyZW4gPSB0cnVlOworICAgICAgICAgICAgfSBl
bHNlIGlmICghaXNTa2lwcGVkQ29udGVudE9yVGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgLy8g
aGFuZGxlIGN1cnJlbnQgbm9kZSBhY2NvcmRpbmcgdG8gaXRzIHR5cGUKICAgICAgICAgICAgICAg
ICBpZiAocmVuZGVyZXItPmlzVGV4dCgpICYmIG1fbm9kZS0+aXNUZXh0Tm9kZSgpKQogICAgICAg
ICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gaGFuZGxlVGV4dE5vZGUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc5OGZlODZiYzRmMzIwMjY3MWNk
MmQ3MTQ2NjAwMGI2ZWJhYmI2YmYuLjQ1YjRkMDIwODlkMTAyODg1ZDQxMzYxY2IzMDZiNTQ4OGI5
MzdmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDg1
LDkgKzQ4NSw5IEBAIHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6OndpZHRoKGJvb2wgaWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKQogICAgIH0KIAogICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBE
b2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgZWxzZQotICAgICAgICBkb2N1bWVudCgp
LnVwZGF0ZUxheW91dCgpOworICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVu
dDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgp
OwogICAgIGlmICghYm94KQpAQCAtNDk4LDYgKzQ5OCwxMSBAQCB1bnNpZ25lZCBIVE1MSW1hZ2VF
bGVtZW50Ojp3aWR0aChib29sIGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKIAogdW5zaWduZWQg
SFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQog
eworICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCisgICAgICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5
b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7Cisg
ICAgZWxzZQorICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VM
YXlvdXQ6Olllcyk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpIHsKICAgICAgICAgLy8gY2hlY2sg
dGhlIGF0dHJpYnV0ZSBmaXJzdCBmb3IgYW4gZXhwbGljaXQgcGl4ZWwgdmFsdWUKICAgICAgICAg
YXV0byBvcHRpb25hbEhlaWdodCA9IHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcihhdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGhlaWdodEF0dHIpKTsKQEAgLTUwOSwxMSArNTE0LDYg
QEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wgaWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKQogICAgICAgICAgICAgcmV0dXJuIG1faW1hZ2VMb2FkZXItPmltYWdlKCktPmlt
YWdlU2l6ZUZvclJlbmRlcmVyKHJlbmRlcmVyKCksIDEuMGYpLmhlaWdodCgpLnRvVW5zaWduZWQo
KTsKICAgICB9CiAKLSAgICBpZiAoaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQotICAgICAgICBk
b2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIGVs
c2UKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKLQogICAgIFJlbmRlckJveCog
Ym94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybiAwOwpAQCAt
NjIxLDcgKzYyMSw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6c2V0V2lkdGgodW5zaWduZWQg
dmFsdWUpCiAKIGludCBIVE1MSW1hZ2VFbGVtZW50Ojp4KCkgY29uc3QKIHsKLSAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50
KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7
CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJl
cikKICAgICAgICAgcmV0dXJuIDA7CkBAIC02MzIsNyArNjMyLDcgQEAgaW50IEhUTUxJbWFnZUVs
ZW1lbnQ6OngoKSBjb25zdAogCiBpbnQgSFRNTEltYWdlRWxlbWVudDo6eSgpIGNvbnN0CiB7Ci0g
ICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAg
ICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVu
dDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5
b3V0OjpZZXMpOwogICAgIGF1dG8gcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpOwogICAgIGlm
ICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9JbWFnZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5w
dXRUeXBlLmNwcAppbmRleCA5NjE1MzQxMWM3MDNiMzRhYjNkODJjNWFhMjY1NDk4YjFjYTMwYWUy
Li5hMjBjOGI2NzFkMGJjMGRlNGRjMmU4ZTAyNDg3NWI1OTlkNTgzNmYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHVuc2lnbmVkIElt
YWdlSW5wdXRUeXBlOjpoZWlnaHQoKSBjb25zdAogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAg
IFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVtZW50KCkpOwogCi0gICAg
ZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBlbGVtZW50LT5kb2N1bWVu
dCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBpZiAo
YXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gYWRq
dXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRlcmVyKS5jb250ZW50
SGVpZ2h0KCksICpyZW5kZXJlcik7CkBAIC0xOTUsNyArMTk1LDcgQEAgdW5zaWduZWQgSW1hZ2VJ
bnB1dFR5cGU6OndpZHRoKCkgY29uc3QKICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAgICBSZWY8
SFRNTElucHV0RWxlbWVudD4gZWxlbWVudCgqdGhpcy0+ZWxlbWVudCgpKTsKIAotICAgIGVsZW1l
bnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7CisgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51
cGRhdGVMYXlvdXQoRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogCiAgICAgaWYgKGF1dG8q
IHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIGFkanVzdEZv
ckFic29sdXRlWm9vbShkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlcikuY29udGVudFdpZHRo
KCksICpyZW5kZXJlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
d0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRD
b250ZXh0LmNwcAppbmRleCA2OWE0YzIzYzlhMzYxODJjMTcwOWUzN2ExYWI0ZDhlNzQ4MThmODcx
Li41MjJkYmIyYzc0OWRiMGNjMTAxMWVmMGQwODRhN2M3NTdhZTc4NWIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKQEAgLTIzNiw3ICsyMzYs
OCBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCgpCiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgICAgIGxheW91dFVzaW5nRm9ybWF0dGluZ0Nv
bnRleHQoKTsKICNlbmRpZgotICAgICAgICArK21fbGF5b3V0Q291bnQ7CisgICAgICAgIGlmICgh
bV9sYXlvdXRGb3JjZWQpCisgICAgICAgICAgICArK21fbGF5b3V0Q291bnQ7CiAjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKICAgICAgICAgYXBwbHlUZXh0U2l6aW5nSWZOZWVkZWQoKmxheW91
dFJvb3QuZ2V0KCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlld0xheW91dENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5
b3V0Q29udGV4dC5oCmluZGV4IDZmOWViMWUwOTM4MjRlNmIxYjBmOWE1N2E3NTI1M2EzMjRmZWUx
ZmEuLmRkYzZmMDMwZjMxMmM4YjA4NThjYTY0ZWFkOWU1MTZhNjMyNGYzOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCkBAIC04NCw2ICs4NCw4IEBA
IHB1YmxpYzoKICAgICBib29sIGlzSW5MYXlvdXQoKSBjb25zdCB7IHJldHVybiBsYXlvdXRQaGFz
ZSgpICE9IExheW91dFBoYXNlOjpPdXRzaWRlTGF5b3V0OyB9CiAgICAgYm9vbCBpc0luUmVuZGVy
VHJlZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgPT0gTGF5b3V0UGhhc2U6
OkluUmVuZGVyVHJlZUxheW91dDsgfQogICAgIGJvb2wgaW5QYWludGFibGVTdGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluUmVuZGVyVHJlZUxheW91
dCAmJiBsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblZpZXdTaXplQWRqdXN0ICYmIChs
YXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblBvc3RMYXlvdXQgfHwgaW5Bc3luY2hyb25v
dXNUYXNrcygpKTsgfQorICAgIGJvb2wgaXNMYXlvdXRGb3JjZWQoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEZvcmNlZDsgfQorICAgIHZvaWQgc2V0TGF5b3V0Rm9yY2VkKGJvb2wgZikgeyBtX2xh
eW91dEZvcmNlZCA9IGY7IH0KIAogICAgIHVuc2lnbmVkIGxheW91dENvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXlvdXRDb3VudDsgfQogCkBAIC0xNzksNiArMTgxLDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1fbmVlZHNGdWxsUmVwYWludCB7IHRydWUgfTsKICAgICBib29sIG1faW5Bc3luY2hy
b25vdXNUYXNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NldE5lZWRzTGF5b3V0V2FzRGVmZXJy
ZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9sYXlvdXRGb3JjZWQgeyBmYWxzZSB9OwogICAgIExh
eW91dFBoYXNlIG1fbGF5b3V0UGhhc2UgeyBMYXlvdXRQaGFzZTo6T3V0c2lkZUxheW91dCB9Owog
ICAgIGVudW0gY2xhc3MgTGF5b3V0TmVzdGVkU3RhdGUgOiB1aW50OF90ICB7IE5vdEluTGF5b3V0
LCBOb3ROZXN0ZWQsIE5lc3RlZCB9OwogICAgIExheW91dE5lc3RlZFN0YXRlIG1fbGF5b3V0TmVz
dGVkU3RhdGUgeyBMYXlvdXROZXN0ZWRTdGF0ZTo6Tm90SW5MYXlvdXQgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCmluZGV4IGI1YTIz
N2U4MTQyZWQ3YjIzN2FiNDQ1M2RlYjY1ZTMzYmY0Yzc2MTguLmRlZjYxMzQzNzZiMzYyZTM4M2Zm
YmNmY2I5NzU1YzVmYTQyMmM2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcApAQCAtNDEsNiArNDEsOCBAQCBJbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5OjpJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KGNvbnN0IEluaXQmIGluaXQp
CiB7CiAgICAgaWYgKGluaXQucm9vdEJvdW5kcykKICAgICAgICAgbV9yb290Qm91bmRzID0gRE9N
UmVjdFJlYWRPbmx5Ojpmcm9tUmVjdCgqaW5pdC5yb290Qm91bmRzKTsKKyAgICBpZiAobV90YXJn
ZXQgJiYgbV90YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgbV9pc0ludGVyc2Vj
dGluZyA9IGZhbHNlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCmluZGV4IGViY2E3ZTMzYmQxN2EwNjUyZGRlYTA4
Y2Q0ZTViYWFkY2Y2YzllYWYuLmQ4ZGVmM2ExNGQ1MDczYmFhMTBlYzkwZWM0YzFmMDNlODdhMWQ3
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCkBAIC01MSwy
NCArNTEsMjYgQEAgdm9pZCBSZXNpemVPYnNlcnZhdGlvbjo6dXBkYXRlT2JzZXJ2YXRpb25TaXpl
KGNvbnN0IEJveFNpemVzJiBib3hTaXplcykKICAgICBtX2xhc3RPYnNlcnZhdGlvblNpemVzID0g
Ym94U2l6ZXM7CiB9CiAKLWF1dG8gUmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVPYnNlcnZlZFNp
emVzKCkgY29uc3QgLT4gQm94U2l6ZXMKK3N0ZDo6b3B0aW9uYWw8UmVzaXplT2JzZXJ2YXRpb246
OkJveFNpemVzPiBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25z
dAogewogICAgIGlmIChtX3RhcmdldC0+aXNTVkdFbGVtZW50KCkpIHsKICAgICAgICAgaWYgKGF1
dG8gc3ZnUmVjdCA9IGRvd25jYXN0PFNWR0VsZW1lbnQ+KCptX3RhcmdldCkuZ2V0Qm91bmRpbmdC
b3goKSkgewogICAgICAgICAgICAgYXV0byBzaXplID0gTGF5b3V0U2l6ZShzdmdSZWN0LT53aWR0
aCgpLCBzdmdSZWN0LT5oZWlnaHQoKSk7Ci0gICAgICAgICAgICByZXR1cm4geyBzaXplLCBzaXpl
LCBzaXplIH07CisgICAgICAgICAgICByZXR1cm4gQm94U2l6ZXMgeyBzaXplLCBzaXplLCBzaXpl
IH07CiAgICAgICAgIH0KICAgICB9CiAgICAgYXV0byogYm94ID0gbV90YXJnZXQtPnJlbmRlckJv
eCgpOwogICAgIGlmIChib3gpIHsKLSAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgaWYgKG1fdGFy
Z2V0LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworICAgICAgICByZXR1cm4gQm94U2l6ZXMgewogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6
ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRTaXplKCksICpib3gpLAogICAgICAgICAgICAg
YWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRMb2dpY2FsU2l6ZSgp
LCAqYm94KSwKICAgICAgICAgICAgIGFkanVzdExheW91dFNpemVGb3JBYnNvbHV0ZVpvb20oYm94
LT5ib3JkZXJCb3hMb2dpY2FsU2l6ZSgpLCAqYm94KQogICAgICAgICB9OwogICAgIH0KIAotICAg
IHJldHVybiB7IH07CisgICAgcmV0dXJuIEJveFNpemVzIHsgfTsKIH0KIAogTGF5b3V0UG9pbnQg
UmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVUYXJnZXRMb2NhdGlvbigpIGNvbnN0CkBAIC0xMDQs
MTUgKzEwNiwxNyBAQCBGbG9hdFNpemUgUmVzaXplT2JzZXJ2YXRpb246OnNuYXBwZWRDb250ZW50
Qm94U2l6ZSgpIGNvbnN0CiBzdGQ6Om9wdGlvbmFsPFJlc2l6ZU9ic2VydmF0aW9uOjpCb3hTaXpl
cz4gUmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCgpIGNvbnN0CiB7CiAgICAg
YXV0byBjdXJyZW50U2l6ZXMgPSBjb21wdXRlT2JzZXJ2ZWRTaXplcygpOworICAgIGlmICghY3Vy
cmVudFNpemVzKQorICAgICAgICByZXR1cm4gY3VycmVudFNpemVzOwogCiAgICAgc3dpdGNoICht
X29ic2VydmVkQm94KSB7CiAgICAgY2FzZSBSZXNpemVPYnNlcnZlckJveE9wdGlvbnM6OkJvcmRl
ckJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuYm9yZGVyQm94TG9naWNh
bFNpemUgIT0gY3VycmVudFNpemVzLmJvcmRlckJveExvZ2ljYWxTaXplKQotICAgICAgICAgICAg
cmV0dXJuIGN1cnJlbnRTaXplczsKKyAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMu
Ym9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5ib3JkZXJCb3hMb2dpY2FsU2l6
ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVudFNpemVzOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9uczo6Q29udGVudEJveDoKLSAgICAgICAgaWYg
KG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVudEJveExvZ2ljYWxTaXplICE9IGN1cnJlbnRT
aXplcy5jb250ZW50Qm94TG9naWNhbFNpemUpCi0gICAgICAgICAgICByZXR1cm4gY3VycmVudFNp
emVzOworICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXplcy5jb250ZW50Qm94TG9naWNh
bFNpemUgIT0gY3VycmVudFNpemVzLT5jb250ZW50Qm94TG9naWNhbFNpemUpCisgICAgICAgICAg
ICByZXR1cm4gKmN1cnJlbnRTaXplczsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgKaW5kZXggNjhiMWMyYTk3NGU2NTMxMjVlOTI4
ZmQ0ODgyMTBmNWMyZGYwZDcxMy4uODA1NTRmYzA4ZGZmMGVmMWM5YWRlNTc4NmNlODE1YTVlMmYx
ODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaApAQCAtNjQsNyAr
NjQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlc2l6ZU9ic2VydmF0aW9uKEVsZW1lbnQm
LCBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMpOwogCi0gICAgQm94U2l6ZXMgY29tcHV0ZU9ic2Vy
dmVkU2l6ZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEJveFNpemVzPiBjb21wdXRlT2Jz
ZXJ2ZWRTaXplcygpIGNvbnN0OwogICAgIExheW91dFBvaW50IGNvbXB1dGVUYXJnZXRMb2NhdGlv
bigpIGNvbnN0OwogCiAgICAgV2Vha1B0cjxFbGVtZW50PiBtX3RhcmdldDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGVjOWRlYjllNzE5NWE3N2ZiZThkZTg0
NWQxMGM0M2RkZjEyOWY1ODMuLjFlNTRmZWJhZGZmMDgwMDU3MjZkNjM3OTA4NjdhNzA4MjliM2Iw
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtNjUyLDYg
KzY1Miw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKGJvb2wsIExheW91dFVuaXQp
CiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCkKIHsKKyAgICBp
ZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRl
eHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICByZXR1cm47CiAgICAgaWYgKGNoaWxkcmVu
SW5saW5lKCkpCiAgICAgICAgIGFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKCk7CiAgICAg
ZWxzZQpAQCAtNzQzLDYgKzc0NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJv
bUJsb2NrQ2hpbGRyZW4oKQogCiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21Qb3Np
dGlvbmVkT2JqZWN0cygpCiB7CisgICAgaWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXco
KS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAgICAgICAg
cmV0dXJuOwogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRh
bnRzKQogICAgICAgICByZXR1cm47CkBAIC0xMDc0LDcgKzEwNzgsMTMgQEAgdm9pZCBSZW5kZXJC
bG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVuLCBib29s
IGZpeGVkUG9zaXQKICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERl
c2NlbmRhbnRzID0gcG9zaXRpb25lZE9iamVjdHMoKTsKICAgICBpZiAoIXBvc2l0aW9uZWREZXNj
ZW5kYW50cykKICAgICAgICAgcmV0dXJuOwotICAgIAorCisgICAgaWYgKHNob3VsZFNraXBDb250
ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3Jj
ZWQoKSkgeworICAgICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJl
Z2luKCk7IGl0ICE9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7ICsraXQpCisgICAgICAg
ICAgICAoKippdCkuY2xlYXJOZWVkc0xheW91dCgpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgLy8gRG8gbm90IGNhY2hlIHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCkgaW4gYSBs
b2NhbCB2YXJpYWJsZSwgc2luY2UgfHBvc2l0aW9uZWREZXNjZW5kYW50c3wgY2FuIGJlIG11dGF0
ZWQKICAgICAvLyBhcyBpdCBpcyB3YWxrZWQuIFdlIGFsd2F5cyBuZWVkIHRvIGZldGNoIHRoZSBu
ZXcgZW5kKCkgdmFsdWUgZHluYW1pY2FsbHkuCiAgICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25l
ZERlc2NlbmRhbnRzLT5iZWdpbigpOyBpdCAhPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgp
OyArK2l0KQpAQCAtMTEzNyw3ICsxMTQ3LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRDb250
ZW50cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2YKICAg
ICAvLyBTdHlsZSBpcyBub24tZmluYWwgaWYgdGhlIGVsZW1lbnQgaGFzIGEgcGVuZGluZyBzdHls
ZXNoZWV0IGJlZm9yZSBpdC4gV2UgZW5kIHVwIHdpdGggcmVuZGVyZXJzIHdpdGggc3VjaCBzdHls
ZXMgaWYgYSBzY3JpcHQKICAgICAvLyBmb3JjZXMgcmVuZGVyZXIgY29uc3RydWN0aW9uIGJ5IHF1
ZXJ5aW5nIHNvbWV0aGluZyBsYXlvdXQgZGVwZW5kZW50LgogICAgIC8vIEF2b2lkIEZPVUMgYnkg
bm90IHBhaW50aW5nLiBTd2l0Y2hpbmcgdG8gZmluYWwgc3R5bGUgdHJpZ2dlcnMgcmVwYWludC4K
LSAgICBpZiAoc3R5bGUoKS5pc05vdEZpbmFsKCkpCisgICAgaWYgKHN0eWxlKCkuaXNOb3RGaW5h
bCgpIHx8IHNob3VsZFNraXBDb250ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChj
aGlsZHJlbklubGluZSgpKQpAQCAtMTI0MCw2ICsxMjUwLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6
cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWlu
dE9mZnMKIHsKICAgICBQYWludFBoYXNlIHBhaW50UGhhc2UgPSBwYWludEluZm8ucGhhc2U7CiAK
KyAgICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAg
ICAgICByZXR1cm47CisKICAgICAvLyAxLiBwYWludCBiYWNrZ3JvdW5kLCBib3JkZXJzIGV0Ywog
ICAgIGlmICgocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpCbG9ja0JhY2tncm91bmQgfHwgcGFp
bnRQaGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJsb2NrQmFja2dyb3VuZCkgJiYgc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkgewogICAgICAgICBpZiAoaGFzVmlz
aWJsZUJveERlY29yYXRpb25zKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCmluZGV4IDM2NDMxMmIwNDA1MzFmNmU1ZTBkODExZWE3ZWZlZTAzYmQ5OGQ3
YmMuLjk3ODVkZTE5YzA3ZTIyNDk5YzcwYTYxMGJiMGU0YWQ4ZWNiZTZmNGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC01MjcsNiArNTI3LDgg
QEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJl
biwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEgKICAgICAgICAgaWYgKCFmaXJzdENoaWxkKCkgJiYg
IWlzQW5vbnltb3VzQmxvY2soKSkKICAgICAgICAgICAgIHNldENoaWxkcmVuSW5saW5lKHRydWUp
OwogICAgICAgICBkaXJ0eUZvckxheW91dEZyb21QZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMo
KTsKKyAgICAgICAgaWYgKHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlv
dXRGb3JjZWQoKSAmJiAoKGVsZW1lbnQoKSAmJiBlbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQo
KSkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkpCisgICAgICAgICAgICByZWxheW91dENoaWxkcmVu
ID0gdHJ1ZTsKICAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgICAgICBsYXlv
dXRJbmxpbmVDaGlsZHJlbihyZWxheW91dENoaWxkcmVuLCByZXBhaW50TG9naWNhbFRvcCwgcmVw
YWludExvZ2ljYWxCb3R0b20pOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCA5YWI5OThlNDFjYjA4Y2Yw
YjZmOTBmMTBmMTNjNGI4NDU3ZWM5MzlmLi5mMWMzMmRiNjBlZjY3ZDE4NDVjMGQxYzFmZjg0ZjVl
OWM3M2QyZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKQEAgLTIxMiw2ICsyMTIsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2Jq
ZWN0Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIGlmIChzdHlsZVRvVXNlLmlzRmxpcHBlZEJsb2Nr
c1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5zZXRIYXNGbGlwcGVk
QmxvY2tSZW5kZXJlcnModHJ1ZSk7CiAgICAgc2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7CisgICAgc2V0TGF5b3V0Q29udGFpbm1l
bnRBcHBsaWVzKCghaXNJbmxpbmUoKSB8fCBpc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFp
c1J1YnlUZXh0KCkgJiYgKCFpc1RhYmxlUGFydCgpIHx8IGlzUmVuZGVyQmxvY2tGbG93KCkpKTsK
IH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhj
b25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCmluZGV4IDEwOGMwODAwOTkwNzFlMjNjNjJjYmM1MjA1OWQ4ZDk4NGM2MWRk
OWIuLmYxMWUwM2I0NDEwNzA0OGRmYjhhN2JmOTkzZjhlMDdlODA0NDEyMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTI0NDIsNCArMjQ0MiwxMSBA
QCBPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdAogICAg
IHJldHVybiBvdmVyZmxvd1k7CiB9CiAKK2Jvb2wgUmVuZGVyRWxlbWVudDo6c2hvdWxkU2tpcENv
bnRlbnQoKSBjb25zdAoreworICAgIGlmICghbGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+
c2hvdWxkU2tpcENvbnRlbnQoKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmgKaW5kZXggNmU5NzVkM2QwNzI4YzY1OTgyMTY0OWYwZjU3ODBiZjA2MGFlYWIz
Ni4uZjJjYzE3NDJmZWJhNDQ4NGNhMjc5ODkxY2U5YTQxZDE2ZTRlOTAwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0xNjIsNiArMTYyLDkgQEAgcHVibGlj
OgogICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJs
ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoZWxlbWVudCgpICYm
IGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgICAgIGlmICgoIWhpdFRlc3RSZXF1ZXN0IHx8ICFoaXRUZXN0UmVxdWVzdC0+aWdu
b3JlQ1NTUG9pbnRlckV2ZW50c1Byb3BlcnR5KCkpICYmIHN0eWxlKCkuZWZmZWN0aXZlUG9pbnRl
ckV2ZW50cygpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKQEAgLTI3MSw2ICsyNzQsOCBAQCBwdWJsaWM6CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZl
T3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6IGVmZmVjdGl2ZU92ZXJm
bG93WSgpOyB9CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigp
IGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVj
dGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0KIAorICAgIGJvb2wgc2hv
dWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQmFzZVR5cGVG
bGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcgID0gMSA8PCAwLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRleCBlMmI0YjA5ZjU3ZGVi
M2E0NTk4ZjNiZDBjZTY3MzRiMDk3NWIxYzUyLi4yMmJlNTM3N2FlZGU5ZDM2YTE2MWY0OGM3YzAz
ZjZhOThhNTcwMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNw
cApAQCAtMjI4LDYgKzIyOCw4IEBAIGJvb2wgUmVuZGVySW5saW5lOjptYXlBZmZlY3RMYXlvdXQo
KSBjb25zdAogCiB2b2lkIFJlbmRlcklubGluZTo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKKyAgICBpZiAoc2hvdWxkU2tpcENv
bnRlbnQoKSB8fCAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKSkK
KyAgICAgICAgcmV0dXJuOwogICAgIG1fbGluZUJveGVzLnBhaW50KHRoaXMsIHBhaW50SW5mbywg
cGFpbnRPZmZzZXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAppbmRleCAzN2E4MmI4MjlhNThkYWZhYWZiN2VkMDA0ZWUzM2Q1OWNlYWM0ZTRkLi45OTBlOTg3
ZDk3NmU1NWNhNGQyNDk5M2Y3ZjFkYTBkZDBmMjMxZjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTMwNTAsNiArMzA1MCw5IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBwYWludEZvckZpeGVkUm9vdEJhY2tncm91bmQoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVy
LCBPcHRpb25TCiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIoR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgcGFpbnRpbmdJbmZvLCBPcHRpb25T
ZXQ8UGFpbnRMYXllckZsYWc+IHBhaW50RmxhZ3MpCiB7CisgICAgaWYgKHJlbmRlcmVyKCkuZWxl
bWVudCgpICYmIHJlbmRlcmVyKCkuZWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCkpCisgICAg
ICAgIHJldHVybjsKKwogICAgIGF1dG8gc2hvdWxkQ29udGludWVQYWludCA9IFsmXSAoKSB7CiAg
ICAgICAgIHJldHVybiBiYWNraW5nKCktPnBhaW50c0ludG9XaW5kb3coKQogICAgICAgICAgICAg
fHwgYmFja2luZygpLT5wYWludHNJbnRvQ29tcG9zaXRlZEFuY2VzdG9yKCkKQEAgLTMzNDMsNiAr
MzM0Niw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiB7CiAgICAgQVNTRVJUKGlzU2VsZlBh
aW50aW5nTGF5ZXIoKSB8fCBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSk7CiAKKyAg
ICAvLyBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIoKS5lbGVtZW50KCktPmlz
U2tpcHBlZENvbnRlbnQoKSkKKyAgICAvLyAgICAgcmV0dXJuOworCiAgICAgaWYgKGNvbnRleHQu
ZGV0ZWN0aW5nQ29udGVudGZ1bFBhaW50KCkgJiYgY29udGV4dC5jb250ZW5mdWxQYWludERldGVj
dGVkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMzU5Miw3ICszNTk4LDcgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6cGFpbnRMaXN0KExheWVyTGlzdCBsYXllckl0ZXJhdG9yLCBHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHQsIGMKICAgICBpZiAobGF5ZXJJdGVyYXRvci5iZWdpbigpID09IGxheWVySXRl
cmF0b3IuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghaGFzU2VsZlBhaW50aW5n
TGF5ZXJEZXNjZW5kYW50KCkpCisgICAgaWYgKCFoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRh
bnQoKSB8fCByZW5kZXJlcigpLnNob3VsZFNraXBDb250ZW50KCkpCiAgICAgICAgIHJldHVybjsK
IAogI2lmIEFTU0VSVF9FTkFCTEVECkBAIC00MDcyLDYgKzQwNzgsOCBAQCBWZWN0b3I8UmVuZGVy
TGF5ZXIqPiBSZW5kZXJMYXllcjo6dG9wTGF5ZXJSZW5kZXJMYXllcnMoUmVuZGVyVmlldyYgcmVu
ZGVyVmlldykKICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBsYXllcnM7CiAgICAgYXV0byB0b3BM
YXllckVsZW1lbnRzID0gcmVuZGVyVmlldy5kb2N1bWVudCgpLnRvcExheWVyRWxlbWVudHMoKTsK
ICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiB0b3BMYXllckVsZW1lbnRzKSB7CisgICAgICAgIGlm
IChlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpOwogICAgICAgICBpZiAo
IXJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CkBAIC00NDg5LDYgKzQ0OTcsOSBAQCBS
ZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMaXN0KExheWVyTGlzdCBsYXllckl0ZXJh
dG9yLCBSZW5kZXJMYXllciogcm9vdAogICAgIGlmICghaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgaWYgKHJlbmRlcmVyKCku
c2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBSZW5k
ZXJMYXllciogcmVzdWx0TGF5ZXIgPSBudWxscHRyOwogCiAgICAgZm9yIChhdXRvIGl0ZXIgPSBs
YXllckl0ZXJhdG9yLnJiZWdpbigpOyBpdGVyICE9IGxheWVySXRlcmF0b3IucmVuZCgpOyArK2l0
ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAKaW5kZXggNDI1YzY5YzMxNDFiZjc0ZmE1NzJkZjIwYmI4YTBlNDA1NzdhYjgxOC4uMDlmYTE0
ODI4NzRiMjgwY2U4Mzg5MjMwOGJkYjRlZjQzYjE2MDllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTE1OTgsNyArMTU5OCw4IEBA
IHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRzKCkKICAgICAg
ICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZSghbV9oYXNTdWJwaXhlbFJvdW5k
aW5nICYmIG1fb3duaW5nTGF5ZXIuYmFja2dyb3VuZElzS25vd25Ub0JlT3BhcXVlSW5SZWN0KGNv
bXBvc2l0ZWRCb3VuZHMoKSkpOwogICAgIH0KIAotICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29u
dGVudHNWaXNpYmxlKG1fb3duaW5nTGF5ZXIuaGFzVmlzaWJsZUNvbnRlbnQoKSB8fCBoYXNWaXNp
YmxlTm9uQ29tcG9zaXRlZERlc2NlbmRhbnRzKCkpOworICAgIGJvb2wgaXNTa2lwcGVkQ29udGVu
dCA9IHJlbmRlcmVyKCkuZWxlbWVudCgpID8gcmVuZGVyZXIoKS5lbGVtZW50KCktPmlzU2tpcHBl
ZENvbnRlbnQoKSA6IGZhbHNlOworICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNWaXNp
YmxlKCFpc1NraXBwZWRDb250ZW50ICYmIChtX293bmluZ0xheWVyLmhhc1Zpc2libGVDb250ZW50
KCkgfHwgaGFzVmlzaWJsZU5vbkNvbXBvc2l0ZWREZXNjZW5kYW50cygpKSk7CiAgICAgaWYgKG1f
c2Nyb2xsQ29udGFpbmVyTGF5ZXIpIHsKICAgICAgICAgbV9zY3JvbGxDb250YWluZXJMYXllci0+
c2V0Q29udGVudHNWaXNpYmxlKHJlbmRlcmVyKCkuc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlz
aWJpbGl0eTo6VmlzaWJsZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAppbmRleCA4ZDk5MGYxZDUzMWJlNjNmMmIyNWQwNjE0
NWZiMTMxYzQxMDA3MjZjLi5mMGYxOGUxMTg3NmJmNzkwNTJkNDEzNjc0YjQxZGMyMTkyNzhmYjE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxP
YmplY3QuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oIgogCisjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGlu
ZXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5k
ZXJMYXllckJhY2tpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKQEAg
LTExNCw2ICsxMTUsMTIgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdHlsZURpZENo
YW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3QKICAgICBSZW5kZXJFbGVt
ZW50OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAgdXBkYXRlRnJvbVN0eWxl
KCk7CiAKKyAgICBpZiAoZWxlbWVudCgpICYmICgob2xkU3R5bGUgJiYgb2xkU3R5bGUtPmNvbnRl
bnRWaXNpYmlsaXR5KCkgIT0gc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKSB8fCAoIW9sZFN0
eWxlICYmIHN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSAhPSBDb250ZW50VmlzaWJpbGl0eTo6
VmlzaWJsZSkpKSB7CisgICAgICAgIGVsZW1lbnQoKS0+dXBkYXRlQ29udGVudFZpc2liaWxpdHko
b2xkU3R5bGUgPyBzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmlsaXR5PihvbGRTdHlsZS0+Y29u
dGVudFZpc2liaWxpdHkoKSkgOiBzdGQ6Om51bGxvcHQsIHN0eWxlKCkuY29udGVudFZpc2liaWxp
dHkoKSk7CisgICAgICAgIGlmIChzdHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVu
dFZpc2liaWxpdHk6OlZpc2libGUpCisgICAgICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUFuaW1h
dGlvbnNBbmRTZW5kRXZlbnRzKCk7CisgICAgfQorCiAgICAgaWYgKHJlcXVpcmVzTGF5ZXIoKSkg
ewogICAgICAgICBpZiAoIWxheWVyKCkgJiYgbGF5ZXJDcmVhdGlvbkFsbG93ZWRGb3JTdWJ0cmVl
KCkpIHsKICAgICAgICAgICAgIGlmIChzX3dhc0Zsb2F0aW5nICYmIGlzRmxvYXRpbmcoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMTBiMGQzY2VhNjc2
YTg5ZDBiMWRmMTFlNzMyN2UzNGI1M2E0NDZmYy4uYTc5ZjBiMGRmNWQ1MjZhMDdlZWVjOWNhY2Ex
ODE1Y2ZjYzVmNzJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKQEAgLTQ1NCw2ICs0NTQsOSBAQCBib29sIFJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaQogICAgIGlmIChv
cHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChpczxFbGVtZW50Pihub2RlKCkpICYmIGRv
d25jYXN0PEVsZW1lbnQ+KCpub2RlKCkpLmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCiAgICAgUmVuZGVyTGF5ZXIqIGVuY2xvc2luZ0xheWVyID0gdGhpcy0+ZW5j
bG9zaW5nTGF5ZXIoKTsKICAgICBpZiAoIWVuY2xvc2luZ0xheWVyKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC0xOTg2LDYgKzE5ODksMTIgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnNldFBhaW50
Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgcGFpbnRDb250YWlubWVudEFwcGxpZXMpCiAgICAgICAg
IGVuc3VyZVJhcmVEYXRhKCkuc2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMocGFpbnRDb250YWlu
bWVudEFwcGxpZXMpOwogfQogCit2b2lkIFJlbmRlck9iamVjdDo6c2V0TGF5b3V0Q29udGFpbm1l
bnRBcHBsaWVzKGJvb2wgbGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKQoreworICAgIGlmIChsYXlv
dXRDb250YWlubWVudEFwcGxpZXMgfHwgaGFzUmFyZURhdGEoKSkKKyAgICAgICAgZW5zdXJlUmFy
ZURhdGEoKS5zZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMobGF5b3V0Q29udGFpbm1lbnRBcHBs
aWVzKTsKK30KKwogUmVuZGVyT2JqZWN0OjpSYXJlRGF0YU1hcCYgUmVuZGVyT2JqZWN0OjpyYXJl
RGF0YU1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJhcmVEYXRhTWFwPiBtYXA7
CkBAIC0yMDE1LDYgKzIwMjQsNyBAQCBSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSgpCiAgICAgLCBtX2lzUmVuZGVyRnJhZ21lbnRlZEZsb3co
ZmFsc2UpCiAgICAgLCBtX2hhc091dGxpbmVBdXRvQW5jZXN0b3IoZmFsc2UpCiAgICAgLCBtX3Bh
aW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQorICAgICwgbV9sYXlvdXRDb250YWlubWVudEFw
cGxpZXMoZmFsc2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aAppbmRleCBmMGVlYWFlYzk4NGQ4M2I2YWQ2ZDE5YWVlOTY1OWUzYjM2M2Y0ZmU3Li5jMTFhMzcx
ZmU3MTNmOGRiZGE4MmQyMThmYTNhNDE0ZjEzYjVkYTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCkBAIC00MTYsNiArNDE2LDcgQEAgcHVibGljOgogICAgIGJvb2wg
aXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1Jh
cmVEYXRhKCkgJiYgcmFyZURhdGEoKS5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCk7IH0KICAgICBi
b29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3IoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5o
YXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkuaGFzT3V0bGluZUF1dG9BbmNlc3RvcigpOyB9CiAg
ICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0dXJuIG1fYml0Zmll
bGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5wYWludENvbnRhaW5tZW50QXBwbGllcygp
OyB9CisgICAgYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxpZXMoKSBjb25zdCB7IHJldHVybiBt
X2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkubGF5b3V0Q29udGFpbm1lbnRB
cHBsaWVzKCk7IH0KIAogICAgIGJvb2wgaXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSBjb25z
dCB7IHJldHVybiBtX2JpdGZpZWxkcy5pc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpOyB9CiAg
ICAgdm9pZCBzZXRJc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dChib29sIGV4Y2x1ZGVkKSB7IG1f
Yml0ZmllbGRzLnNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KGV4Y2x1ZGVkKTsgfQpAQCAt
NTE1LDYgKzUxNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVuZGVyRnJhZ21lbnRlZEZs
b3coYm9vbCA9IHRydWUpOwogICAgIHZvaWQgc2V0SGFzT3V0bGluZUF1dG9BbmNlc3Rvcihib29s
ID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhib29sID0gdHJ1
ZSk7CisgICAgdm9pZCBzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoYm9vbCA9IHRydWUpOwog
CiAgICAgLy8gSG9vayBzbyB0aGF0IFJlbmRlclRleHRDb250cm9sIGNhbiByZXR1cm4gdGhlIGxp
bmUgaGVpZ2h0IG9mIGl0cyBpbm5lciByZW5kZXJlci4KICAgICAvLyBGb3Igb3RoZXIgcmVuZGVy
ZXJzLCB0aGUgdmFsdWUgaXMgdGhlIHNhbWUgYXMgbGluZUhlaWdodChmYWxzZSkuCkBAIC05NDQs
NiArOTQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaXNSZW5k
ZXJGcmFnbWVudGVkRmxvdywgSXNSZW5kZXJGcmFnbWVudGVkRmxvdyk7CiAgICAgICAgIEFERF9C
T09MRUFOX0JJVEZJRUxEKGhhc091dGxpbmVBdXRvQW5jZXN0b3IsIEhhc091dGxpbmVBdXRvQW5j
ZXN0b3IpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChwYWludENvbnRhaW5tZW50QXBw
bGllcywgUGFpbnRDb250YWlubWVudEFwcGxpZXMpOworICAgICAgICBBRERfQk9PTEVBTl9CSVRG
SUVMRChsYXlvdXRDb250YWlubWVudEFwcGxpZXMsIExheW91dENvbnRhaW5tZW50QXBwbGllcyk7
CiAKICAgICAgICAgLy8gRnJvbSBSZW5kZXJFbGVtZW50CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZW5kZXJTdHlsZT4gY2FjaGVkRmlyc3RMaW5lU3R5bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA2OTdjNzQ1OWJhYWIxOWJlNzg3NzQxZGRl
MTJmYjM4ZTc4MmUwZWY0Li42ZGUxMDEzMDliNGQ3YzZhNGJkNTU1YjU2YTMxZGYxM2M3YjJlYjU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTI3
Niw3ICsyNzYsOCBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpwYWludChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIH0KIAogICAgIGlmICgh
Y29tcGxldGVseUNsaXBwZWRPdXQpIHsKLSAgICAgICAgcGFpbnRSZXBsYWNlZChwYWludEluZm8s
IGFkanVzdGVkUGFpbnRPZmZzZXQpOworICAgICAgICBpZiAoIXNob3VsZFNraXBDb250ZW50KCkp
CisgICAgICAgICAgICBwYWludFJlcGxhY2VkKHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNl
dCk7CiAKICAgICAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpCiAgICAgICAgICAg
ICBwYWludEluZm8uY29udGV4dCgpLnJlc3RvcmUoKTsKQEAgLTMxNiw3ICszMTcsNyBAQCBib29s
IFJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50TwogICAgIC8vIGlmIHdlJ3JlIGludmlzaWJsZSBvciBoYXZlbid0
IHJlY2VpdmVkIGEgbGF5b3V0IHlldCwgdGhlbiBqdXN0IGJhaWwuCiAgICAgaWYgKHN0eWxlKCku
dmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAKKwogICAgIExheW91dFBvaW50IGFkanVzdGVkUGFpbnRPZmZzZXQgPSBwYWludE9m
ZnNldCArIGxvY2F0aW9uKCk7CiAKICAgICAvLyBFYXJseSBleGl0IGlmIHRoZSBlbGVtZW50IHRv
dWNoZXMgdGhlIGVkZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmlu
ZGV4IGFhZmQ5ZGNkMDU2ODM5Zjg3N2I5MzY3MTZhZGRiNmJjMGNlYTNiMmQuLjhiZmYxMWIzNjQ2
OTk4OWI5ZjhjNTc4MDVkNTkxMmQ0ZmI3YjNiZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAKQEAgLTE3Niw3ICsxNzYsOSBAQCB2b2lkIFJlbmRlclZpZXc6OmxheW91
dCgpCiAgICAgfQogCiAgICAgQVNTRVJUKCFmcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5
b3V0U3RhdGUoKSk7Ci0gICAgaWYgKCFuZWVkc0xheW91dCgpKQorICAgIGlmIChmcmFtZVZpZXco
KS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAgICAgICAgc2V0Q2hpbGROZWVk
c0xheW91dChNYXJrT25seVRoaXMpOworICAgIGVsc2UgaWYgKCFuZWVkc0xheW91dCgpKQogICAg
ICAgICByZXR1cm47CiAKICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIgc3RhdGVQdXNoZXIoKnRo
aXMsIHsgfSwgZmFsc2UsIHZhbHVlT3JEZWZhdWx0KG1fcGFnZUxvZ2ljYWxTaXplKS5oZWlnaHQo
KSwgbV9wYWdlTG9naWNhbEhlaWdodENoYW5nZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyV2lkZ2V0LmNwcAppbmRleCBlZmIzYThiZTBjZTJkMDAyMTM0Y2YyODNkMzhkOTQwYmY0
MDIzMTU4Li40MTY2ZDZkNzA1ZDYxZGM5NjkzNzM4YzYyM2VhNDFiMmQ0ZWY0ZWY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcApAQCAtMzI1LDcgKzMyNSw3IEBA
IHZvaWQgUmVuZGVyV2lkZ2V0OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5
b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgICAgICBjbGlwUm91bmRlZElubmVyUmVjdChwYWlu
dEluZm8uY29udGV4dCgpLCBib3JkZXJSZWN0LCByb3VuZGVkSW5uZXJSZWN0KTsKICAgICB9CiAK
LSAgICBpZiAobV93aWRnZXQpCisgICAgaWYgKG1fd2lkZ2V0ICYmICFzaG91bGRTa2lwQ29udGVu
dCgpKQogICAgICAgICBwYWludENvbnRlbnRzKHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogCiAg
ICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBlOGY0NGY1MjBkNzg2ZThhNmI0ZTI4
YTJiZWExODU5ZTZmOTc4ZjY3Li5mM2M2OWMxZGFkOTA2MDc3MGEwOTYxMjNiODc5NGY4ZTM3NmVm
Y2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAKQEAgLTE5NSw2ICsxOTUsNyBAQCBSZW5kZXJTdHlsZTo6UmVuZGVyU3R5bGUoQ3JlYXRlRGVm
YXVsdFN0eWxlVGFnKQogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MubGFzdENoaWxkU3RhdGUgPSBm
YWxzZTsKICAgICBtX25vbkluaGVyaXRlZEZsYWdzLmlzTGluayA9IGZhbHNlOwogICAgIG1fbm9u
SW5oZXJpdGVkRmxhZ3MuaGFzQ29udGVudE5vbmUgPSBmYWxzZTsKKyAgICBtX25vbkluaGVyaXRl
ZEZsYWdzLnNraXBzQ29udGVudHMgPSBmYWxzZTsKICAgICBtX25vbkluaGVyaXRlZEZsYWdzLnN0
eWxlVHlwZSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihQc2V1ZG9JZDo6Tm9uZSk7CiAgICAgbV9u
b25Jbmhlcml0ZWRGbGFncy5wc2V1ZG9CaXRzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVk
b0lkOjpOb25lKTsKIApAQCAtNzQ3LDYgKzc0OCw5IEBAIHN0YXRpYyBib29sIHJhcmVOb25Jbmhl
cml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVk
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChmaXJzdC5jb250ZW50Vmlz
aWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkpCisgICAgICAgIHJldHVybiB0cnVl
OworCiAgICAgaWYgKGZpcnN0LmlucHV0U2VjdXJpdHkgIT0gc2Vjb25kLmlucHV0U2VjdXJpdHkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xMDU2LDYgKzEwNjAsOSBAQCBzdGF0aWMgYm9v
bCByYXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVwYWludChjb25zdCBTdHlsZVJh
cmVOb25Jbmhlcml0ZQogICAgIGlmIChmaXJzdC5zaGFwZU91dHNpZGUgIT0gc2Vjb25kLnNoYXBl
T3V0c2lkZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoZmlyc3QuY29udGVudFZp
c2liaWxpdHkgIT0gc2Vjb25kLmNvbnRlbnRWaXNpYmlsaXR5KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKwogICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCB0byBjaGFu
Z2VSZXF1aXJlc0xheWVyUmVwYWludCgpLgogICAgIGlmIChmaXJzdC5jbGlwUGF0aCAhPSBzZWNv
bmQuY2xpcFBhdGgpIHsKICAgICAgICAgY2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9wZXJ0aWVz
LmFkZChTdHlsZURpZmZlcmVuY2VDb250ZXh0U2Vuc2l0aXZlUHJvcGVydHk6OkNsaXBQYXRoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggZjk0
NTFhMjNhZGRjODNhYmY2Mjg0YWY4MjNiYjc1OTk0N2Y3OTNlNS4uYWI1NTQ4MzkyYjQzMTNlMjI2
MzgzNWZjYTc0ZTRhOTE0MmRkZTcyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCwxMSArNTI4LDEzIEBAIHB1YmxpYzoKICAgICB9CiAg
ICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlvVHlwZSgp
ID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0
UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNv
bnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9
CisgICAgQ29udGVudFZpc2liaWxpdHkgY29udGVudFZpc2liaWxpdHkoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxDb250ZW50VmlzaWJpbGl0eT4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGVudFZpc2liaWxpdHkpOyB9CisgICAgYm9vbCBjb250ZW50VmlzaWJpbGl0eUhpZGRlbigp
IGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6
OkhpZGRlbjsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gZWZmZWN0aXZlQ29udGFpbm1l
bnQoKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZm
ZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQotICAg
IGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQo
KS5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KLSAgICBib29sIGNvbnRhaW5zU3R5bGUo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTdHlsZSk7IH0KLSAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBl
ZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KKyAg
ICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1l
bnQoKS5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KSB8fCBjb250ZW50VmlzaWJpbGl0eSgp
ICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1NpemUo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTaXplKSB8fCBza2lwc0NvbnRlbnRzKCk7IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTdHlsZSkgfHwgY29udGVudFZpc2liaWxpdHkoKSAhPSBDb250ZW50VmlzaWJpbGl0eTo6
VmlzaWJsZTsgfQorICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVj
dGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KSB8fCBjb250ZW50
VmlzaWJpbGl0eSgpICE9IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CiAgICAgQ29udGFp
bmVyVHlwZSBjb250YWluZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29udGFp
bmVyVHlwZT4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbmVyVHlwZSk7IH0KICAgICBj
b25zdCBWZWN0b3I8QXRvbVN0cmluZz4mIGNvbnRhaW5lck5hbWVzKCkgY29uc3QgeyByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbmVyTmFtZXM7IH0KICAgICBCb3hBbGlnbm1l
bnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CkBA
IC0xMDY2LDYgKzEwNjgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb250YWluZXJUeXBlKENv
bnRhaW5lclR5cGUgY29udGFpbmVyVHlwZSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERh
dGEsIGNvbnRhaW5lclR5cGUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb250YWluZXJUeXBlKSk7
IH0KICAgICB2b2lkIHNldENvbnRhaW5lck5hbWVzKGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYg
bmFtZXMpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBjb250YWluZXJOYW1lcywg
bmFtZXMpOyB9CiAKKyAgICB2b2lkIHNldENvbnRlbnRWaXNpYmlsaXR5KENvbnRlbnRWaXNpYmls
aXR5IHZhbHVlKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGVudFZpc2li
aWxpdHksIHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWx1ZSkpOyB9CisKICAgICB2b2lkIHNldExp
c3RTdHlsZVN0cmluZ1ZhbHVlKGNvbnN0IEF0b21TdHJpbmcmIHZhbHVlKSB7IFNFVF9WQVIobV9y
YXJlSW5oZXJpdGVkRGF0YSwgbGlzdFN0eWxlU3RyaW5nVmFsdWUsIHZhbHVlKTsgfQogICAgIHZv
aWQgc2V0TGlzdFN0eWxlVHlwZShMaXN0U3R5bGVUeXBlIHYpIHsgbV9pbmhlcml0ZWRGbGFncy5s
aXN0U3R5bGVUeXBlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHYpOyB9CiAgICAgdm9pZCBzZXRM
aXN0U3R5bGVJbWFnZShSZWZQdHI8U3R5bGVJbWFnZT4mJik7CkBAIC0xNDk2LDYgKzE1MDAsOCBA
QCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBjb250ZW50QWx0VGV4dCgpIGNvbnN0OwogICAg
IGJvb2wgaGFzQXR0ckNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLT5oYXNBdHRyQ29udGVudDsgfQogICAgIHZvaWQgc2V0SGFzQXR0ckNvbnRlbnQoKTsKKyAg
ICBib29sIHNraXBzQ29udGVudHMoKSBjb25zdCB7IHJldHVybiBtX25vbkluaGVyaXRlZEZsYWdz
LnNraXBzQ29udGVudHM7IH0KKyAgICB2b2lkIHNldFNraXBzQ29udGVudHMoYm9vbCB2KSB7IG1f
bm9uSW5oZXJpdGVkRmxhZ3Muc2tpcHNDb250ZW50cyA9IHY7IH0KIAogICAgIGNvbnN0IENvdW50
ZXJEaXJlY3RpdmVNYXAqIGNvdW50ZXJEaXJlY3RpdmVzKCkgY29uc3Q7CiAgICAgQ291bnRlckRp
cmVjdGl2ZU1hcCYgYWNjZXNzQ291bnRlckRpcmVjdGl2ZXMoKTsKQEAgLTE2ODEsNiArMTY4Nyw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBpbml0aWFsQ29u
dGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHsgfTsgfQogICAgIHN0
YXRpYyBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHN0cmljdENvbnRhaW5tZW50KCkgeyByZXR1cm4g
T3B0aW9uU2V0PENvbnRhaW5tZW50PiB7IENvbnRhaW5tZW50OjpTaXplLCBDb250YWlubWVudDo6
TGF5b3V0LCBDb250YWlubWVudDo6UGFpbnQsIENvbnRhaW5tZW50OjpTdHlsZSB9OyB9CiAgICAg
c3RhdGljIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGVudENvbnRhaW5tZW50KCkgeyByZXR1
cm4gT3B0aW9uU2V0PENvbnRhaW5tZW50PiB7IENvbnRhaW5tZW50OjpMYXlvdXQsIENvbnRhaW5t
ZW50OjpQYWludCwgQ29udGFpbm1lbnQ6OlN0eWxlIH07IH0KKyAgICBzdGF0aWMgQ29udGVudFZp
c2liaWxpdHkgaW5pdGlhbENvbnRlbnRWaXNpYmlsaXR5KCkgeyByZXR1cm4gQ29udGVudFZpc2li
aWxpdHk6OlZpc2libGU7IH0KICAgICBzdGF0aWMgQ29udGFpbmVyVHlwZSBpbml0aWFsQ29udGFp
bmVyVHlwZSgpIHsgcmV0dXJuIENvbnRhaW5lclR5cGU6Ok5vbmU7IH0KICAgICBzdGF0aWMgVmVj
dG9yPEF0b21TdHJpbmc+IGluaXRpYWxDb250YWluZXJOYW1lcygpIHsgcmV0dXJuIHsgfTsgfQog
ICAgIHN0YXRpYyBkb3VibGUgaW5pdGlhbEFzcGVjdFJhdGlvV2lkdGgoKSB7IHJldHVybiAxLjA7
IH0KQEAgLTE5NTQsNiArMTk2MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHVuc2lnbmVkIGxhc3RD
aGlsZFN0YXRlIDogMTsKICAgICAgICAgdW5zaWduZWQgaXNMaW5rIDogMTsKICAgICAgICAgdW5z
aWduZWQgaGFzQ29udGVudE5vbmUgOiAxOworICAgICAgICB1bnNpZ25lZCBza2lwc0NvbnRlbnRz
IDogMTsKIAogICAgICAgICB1bnNpZ25lZCBzdHlsZVR5cGUgOiA0OyAvLyBQc2V1ZG9JZAogICAg
ICAgICB1bnNpZ25lZCBwc2V1ZG9CaXRzIDogKHN0YXRpY19jYXN0PHVuc2lnbmVkPihQc2V1ZG9J
ZDo6Rmlyc3RJbnRlcm5hbFBzZXVkb0lkKSAtIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQc2V1ZG9J
ZDo6Rmlyc3RQdWJsaWNQc2V1ZG9JZCkpOwpAQCAtMjA5MSw2ICsyMDk5LDcgQEAgaW5saW5lIGJv
b2wgUmVuZGVyU3R5bGU6Ok5vbkluaGVyaXRlZEZsYWdzOjpvcGVyYXRvcj09KGNvbnN0IE5vbklu
aGVyaXRlZEZsYWdzJgogICAgICAgICAmJiBsYXN0Q2hpbGRTdGF0ZSA9PSBvdGhlci5sYXN0Q2hp
bGRTdGF0ZQogICAgICAgICAmJiBpc0xpbmsgPT0gb3RoZXIuaXNMaW5rCiAgICAgICAgICYmIGhh
c0NvbnRlbnROb25lID09IG90aGVyLmhhc0NvbnRlbnROb25lCisgICAgICAgICYmIHNraXBzQ29u
dGVudHMgPT0gb3RoZXIuc2tpcHNDb250ZW50cwogICAgICAgICAmJiBzdHlsZVR5cGUgPT0gb3Ro
ZXIuc3R5bGVUeXBlCiAgICAgICAgICYmIHBzZXVkb0JpdHMgPT0gb3RoZXIucHNldWRvQml0czsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmgKaW5kZXggMGE5NGI2ZGYzZDQ3NDhiNDJhYTM3Y2NjZWRjMzdiYzkzNzUyNmFm
Yi4uMWE1MDQ1NDEwMTBkNjhlZmY0YzE4MzY0NmE5ZTk5N2Q2MmFhM2M4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgK
QEAgLTEyMzgsNiArMTIzOCwxMiBAQCBlbnVtIGNsYXNzIENvbnRhaW5lclR5cGUgOiB1aW50OF90
IHsKICAgICBJbmxpbmVTaXplLAogfTsKIAorZW51bSBjbGFzcyBDb250ZW50VmlzaWJpbGl0eSA6
IHVpbnQ4X3QgeworICAgIFZpc2libGUsCisgICAgQXV0bywKKyAgICBIaWRkZW4sCit9OworCiBD
U1NCb3hUeXBlIHRyYW5zZm9ybUJveFRvQ1NTQm94VHlwZShUcmFuc2Zvcm1Cb3gpOwogCiBleHRl
cm4gY29uc3QgZmxvYXQgZGVmYXVsdE1pdGVyTGltaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAK
aW5kZXggMTkyNDllZjBlOWZhMjhmYzU0MGJkZGIwYzRjYzRjMjFmMTYwMDBmMi4uNzczNGFhNmU2
Y2RkNjU4MTEyNThmNmMzMzdmY2VlODNlMDlmMWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNw
cApAQCAtOTUsNiArOTUsNyBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhKCkKICAgICAsIGVmZmVjdGl2ZUFwcGVhcmFuY2Uoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQXBwZWFyYW5jZSgpKSkKICAgICAsIHRleHRE
ZWNvcmF0aW9uU3R5bGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFs
VGV4dERlY29yYXRpb25TdHlsZSgpKSkKICAgICAsIGFzcGVjdFJhdGlvVHlwZShzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxBc3BlY3RSYXRpb1R5cGUoKSkpCisgICAg
LCBjb250ZW50VmlzaWJpbGl0eShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oQ29udGVudFZpc2liaWxp
dHk6OlZpc2libGUpKQogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBlZmZlY3Rp
dmVCbGVuZE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQmxl
bmRNb2RlKCkpKQogICAgICwgaXNvbGF0aW9uKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJT
dHlsZTo6aW5pdGlhbElzb2xhdGlvbigpKSkKQEAgLTE5OSw2ICsyMDAsNyBAQCBpbmxpbmUgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShjb25zdCBT
dHlsZVJhcmVOb25JbgogICAgICwgZWZmZWN0aXZlQXBwZWFyYW5jZShvLmVmZmVjdGl2ZUFwcGVh
cmFuY2UpCiAgICAgLCB0ZXh0RGVjb3JhdGlvblN0eWxlKG8udGV4dERlY29yYXRpb25TdHlsZSkK
ICAgICAsIGFzcGVjdFJhdGlvVHlwZShvLmFzcGVjdFJhdGlvVHlwZSkKKyAgICAsIGNvbnRlbnRW
aXNpYmlsaXR5KG8uY29udGVudFZpc2liaWxpdHkpCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElO
RykKICAgICAsIGVmZmVjdGl2ZUJsZW5kTW9kZShvLmVmZmVjdGl2ZUJsZW5kTW9kZSkKICAgICAs
IGlzb2xhdGlvbihvLmlzb2xhdGlvbikKQEAgLTMyMCw2ICszMjIsNyBAQCBib29sIFN0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YSYgbykgYwogICAgICAgICAmJiBhcHBsZVBheUJ1dHRvblR5cGUgPT0gby5hcHBsZVBheUJ1
dHRvblR5cGUKICNlbmRpZgogICAgICAgICAmJiBhc3BlY3RSYXRpb1R5cGUgPT0gby5hc3BlY3RS
YXRpb1R5cGUKKyAgICAgICAgJiYgY29udGVudFZpc2liaWxpdHkgPT0gby5jb250ZW50VmlzaWJp
bGl0eQogICAgICAgICAmJiBvYmplY3RGaXQgPT0gby5vYmplY3RGaXQKICAgICAgICAgJiYgYnJl
YWtBZnRlciA9PSBvLmJyZWFrQWZ0ZXIKICAgICAgICAgJiYgYnJlYWtCZWZvcmUgPT0gby5icmVh
a0JlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXggY2ExNTdmODMzNGU0ZjkwMTYxY2U1YjE5
Njg4Zjc3NzZkYTg3ZjdmNi4uY2IzZTQxZTg4ZTg5YTA5MDgyNDc2NjJiMTU0MzFhNjBkY2M5ZjA5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0yMDgsNyArMjA4LDggQEAgcHVibGljOgogCiAg
ICAgdW5zaWduZWQgdGV4dERlY29yYXRpb25TdHlsZSA6IDM7IC8vIFRleHREZWNvcmF0aW9uU3R5
bGUKIAotICAgIHVuc2lnbmVkIGFzcGVjdFJhdGlvVHlwZSA6IDM7CisgICAgdW5zaWduZWQgYXNw
ZWN0UmF0aW9UeXBlIDogMjsKKyAgICB1bnNpZ25lZCBjb250ZW50VmlzaWJpbGl0eSA6IDI7CiAK
ICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIHVuc2lnbmVkIGVmZmVjdGl2ZUJsZW5k
TW9kZTogNTsgLy8gRUJsZW5kTW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVBZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNw
cAppbmRleCAwNzAzMGQ3Zjg3MWYzYzU0N2E0ZTI2ZGZjZWFkZTVkMTMwMjllMjViLi5iMDQ2ODcx
OGNlMDRmM2RhNDNlODQ1ZDkzYmFmNjNmNTViMjI0MzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUFkanVzdGVyLmNwcApAQCAtNTQ2LDYgKzU0NiwxMCBAQCB2b2lkIEFkanVzdGVyOjphZGp1
c3QoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogdXNlckFnZW50QXBwZWFy
YW5jZQogCiAgICAgaWYgKG1fZWxlbWVudCkKICAgICAgICAgc3R5bGUuc2V0RXZlbnRMaXN0ZW5l
clJlZ2lvblR5cGVzKGNvbXB1dGVFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoKm1fZWxlbWVudCwg
bV9wYXJlbnRTdHlsZS5ldmVudExpc3RlbmVyUmVnaW9uVHlwZXMoKSkpOworICAgIGlmIChzdHls
ZS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAg
ICBzdHlsZS5zZXRTa2lwc0NvbnRlbnRzKG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPnNob3VsZFNr
aXBDb250ZW50KCkpOworICAgIGVsc2UKKyAgICAgICAgc3R5bGUuc2V0U2tpcHNDb250ZW50cyhz
dHlsZS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpIaWRkZW4pOwog
CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICBpZiAobV9lbGVtZW50ICYmIG1fZG9j
dW1lbnQuc2V0dGluZ3MoKS50ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZSgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAppbmRleCBlODg0ZTViY2ZhYzVk
ZDQ4NTA5ZGVkMjM5ZWUyZWY2NmFmM2UxNGVkLi4wOTI3NWMzZWIyZGFjYzZjZWQwNzc0NGExZTIw
YzE4Yjc1NTUyOTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxk
ZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20u
aApAQCAtODEsNiArODEsNyBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01f
SEFORExFUlMoQ2xpcCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ29u
dGFpbik7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ29udGVudCk7Cisg
ICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ29udGVudFZpc2liaWxpdHkpOwog
ICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvdW50ZXJJbmNyZW1lbnQpOwog
ICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvdW50ZXJSZXNldCk7CiAgICAg
REVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ3Vyc29yKTsKQEAgLTEyODcsNiArMTI4
OCwyNyBAQCBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGFpbihCdWls
ZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdQogICAgIHJldHVybiBidWlsZGVyU3RhdGUu
c3R5bGUoKS5zZXRDb250YWluKGNvbnRhaW5tZW50KTsKIH0KIAoraW5saW5lIHZvaWQgQnVpbGRl
ckN1c3RvbTo6YXBwbHlJbml0aWFsQ29udGVudFZpc2liaWxpdHkoQnVpbGRlclN0YXRlJiBidWls
ZGVyU3RhdGUpCit7CisgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxp
dHkoUmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSgpKTsKK30KKworaW5saW5l
IHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0Q29udGVudFZpc2liaWxpdHkoQnVpbGRl
clN0YXRlJiBidWlsZGVyU3RhdGUpCit7CisgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29u
dGVudFZpc2liaWxpdHkoZm9yd2FyZEluaGVyaXRlZFZhbHVlKGJ1aWxkZXJTdGF0ZS5wYXJlbnRT
dHlsZSgpLmNvbnRlbnRWaXNpYmlsaXR5KCkpKTsKK30KKworaW5saW5lIHZvaWQgQnVpbGRlckN1
c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0
YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2
YWx1ZSkpIHsKKyAgICAgICAgaWYgKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSku
dmFsdWVJRCgpID09IENTU1ZhbHVlSGlkZGVuKQorICAgICAgICAgICAgcmV0dXJuIGJ1aWxkZXJT
dGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNpYmlsaXR5KENvbnRlbnRWaXNpYmlsaXR5OjpIaWRk
ZW4pOworICAgICAgICBpZiAoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS52YWx1
ZUlEKCkgPT0gQ1NTVmFsdWVBdXRvKQorICAgICAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5z
dHlsZSgpLnNldENvbnRlbnRWaXNpYmlsaXR5KENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKTsKKyAg
ICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRlbnRWaXNpYmlsaXR5KFJl
bmRlclN0eWxlOjppbml0aWFsQ29udGVudFZpc2liaWxpdHkoKSk7CisgICAgfQorfQorCiBpbmxp
bmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlVGV4dEVtcGhhc2lzU3R5bGUoQnVpbGRl
clN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBpZiAoaXM8Q1NT
VmFsdWVMaXN0Pih2YWx1ZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdM
b2NhdGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKaW5kZXgg
OTVhMjZmZjgzNjFhYzYxYzMxYzBlMzIxYTU3YTZhMzEyZDE0ZmIxZi4uMGFlMmY5MTU2ZmQ2ZjQx
OWNiYjIyYmZiZjY4NzkwOWQ1MWY4OGQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0xvY2F0YWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5j
cHAKQEAgLTY2LDcgKzY2LDcgQEAgRmxvYXRSZWN0IFNWR0xvY2F0YWJsZTo6Z2V0QkJveChTVkdF
bGVtZW50KiBlbGVtZW50LCBTdHlsZVVwZGF0ZVN0cmF0ZWd5IHN0eWxlVXAKIHsKICAgICBBU1NF
UlQoZWxlbWVudCk7CiAgICAgaWYgKHN0eWxlVXBkYXRlU3RyYXRlZ3kgPT0gQWxsb3dTdHlsZVVw
ZGF0ZSkKLSAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6
QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKIAogICAgIC8vIEZJ
WE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBzdXBwb3J0IGdldEJCb3ggZm9yIGRldGFjaGVkIGVs
ZW1lbnRzLgogICAgIGlmICghZWxlbWVudC0+cmVuZGVyZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKaW5kZXggYzE0NTNiZmM2MDQwOGM5NTA3NDYw
NzdkNzYxZWUxNGQ3Mjk2NTFmYi4uODAzY2Y5MGRlMzJjMWRkYTNjMGI4MjUyMTdhMWM5N2Y3ZTdm
MGZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAK
QEAgLTU1LDEzICs1NSwxMyBAQCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OlNWR1RleHRDb250ZW50
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bQogCiB1bnNpZ25lZCBT
VkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMoKQogewotICAgIGRvY3VtZW50
KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQo
KS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RM
YXlvdXRUYXNrczo6QXN5bmNocm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsK
ICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLm51bWJlck9mQ2hhcmFjdGVycygp
OwogfQogCiBmbG9hdCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldENvbXB1dGVkVGV4dExlbmd0
aCgpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6
OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSku
dGV4dExlbmd0aCgpOwogfQogCkBAIC0xMDksNyArMTA5LDcgQEAgRXhjZXB0aW9uT3I8ZmxvYXQ+
IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Um90YXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51
bSkKIAogaW50IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Q2hhck51bUF0UG9zaXRpb24oRE9N
UG9pbnRJbml0JiYgcG9pbnRJbml0KQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrczo6QXN5bmNo
cm9ub3VzbHksIERvY3VtZW50OjpGb3JjZUxheW91dDo6WWVzKTsKICAgICBGbG9hdFBvaW50IHRy
YW5zZm9ybVBvaW50IHtzdGF0aWNfY2FzdDxmbG9hdD4ocG9pbnRJbml0LngpLCBzdGF0aWNfY2Fz
dDxmbG9hdD4ocG9pbnRJbml0LnkpfTsKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVy
KCkpLmNoYXJhY3Rlck51bWJlckF0UG9zaXRpb24odHJhbnNmb3JtUG9pbnQpOwogfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDU0ZmRkY2NjODU2MGNkMDFiZjlkZjg3MzU3ZGU1ODE4YjVmYWVhYmMuLmFmZDNmYjVhMGJjYjM3
ZGE2NWMzYTczZTRlNGE5ZjgyODBmOThjOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMi0w
Mi0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9y
IENTUyBwcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMi0wMi0y
MyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyOTAyODQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBiNmM3ZjU2MzU5MjFlMTczYzI1NWY5NjE3NzNlNmNlYTNhZjNjNzg0Li5hZTYzY2NjOTcx
MWU3OWNiNjc3NWNiNTUxNzY4MTBmNWZmODUwMTg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAyMi0wMi0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9wZXJ0eSBjb250ZW50LXZpc2li
aWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5p
bWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAxNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAyOS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0
OC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA4MC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktY29t
cHV0ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZh
bGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQt
YXV0by5odG1sOgorCiAyMDIyLTAyLTIzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ1NTIENvbnRhaW5lciBRdWVyaWVzXSBvZmZzZXRXaWR0aC9IZWlnaHQg
YW5kIHNpbWlsYXIgc2hvdWxkIHVwZGF0ZSBsYXlvdXQgZm9yIGNvbnRhaW5lciBxdWVyaWVzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBiZjZkZDg1OTBjYzQ0NzRkYjM3ZmIwMjAzNWQxNjIwN2FkOGUw
MDg0Li5iZTY4Y2ZlZmJhMGJhNGYwODNmM2YxMDMyMWVhNWRhZTg1NjQ5NTc4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTQ2MjcsNDQgKzQ2MjcsOSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbgog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA1Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA2Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA3Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA4Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA5
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDE5LnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMy5zdWIuaHR0cHMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzcuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDAuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wNTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNjcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODQuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0wMDAu
dGVudGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktd2l0aC10b3AtbGF5ZXItMDAxLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LXdpdGgtdG9wLWxheWVyLTAwMi50
ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2VsZW1lbnQtcmVh
c3NpZ25lZC10by1za2lwcGVkLXNsb3QuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2VsZW1lbnQtcmVhc3NpZ25lZC10by1zbG90LWluLXNraXBwZWQtc3VidHJlZS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb3VudGVyLXNjb3BpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvdW50ZXIt
c2NvcGluZy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IDli
MjU0NzE0MmQ4NTViMWQzOGRlMDQwMTNhZmFkMDAzMmYwZDVmOTYuLmJkNzkzNjJlMjYwYjNhNDNj
NjE3MjJmMjFlZTc4ZGU4MDU3MjM0NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwt
eG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50
eHQKQEAgLTEwMCw2ICsxMDAsNyBAQCBQQVNTIGNvbnRhaW4KIFBBU1MgY29udGFpbmVyLW5hbWUK
IFBBU1MgY29udGFpbmVyLXR5cGUKIFBBU1MgY29udGVudAorUEFTUyBjb250ZW50LXZpc2liaWxp
dHkKIFBBU1MgY291bnRlci1pbmNyZW1lbnQKIFBBU1MgY291bnRlci1yZXNldAogUEFTUyBjdXJz
b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1s
b2NrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxh
eS1sb2NrLWV4cGVjdGVkLnR4dAppbmRleCA0YzgyNDBkOGQ4MjY2YmI3Y2U4NmI2MWYwOWNiNjk2
ZmFjNjg2ZDc2Li4xOGNlZTg0ZTBmNzk3MjlhODExMDIxYjJlNjJkNmUxMzQxMzYzY2QzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvYW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxv
Y2stZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIEFuaW1hdGlvbiBldmVudHMg
ZG8gbm90IGZpcmUgZm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2Nr
ZWQgc3VidHJlZSBhc3NlcnRfZmFsc2U6IEFuaW1hdGlvbiBldmVudHMgZG8gbm8gZmlyZSB3aGls
ZSB0aGUgYW5pbWF0aW9uIGlzIHJ1bm5pbmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGV4
cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIEFuaW1hdGlvbiBldmVudHMgZG8gbm90IGZpcmUg
Zm9yIGEgQ1NTIGFuaW1hdGlvbiBydW5uaW5nIGluIGEgZGlzcGxheSBsb2NrZWQgc3VidHJlZSBh
c3NlcnRfdHJ1ZTogVGhlIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudCBmaXJlcyBvbmNlIHRoZSBh
bmltYXRpb24gaXMgbm8gbG9uZ2VyIGRpc3BsYXkgbG9ja2VkIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCiBQQVNTIFRoZSBmaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVlIHRvIHRo
ZSBub3JtYWwgcGFzc2FnZSBvZiB0aW1lICBmb3IgYSBDU1MgYW5pbWF0aW9uIGluIGEgZGlzcGxh
eSBsb2NrZWQgc3VidHJlZQogUEFTUyBUaGUgZmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCByZXNv
bHZlIGR1ZSB0byB0aGUgbm9ybWFsIHBhc3NhZ2Ugb2YgdGltZSAgZm9yIGEgQ1NTIHRyYW5zaXRp
b24gaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlCiBGQUlMIEV2ZW50cyBhbmQgcHJvbWlzZXMg
YXJlIGhhbmRsZWQgbm9ybWFsbHkgZm9yIGFuaW1hdGlvbnMgd2l0aG91dCBhbiBvd25pbmcgZWxl
bWVudCBhc3NlcnRfdHJ1ZTogQW5pbWF0aW9uIGV2ZW50IG5vdCBibG9ja2VkIG9uIGRpc3BsYXkg
bG9ja2VkIHN1YnRyZWUgaWYgbm8gb3duaW5nIGVsZW1lbnQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDE1LWV4cGVjdGVkLnR4dAppbmRleCA1ZDZmMWY2ZGVmNjVhNWFhNjQyMGYwMDE4NDhkYjhk
NDVlMzBmYmRkLi5kYmU0OGFmOTIxNzY0YTI4YTRjNjViNDFiYjZjNTQ3YzQ5NDQ3MjlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MTUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJpbGl0
eTogaGl0IHRlc3RpbmcgYXNzZXJ0X2VxdWFsczogY2VudGVyIGhpdHMgb3V0ZXIgZXhwZWN0ZWQg
Im91dGVyIiBidXQgZ290ICJpbm5lciIKK1BBU1MgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVz
dGluZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAxNi1leHBlY3RlZC50eHQKaW5kZXggOWI3OTE0MGNkYTJkNDNjODRmYWM4Mjc0ODQx
OGQ5M2ZhM2Q1NDE3Ny4uNDUxYTRhMzVlYWY4ZDVhOWYyY2RiNzhiMmRmOTQ1MjMwMjUzNjkzZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDE2LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZpc2li
aWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0
cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZp
c2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3RlZC50eHQKaW5k
ZXggOWZiMDg4YTc4NGJjNWIwM2YwZjQ5MmNlNjcwZDdmMGMwZTkwMGJlYy4uZjZmNjgwZTgyYmVh
ODBmMjYzMDcwZmE2ZTNhNzFlMTYyZmM3YzFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3LWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDMgQEAKIAotRkFJTCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3Np
dGVkIGNoaWxkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAib3V0
ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5n
IChjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQKaW5kZXggZTI5MmVmNzIxNjFi
MDg0OTdkYTIyMzg2NzQ3YTM1NDlhNjZjYjA2MS4uYjliODMzNTJmOGJlZjE0NjY5YmVhNzI5MDQy
OGY0MmNkZDNmZjRiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nIChjb21wb3NpdGVkIHdpdGggYSBjb21w
b3NpdGVkIGNoaWxkKSBhc3NlcnRfZXF1YWxzOiBjZW50ZXIgaGl0cyBvdXRlciBleHBlY3RlZCAi
b3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IGhpdCB0ZXN0
aW5nIChjb21wb3NpdGVkIHdpdGggYSBjb21wb3NpdGVkIGNoaWxkKQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50
eHQKaW5kZXggNzNkYTQ4ZGRiNGFkYzk4YmVmYTgzYjI4YzM1NDlmZjQ4ZGIwNWZhMC4uODM5OTNj
OWQwODU0NDYyMjJkZjZlZTBkNWRjZDVkYzE5MTFmMGViZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKIAotRkFJTCBjb250ZW50LXZpc2liaWxpdHk6aGlkZGVuIGRvZXMgbm90
IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFpbicgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKHN0cmluZykgImhpZGRlbiIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwg
Y29udGVudC12aXNpYmlsaXR5OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9m
ICdjb250YWluJyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXV0byIgYnV0IGdv
dCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5OmhpZGRlbiBk
b2VzIG5vdCBhZmZlY3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nCitQQVNTIGNvbnRlbnQt
dmlzaWJpbGl0eTphdXRvIGRvZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29udGFp
bicKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMjktZXhwZWN0ZWQudHh0CmluZGV4IDNhMGVhOGM4Yzk3OTEyMDYzZGUwODM2NTU4MmRj
YjM1NzRjNjJhM2YuLjFjZjRkMGY2MjI1Y2FkYTQ1ZjhkMDZmZjU2ZWJkMmJkYjRlNDhjM2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAyOS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiBUaGlzIHRleHQgc2hvdWxkIGJlIHZp
c2libGUuCi1UaGlzIHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLgotVGhpcyB0ZXh0IGlzIGFs
c28gbm90IHZpc2libGUuCiAKLUZBSUwgaW5uZXJUZXh0IG9uIGxvY2tlZCBlbGVtZW50LiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLiIgYnV0IGdv
dCAiVGhpcyB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlLlxuVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUg
dmlzaWJsZS5cblRoaXMgdGV4dCBpcyBhbHNvIG5vdCB2aXNpYmxlLiIKK1BBU1MgaW5uZXJUZXh0
IG9uIGxvY2tlZCBlbGVtZW50LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQKaW5kZXggZGVhYTU3N2NkZGNi
OTY4ZjAzOTlhMjc2ZDFjYjc0NThiOWQ2OWM0OS4uODI5YzI5NmJjMGQ3NGZjODFmZTAxOTdlMDI5
ZWQ1MGZiYThjZTdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBJbnRlcnNlY3Rpb25PYnNlcnZlciBpbnRlcmFjdGlvbnMgYXNzZXJ0X2VxdWFsczogcnVuU3Rl
cDIgZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJh
Y3Rpb25zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dAppbmRleCA1Y2M4YjgyOTZmZjdiYTY4Y2FlNjZlMDdl
MTZmMjA5YjJkYjVjOGU5Li4xY2M2YzFjMGFjODA3ZjZlYzMzNDBmZGNhYThkZTY5OTY4Y2FmZjk1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAz
MS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMzEtZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTog
VW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBFcnJvcjogYXNzZXJ0X2VxdWFsczogUmVzaXpl
T2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hpbGUgdW5yZW5kZXJlZCBleHBlY3RlZCB0
cnVlIGJ1dCBnb3QgZmFsc2UKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBVbmhh
bmRsZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3VsZCBub3Qg
cnVuIGR1cmluZyB3aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQot
Ci1USU1FT1VUIFJlc2l6ZU9ic2VydmVyIHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3QgdGltZWQg
b3V0Ci0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlv
bjogYXNzZXJ0X2VxdWFsczogUmVzaXplT2JzZXZlciBzaG91bGQgbm90IHJ1biBkdXJpbmcgd2hp
bGUgdW5yZW5kZXJlZCBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLQotVElNRU9VVCBSZXNp
emVPYnNlcnZlciBza2lwcGVkIHdoaWxlIGhpZGRlbiBUZXN0IHRpbWVkIG91dAorUEFTUyBSZXNp
emVPYnNlcnZlciBza2lwcGVkIHdoaWxlIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50eHQKaW5kZXgg
MGU4ODBlMDU1ZjA0MTcwY2Q3ZTY3Yzk2ZmE5NzA1YzQ0ZTU4NzU0MC4uYmNmYzc4OWZhNDBhMzNl
MzE1YzM1M2FhNGExYmFiY2VkZTYzOTllNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDMgQEAKIAotRkFJTCBNZWFzdXJlIEZvcmNlZCBMYXlvdXQgYXNzZXJ0X2VxdWFsczogc3BhY2Vy
IGZvcmNlZCBleHBlY3RlZCA4IGJ1dCBnb3QgMTA4CitQQVNTIE1lYXN1cmUgRm9yY2VkIExheW91
dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA0NC1leHBlY3RlZC50eHQKaW5kZXggYzNiNjRiMTIwODBhMDg4MWE5Nzg1Nzg0MDcyZTNi
MzJiODk0NWNiMi4uZTEzNzJiOGQyZjFhOWIwYWQxOTczYTllMmRlMzkzZjNmMjNhMDYyMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDQ0LWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IEVycm9y
OiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMgogCiAKLUhhcm5lc3MgRXJyb3Ig
KEZBSUwpLCBtZXNzYWdlID0gRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdv
dCAyCi0KLVRJTUVPVVQgQ29udGVudCBWaXNpYmlsaXR5OiBzbG90IG1vdmVkIGFmdGVyIGNvbnRh
aW5lciBpcyBoaWRkZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1l
c3NhZ2UgPSBFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDIKLQotVElN
RU9VVCBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhp
ZGRlbiBUZXN0IHRpbWVkIG91dAorUEFTUyBDb250ZW50IFZpc2liaWxpdHk6IHNsb3QgbW92ZWQg
YWZ0ZXIgY29udGFpbmVyIGlzIGhpZGRlbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKaW5kZXggMzk1ZDU5
YzQ2YTU0NzI3MmNjYWVkOTJlNjJjMDIyYWRiNzY1MjFhZC4uNGMzYzhiYjk0M2UwNGUyMmZlZWQz
OWQzNGIwZjZkODFjMDNlOTQ3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAK
IAogCi0KLQotRkFJTCBUYWIgb3JkZXIgbmF2aWdhdGlvbiBza2lwcyBoaWRkZW4gc3VidHJlZXMg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0iZml2ZSIgdHlw
ZT0idGV4dCI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJ0d28iIHR5
cGU9InRleHQiPjwvaW5wdXQ+CitQQVNTIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNraXBzIGhpZGRl
biBzdWJ0cmVlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQKaW5kZXggZjhiMDExYmE4MTc4ZDY4N2M3Zjkw
OWRlNDgzNzk5NzNjOWQwOTZkNC4uNzMyNjhmZGIwOGRmOTQ3NGYwMWRmNTc2YTE4MGY5YmUzODdk
YWFlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNDgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBGcmFnbWVu
dCBuYXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyBzaW5nbGUgdGV4dCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZmV0Y2hSZXN1bHRzIgotRkFJTCBGcmFnbWVudCBu
YXZpZ2F0aW9uIHdpdGggY29udGVudC12aXNpYmlsaXR5OyByYW5nZSBhY3Jvc3MgYmxvY2tzIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3VsdHMiCitGQUlMIEZyYWdt
ZW50IG5hdmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHNpbmdsZSB0ZXh0IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXh0IiBidXQgZ290ICJ0b3AiCitGQUlMIEZyYWdtZW50IG5h
dmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHJhbmdlIGFjcm9zcyBibG9ja3MgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRleHQyIiBidXQgZ290ICJ0b3AiCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4cGVjdGVk
LnR4dAppbmRleCA0NGEyOTM2NTAzNjE5Zjc2ZTFiZGEzZmJjN2NjMDQ4YjNmM2MxYzZmLi5lYjE5
MzUxNjY2ZTU3YTAwZmQ0NmE3MDI3YzFiNjAwMjA3ZWI1YWVlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3MS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzEtZXhwZWN0ZWQudHh0
CkBAIC0xLDggKzEsMyBAQAotaGVsbG8KLWhlbGxvCi1oZWxsbwotaGVsbG8KLWhlbGxvCiAKIEZB
SUwgT25lIGVsZW1lbnRzIHNlbGVjdGVkOiAgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCiBGQUlMIFJhbmdlIGV4dGVuZGVkIHRvIGNvdmVyIG1vcmUgZWxlbWVudHM6ICBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dAppbmRleCAw
M2UzYmI3YzBlODk2MDMzNzYxYjUyNDllZDY2MTYyNjk0YzUwN2U2Li4wMGYxYzdmNDQ0MTg3ODJi
Y2ViMzQzOGQ3YjZmYTUxZjU2MWUxNzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEs
NyBAQAogCiBQQVNTIG9uZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKToKIEZBSUwgdHdvLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBn
b3QgMzA0MQotRkFJTCB0aHJlZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVh
bHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNzUKLUZBSUwgZm91ci5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMxMDkK
LUZBSUwgZml2ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhw
ZWN0ZWQgMzAwNyBidXQgZ290IDMxNDMKK0ZBSUwgdGhyZWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCitGQUlMIGZv
dXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMw
MDcgYnV0IGdvdCAzMDQxCitGQUlMIGZpdmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3Nl
cnRfZXF1YWxzOiB5IGV4cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4
dAppbmRleCA5MjcwOTZlZGY5NzNkYjE4OTZkN2UyNWE5NDRlMWE5NDBmMmE4MGEyLi4wNDliZTI4
NGQ0N2Y2Y2RmMDk4MzNmNTE0MzI1MTBlOTAzMThkZGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ny1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzctZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQtdmlzaWJpbGl0eSBpcyBub3QgYW5pbWF0YWJs
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAidmlzaWJsZSIgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgQ29udGVudC12aXNpYmlsaXR5IGlzIG5vdCBhbmltYXRh
YmxlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDgwLWV4cGVjdGVkLnR4dAppbmRleCBkMGYwNWFkNWEzOGNlNDEyNDIzMzBlYjM5MWFh
ZDBlOTE3MTljN2I2Li44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4MC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wODAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEgQEAKLUNvbnRlbnQgVmlzaWJpbGl0eTogY2Fy
ZXQgcG9zaXRpb24gd2l0aCBodG1sIGhpZGRlbiAgICogeyBhbGw6IGluaXRpYWw7IGNvbnRlbnQt
dmlzaWJpbGl0eTogaGlkZGVuOyB9IHRlc3QoKCkgPT4geyBjb25zdCByYW5nZSA9IGRvY3VtZW50
LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsgYXNzZXJ0X25vdF9lcXVhbHMocmFuZ2UsIG51bGwsICJy
YW5nZSBleGlzdHMiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydENvbnRhaW5lciwgaHRtbCwg
InN0YXJ0Q29udGFpbmVyIGlzIGh0bWwiKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5zdGFydE9mZnNl
dCwgMCwgInN0YXJ0T2Zmc2V0IGlzIHplcm8iKTsgYXNzZXJ0X2VxdWFscyhyYW5nZS5lbmRDb250
YWluZXIsIGh0bWwsICJlbmRDb250YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxzKHJhbmdl
LmVuZE9mZnNldCwgMCwgImVuZE9mZnNldCBpcyB6ZXJvIik7IH0sICJDYXJldCByYW5nZSBmcm9t
IHBvaW50Iik7Ci1GQUlMIENhcmV0IHJhbmdlIGZyb20gcG9pbnQgYXNzZXJ0X2VxdWFsczogc3Rh
cnRDb250YWluZXIgaXMgaHRtbCBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGh0bWwgaWQ9Imh0bWwi
PjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPHRpdGxlPkNvbnRlbi4uLiBidXQgZ290IFRl
eHQgbm9kZSAiQ29udGVudCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlvbiB3aXRoIGh0bWwgaGlk
ZGVuIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LWltZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LWltZy1leHBlY3RlZC50eHQKaW5kZXggY2EzNzg3ZTQ0ODdiZDM2NDk2MGZlNGViNGM5
MWVkYWQxNzdlNDg3MS4uNDQ0OWQ3Yzc3M2I5MDU4MmQzYTM3OTZhMzZjY2NkY2M4M2NiZTgxNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWct
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktaW1nLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDMgQEAKIAotCi0KLQotCiBQQVNTIGMtdjpo
aWRkZW4gPGltZz4gbGF5b3V0IEFQSXMgc2hvdWxkbid0IHJldHVybiB6ZXJvIHdoZW4gYWNjZXNz
ZWQgZnJvbSBzY3JpcHQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktaW5wdXQtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKaW5kZXgg
YTQ1ZWQ1ODI5MDFmN2M1YzJkZjk3ZTcwZWE0NTA1MDIzNzJhNTYxNi4uZTRhMzFmYjFiYTFhNjM5
MmNlZWI4NjZiYjdlNjBiY2RiYjE4YjA3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSwzIEBACiAKLQotCiBQQVNTIDxpbnB1dCB0eXBlPWltYWdlPiBzaG91
bGQgcmV0dXJuIG5vbnplcm8gdmFsdWVzIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGluIGEgYy12Omhp
ZGRlbiBzdWJ0cmVlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LXN2Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LXN2Zy1leHBlY3RlZC50eHQKaW5kZXggNDY3NmI4OGM5YWNjN2YyOTc5
NTgyODk0NDQyOGYyNDIxODMxMWQ1Ni4uOGRmMWI3ZmZhZjRiYzIzZTI1NDY2MmVkOGYzNmJhOGIw
NjVhYmEwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS1zdmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKLUhlbGxvIFdvcmxk
IQotSGVsbG8gV29ybGQgQWdhaW4hCiAKIFBBU1MgZ2V0QkJveCgpIHNob3VsZCByZXR1cm4gbm9u
emVybyB2YWx1ZXMgaW4gYSBjLXY6aGlkZGVuIHN1YnRyZWUuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDdkYTE3ZmZhZjljZDUyMGE3
NTNlOWYzZTlhNThlOWM2MWM0NWZlNjUuLjY2ODg5NmFmMTJkNmEwZDkwZDFhM2FkYTZjZDg3Y2Fh
ZGVlYTU2ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxp
dHkgaGFzIGluaXRpYWwgdmFsdWUgdmlzaWJsZSBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmls
aXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBk
b2VzIG5vdCBpbmhlcml0IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFT
UyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgaGFzIGluaXRpYWwgdmFsdWUgdmlzaWJsZQor
UEFTUyBQcm9wZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgZG9lcyBub3QgaW5oZXJpdAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHkt
Y29tcHV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29u
dGVudC12aXNpYmlsaXR5LWNvbXB1dGVkLWV4cGVjdGVkLnR4dAppbmRleCA4N2EzYzY4MGVmOGNm
ZTQyOWFlNDZkMzA5M2U3ODBlNzEyN2JkZjkyLi4wYzM0YTVkYmJkZGU3ZGFjMzY5ZTZiODBjZDI1
YTllN2Q4NzZkZTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9j
b250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZh
bHVlICd2aXNpYmxlJyBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2Vl
bSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnYXV0bycgYXNz
ZXJ0X3RydWU6IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVk
IGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkgdmFsdWUgJ2hpZGRlbicgYXNzZXJ0X3RydWU6IGNvbnRl
bnQtdmlzaWJpbGl0eSBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRl
ZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZp
c2liaWxpdHkgdmFsdWUgJ3Zpc2libGUnCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0
eSB2YWx1ZSAnYXV0bycKK1BBU1MgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5IHZhbHVlICdo
aWRkZW4nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRl
bnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
cGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IDZhNjVm
ZjY4NGY2MDgyZDFjZTgxYzEzN2U0MDNhNGRlNzAwODk1NmYuLjlkYTQ1NzNlMDc0NzdiNzc3ZDZi
YTg3NjhmNDUzYzc0MzU3MzM1ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9w
YXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVk
LnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHkn
XSA9ICJ2aXNpYmxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2Vx
dWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgotRkFJ
TCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHknXSA9ICJhdXRvIiBzaG91bGQgc2V0IHRoZSBw
cm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgotRkFJTCBlLnN0eWxlWydjb250ZW50LXZpc2liaWxpdHkn
XSA9ICJoaWRkZW4iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1
YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCitQQVNT
IGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gInZpc2libGUiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImF1
dG8iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2NvbnRlbnQt
dmlzaWJpbGl0eSddID0gImhpZGRlbiIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90ZXh0LWZyYWdtZW50
LXRhcmdldC1hdXRvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQt
ZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbAppbmRleCBkMDdlZGU1YTU0NjAwN2UzMjdkMzUzZWQ1
OTk0ODlkZGZlNTc0NDgxLi41M2EyMmY1ZmQ4ZDFjZGI4ODM4NTM1MzU0NTQ5ZTExNzU3NmQ3ZTUy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2VzL3RleHQtZnJhZ21l
bnQtdGFyZ2V0LWF1dG8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3VyY2Vz
L3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbApAQCAtNDIsNyArNDIsNyBAQCBmdW5jdGlv
biBkb3VibGVSYWZDaGVja1Njcm9sbCgpIHsKICAgaGVpZ2h0OiAxMDAwMHB4OwogfQogLmF1dG8g
ewotICBzdWJ0cmVlLXZpc2liaWxpdHk6IGF1dG87CisgIGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0
bzsKIH0KIDwvc3R5bGU+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1p
bml0aWFsLXhtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlh
bC14bWwtZXhwZWN0ZWQudHh0CmluZGV4IDdiMWIzYzY4NDRjNDQ5NzIxNDNmYTYwMzM3MWFiMzA1
OWNiMjA3N2YuLjQyOTk2MmIyOWFjNjg4NTlhMGQ2N2Q2MDIyZTBmODk3ZjVmMTczZjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dApA
QCAtMTAwLDYgKzEwMCw3IEBAIFBBU1MgY29udGFpbgogUEFTUyBjb250YWluZXItbmFtZQogUEFT
UyBjb250YWluZXItdHlwZQogUEFTUyBjb250ZW50CitQQVNTIGNvbnRlbnQtdmlzaWJpbGl0eQog
UEFTUyBjb3VudGVyLWluY3JlbWVudAogUEFTUyBjb3VudGVyLXJlc2V0CiBQQVNTIGN1cnNvcgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQK
aW5kZXggOGUyZDAxMTFmYTExODYwYTM1MDQwOTQ0MGI0NzU0ZWI0YTI0MTQzZS4uZTQ1MDE2YWI1
NWNkZTk2MjUwZWNkZWJmNTAwMjFmYWE4YzE2OTY0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNj
YWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2Nh
ZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CkBAIC0xMDAsNiArMTAwLDcgQEAg
UEFTUyBjb250YWluCiBQQVNTIGNvbnRhaW5lci1uYW1lCiBQQVNTIGNvbnRhaW5lci10eXBlCiBQ
QVNTIGNvbnRlbnQKK1BBU1MgY29udGVudC12aXNpYmlsaXR5CiBQQVNTIGNvdW50ZXItaW5jcmVt
ZW50CiBQQVNTIGNvdW50ZXItcmVzZXQKIFBBU1MgY3Vyc29yCg==
</data>
<flag name="commit-queue"
          id="480342"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453091</attachid>
            <date>2022-02-24 03:32:45 -0800</date>
            <delta_ts>2022-03-19 15:29:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220224113244.patch</filename>
            <type>text/plain</type>
            <size>114909</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZhNmRhNDdhYmU2NjRh
Zjg5NzMyNzBhZGJlODM4M2M0ZmZiYzRkZi4uYjBjYzQ1Y2U5M2NkNjBkMDAzMGVmNzI0ZmIxZTg3
ZTE0ZTRmZjUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NSBAQAorMjAyMi0wMi0yNCAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyBwcm9w
ZXJ0eSBjb250ZW50LXZpc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByb3RvdHlwZSBXSVAgcGF0Y2guCisKKyAgICAgICAgKiBhbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVs
aW5lOjpwcmVwYXJlRm9yUGVuZGluZ0FuaW1hdGlvbkV2ZW50c0Rpc3BhdGNoKToKKyAgICAgICAg
KiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9uc0FuZFNl
bmRFdmVudHMpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjppc0luSGlkZGVuU3VidHJlZSk6CisgICAgICAgICog
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OmlzUHJvcGVydHlSdW50aW1lRGlzYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRlbnRWaXNpYmlsaXR5SGlkZGVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3JlUGVu
ZGluZ1N0eWxlc2hlZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OkNv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
VmlzaWJpbGl0eURvY3VtZW50U3RhdGU6OmFkZENvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1v
dmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNldFRvcCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50Ojpib3VuZGluZ0NsaWVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5uZXJUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmlzVmlzaWJsZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQ29udGVudFZpc2liaWxpdHlE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0
eURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpkZXRlcm1pbmVJZlN1YnRyZWVIYXNGb2N1cyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc1NraXBwZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNob3VsZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIGRv
bS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHA6CisgICAgICAg
ICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpjb250ZW50VmlzaWJpbGl0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFJhcmVEYXRhOjpzZXRDb250ZW50VmlzaWJpbGl0eURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6CisgICAgICAgICogZG9tL05vZGVS
YXJlRGF0YS5oOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6YWR2YW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OndpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmhlaWdodCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OnkgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW1hZ2VJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VJbnB1dFR5cGU6OmhlaWdodCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUlucHV0VHlwZTo6d2lkdGggY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3TGF5b3V0Q29udGV4dDo6aXNMYXlvdXRGb3JjZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2V0TGF5b3V0Rm9yY2VkKToKKyAgICAgICAg
KiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCBjb25zdCk6Cisg
ICAgICAgICogcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJm
bG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNob3Vs
ZFNraXBDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6dmlzaWJsZVRvSGl0VGVzdGluZyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpoaXRUZXN0TGlzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldExheW91dENvbnRhaW5tZW50QXBwbGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRh
OjpSZW5kZXJPYmplY3RSYXJlRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpsYXlvdXRDb250YWlubWVudEFw
cGxpZXMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWly
ZXNMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6cmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VS
ZXF1aXJlc1JlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRlbnRWaXNpYmlsaXR5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250ZW50VmlzaWJpbGl0eUhpZGRl
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNMYXlvdXQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q29udGVudFZpc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpv
cGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRl
bnRWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjph
cHBseUluaGVyaXRDb250ZW50VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnRWaXNpYmlsaXR5KToKKyAgICAgICAgKiBz
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldE51bWJlck9mQ2hhcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDb21wdXRlZFRleHRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRDaGFyTnVt
QXRQb3NpdGlvbik6CisKIDIwMjItMDItMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjkwMjg0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCmluZGV4IDNjOTU5
ZTljYmQ0YTg3MTI0NGVlMmY0NWIwYjVhYTA2ZTFjNWZkNDUuLmY3NjgzOTllODkzNDNmMTBjZDZj
NzZlMDZhOTRmNGEzODdkNmU2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9j
dW1lbnRUaW1lbGluZS5jcHAKQEAgLTQyOSw2ICs0MjksMTYgQEAgQW5pbWF0aW9uRXZlbnRzIERv
Y3VtZW50VGltZWxpbmU6OnByZXBhcmVGb3JQZW5kaW5nQW5pbWF0aW9uRXZlbnRzRGlzcGF0Y2go
KQogewogICAgIG1fc2hvdWxkU2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9uRm9yTmV3UGVuZGlu
Z0V2ZW50cyA9IHRydWU7CiAgICAgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9wZW5kaW5nQW5pbWF0
aW9uRXZlbnRzLCB7IH0pOworICAgIEFuaW1hdGlvbkV2ZW50cyBldmVudHM7CisgICAgZm9yIChh
dXRvJiBldmVudCA6IG1fcGVuZGluZ0FuaW1hdGlvbkV2ZW50cykgeworICAgICAgICBpZiAoZXZl
bnQtPmFuaW1hdGlvbigpLT5pc0luSGlkZGVuU3VidHJlZSgpKQorLy8gICAgICAgIEVsZW1lbnQq
IGVsZW1lbnQgPSBldmVudC0+dGFyZ2V0KCktPmlzTm9kZSgpICYmICFkb3duY2FzdDxOb2RlPigq
ZXZlbnQtPnRhcmdldCgpKS5pc0RvY3VtZW50Tm9kZSgpID8gZHluYW1pY0Rvd25jYXN0PEVsZW1l
bnQ+KCpldmVudC0+dGFyZ2V0KCkpIDogbnVsbHB0cjsKKy8vICAgICAgICBpZiAoZWxlbWVudCAm
JiBlbGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgZXZlbnRzLmFwcGVuZChldmVudCk7CisgICAgICAgIG1fcGVuZGluZ0FuaW1hdGlvbkV2
ZW50cy5yZW1vdmVGaXJzdChldmVudCk7CisgICAgfQorICAgIHJldHVybiBldmVudHM7CiB9CiAK
IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBkb3VibGU+PiBEb2N1bWVudFRpbWVsaW5lOjphY2Nl
bGVyYXRlZEFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZXNDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuY3BwCmluZGV4IDcwOTQ1M2JjNjYyNTJmOTU5ODI0YmE5NGVjYTdhMzMwMDhjOWNhM2Mu
LmI5MjdjYWI4MmZmYmE0YjY4MzA3YzRiMGFmYzkyZTJkMDQyNjhmYTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIu
Y3BwCkBAIC0xMjAsNiArMTIwLDggQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6
OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKFJlZHVjZWRSZXNvbHV0aW8KICAgICAgICAg
dGltZWxpbmVzVG9VcGRhdGUuYXBwZW5kKHRpbWVsaW5lLmNvcHlSZWYoKSk7CiAKICAgICAgICAg
Zm9yIChhdXRvJiBhbmltYXRpb24gOiBjb3B5VG9WZWN0b3IodGltZWxpbmUtPnJlbGV2YW50QW5p
bWF0aW9ucygpKSkgeworICAgICAgICAgICAgaWYgKGFuaW1hdGlvbi0+aXNJbkhpZGRlblN1YnRy
ZWUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChhbmltYXRp
b24tPnRpbWVsaW5lKCkgIT0gdGltZWxpbmUucHRyKCkpIHsKICAgICAgICAgICAgICAgICBBU1NF
UlQoIWFuaW1hdGlvbi0+dGltZWxpbmUoKSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CkBA
IC0xOTksOCArMjAxLDEyIEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjp1cGRh
dGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhSZWR1Y2VkUmVzb2x1dGlvCiAgICAgfSk7CiAKICAg
ICAvLyA3LiBEaXNwYXRjaCBlYWNoIG9mIHRoZSBldmVudHMgaW4gZXZlbnRzIHRvIGRpc3BhdGNo
IGF0IHRoZWlyIGNvcnJlc3BvbmRpbmcgdGFyZ2V0IHVzaW5nIHRoZSBvcmRlciBlc3RhYmxpc2hl
ZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICBmb3IgKGF1dG8mIGV2ZW50IDogZXZlbnRzKQor
ICAgIGZvciAoYXV0byYgZXZlbnQgOiBldmVudHMpIHsKKyAgICAgICAgLy8gRWxlbWVudCogZWxl
bWVudCA9IGV2ZW50LT50YXJnZXQoKS0+aXNOb2RlKCkgJiYgIWRvd25jYXN0PE5vZGU+KCpldmVu
dC0+dGFyZ2V0KCkpLmlzRG9jdW1lbnROb2RlKCkgPyBkeW5hbWljRG93bmNhc3Q8RWxlbWVudD4o
KmV2ZW50LT50YXJnZXQoKSkgOiBudWxscHRyOworICAgICAgICAvLyBpZiAoZWxlbWVudCAmJiBl
bGVtZW50LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIC8vICAgIGNvbnRpbnVlOwogICAg
ICAgICBldmVudC0+dGFyZ2V0KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgIH0KIAogICAg
IC8vIFRoaXMgd2lsbCBjYW5jZWwgYW55IHNjaGVkdWxlZCBpbnZhbGlkYXRpb24gaWYgd2UgZW5k
IHVwIHJlbW92aW5nIGFsbCBhbmltYXRpb25zLgogICAgIGZvciAoYXV0byYgYW5pbWF0aW9uIDog
YW5pbWF0aW9uc1RvUmVtb3ZlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uY3BwCmluZGV4IDJiOWMyMTdhMzM4MDMxMjhmY2NjYmQ0YmQ5YmMxYzhmODYzYjRiMzIuLjhm
NDc1MTkyMTk1NzIzZDViOTM2ODJmZDNlZmRhY2Y2ODI0ZDA1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xNTEzLDQgKzE1MTMsMTMgQEAgU2Vjb25k
cyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QKICAgICByZXR1cm4gZWZmZWN0
KCktPnRpbWVUb05leHRUaWNrKGVmZmVjdCgpLT5nZXRCYXNpY1RpbWluZygpKSAvIHBsYXliYWNr
UmF0ZTsKIH0KIAorYm9vbCBXZWJBbmltYXRpb246OmlzSW5IaWRkZW5TdWJ0cmVlKCkKK3sKKyAg
ICBpZiAoIWlzRGVjbGFyYXRpdmVBbmltYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChhdXRvIGVsZW1lbnQgPSBkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4odGhp
cyktPm93bmluZ0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmVsZW1lbnQuaXNT
a2lwcGVkQ29udGVudCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDM3YTYx
N2Y2MDUzNzA3OWQyYjEyZWEwYzA2MjhlMWNlYTJhMzJlNDYuLjA4MmExYjFhNWFjMmU2NTlkNTQy
ZTBlMmQ2NWMxN2E2NTI4YTk4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0
aW9uLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0RlY2xh
cmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaXNDU1NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc0NTU1RyYW5zaXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wg
aXNJbkhpZGRlblN1YnRyZWUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJl
dHVybiBtX2lkOyB9CiAgICAgdm9pZCBzZXRJZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOTc5
YWY2ODQzMWZmOTI1Nzc1ZWI1ZjkzZTg2YTY5YmE2NDMyZTMwZS4uNWRiYzRjZDMzNTZlZjI2ZDQ1
NjhlNjY1Mjk3YzVjNTQzNzYyNTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM3NzEsNiArMzc3MSwxNCBAQCBSZWZQ
dHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0
eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wuY3JlYXRlQ3VzdG9tSWRlbnQobmFtZSkpOwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7
CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnRWaXNpYmlsaXR5Ogor
ICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5jc3NDb250
YWlubWVudEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eUhpZGRlbigpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlSGlk
ZGVuKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS5jb250ZW50VmlzaWJpbGl0eSgpID09IENvbnRl
bnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wu
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisgICAgICAgICAgICByZXR1cm4g
Y3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVZpc2libGUpOwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2ZhY2VWaXNpYmlsaXR5OgogICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoKHN0eWxlLmJhY2tmYWNlVmlz
aWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0eTo6SGlkZGVuKSA/IENTU1ZhbHVlSGlkZGVu
IDogQ1NTVmFsdWVWaXNpYmxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
ckltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggMjc4YzBmM2Fm
ZTUwNDg0ZmYzMTFkODI5ZGUzMjgwZGM1NWUyNzlkZC4uZTY1YmJkNWU2NDI3N2E3ZTI5ZGNkODM5
ZGE3NmNhNzRmNDU4MzBmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBA
IC01Mjg1LDYgKzUyODUsMTkgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0zLyNjb250YWluZXItcXVlcmllcyIKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImNvbnRlbnQtdmlzaWJpbGl0eSI6IHsKKyAgICAg
ICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgImN1c3RvbSI6
ICJBbGwiLAorICAgICAgICAgICAgICAgICJzZXR0aW5ncy1mbGFnIjogImNzc0NvbnRhaW5tZW50
RW5hYmxlZCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3RhdHVzIjogeworICAgICAg
ICAgICAgICAgICJzdGF0dXMiOiAiZXhwZXJpbWVudGFsIgorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJj
c3MtY29udGFpbiIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWNvbnRhaW4tMi8iCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICJiYWNrZmFjZS12aXNpYmlsaXR5IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGll
cyI6IHsKICAgICAgICAgICAgICAgICAiYWxpYXNlcyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4IGRjMjM5ZmQyNTQxZDgyNDQwMTU2
ZmRmM2FjNWIxOGJjMjIzMzk0YzUuLjliMzM3NTVhZGMwODkwNzYyNTVhMmU5ZGU1NGYwZmRiNjM5
YTcyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0
LmNwcApAQCAtMjM0LDYgKzIzNCw3IEBAIGJvb2wgQ1NTUGFyc2VyQ29udGV4dDo6aXNQcm9wZXJ0
eVJ1bnRpbWVEaXNhYmxlZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25zdAogICAgIGNhc2Ug
Q1NTUHJvcGVydHlBc3BlY3RSYXRpbzoKICAgICAgICAgcmV0dXJuICFhc3BlY3RSYXRpb0VuYWJs
ZWQ7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CisgICAgY2FzZSBDU1NQcm9wZXJ0eUNv
bnRlbnRWaXNpYmlsaXR5OgogICAgICAgICByZXR1cm4gIWNvbnRhaW5tZW50RW5hYmxlZDsKICAg
ICBjYXNlIENTU1Byb3BlcnR5QXBwbGVDb2xvckZpbHRlcjoKICAgICAgICAgcmV0dXJuICFjb2xv
ckZpbHRlckVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwCmluZGV4IDczZWFiYmZjNzIwMTE2MmQ5MDEzOWFhYWFjNDNjOGY5OGFjMDQ0
OGMuLmMzNjZmOTYyMWNjMWJkNWQ3ZjU5Zjg0MTUzZTJjMmI2ZGUzZmEzY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC00MDcyLDYg
KzQwNzIsMTMgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIFJlZlB0cjxDU1NWYWx1ZT4oV1RGTW92
ZShsaXN0KSk7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb250ZW50Vmlz
aWJpbGl0eUhpZGRlbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAoYXV0
byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZVZpc2libGUsIENTU1ZhbHVlQXV0
bywgQ1NTVmFsdWVIaWRkZW4+KHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIHNpbmdsZVZhbHVlOwor
ICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1l
VGV4dEVtcGhhc2lzUG9zaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7CiAgICAg
Ym9vbCBmb3VuZE92ZXJPclVuZGVyID0gZmFsc2U7CkBAIC00NzAwLDYgKzQ3MDcsMTAgQEAgUmVm
UHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgaWYgKCFtX2NvbnRleHQuY29udGFpbm1lbnRF
bmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiBjb25z
dW1lQ29udGFpbihtX3JhbmdlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVudFZpc2liaWxp
dHk6CisgICAgICAgIGlmICghbV9jb250ZXh0LmNvbnRhaW5tZW50RW5hYmxlZCkKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gY29uc3VtZUNvbnRlbnRWaXNpYmls
aXR5SGlkZGVuKG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0RW1waGFzaXNQb3Np
dGlvbjoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVUZXh0RW1waGFzaXNQb3NpdGlvbihtX3Jhbmdl
KTsKICNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IDk1NWY3NDY2YzNhZTc1NDc2MzRiNDk3MGY5ZTk2YjQ2MzhhZDc0YjUuLmM4MTliYTExMGZhZTE3
ZGQ2YmFkOGRjZTFkZjYyZDdiZTMxOGZhOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MTM0LDYgKzEzNCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludGVyc2VjdGlv
bk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIgog
I2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NV2lu
ZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5oIgpAQCAtMzg5LDYg
KzM5MCwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaXNhbGxvd0xheW91dCB7IGZhbHNlIH07
CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2sgZmluYWwgOiBwdWJsaWMgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2s+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDb250ZW50VmlzaWJpbGl0eUludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2soZG9jdW1lbnQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBoYXNDYWxsYmFjaygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIENhbGxiYWNrUmVzdWx0PHZvaWQ+
IGhhbmRsZUV2ZW50KEludGVyc2VjdGlvbk9ic2VydmVyJiwgY29uc3QgVmVjdG9yPFJlZjxJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyJikg
ZmluYWwKKyAgICB7CisgICAgICAgIEFTU0VSVCghZW50cmllcy5pc0VtcHR5KCkpOworCisgICAg
ICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKSB7CisgICAgICAgICAgICBpZiAoYXV0byog
ZWxlbWVudCA9IGVudHJ5LT50YXJnZXQoKSkKKyAgICAgICAgICAgICAgICBlbGVtZW50LT5jb250
ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGVudHJ5LT5pc0ludGVyc2VjdGluZygpKTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENvbnRlbnRWaXNpYmls
aXR5SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayhEb2N1bWVudCYgZG9jdW1lbnQpCisgICAg
ICAgIDogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaygmZG9jdW1lbnQpCisgICAgeworICAg
IH0KK307CisKIC8vIERlZmluZWQgaGVyZSB0byBhdm9pZCBpbmNsdWRpbmcgR0NSZWFjaGFibGVS
ZWYuaCBpbiBEb2N1bWVudC5oCiBzdHJ1Y3QgRG9jdW1lbnQ6OlBlbmRpbmdTY3JvbGxFdmVudFRh
cmdldExpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtMjE4MCw3ICsyMjA4
LDcgQEAgYm9vbCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCit2b2lkIERvY3VtZW50Ojp1
cGRhdGVMYXlvdXQoRm9yY2VMYXlvdXQgZm9yY2VMYXlvdXQpCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKIApAQCAtMjIwMywxMSArMjIzMSwxOSBAQCB2b2lkIERvY3VtZW50Ojp1cGRh
dGVMYXlvdXQoKQogCiAgICAgaWYgKCFmcmFtZVZpZXcgfHwgIXJlbmRlclZpZXcoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIGlmICghZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRQ
ZW5kaW5nKCkgJiYgIXJlbmRlclZpZXcoKS0+bmVlZHNMYXlvdXQoKSkKKyAgICBzdGQ6Om9wdGlv
bmFsPGJvb2w+IG9sZExheW91dEZvcmNlZDsKKyAgICBpZiAoZm9yY2VMYXlvdXQgPT0gRm9yY2VM
YXlvdXQ6OlllcyAmJiB2aWV3KCkpIHsKKyAgICAgICAgb2xkTGF5b3V0Rm9yY2VkID0gdmlldygp
LT5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKTsKKyAgICAgICAgdmlldygpLT5sYXlv
dXRDb250ZXh0KCkuc2V0TGF5b3V0Rm9yY2VkKHRydWUpOworICAgIH0KKyAgICBpZiAoIWZyYW1l
Vmlldy0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpICYmICFyZW5kZXJWaWV3KCkt
Pm5lZWRzTGF5b3V0KCkgJiYgZm9yY2VMYXlvdXQgIT0gRm9yY2VMYXlvdXQ6OlllcykKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkubGF5b3V0KCk7CiAK
KyAgICBpZiAob2xkTGF5b3V0Rm9yY2VkKQorICAgICAgICB2aWV3KCktPmxheW91dENvbnRleHQo
KS5zZXRMYXlvdXRGb3JjZWQoKm9sZExheW91dEZvcmNlZCk7CisKICAgICBTdHlsZTo6U2NvcGU6
OlF1ZXJ5Q29udGFpbmVyVXBkYXRlQ29udGV4dCBxdWVyeUNvbnRhaW5lclVwZGF0ZUNvbnRleHQ7
CiAgICAgd2hpbGUgKHN0eWxlU2NvcGUoKS51cGRhdGVRdWVyeUNvbnRhaW5lclN0YXRlKHF1ZXJ5
Q29udGFpbmVyVXBkYXRlQ29udGV4dCkpIHsKICAgICAgICAgdXBkYXRlU3R5bGVJZk5lZWRlZCgp
OwpAQCAtMjIxOSw3ICsyMjU1LDcgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KCkKICAg
ICB9CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzIHJ1blBvc3RMYXlvdXRUYXNrcykKK3Zv
aWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVu
dDo6UnVuUG9zdExheW91dFRhc2tzIHJ1blBvc3RMYXlvdXRUYXNrcywgRm9yY2VMYXlvdXQgZm9y
Y2VMYXlvdXQpCiB7CiAgICAgYm9vbCBvbGRJZ25vcmUgPSBtX2lnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0czsKIApAQCAtMjIzMCw3ICsyMjY2LDcgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MKICAg
ICAgICAgICAgIHNjaGVkdWxlRnVsbFN0eWxlUmVidWlsZCgpOwogICAgIH0KIAotICAgIHVwZGF0
ZUxheW91dCgpOworICAgIHVwZGF0ZUxheW91dChmb3JjZUxheW91dCk7CiAKICAgICBpZiAocnVu
UG9zdExheW91dFRhc2tzID09IFJ1blBvc3RMYXlvdXRUYXNrczo6U3luY2hyb25vdXNseSAmJiB2
aWV3KCkpCiAgICAgICAgIHZpZXcoKS0+Zmx1c2hBbnlQZW5kaW5nUG9zdExheW91dFRhc2tzKCk7
CkBAIC00NzAzLDYgKzQ3MzksMTEgQEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNlZEVsZW1lbnQo
RWxlbWVudCogZWxlbWVudCwgY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogICAgICAgICBt
X2ZvY3VzZWRFbGVtZW50LT5zZXRGb2N1cyh0cnVlLCBvcHRpb25zLnZpc2liaWxpdHkpOwogICAg
ICAgICBtX2xhdGVzdEZvY3VzVHJpZ2dlciA9IG9wdGlvbnMudHJpZ2dlcjsKIAorICAgICAgICBm
b3IgKGF1dG8gZm9jdXNlZCA9IG5ld0ZvY3VzZWRFbGVtZW50OyBmb2N1c2VkOyBmb2N1c2VkID0g
Zm9jdXNlZC0+cGFyZW50RWxlbWVudEluQ29tcG9zZWRUcmVlKCkpIHsKKyAgICAgICAgICAgIGlm
IChhdXRvKiBkYXRhID0gZm9jdXNlZC0+Y29udGVudFZpc2liaWxpdHlEYXRhKCkpCisgICAgICAg
ICAgICAgICAgZGF0YS0+c3VidHJlZUhhc0ZvY3VzID0gdHJ1ZTsKKyAgICAgICAgfQorCiAgICAg
ICAgIC8vIFRoZSBzZXRGb2N1cyBjYWxsIHRyaWdnZXJzIGEgYmx1ciBhbmQgYSBmb2N1cyBldmVu
dC4gRXZlbnQgaGFuZGxlcnMgY291bGQgY2F1c2UgdGhlIGZvY3VzZWQgZWxlbWVudCB0byBiZSBj
bGVhcmVkLgogICAgICAgICBpZiAobV9mb2N1c2VkRWxlbWVudCAhPSBuZXdGb2N1c2VkRWxlbWVu
dCkgewogICAgICAgICAgICAgLy8gaGFuZGxlciBzaGlmdGVkIGZvY3VzCkBAIC04MDI4LDcgKzgw
NjksOCBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblN0YXRl
PiBjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUoRnJhbQogICAgIEZsb2F0UmVjdCByb290TG9jYWxJ
bnRlcnNlY3Rpb25SZWN0ID0gbG9jYWxSb290Qm91bmRzOwogCiAgICAgSW50ZXJzZWN0aW9uT2Jz
ZXJ2YXRpb25TdGF0ZSBpbnRlcnNlY3Rpb25TdGF0ZTsKLSAgICBpbnRlcnNlY3Rpb25TdGF0ZS5p
c0ludGVyc2VjdGluZyA9IHJvb3RMb2NhbFRhcmdldFJlY3QgJiYgcm9vdExvY2FsSW50ZXJzZWN0
aW9uUmVjdC5lZGdlSW5jbHVzaXZlSW50ZXJzZWN0KCpyb290TG9jYWxUYXJnZXRSZWN0KTsKKyAg
ICBpZiAoIXRhcmdldC5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIGludGVyc2VjdGlvblN0
YXRlLmlzSW50ZXJzZWN0aW5nID0gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJbnRl
cnNlY3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJlY3Qp
OwogICAgIGludGVyc2VjdGlvblN0YXRlLmFic29sdXRlVGFyZ2V0UmVjdCA9IHRhcmdldFJlbmRl
cmVyLT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdChsb2NhbFRhcmdldEJvdW5kcykpLmJv
dW5kaW5nQm94KCk7CiAgICAgaW50ZXJzZWN0aW9uU3RhdGUuYWJzb2x1dGVSb290Qm91bmRzID0g
cm9vdFJlbmRlcmVyLT5sb2NhbFRvQWJzb2x1dGVRdWFkKGxvY2FsUm9vdEJvdW5kcykuYm91bmRp
bmdCb3goKTsKIApAQCAtOTA4Niw2ICs5MTI4LDQ0IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpTZXNz
aW9uSUQ+IERvY3VtZW50OjpzZXNzaW9uSUQoKSBjb25zdAogICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiB9CiAKK0NvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSYgRG9jdW1lbnQ6OmNvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZSgpCit7CisgICAgaWYgKCFtX2NvbnRlbnRWaXNpYmls
aXR5RG9jdW1lbnRTdGF0ZSkKKyAgICAgICAgbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3Rh
dGUgPSBtYWtlVW5pcXVlPENvbnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZT4oKnRoaXMpOwor
ICAgIHJldHVybiAqbV9jb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU7Cit9CisKK0NvbnRl
bnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6Q29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRl
KERvY3VtZW50JiBkb2N1bWVudCkKKyAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCit7Cit9CisK
K3ZvaWQgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlOjphZGRDb250ZW50VmlzaWJpbGl0
eU9ic2VydmF0aW9uKEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgaWYgKGF1dG8qIGludGVyc2Vj
dGlvbk9ic2VydmVyID0gZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSkKKyAgICAgICAgaW50
ZXJzZWN0aW9uT2JzZXJ2ZXItPm9ic2VydmUoZWxlbWVudCk7Cit9CisKK3ZvaWQgQ29udGVudFZp
c2liaWxpdHlEb2N1bWVudFN0YXRlOjpyZW1vdmVDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9u
KEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgaWYgKGF1dG8qIGludGVyc2VjdGlvbk9ic2VydmVy
ID0gZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSkKKyAgICAgICAgaW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXItPnVub2JzZXJ2ZShlbGVtZW50KTsKK30KKworSW50ZXJzZWN0aW9uT2JzZXJ2ZXIqIENv
bnRlbnRWaXNpYmlsaXR5RG9jdW1lbnRTdGF0ZTo6ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIo
KQoreworICAgIGlmICghbV9vYnNlcnZlcikgeworICAgICAgICBhdXRvIGNhbGxiYWNrID0gQ29u
dGVudFZpc2liaWxpdHlJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrOjpjcmVhdGUoKm1fZG9j
dW1lbnQpOworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBjb250
ZW50VmlzaWJpbGl0eVJvb3RNYXJnaW5GYWxsYmFjayhNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgi
MTAwJSIpKTsKKyAgICAgICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OkluaXQgb3B0aW9ucyB7IHN0
ZDo6bnVsbG9wdCwgY29udGVudFZpc2liaWxpdHlSb290TWFyZ2luRmFsbGJhY2ssIHsgfSB9Owor
ICAgICAgICBhdXRvIG9ic2VydmVyID0gSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OmNyZWF0ZSgqbV9k
b2N1bWVudCwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUob3B0aW9ucykpOworICAgICAgICBp
ZiAob2JzZXJ2ZXIuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICAgICAgbV9vYnNlcnZlciA9IG9ic2VydmVyLnJldHVyblZhbHVlKCkucHRyKCk7CisgICAg
fQorICAgIHJldHVybiBtX29ic2VydmVyLmdldCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICN1bmRlZiBET0NVTUVOVF9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCBjMWJlY2NkMjFhYjEzMTZhZTAzMDRlOTc5MzljN2EyNjYyNDIzNjEzLi45OGQ5NDkyMDZiOWZm
NDdmYTBjN2M3YTkyZGRiMDA2NWU0MzExNGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMzM5
LDYgKzMzOSwyMSBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CiB9OwogCitjbGFzcyBDb250ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIENvbnRlbnRWaXNpYmlsaXR5RG9jdW1l
bnRTdGF0ZShEb2N1bWVudCYpOworCisgICAgdm9pZCBhZGRDb250ZW50VmlzaWJpbGl0eU9ic2Vy
dmF0aW9uKEVsZW1lbnQmKTsKKyAgICB2b2lkIHJlbW92ZUNvbnRlbnRWaXNpYmlsaXR5T2JzZXJ2
YXRpb24oRWxlbWVudCYpOworCitwcml2YXRlOgorICAgIEludGVyc2VjdGlvbk9ic2VydmVyKiBl
bnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlcigpOworCisgICAgUmVmUHRyPEludGVyc2VjdGlvbk9i
c2VydmVyPiBtX29ic2VydmVyOworICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Cit9
OworCiBjbGFzcyBEb2N1bWVudAogICAgIDogcHVibGljIENvbnRhaW5lck5vZGUKICAgICAsIHB1
YmxpYyBUcmVlU2NvcGUKQEAgLTYyMCwxMiArNjM1LDEzIEBAIHB1YmxpYzoKICAgICBib29sIG5l
ZWRzU3R5bGVSZWNhbGMoKSBjb25zdDsKICAgICB1bnNpZ25lZCBsYXN0U3R5bGVVcGRhdGVTaXpl
Rm9yVGVzdGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFN0eWxlVXBkYXRlU2l6ZUZvclRlc3Rp
bmc7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0KCk7CisgICAgZW51
bSBjbGFzcyBGb3JjZUxheW91dCB7IE5vLCBZZXMgfTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHVwZGF0ZUxheW91dChGb3JjZUxheW91dCA9IEZvcmNlTGF5b3V0OjpObyk7CiAgICAgCiAgICAg
Ly8gdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCkgZm9yY2VzIGxheW91dCBl
dmVuIGlmIHdlIGFyZSB3YWl0aW5nIGZvciBwZW5kaW5nIHN0eWxlc2hlZXQgbG9hZHMsCiAgICAg
Ly8gc28gY2FsbGluZyB0aGlzIG1heSBjYXVzZSBhIGZsYXNoIG9mIHVuc3R5bGVkIGNvbnRlbnQg
KEZPVUMpLgogICAgIGVudW0gY2xhc3MgUnVuUG9zdExheW91dFRhc2tzIHsgQXN5bmNocm9ub3Vz
bHksIFN5bmNocm9ub3VzbHkgfTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhSdW5Qb3N0TGF5b3V0VGFza3MgPSBSdW5Qb3N0TGF5
b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhSdW5Qb3N0TGF5b3V0VGFza3MgPSBSdW5Q
b3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBGb3JjZUxheW91dCA9IEZvcmNlTGF5b3V0
OjpObyk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IHN0eWxlRm9yRWxlbWVu
dElnbm9yaW5nUGVuZGluZ1N0eWxlc2hlZXRzKEVsZW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSog
cGFyZW50U3R5bGUsIFBzZXVkb0lkID0gUHNldWRvSWQ6Ok5vbmUpOwogCkBAIC0xNjQxLDYgKzE2
NTcsOCBAQCBwdWJsaWM6CiAKICAgICBMYXp5TG9hZEltYWdlT2JzZXJ2ZXImIGxhenlMb2FkSW1h
Z2VPYnNlcnZlcigpOwogCisgICAgQ29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0YXRlJiBjb250
ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGUoKTsKKwogICAgIHZvaWQgc2V0SGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRl
bnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVtcHR5Q3VzdG9tQ29udGVudCgp
IGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQ7IH0KICAg
ICB2b2lkIGVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKQEAgLTE4ODIsNiArMTkw
MCw4IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGF6eUxvYWRJbWFnZU9ic2Vy
dmVyPiBtX2xhenlMb2FkSW1hZ2VPYnNlcnZlcjsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250
ZW50VmlzaWJpbGl0eURvY3VtZW50U3RhdGU+IG1fY29udGVudFZpc2liaWxpdHlEb2N1bWVudFN0
YXRlOworCiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9wZW5kaW5nU3RhdGVP
YmplY3Q7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIE1vbm90b25pY1RpbWUgbV9kb2N1bWVudENy
ZWF0aW9uVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBmZWU5OGMzZjFmZTliODExNjI3
NDhhMzdjMzBmMTJlMzMwYWEyNDJhLi4yM2MyNTNlOTc1ZjVlMmJjMGQ5MTQyYTMxNTQ3NmY3ZDI2
YTA2ODkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMjgxLDcgKzEyODEsNyBAQCBpbnQg
RWxlbWVudDo6b2Zmc2V0VG9wRm9yQmluZGluZ3MoKQogCiBpbnQgRWxlbWVudDo6b2Zmc2V0VG9w
KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6
Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgaWYgKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kZXJl
ciA9IHJlbmRlckJveE1vZGVsT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBhZGp1c3RPZmZzZXRG
b3Jab29tQW5kU3VicGl4ZWxMYXlvdXQoKnJlbmRlcmVyLCByZW5kZXJlci0+b2Zmc2V0VG9wKCkp
OwogICAgIHJldHVybiAwOwpAQCAtMTQ0MSw3ICsxNDQxLDcgQEAgaW50IEVsZW1lbnQ6OnNjcm9s
bExlZnQoKQogCiBpbnQgRWxlbWVudDo6c2Nyb2xsVG9wKCkKIHsKLSAgICBkb2N1bWVudCgpLnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0
VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAg
ICBpZiAoZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGhpcykgewogICAgICAgICBp
ZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxWaWV3KCkpCkBAIC0xNzY2
LDcgKzE3NjYsNyBAQCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9h
dFJlY3Q+PiBFbGVtZW50Ojpib3VuZGluZ0Fic29sdXRlUmVjdAogCiBGbG9hdFJlY3QgRWxlbWVu
dDo6Ym91bmRpbmdDbGllbnRSZWN0KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5j
aHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgYXV0byBwYWlyID0g
Ym91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0KCk7CiAgICAgaWYgKCFwYWlyKQogICAg
ICAgICByZXR1cm4geyB9OwpAQCAtMzA3MCw2ICszMDcwLDE1IEBAIHZvaWQgRWxlbWVudDo6Zm9j
dXMoY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogICAgIGlmICghaXNDb25uZWN0ZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpKSB7Cisg
ICAgICAgIGZvciAoYXV0byBmb2N1c2VkID0gdGhpczsgZm9jdXNlZDsgZm9jdXNlZCA9IGZvY3Vz
ZWQtPnBhcmVudEVsZW1lbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgICAgICBpZiAoYXV0
byogZGF0YSA9IGZvY3VzZWQtPmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpKQorICAgICAgICAgICAg
ICAgIGRhdGEtPnN1YnRyZWVIYXNGb2N1cyA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisgICAg
aWYgKGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUmVmIGRvY3Vt
ZW50IHsgdGhpcy0+ZG9jdW1lbnQoKSB9OwogICAgIGlmIChkb2N1bWVudC0+Zm9jdXNlZEVsZW1l
bnQoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC0+cGFnZSgpKQpAQCAtMzM0Miw2
ICszMzUxLDkgQEAgU3RyaW5nIEVsZW1lbnQ6OmlubmVyVGV4dCgpCiAgICAgLy8gV2UgbmVlZCB0
byB1cGRhdGUgbGF5b3V0LCBzaW5jZSBwbGFpblRleHQgdXNlcyBsaW5lIGJveGVzIGluIHRoZSBy
ZW5kZXIgdHJlZS4KICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0cygpOwogCisgICAgaWYgKGlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJu
IFN0cmluZygpOworCiAgICAgaWYgKCFyZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gdGV4dENv
bnRlbnQodHJ1ZSk7CiAKQEAgLTM1NTcsOSArMzU2OSw4IEBAIGJvb2wgRWxlbWVudDo6aGFzVmFs
aWRTdHlsZSgpIGNvbnN0CiAKIGJvb2wgRWxlbWVudDo6aXNWaXNpYmxlV2l0aG91dFJlc29sdmlu
Z0Z1bGxTdHlsZSgpIGNvbnN0CiB7Ci0KICAgICBpZiAocmVuZGVyU3R5bGUoKSB8fCBoYXNWYWxp
ZFN0eWxlKCkpCi0gICAgICAgIHJldHVybiByZW5kZXJTdHlsZSgpICYmIHJlbmRlclN0eWxlKCkt
PnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlOworICAgICAgICByZXR1cm4gcmVu
ZGVyU3R5bGUoKSAmJiByZW5kZXJTdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6
VmlzaWJsZSAmJiAhaXNTa2lwcGVkQ29udGVudCgpOwogCiAgICAgYXV0byBjb21wdXRlZFN0eWxl
Rm9yRWxlbWVudCA9IFtdKEVsZW1lbnQmIGVsZW1lbnQpIC0+IGNvbnN0IFJlbmRlclN0eWxlKiB7
CiAgICAgICAgIGF1dG8qIHN0eWxlID0gZWxlbWVudC5oYXNOb2RlRmxhZyhOb2RlRmxhZzo6SXND
b21wdXRlZFN0eWxlSW52YWxpZEZsYWcpID8gbnVsbHB0ciA6IGVsZW1lbnQuZXhpc3RpbmdDb21w
dXRlZFN0eWxlKCk7CkBAIC0zNTc3LDYgKzM1ODgsOSBAQCBib29sIEVsZW1lbnQ6OmlzVmlzaWJs
ZVdpdGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUoKSBjb25zdAogICAgIGlmIChzdHlsZS0+dmlzaWJp
bGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgIGlmIChpc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IGZvciAoYXV0byYgZWxlbWVudCA6IGNvbXBvc2VkVHJlZUFuY2VzdG9ycyhjb25zdF9jYXN0PEVs
ZW1lbnQmPigqdGhpcykpKSB7CiAgICAgICAgIGF1dG8qIHN0eWxlID0gY29tcHV0ZWRTdHlsZUZv
ckVsZW1lbnQoZWxlbWVudCk7CiAgICAgICAgIGlmICghc3R5bGUgfHwgc3R5bGUtPmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSkKQEAgLTQ3NTAsNiArNDc2NCwxMDQgQEAgRWxlbWVudElk
ZW50aWZpZXIgRWxlbWVudDo6Y3JlYXRlRWxlbWVudElkZW50aWZpZXIoKQogICAgIHJldHVybiBF
bGVtZW50SWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKIH0KIAorQ29udGVudFZpc2liaWxpdHlEYXRh
JiBFbGVtZW50OjplbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKQoreworICAgIGF1dG8mIHJh
cmVEYXRhID0gZW5zdXJlRWxlbWVudFJhcmVEYXRhKCk7CisgICAgaWYgKCFyYXJlRGF0YS5jb250
ZW50VmlzaWJpbGl0eURhdGEoKSkKKyAgICAgICAgcmFyZURhdGEuc2V0Q29udGVudFZpc2liaWxp
dHlEYXRhKG1ha2VVbmlxdWU8Q29udGVudFZpc2liaWxpdHlEYXRhPigpKTsKKyAgICByZXR1cm4g
KnJhcmVEYXRhLmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworfQorCitDb250ZW50VmlzaWJpbGl0
eURhdGEqIEVsZW1lbnQ6OmNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+Y29udGVudFZpc2liaWxpdHlE
YXRhKCkgOiBudWxscHRyOworfQorCit2b2lkIEVsZW1lbnQ6OnVwZGF0ZUNvbnRlbnRWaXNpYmls
aXR5RGF0YShib29sIHNob3VsZFNraXAsIGJvb2wgaXNBdXRvLCBDb250ZW50VmlzaWJpbGl0eSBj
b250ZW50VmlzaWJpbGl0eSkKK3sKKyAgICBpZiAoYXV0byogcGFyZW50ID0gcGFyZW50RWxlbWVu
dCgpKQorICAgICAgICBzaG91bGRTa2lwIHw9IHBhcmVudC0+aXNTa2lwcGVkQ29udGVudCgpOwor
CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGlm
IChpczxIVE1MRGlhbG9nRWxlbWVudD4oKnRoaXMpKQorICAgICAgICBkYXRhLmlzU2tpcHBlZENv
bnRlbnQgPSBzaG91bGRTa2lwICYmIGNvbnRlbnRWaXNpYmlsaXR5ID09IENvbnRlbnRWaXNpYmls
aXR5OjpIaWRkZW47CisgICAgZWxzZQorICAgICAgICBkYXRhLmlzU2tpcHBlZENvbnRlbnQgPSBz
aG91bGRTa2lwOworICAgIGRhdGEuaXNBdXRvID0gaXNBdXRvOworCisgICAgaWYgKFJlbmRlckVs
ZW1lbnQqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKKyAgICAgICAgc2hvdWxkU2tpcCB8
PSByZW5kZXJlci0+c2hvdWxkU2tpcENvbnRlbnQoKTsKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDog
Y2hpbGRyZW5PZlR5cGU8RWxlbWVudD4oKnRoaXMpKQorICAgICAgICBjaGlsZC51cGRhdGVDb250
ZW50VmlzaWJpbGl0eURhdGEoc2hvdWxkU2tpcCwgaXNBdXRvLCBjb250ZW50VmlzaWJpbGl0eSk7
Cit9CisKKy8vIEZJWE1FOiB0aGlzIGlzIGluY29tcGxldGUsIGFuZCBuZWVkcyB0byBiZSByZWZh
Y3RvcmVkIHdpdGggaW50ZXJzZWN0aW9uIG9ic2VydmVyIGNvbXB1dGF0aW9ucyBpbiBEb2N1bWVu
dC4KK3N0YXRpYyBib29sIGNvbXB1dGVJbnRlcnNlY3Rpb24oY29uc3QgRG9jdW1lbnQmIGRvY3Vt
ZW50LCBSZW5kZXJFbGVtZW50KiByZW5kZXJlcikKK3sKKyAgICBpZiAoIXJlbmRlcmVyKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudC52aWV3
KCk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBGbG9hdFJl
Y3QgbG9jYWxSb290Qm91bmRzID0gdmlldy0+bGF5b3V0Vmlld3BvcnRSZWN0KCk7CisgICAgTGF5
b3V0UmVjdCBsb2NhbFRhcmdldEJvdW5kczsKKyAgICBpZiAoaXM8UmVuZGVyQm94PigqcmVuZGVy
ZXIpKQorICAgICAgICBsb2NhbFRhcmdldEJvdW5kcyA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVu
ZGVyZXIpLT5ib3JkZXJCb3VuZGluZ0JveCgpOworCisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRS
ZWN0PiByb290TG9jYWxUYXJnZXRSZWN0OworICAgIE9wdGlvblNldDxSZW5kZXJPYmplY3Q6OlZp
c2libGVSZWN0Q29udGV4dE9wdGlvbj4gdmlzaWJsZVJlY3RPcHRpb25zID0geyBSZW5kZXJPYmpl
Y3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6VXNlRWRnZUluY2x1c2l2ZUludGVyc2VjdGlv
biwgUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OkFwcGx5Q29tcG9zaXRl
ZENsaXBzLCBSZW5kZXJPYmplY3Q6OlZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21w
b3NpdGVkQ29udGFpbmVyU2Nyb2xscyB9OworICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0UmVjdD4g
cmVjdEluRnJhbWVBYnNvbHV0ZVNwYWNlID0gcmVuZGVyZXItPmNvbXB1dGVWaXNpYmxlUmVjdElu
Q29udGFpbmVyKGxvY2FsVGFyZ2V0Qm91bmRzLCAmcmVuZGVyZXItPnZpZXcoKSwgeyBmYWxzZSAv
KiBoYXNQb3NpdGlvbkZpeGVkRGVzY2VuZGFudCAqLywgZmFsc2UgLyogZGlydHlSZWN0SXNGbGlw
cGVkICovLCB2aXNpYmxlUmVjdE9wdGlvbnMgfSk7CisgICAgaWYgKHJlY3RJbkZyYW1lQWJzb2x1
dGVTcGFjZSkKKyAgICAgICAgcm9vdExvY2FsVGFyZ2V0UmVjdCA9IHJlY3RJbkZyYW1lQWJzb2x1
dGVTcGFjZTsKKyAgICBGbG9hdFJlY3Qgcm9vdExvY2FsSW50ZXJzZWN0aW9uUmVjdCA9IGxvY2Fs
Um9vdEJvdW5kczsKKyAgICByZXR1cm4gcm9vdExvY2FsVGFyZ2V0UmVjdCAmJiByb290TG9jYWxJ
bnRlcnNlY3Rpb25SZWN0LmVkZ2VJbmNsdXNpdmVJbnRlcnNlY3QoKnJvb3RMb2NhbFRhcmdldFJl
Y3QpOworfQorCitib29sIEVsZW1lbnQ6OmRldGVybWluZUlmU3VidHJlZUhhc0ZvY3VzKCkKK3sK
KyAgICBmb3IgKGF1dG8qIGZvY3VzZWQgPSBkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCk7IGZv
Y3VzZWQ7IGZvY3VzZWQgPSBmb2N1c2VkLT5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKSkg
eworICAgICAgICBpZiAoZm9jdXNlZCA9PSB0aGlzKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBFbGVtZW50Ojp1cGRhdGVDb250
ZW50VmlzaWJpbGl0eShzdGQ6Om9wdGlvbmFsPENvbnRlbnRWaXNpYmlsaXR5PiwgQ29udGVudFZp
c2liaWxpdHkgbmV3Q29udGVudFZpc2liaWxpdHkpCit7CisgICAgYm9vbCBpc0F1dG8gPSBuZXdD
b250ZW50VmlzaWJpbGl0eSA9PSBDb250ZW50VmlzaWJpbGl0eTo6QXV0bzsKKyAgICBpZiAoaXNB
dXRvKSB7CisgICAgICAgIGF1dG8mIGRhdGEgPSBlbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEo
KTsKKyAgICAgICAgZGF0YS5pc0ludGVyc2VjdGluZ1ZpZXdwb3J0ID0gY29tcHV0ZUludGVyc2Vj
dGlvbihkb2N1bWVudCgpLCByZW5kZXJlcigpKTsKKyAgICAgICAgZGF0YS5pc1NraXBwZWRDb250
ZW50ID0gZmFsc2U7CisgICAgICAgIGRhdGEuc3VidHJlZUhhc0ZvY3VzID0gZGV0ZXJtaW5lSWZT
dWJ0cmVlSGFzRm9jdXMoKTsKKyAgICAgICAgZG9jdW1lbnQoKS5jb250ZW50VmlzaWJpbGl0eURv
Y3VtZW50U3RhdGUoKS5hZGRDb250ZW50VmlzaWJpbGl0eU9ic2VydmF0aW9uKCp0aGlzKTsKKyAg
ICB9CisgICAgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRhKGZhbHNlLCBpc0F1dG8sIG5ld0Nv
bnRlbnRWaXNpYmlsaXR5KTsKK30KKworYm9vbCBFbGVtZW50Ojppc1NraXBwZWRDb250ZW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gY29udGVudFZpc2liaWxpdHlEYXRhKCkgPyBjb250ZW50Vmlz
aWJpbGl0eURhdGEoKS0+aXNTa2lwcGVkQ29udGVudCA6IGZhbHNlOworfQorCitib29sIEVsZW1l
bnQ6OnNob3VsZFNraXBDb250ZW50KCkgY29uc3QKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS5jb250ZW50
VmlzaWJpbGl0eSgpID09IENvbnRlbnRWaXNpYmlsaXR5OjpBdXRvKQorICAgICAgICByZXR1cm4g
Y29udGVudFZpc2liaWxpdHlEYXRhKCkgPyAhY29udGVudFZpc2liaWxpdHlEYXRhKCktPmlzSW50
ZXJzZWN0aW5nVmlld3BvcnQgJiYgIWNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpLT5zdWJ0cmVlSGFz
Rm9jdXMgOiB0cnVlOworICAgIHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRlbnRWaXNp
YmlsaXR5KCkgPT0gQ29udGVudFZpc2liaWxpdHk6OkhpZGRlbjsKK30KKwordm9pZCBFbGVtZW50
Ojpjb250ZW50VmlzaWJpbGl0eVZpZXdwb3J0Q2hhbmdlKGJvb2wgaXNJbnRlcnNlY3RpbmcpCit7
CisgICAgYXV0byYgZGF0YSA9IGVuc3VyZUNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpOworICAgIGRh
dGEuaXNJbnRlcnNlY3RpbmdWaWV3cG9ydCA9IGlzSW50ZXJzZWN0aW5nOworICAgIHVwZGF0ZUNv
bnRlbnRWaXNpYmlsaXR5RGF0YShmYWxzZSwgZGF0YS5pc0F1dG8sIENvbnRlbnRWaXNpYmlsaXR5
OjpBdXRvKTsKK30KKwogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAKIFN0eWxlUHJvcGVydHlN
YXAqIEVsZW1lbnQ6OmF0dHJpYnV0ZVN0eWxlTWFwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDYy
MDliZTYyYTcwNDY0ZmVjNzMzMzQ1ZTY1NTM2M2RjY2ZlOWY1ODguLmRmMTM0YTg5ZWFlNzkxMDll
MzRhMTVkODNmOTkyNzc3ZjliMjUzZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtOTEsNiArOTEs
MTMgQEAgc3RydWN0IFNjcm9sbEludG9WaWV3T3B0aW9uczsKIHN0cnVjdCBTY3JvbGxUb09wdGlv
bnM7CiBzdHJ1Y3QgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQ7CiBzdHJ1Y3QgU2hh
ZG93Um9vdEluaXQ7CitzdHJ1Y3QgQ29udGVudFZpc2liaWxpdHlEYXRhIHsKKyAgICBXVEZfTUFL
RV9TVFJVQ1RfRkFTVF9BTExPQ0FURUQ7CisgICAgYm9vbCBpc1NraXBwZWRDb250ZW50IHsgZmFs
c2UgfTsKKyAgICBib29sIGlzSW50ZXJzZWN0aW5nVmlld3BvcnQgeyBmYWxzZSB9OworICAgIGJv
b2wgc3VidHJlZUhhc0ZvY3VzIHsgZmFsc2UgfTsKKyAgICBib29sIGlzQXV0byB7IGZhbHNlIH07
Cit9OwogCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7CkBAIC02NjQsNiArNjcx
LDEzIEBAIHB1YmxpYzoKICAgICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1faGFzRHVwbGljYXRlQXR0cmlidXRlOyB9OwogICAgIHZvaWQgc2V0SGFzRHVwbGlj
YXRlQXR0cmlidXRlKGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRlKSB7IG1faGFzRHVwbGljYXRl
QXR0cmlidXRlID0gaGFzRHVwbGljYXRlQXR0cmlidXRlOyB9OwogCisgICAgQ29udGVudFZpc2li
aWxpdHlEYXRhJiBlbnN1cmVDb250ZW50VmlzaWJpbGl0eURhdGEoKTsKKyAgICBDb250ZW50Vmlz
aWJpbGl0eURhdGEqIGNvbnRlbnRWaXNpYmlsaXR5RGF0YSgpIGNvbnN0OworICAgIHZvaWQgdXBk
YXRlQ29udGVudFZpc2liaWxpdHkoc3RkOjpvcHRpb25hbDxDb250ZW50VmlzaWJpbGl0eT4gb2xk
Q29udGVudFZpc2liaWxpdHksIENvbnRlbnRWaXNpYmlsaXR5IG5ld0NvbnRlbnRWaXNpYmlsaXR5
KTsKKyAgICB2b2lkIGNvbnRlbnRWaXNpYmlsaXR5Vmlld3BvcnRDaGFuZ2UoYm9vbCk7CisgICAg
Ym9vbCBpc1NraXBwZWRDb250ZW50KCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRTa2lwQ29udGVu
dCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmLCBDb25zdHJ1Y3Rpb25UeXBlKTsKIApAQCAtNjg3LDYgKzcwMSwxMCBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0
eU1hcD4mJik7CiAjZW5kaWYKIAorICAgIHZvaWQgdXBkYXRlQ29udGVudFZpc2liaWxpdHlEYXRh
KGJvb2wgc2hvdWxkU2tpcCwgYm9vbCBzdWJ0cmVlSGFzRm9jdXMsIENvbnRlbnRWaXNpYmlsaXR5
KTsKKworICAgIGJvb2wgZGV0ZXJtaW5lSWZTdWJ0cmVlSGFzRm9jdXMoKTsKKwogcHJpdmF0ZToK
ICAgICBGcmFtZSogZG9jdW1lbnRGcmFtZVdpdGhOb25OdWxsVmlldygpIGNvbnN0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCmluZGV4IDg3N2EzNDlhMTQzOTNjYjlkYmQ2
ZDQzN2E3YmQ2NjE2ZWYyNzUxMGEuLjVjODZiOGU0MmYxYjU0ODYwYTAxYTYyZjk5Mzk4OTdjYTI4
YThjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCkBAIC00Myw2ICs0
Myw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhIDogTm9kZVJhcmVEYXRhIHsK
ICAgICB2b2lkKiB0eXBlZE9NRGF0YTsKICNlbmRpZgogICAgIHZvaWQqIHJlc2l6ZU9ic2VydmVy
RGF0YTsKKyAgICB2b2lkKiBjb250ZW50VmlzaWJpbGl0eURhdGE7CiB9OwogCiBzdGF0aWNfYXNz
ZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09IHNpemVvZihTYW1lU2l6ZUFzRWxlbWVudFJh
cmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91bGQgc3RheSBzbWFsbCIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDBlYzQ4N2ZiOGQxZjBmZjkyZGIxNzY5NTMxOWMw
N2RmNGUyN2Y2ZmIuLjlmMTA5ZDAzN2UwODlkZDBkMjU0M2IzYTJkZmExNDk2NThiNWY1YWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTEwNiw2ICsxMDYsOSBAQCBwdWJs
aWM6CiAgICAgY29uc3QgQXRvbVN0cmluZyYgbm9uY2UoKSBjb25zdCB7IHJldHVybiBtX25vbmNl
OyB9CiAgICAgdm9pZCBzZXROb25jZShjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSkgeyBtX25vbmNl
ID0gdmFsdWU7IH0KIAorICAgIENvbnRlbnRWaXNpYmlsaXR5RGF0YSogY29udGVudFZpc2liaWxp
dHlEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50VmlzaWJpbGl0eURhdGEuZ2V0KCk7IH0K
KyAgICB2b2lkIHNldENvbnRlbnRWaXNpYmlsaXR5RGF0YShzdGQ6OnVuaXF1ZV9wdHI8Q29udGVu
dFZpc2liaWxpdHlEYXRhPiYmIGRhdGEpIHsgbV9jb250ZW50VmlzaWJpbGl0eURhdGEgPSBXVEZN
b3ZlKGRhdGEpOyB9CisKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogICAgIFN0eWxlUHJvcGVy
dHlNYXAqIGF0dHJpYnV0ZVN0eWxlTWFwKCkgeyByZXR1cm4gbV9hdHRyaWJ1dGVTdHlsZU1hcC5n
ZXQoKTsgfQogICAgIHZvaWQgc2V0QXR0cmlidXRlU3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlN
YXA+JiYgbWFwKSB7IG1fYXR0cmlidXRlU3R5bGVNYXAgPSBXVEZNb3ZlKG1hcCk7IH0KQEAgLTE1
MSw2ICsxNTQsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OlBh
cnROYW1lcyk7CiAgICAgICAgIGlmIChtX25vbmNlKQogICAgICAgICAgICAgcmVzdWx0LmFkZChV
c2VUeXBlOjpOb25jZSk7CisgICAgICAgIGlmIChtX0NvbnRlbnRWaXNpYmlsaXR5RGF0YSkKKyAg
ICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6Q29udGVudFZpc2liaWxpdHkpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNlbmRpZgpAQCAtMTg0LDYgKzE4OSw4IEBAIHByaXZh
dGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9uY2U7CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29u
dGVudFZpc2liaWxpdHlEYXRhPiBtX2NvbnRlbnRWaXNpYmlsaXR5RGF0YTsKKwogICAgIHZvaWQg
cmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGVSYXJlRGF0YS5oCmluZGV4IGMzMzFmYjhlNWE1NTc3MWMzOWEwYjYzMGIxMTA5ZWY5MzM3Yjlh
ODUuLmNlNTg0ODcyNTY2ZmZjNDQ3MTQ4NTI4ZjVmODNiYWRiNDFjNmE4NTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NCw2ICsyNjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBh
cnRMaXN0ID0gMSA8PCAxNiwKICAgICAgICAgUGFydE5hbWVzID0gMSA8PCAxNywKICAgICAgICAg
Tm9uY2UgPSAxIDw8IDE4LAorICAgICAgICBDb250ZW50VmlzaWJpbGl0eT0gMSA8PCAxOSwKICAg
ICB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRl
eCBjZjcxNDk1ZmY5ZDI0OWU1YTM1YmE1ZmE0YWUyMDhlOWIwYzVlYWY5Li40MTQyYjc0MTE5Yzkw
ZWFlZjc1OWVjMGM4MDBmMjczZDhjNDZiMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCkBAIC00NTYsNiArNDU2LDE2IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjphZHZh
bmNlKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBhdXRvIGlzU2tpcHBlZENv
bnRlbnRPclRleHQgPSBbJl0oKSB7CisgICAgICAgIGlmIChpczxFbGVtZW50PihtX25vZGUpKQor
ICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KG1fbm9kZSktPmlzU2tpcHBlZENv
bnRlbnQoKTsKKyAgICAgICAgCisgICAgICAgIGlmIChtX25vZGUtPmlzVGV4dE5vZGUoKSkKKyAg
ICAgICAgICAgIHJldHVybiBtX25vZGUtPnBhcmVudEVsZW1lbnQoKSA/IG1fbm9kZS0+cGFyZW50
RWxlbWVudCgpLT5pc1NraXBwZWRDb250ZW50KCk6IGZhbHNlOworCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9OworCiAgICAgd2hpbGUgKG1fbm9kZSAmJiBtX25vZGUgIT0gbV9wYXN0RW5k
Tm9kZSkgewogICAgICAgICAvLyBpZiB0aGUgcmFuZ2UgZW5kcyBhdCBvZmZzZXQgMCBvZiBhbiBl
bGVtZW50LCByZXByZXNlbnQgdGhlCiAgICAgICAgIC8vIHBvc2l0aW9uLCBidXQgbm90IHRoZSBj
b250ZW50LCBvZiB0aGF0IGVsZW1lbnQgZS5nLiBpZiB0aGUKQEAgLTQ3Miw3ICs0ODIsOSBAQCB2
b2lkIFRleHRJdGVyYXRvcjo6YWR2YW5jZSgpCiAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyKSB7
CiAgICAgICAgICAgICAgICAgbV9oYW5kbGVkTm9kZSA9IHRydWU7CiAgICAgICAgICAgICAgICAg
bV9oYW5kbGVkQ2hpbGRyZW4gPSAhaGFzRGlzcGxheUNvbnRlbnRzKCptX25vZGUpOwotICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXM8RWxlbWVudD4obV9ub2Rl
KSAmJiBkb3duY2FzdDxFbGVtZW50PihtX25vZGUpLT5zaG91bGRTa2lwQ29udGVudCgpKSB7Cisg
ICAgICAgICAgICAgICAgbV9oYW5kbGVkQ2hpbGRyZW4gPSB0cnVlOworICAgICAgICAgICAgfSBl
bHNlIGlmICghaXNTa2lwcGVkQ29udGVudE9yVGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgLy8g
aGFuZGxlIGN1cnJlbnQgbm9kZSBhY2NvcmRpbmcgdG8gaXRzIHR5cGUKICAgICAgICAgICAgICAg
ICBpZiAocmVuZGVyZXItPmlzVGV4dCgpICYmIG1fbm9kZS0+aXNUZXh0Tm9kZSgpKQogICAgICAg
ICAgICAgICAgICAgICBtX2hhbmRsZWROb2RlID0gaGFuZGxlVGV4dE5vZGUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc5OGZlODZiYzRmMzIwMjY3MWNk
MmQ3MTQ2NjAwMGI2ZWJhYmI2YmYuLjQ1YjRkMDIwODlkMTAyODg1ZDQxMzYxY2IzMDZiNTQ4OGI5
MzdmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDg1
LDkgKzQ4NSw5IEBAIHVuc2lnbmVkIEhUTUxJbWFnZUVsZW1lbnQ6OndpZHRoKGJvb2wgaWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKQogICAgIH0KIAogICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMpCi0gICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBE
b2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgZWxzZQotICAgICAgICBkb2N1bWVudCgp
LnVwZGF0ZUxheW91dCgpOworICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVu
dDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgp
OwogICAgIGlmICghYm94KQpAQCAtNDk4LDYgKzQ5OCwxMSBAQCB1bnNpZ25lZCBIVE1MSW1hZ2VF
bGVtZW50Ojp3aWR0aChib29sIGlnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cykKIAogdW5zaWduZWQg
SFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wgaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQog
eworICAgIGlmIChpZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMpCisgICAgICAgIGRvY3VtZW50KCku
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5
b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7Cisg
ICAgZWxzZQorICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VM
YXlvdXQ6Olllcyk7CisKICAgICBpZiAoIXJlbmRlcmVyKCkpIHsKICAgICAgICAgLy8gY2hlY2sg
dGhlIGF0dHJpYnV0ZSBmaXJzdCBmb3IgYW4gZXhwbGljaXQgcGl4ZWwgdmFsdWUKICAgICAgICAg
YXV0byBvcHRpb25hbEhlaWdodCA9IHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcihhdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGhlaWdodEF0dHIpKTsKQEAgLTUwOSwxMSArNTE0LDYg
QEAgdW5zaWduZWQgSFRNTEltYWdlRWxlbWVudDo6aGVpZ2h0KGJvb2wgaWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKQogICAgICAgICAgICAgcmV0dXJuIG1faW1hZ2VMb2FkZXItPmltYWdlKCktPmlt
YWdlU2l6ZUZvclJlbmRlcmVyKHJlbmRlcmVyKCksIDEuMGYpLmhlaWdodCgpLnRvVW5zaWduZWQo
KTsKICAgICB9CiAKLSAgICBpZiAoaWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKQotICAgICAgICBk
b2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIGVs
c2UKLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKLQogICAgIFJlbmRlckJveCog
Ym94ID0gcmVuZGVyQm94KCk7CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybiAwOwpAQCAt
NjIxLDcgKzYyMSw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6c2V0V2lkdGgodW5zaWduZWQg
dmFsdWUpCiAKIGludCBIVE1MSW1hZ2VFbGVtZW50Ojp4KCkgY29uc3QKIHsKLSAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50
KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0
TGF5b3V0VGFza3M6OkFzeW5jaHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7
CiAgICAgYXV0byByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJl
cikKICAgICAgICAgcmV0dXJuIDA7CkBAIC02MzIsNyArNjMyLDcgQEAgaW50IEhUTUxJbWFnZUVs
ZW1lbnQ6OngoKSBjb25zdAogCiBpbnQgSFRNTEltYWdlRWxlbWVudDo6eSgpIGNvbnN0CiB7Ci0g
ICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAg
ICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVu
dDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5
b3V0OjpZZXMpOwogICAgIGF1dG8gcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpOwogICAgIGlm
ICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9JbWFnZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5w
dXRUeXBlLmNwcAppbmRleCA5NjE1MzQxMWM3MDNiMzRhYjNkODJjNWFhMjY1NDk4YjFjYTMwYWUy
Li5hMjBjOGI2NzFkMGJjMGRlNGRjMmU4ZTAyNDg3NWI1OTlkNTgzNmYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ltYWdlSW5wdXRUeXBlLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHVuc2lnbmVkIElt
YWdlSW5wdXRUeXBlOjpoZWlnaHQoKSBjb25zdAogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAg
IFJlZjxIVE1MSW5wdXRFbGVtZW50PiBlbGVtZW50KCp0aGlzLT5lbGVtZW50KCkpOwogCi0gICAg
ZWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICBlbGVtZW50LT5kb2N1bWVu
dCgpLnVwZGF0ZUxheW91dChEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAKICAgICBpZiAo
YXV0byogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gYWRq
dXN0Rm9yQWJzb2x1dGVab29tKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRlcmVyKS5jb250ZW50
SGVpZ2h0KCksICpyZW5kZXJlcik7CkBAIC0xOTUsNyArMTk1LDcgQEAgdW5zaWduZWQgSW1hZ2VJ
bnB1dFR5cGU6OndpZHRoKCkgY29uc3QKICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAgICBSZWY8
SFRNTElucHV0RWxlbWVudD4gZWxlbWVudCgqdGhpcy0+ZWxlbWVudCgpKTsKIAotICAgIGVsZW1l
bnQtPmRvY3VtZW50KCkudXBkYXRlTGF5b3V0KCk7CisgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS51
cGRhdGVMYXlvdXQoRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMpOwogCiAgICAgaWYgKGF1dG8q
IHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIGFkanVzdEZv
ckFic29sdXRlWm9vbShkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlcikuY29udGVudFdpZHRo
KCksICpyZW5kZXJlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
d0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRD
b250ZXh0LmNwcAppbmRleCA2OWE0YzIzYzlhMzYxODJjMTcwOWUzN2ExYWI0ZDhlNzQ4MThmODcx
Li41MjJkYmIyYzc0OWRiMGNjMTAxMWVmMGQwODRhN2M3NTdhZTc4NWIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKQEAgLTIzNiw3ICsyMzYs
OCBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dCgpCiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgICAgIGxheW91dFVzaW5nRm9ybWF0dGluZ0Nv
bnRleHQoKTsKICNlbmRpZgotICAgICAgICArK21fbGF5b3V0Q291bnQ7CisgICAgICAgIGlmICgh
bV9sYXlvdXRGb3JjZWQpCisgICAgICAgICAgICArK21fbGF5b3V0Q291bnQ7CiAjaWYgRU5BQkxF
KFRFWFRfQVVUT1NJWklORykKICAgICAgICAgYXBwbHlUZXh0U2l6aW5nSWZOZWVkZWQoKmxheW91
dFJvb3QuZ2V0KCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlld0xheW91dENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5
b3V0Q29udGV4dC5oCmluZGV4IDZmOWViMWUwOTM4MjRlNmIxYjBmOWE1N2E3NTI1M2EzMjRmZWUx
ZmEuLmRkYzZmMDMwZjMxMmM4YjA4NThjYTY0ZWFkOWU1MTZhNjMyNGYzOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oCkBAIC04NCw2ICs4NCw4IEBA
IHB1YmxpYzoKICAgICBib29sIGlzSW5MYXlvdXQoKSBjb25zdCB7IHJldHVybiBsYXlvdXRQaGFz
ZSgpICE9IExheW91dFBoYXNlOjpPdXRzaWRlTGF5b3V0OyB9CiAgICAgYm9vbCBpc0luUmVuZGVy
VHJlZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgPT0gTGF5b3V0UGhhc2U6
OkluUmVuZGVyVHJlZUxheW91dDsgfQogICAgIGJvb2wgaW5QYWludGFibGVTdGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIGxheW91dFBoYXNlKCkgIT0gTGF5b3V0UGhhc2U6OkluUmVuZGVyVHJlZUxheW91
dCAmJiBsYXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblZpZXdTaXplQWRqdXN0ICYmIChs
YXlvdXRQaGFzZSgpICE9IExheW91dFBoYXNlOjpJblBvc3RMYXlvdXQgfHwgaW5Bc3luY2hyb25v
dXNUYXNrcygpKTsgfQorICAgIGJvb2wgaXNMYXlvdXRGb3JjZWQoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEZvcmNlZDsgfQorICAgIHZvaWQgc2V0TGF5b3V0Rm9yY2VkKGJvb2wgZikgeyBtX2xh
eW91dEZvcmNlZCA9IGY7IH0KIAogICAgIHVuc2lnbmVkIGxheW91dENvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXlvdXRDb3VudDsgfQogCkBAIC0xNzksNiArMTgxLDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1fbmVlZHNGdWxsUmVwYWludCB7IHRydWUgfTsKICAgICBib29sIG1faW5Bc3luY2hy
b25vdXNUYXNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NldE5lZWRzTGF5b3V0V2FzRGVmZXJy
ZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9sYXlvdXRGb3JjZWQgeyBmYWxzZSB9OwogICAgIExh
eW91dFBoYXNlIG1fbGF5b3V0UGhhc2UgeyBMYXlvdXRQaGFzZTo6T3V0c2lkZUxheW91dCB9Owog
ICAgIGVudW0gY2xhc3MgTGF5b3V0TmVzdGVkU3RhdGUgOiB1aW50OF90ICB7IE5vdEluTGF5b3V0
LCBOb3ROZXN0ZWQsIE5lc3RlZCB9OwogICAgIExheW91dE5lc3RlZFN0YXRlIG1fbGF5b3V0TmVz
dGVkU3RhdGUgeyBMYXlvdXROZXN0ZWRTdGF0ZTo6Tm90SW5MYXlvdXQgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuY3BwCmluZGV4IGI1YTIz
N2U4MTQyZWQ3YjIzN2FiNDQ1M2RlYjY1ZTMzYmY0Yzc2MTguLmRlZjYxMzQzNzZiMzYyZTM4M2Zm
YmNmY2I5NzU1YzVmYTQyMmM2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5LmNwcApAQCAtNDEsNiArNDEsOCBAQCBJbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5OjpJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KGNvbnN0IEluaXQmIGluaXQp
CiB7CiAgICAgaWYgKGluaXQucm9vdEJvdW5kcykKICAgICAgICAgbV9yb290Qm91bmRzID0gRE9N
UmVjdFJlYWRPbmx5Ojpmcm9tUmVjdCgqaW5pdC5yb290Qm91bmRzKTsKKyAgICBpZiAobV90YXJn
ZXQgJiYgbV90YXJnZXQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAgICAgbV9pc0ludGVyc2Vj
dGluZyA9IGZhbHNlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCmluZGV4IGViY2E3ZTMzYmQxN2EwNjUyZGRlYTA4
Y2Q0ZTViYWFkY2Y2YzllYWYuLmQ4ZGVmM2ExNGQ1MDczYmFhMTBlYzkwZWM0YzFmMDNlODdhMWQ3
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uY3BwCkBAIC01MSwy
NCArNTEsMjYgQEAgdm9pZCBSZXNpemVPYnNlcnZhdGlvbjo6dXBkYXRlT2JzZXJ2YXRpb25TaXpl
KGNvbnN0IEJveFNpemVzJiBib3hTaXplcykKICAgICBtX2xhc3RPYnNlcnZhdGlvblNpemVzID0g
Ym94U2l6ZXM7CiB9CiAKLWF1dG8gUmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVPYnNlcnZlZFNp
emVzKCkgY29uc3QgLT4gQm94U2l6ZXMKK3N0ZDo6b3B0aW9uYWw8UmVzaXplT2JzZXJ2YXRpb246
OkJveFNpemVzPiBSZXNpemVPYnNlcnZhdGlvbjo6Y29tcHV0ZU9ic2VydmVkU2l6ZXMoKSBjb25z
dAogewogICAgIGlmIChtX3RhcmdldC0+aXNTVkdFbGVtZW50KCkpIHsKICAgICAgICAgaWYgKGF1
dG8gc3ZnUmVjdCA9IGRvd25jYXN0PFNWR0VsZW1lbnQ+KCptX3RhcmdldCkuZ2V0Qm91bmRpbmdC
b3goKSkgewogICAgICAgICAgICAgYXV0byBzaXplID0gTGF5b3V0U2l6ZShzdmdSZWN0LT53aWR0
aCgpLCBzdmdSZWN0LT5oZWlnaHQoKSk7Ci0gICAgICAgICAgICByZXR1cm4geyBzaXplLCBzaXpl
LCBzaXplIH07CisgICAgICAgICAgICByZXR1cm4gQm94U2l6ZXMgeyBzaXplLCBzaXplLCBzaXpl
IH07CiAgICAgICAgIH0KICAgICB9CiAgICAgYXV0byogYm94ID0gbV90YXJnZXQtPnJlbmRlckJv
eCgpOwogICAgIGlmIChib3gpIHsKLSAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgaWYgKG1fdGFy
Z2V0LT5pc1NraXBwZWRDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworICAgICAgICByZXR1cm4gQm94U2l6ZXMgewogICAgICAgICAgICAgYWRqdXN0TGF5b3V0U2l6
ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRTaXplKCksICpib3gpLAogICAgICAgICAgICAg
YWRqdXN0TGF5b3V0U2l6ZUZvckFic29sdXRlWm9vbShib3gtPmNvbnRlbnRMb2dpY2FsU2l6ZSgp
LCAqYm94KSwKICAgICAgICAgICAgIGFkanVzdExheW91dFNpemVGb3JBYnNvbHV0ZVpvb20oYm94
LT5ib3JkZXJCb3hMb2dpY2FsU2l6ZSgpLCAqYm94KQogICAgICAgICB9OwogICAgIH0KIAotICAg
IHJldHVybiB7IH07CisgICAgcmV0dXJuIEJveFNpemVzIHsgfTsKIH0KIAogTGF5b3V0UG9pbnQg
UmVzaXplT2JzZXJ2YXRpb246OmNvbXB1dGVUYXJnZXRMb2NhdGlvbigpIGNvbnN0CkBAIC0xMDQs
MTUgKzEwNiwxNyBAQCBGbG9hdFNpemUgUmVzaXplT2JzZXJ2YXRpb246OnNuYXBwZWRDb250ZW50
Qm94U2l6ZSgpIGNvbnN0CiBzdGQ6Om9wdGlvbmFsPFJlc2l6ZU9ic2VydmF0aW9uOjpCb3hTaXpl
cz4gUmVzaXplT2JzZXJ2YXRpb246OmVsZW1lbnRTaXplQ2hhbmdlZCgpIGNvbnN0CiB7CiAgICAg
YXV0byBjdXJyZW50U2l6ZXMgPSBjb21wdXRlT2JzZXJ2ZWRTaXplcygpOworICAgIGlmICghY3Vy
cmVudFNpemVzKQorICAgICAgICByZXR1cm4gY3VycmVudFNpemVzOwogCiAgICAgc3dpdGNoICht
X29ic2VydmVkQm94KSB7CiAgICAgY2FzZSBSZXNpemVPYnNlcnZlckJveE9wdGlvbnM6OkJvcmRl
ckJveDoKLSAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuYm9yZGVyQm94TG9naWNh
bFNpemUgIT0gY3VycmVudFNpemVzLmJvcmRlckJveExvZ2ljYWxTaXplKQotICAgICAgICAgICAg
cmV0dXJuIGN1cnJlbnRTaXplczsKKyAgICAgICAgaWYgKG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMu
Ym9yZGVyQm94TG9naWNhbFNpemUgIT0gY3VycmVudFNpemVzLT5ib3JkZXJCb3hMb2dpY2FsU2l6
ZSkKKyAgICAgICAgICAgIHJldHVybiAqY3VycmVudFNpemVzOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFJlc2l6ZU9ic2VydmVyQm94T3B0aW9uczo6Q29udGVudEJveDoKLSAgICAgICAgaWYg
KG1fbGFzdE9ic2VydmF0aW9uU2l6ZXMuY29udGVudEJveExvZ2ljYWxTaXplICE9IGN1cnJlbnRT
aXplcy5jb250ZW50Qm94TG9naWNhbFNpemUpCi0gICAgICAgICAgICByZXR1cm4gY3VycmVudFNp
emVzOworICAgICAgICBpZiAobV9sYXN0T2JzZXJ2YXRpb25TaXplcy5jb250ZW50Qm94TG9naWNh
bFNpemUgIT0gY3VycmVudFNpemVzLT5jb250ZW50Qm94TG9naWNhbFNpemUpCisgICAgICAgICAg
ICByZXR1cm4gKmN1cnJlbnRTaXplczsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1Jlc2l6ZU9ic2VydmF0aW9uLmgKaW5kZXggNjhiMWMyYTk3NGU2NTMxMjVlOTI4
ZmQ0ODgyMTBmNWMyZGYwZDcxMy4uODA1NTRmYzA4ZGZmMGVmMWM5YWRlNTc4NmNlODE1YTVlMmYx
ODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2YXRpb24uaApAQCAtNjQsNyAr
NjQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlc2l6ZU9ic2VydmF0aW9uKEVsZW1lbnQm
LCBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMpOwogCi0gICAgQm94U2l6ZXMgY29tcHV0ZU9ic2Vy
dmVkU2l6ZXMoKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPEJveFNpemVzPiBjb21wdXRlT2Jz
ZXJ2ZWRTaXplcygpIGNvbnN0OwogICAgIExheW91dFBvaW50IGNvbXB1dGVUYXJnZXRMb2NhdGlv
bigpIGNvbnN0OwogCiAgICAgV2Vha1B0cjxFbGVtZW50PiBtX3RhcmdldDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGVjOWRlYjllNzE5NWE3N2ZiZThkZTg0
NWQxMGM0M2RkZjEyOWY1ODMuLjFlNTRmZWJhZGZmMDgwMDU3MjZkNjM3OTA4NjdhNzA4MjliM2Iw
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtNjUyLDYg
KzY1Miw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKGJvb2wsIExheW91dFVuaXQp
CiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCkKIHsKKyAgICBp
ZiAoc2hvdWxkU2tpcENvbnRlbnQoKSAmJiAhdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRl
eHQoKS5pc0xheW91dEZvcmNlZCgpKQorICAgICAgICByZXR1cm47CiAgICAgaWYgKGNoaWxkcmVu
SW5saW5lKCkpCiAgICAgICAgIGFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKCk7CiAgICAg
ZWxzZQpAQCAtNzQzLDYgKzc0NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJv
bUJsb2NrQ2hpbGRyZW4oKQogCiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21Qb3Np
dGlvbmVkT2JqZWN0cygpCiB7CisgICAgaWYgKHNob3VsZFNraXBDb250ZW50KCkgJiYgIXZpZXco
KS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3JjZWQoKSkKKyAgICAgICAg
cmV0dXJuOwogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOwogICAgIGlmICghcG9zaXRpb25lZERlc2NlbmRh
bnRzKQogICAgICAgICByZXR1cm47CkBAIC0xMDc0LDcgKzEwNzgsMTMgQEAgdm9pZCBSZW5kZXJC
bG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVuLCBib29s
IGZpeGVkUG9zaXQKICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERl
c2NlbmRhbnRzID0gcG9zaXRpb25lZE9iamVjdHMoKTsKICAgICBpZiAoIXBvc2l0aW9uZWREZXNj
ZW5kYW50cykKICAgICAgICAgcmV0dXJuOwotICAgIAorCisgICAgaWYgKHNob3VsZFNraXBDb250
ZW50KCkgJiYgIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlvdXRGb3Jj
ZWQoKSkgeworICAgICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmJl
Z2luKCk7IGl0ICE9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7ICsraXQpCisgICAgICAg
ICAgICAoKippdCkuY2xlYXJOZWVkc0xheW91dCgpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgLy8gRG8gbm90IGNhY2hlIHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCkgaW4gYSBs
b2NhbCB2YXJpYWJsZSwgc2luY2UgfHBvc2l0aW9uZWREZXNjZW5kYW50c3wgY2FuIGJlIG11dGF0
ZWQKICAgICAvLyBhcyBpdCBpcyB3YWxrZWQuIFdlIGFsd2F5cyBuZWVkIHRvIGZldGNoIHRoZSBu
ZXcgZW5kKCkgdmFsdWUgZHluYW1pY2FsbHkuCiAgICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25l
ZERlc2NlbmRhbnRzLT5iZWdpbigpOyBpdCAhPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgp
OyArK2l0KQpAQCAtMTEzNyw3ICsxMTQ3LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRDb250
ZW50cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2YKICAg
ICAvLyBTdHlsZSBpcyBub24tZmluYWwgaWYgdGhlIGVsZW1lbnQgaGFzIGEgcGVuZGluZyBzdHls
ZXNoZWV0IGJlZm9yZSBpdC4gV2UgZW5kIHVwIHdpdGggcmVuZGVyZXJzIHdpdGggc3VjaCBzdHls
ZXMgaWYgYSBzY3JpcHQKICAgICAvLyBmb3JjZXMgcmVuZGVyZXIgY29uc3RydWN0aW9uIGJ5IHF1
ZXJ5aW5nIHNvbWV0aGluZyBsYXlvdXQgZGVwZW5kZW50LgogICAgIC8vIEF2b2lkIEZPVUMgYnkg
bm90IHBhaW50aW5nLiBTd2l0Y2hpbmcgdG8gZmluYWwgc3R5bGUgdHJpZ2dlcnMgcmVwYWludC4K
LSAgICBpZiAoc3R5bGUoKS5pc05vdEZpbmFsKCkpCisgICAgaWYgKHN0eWxlKCkuaXNOb3RGaW5h
bCgpIHx8IHNob3VsZFNraXBDb250ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChj
aGlsZHJlbklubGluZSgpKQpAQCAtMTI0MCw2ICsxMjUwLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6
cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWlu
dE9mZnMKIHsKICAgICBQYWludFBoYXNlIHBhaW50UGhhc2UgPSBwYWludEluZm8ucGhhc2U7CiAK
KyAgICBpZiAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAg
ICAgICByZXR1cm47CisKICAgICAvLyAxLiBwYWludCBiYWNrZ3JvdW5kLCBib3JkZXJzIGV0Ywog
ICAgIGlmICgocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpCbG9ja0JhY2tncm91bmQgfHwgcGFp
bnRQaGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJsb2NrQmFja2dyb3VuZCkgJiYgc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkgewogICAgICAgICBpZiAoaGFzVmlz
aWJsZUJveERlY29yYXRpb25zKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCmluZGV4IDM2NDMxMmIwNDA1MzFmNmU1ZTBkODExZWE3ZWZlZTAzYmQ5OGQ3
YmMuLjk3ODVkZTE5YzA3ZTIyNDk5YzcwYTYxMGJiMGU0YWQ4ZWNiZTZmNGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC01MjcsNiArNTI3LDgg
QEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJl
biwgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEgKICAgICAgICAgaWYgKCFmaXJzdENoaWxkKCkgJiYg
IWlzQW5vbnltb3VzQmxvY2soKSkKICAgICAgICAgICAgIHNldENoaWxkcmVuSW5saW5lKHRydWUp
OwogICAgICAgICBkaXJ0eUZvckxheW91dEZyb21QZXJjZW50YWdlSGVpZ2h0RGVzY2VuZGFudHMo
KTsKKyAgICAgICAgaWYgKHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNMYXlv
dXRGb3JjZWQoKSAmJiAoKGVsZW1lbnQoKSAmJiBlbGVtZW50KCktPmlzU2tpcHBlZENvbnRlbnQo
KSkgfHwgc2hvdWxkU2tpcENvbnRlbnQoKSkpCisgICAgICAgICAgICByZWxheW91dENoaWxkcmVu
ID0gdHJ1ZTsKICAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgICAgICBsYXlv
dXRJbmxpbmVDaGlsZHJlbihyZWxheW91dENoaWxkcmVuLCByZXBhaW50TG9naWNhbFRvcCwgcmVw
YWludExvZ2ljYWxCb3R0b20pOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCA5YWI5OThlNDFjYjA4Y2Yw
YjZmOTBmMTBmMTNjNGI4NDU3ZWM5MzlmLi5mMWMzMmRiNjBlZjY3ZDE4NDVjMGQxYzFmZjg0ZjVl
OWM3M2QyZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKQEAgLTIxMiw2ICsyMTIsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2Jq
ZWN0Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIGlmIChzdHlsZVRvVXNlLmlzRmxpcHBlZEJsb2Nr
c1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5zZXRIYXNGbGlwcGVk
QmxvY2tSZW5kZXJlcnModHJ1ZSk7CiAgICAgc2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7CisgICAgc2V0TGF5b3V0Q29udGFpbm1l
bnRBcHBsaWVzKCghaXNJbmxpbmUoKSB8fCBpc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFp
c1J1YnlUZXh0KCkgJiYgKCFpc1RhYmxlUGFydCgpIHx8IGlzUmVuZGVyQmxvY2tGbG93KCkpKTsK
IH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhj
b25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCmluZGV4IDEwOGMwODAwOTkwNzFlMjNjNjJjYmM1MjA1OWQ4ZDk4NGM2MWRk
OWIuLmYxMWUwM2I0NDEwNzA0OGRmYjhhN2JmOTkzZjhlMDdlODA0NDEyMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTI0NDIsNCArMjQ0MiwxMSBA
QCBPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdAogICAg
IHJldHVybiBvdmVyZmxvd1k7CiB9CiAKK2Jvb2wgUmVuZGVyRWxlbWVudDo6c2hvdWxkU2tpcENv
bnRlbnQoKSBjb25zdAoreworICAgIGlmICghbGF5b3V0Q29udGFpbm1lbnRBcHBsaWVzKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+
c2hvdWxkU2tpcENvbnRlbnQoKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmgKaW5kZXggNmU5NzVkM2QwNzI4YzY1OTgyMTY0OWYwZjU3ODBiZjA2MGFlYWIz
Ni4uZjJjYzE3NDJmZWJhNDQ4NGNhMjc5ODkxY2U5YTQxZDE2ZTRlOTAwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0xNjIsNiArMTYyLDkgQEAgcHVibGlj
OgogICAgICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJs
ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoZWxlbWVudCgpICYm
IGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgICAgIGlmICgoIWhpdFRlc3RSZXF1ZXN0IHx8ICFoaXRUZXN0UmVxdWVzdC0+aWdu
b3JlQ1NTUG9pbnRlckV2ZW50c1Byb3BlcnR5KCkpICYmIHN0eWxlKCkuZWZmZWN0aXZlUG9pbnRl
ckV2ZW50cygpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKQEAgLTI3MSw2ICsyNzQsOCBAQCBwdWJsaWM6CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZl
T3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6IGVmZmVjdGl2ZU92ZXJm
bG93WSgpOyB9CiAgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigp
IGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVj
dGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0KIAorICAgIGJvb2wgc2hv
dWxkU2tpcENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQmFzZVR5cGVG
bGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcgID0gMSA8PCAwLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRleCBlMmI0YjA5ZjU3ZGVi
M2E0NTk4ZjNiZDBjZTY3MzRiMDk3NWIxYzUyLi4yMmJlNTM3N2FlZGU5ZDM2YTE2MWY0OGM3YzAz
ZjZhOThhNTcwMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNw
cApAQCAtMjI4LDYgKzIyOCw4IEBAIGJvb2wgUmVuZGVySW5saW5lOjptYXlBZmZlY3RMYXlvdXQo
KSBjb25zdAogCiB2b2lkIFJlbmRlcklubGluZTo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKKyAgICBpZiAoc2hvdWxkU2tpcENv
bnRlbnQoKSB8fCAoZWxlbWVudCgpICYmIGVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKSkK
KyAgICAgICAgcmV0dXJuOwogICAgIG1fbGluZUJveGVzLnBhaW50KHRoaXMsIHBhaW50SW5mbywg
cGFpbnRPZmZzZXQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAppbmRleCAzN2E4MmI4MjlhNThkYWZhYWZiN2VkMDA0ZWUzM2Q1OWNlYWM0ZTRkLi41ZTQ2OTI3
YjM3MWI0ODQxODA4Y2IzNWFmNWYzZTkyNGJiZTYzYmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI3MDIsMTAgKzI3MDIsMTAgQEAgTGF5b3V0UmVjdCBS
ZW5kZXJMYXllcjo6Z2V0UmVjdFRvRXhwb3NlKGNvbnN0IExheW91dFJlY3QmIHZpc2libGVSZWN0
LCBjb25zdCBMYXkKICAgICBTY3JvbGxBbGlnbm1lbnQ6OkJlaGF2aW9yIHNjcm9sbFk7CiAgICAg
TGF5b3V0UmVjdCBleHBvc2VSZWN0WSh2aXNpYmxlUmVjdC54KCksIGV4cG9zZVJlY3QueSgpLCB2
aXNpYmxlUmVjdC53aWR0aCgpLCBleHBvc2VSZWN0LmhlaWdodCgpKTsKICAgICBMYXlvdXRVbml0
IGludGVyc2VjdEhlaWdodCA9IGludGVyc2VjdGlvbih2aXNpYmxlUmVjdCwgZXhwb3NlUmVjdFkp
LmhlaWdodCgpOwotICAgIGlmIChpbnRlcnNlY3RIZWlnaHQgPT0gZXhwb3NlUmVjdC5oZWlnaHQo
KSkKKyAgICBpZiAoKGludGVyc2VjdEhlaWdodCA9PSBleHBvc2VSZWN0LmhlaWdodCgpKSAmJiBp
bnRlcnNlY3RIZWlnaHQgPiAwKSB7CiAgICAgICAgIC8vIElmIHRoZSByZWN0YW5nbGUgaXMgZnVs
bHkgdmlzaWJsZSwgdXNlIHRoZSBzcGVjaWZpZWQgdmlzaWJsZSBiZWhhdmlvci4KICAgICAgICAg
c2Nyb2xsWSA9IGFsaWduWS5nZXRWaXNpYmxlQmVoYXZpb3IoKTsKLSAgICBlbHNlIGlmIChpbnRl
cnNlY3RIZWlnaHQgPT0gdmlzaWJsZVJlY3QuaGVpZ2h0KCkpIHsKKyAgICB9IGVsc2UgaWYgKGlu
dGVyc2VjdEhlaWdodCA9PSB2aXNpYmxlUmVjdC5oZWlnaHQoKSkgewogICAgICAgICAvLyBJZiB0
aGUgcmVjdCBpcyBiaWdnZXIgdGhhbiB0aGUgdmlzaWJsZSBhcmVhLCBkb24ndCBib3RoZXIgdHJ5
aW5nIHRvIGNlbnRlci4gT3RoZXIgYWxpZ25tZW50cyB3aWxsIHdvcmsuCiAgICAgICAgIHNjcm9s
bFkgPSBhbGlnblkuZ2V0VmlzaWJsZUJlaGF2aW9yKCk7CiAgICAgICAgIGlmIChzY3JvbGxZID09
IFNjcm9sbEFsaWdubWVudDo6QmVoYXZpb3I6OkFsaWduQ2VudGVyKQpAQCAtMzA1MCw2ICszMDUw
LDkgQEAgc3RhdGljIGlubGluZSBib29sIHBhaW50Rm9yRml4ZWRSb290QmFja2dyb3VuZChjb25z
dCBSZW5kZXJMYXllciogbGF5ZXIsIE9wdGlvblMKIAogdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRM
YXllcihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJiBw
YWludGluZ0luZm8sIE9wdGlvblNldDxQYWludExheWVyRmxhZz4gcGFpbnRGbGFncykKIHsKKyAg
ICBpZiAocmVuZGVyZXIoKS5lbGVtZW50KCkgJiYgcmVuZGVyZXIoKS5lbGVtZW50KCktPmlzU2tp
cHBlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBzaG91bGRDb250aW51
ZVBhaW50ID0gWyZdICgpIHsKICAgICAgICAgcmV0dXJuIGJhY2tpbmcoKS0+cGFpbnRzSW50b1dp
bmRvdygpCiAgICAgICAgICAgICB8fCBiYWNraW5nKCktPnBhaW50c0ludG9Db21wb3NpdGVkQW5j
ZXN0b3IoKQpAQCAtMzM0Myw2ICszMzQ2LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXll
ckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKIHsK
ICAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVy
RGVzY2VuZGFudCgpKTsKIAorICAgIC8vIGlmIChyZW5kZXJlcigpLmVsZW1lbnQoKSAmJiByZW5k
ZXJlcigpLmVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpKQorICAgIC8vICAgICByZXR1cm47
CisKICAgICBpZiAoY29udGV4dC5kZXRlY3RpbmdDb250ZW50ZnVsUGFpbnQoKSAmJiBjb250ZXh0
LmNvbnRlbmZ1bFBhaW50RGV0ZWN0ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0zNTkyLDcg
KzM1OTgsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExpc3QoTGF5ZXJMaXN0IGxheWVySXRl
cmF0b3IsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgYwogICAgIGlmIChsYXllckl0ZXJhdG9y
LmJlZ2luKCkgPT0gbGF5ZXJJdGVyYXRvci5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
aWYgKCFoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKKyAgICBpZiAoIWhhc1NlbGZQ
YWludGluZ0xheWVyRGVzY2VuZGFudCgpIHx8IHJlbmRlcmVyKCkuc2hvdWxkU2tpcENvbnRlbnQo
KSkKICAgICAgICAgcmV0dXJuOwogCiAjaWYgQVNTRVJUX0VOQUJMRUQKQEAgLTQwNzIsNiArNDA3
OCw4IEBAIFZlY3RvcjxSZW5kZXJMYXllcio+IFJlbmRlckxheWVyOjp0b3BMYXllclJlbmRlckxh
eWVycyhSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGxh
eWVyczsKICAgICBhdXRvIHRvcExheWVyRWxlbWVudHMgPSByZW5kZXJWaWV3LmRvY3VtZW50KCku
dG9wTGF5ZXJFbGVtZW50cygpOwogICAgIGZvciAoYXV0byYgZWxlbWVudCA6IHRvcExheWVyRWxl
bWVudHMpIHsKKyAgICAgICAgaWYgKGVsZW1lbnQtPmlzU2tpcHBlZENvbnRlbnQoKSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICBhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRl
cmVyKCk7CiAgICAgICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAg
LTQ0ODksNiArNDQ5Nyw5IEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdExpc3Qo
TGF5ZXJMaXN0IGxheWVySXRlcmF0b3IsIFJlbmRlckxheWVyKiByb290CiAgICAgaWYgKCFoYXNT
ZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
KyAgICBpZiAocmVuZGVyZXIoKS5zaG91bGRTa2lwQ29udGVudCgpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKwogICAgIFJlbmRlckxheWVyKiByZXN1bHRMYXllciA9IG51bGxwdHI7CiAKICAg
ICBmb3IgKGF1dG8gaXRlciA9IGxheWVySXRlcmF0b3IucmJlZ2luKCk7IGl0ZXIgIT0gbGF5ZXJJ
dGVyYXRvci5yZW5kKCk7ICsraXRlcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA0MjVjNjljMzE0MWJmNzRmYTU3MmRmMjBiYjhh
MGU0MDU3N2FiODE4Li4wOWZhMTQ4Mjg3NGIyODBjZTgzODkyMzA4YmRiNGVmNDNiMTYwOWUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApA
QCAtMTU5OCw3ICsxNTk4LDggQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUFmdGVy
RGVzY2VuZGFudHMoKQogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzT3BhcXVl
KCFtX2hhc1N1YnBpeGVsUm91bmRpbmcgJiYgbV9vd25pbmdMYXllci5iYWNrZ3JvdW5kSXNLbm93
blRvQmVPcGFxdWVJblJlY3QoY29tcG9zaXRlZEJvdW5kcygpKSk7CiAgICAgfQogCi0gICAgbV9n
cmFwaGljc0xheWVyLT5zZXRDb250ZW50c1Zpc2libGUobV9vd25pbmdMYXllci5oYXNWaXNpYmxl
Q29udGVudCgpIHx8IGhhc1Zpc2libGVOb25Db21wb3NpdGVkRGVzY2VuZGFudHMoKSk7CisgICAg
Ym9vbCBpc1NraXBwZWRDb250ZW50ID0gcmVuZGVyZXIoKS5lbGVtZW50KCkgPyByZW5kZXJlcigp
LmVsZW1lbnQoKS0+aXNTa2lwcGVkQ29udGVudCgpIDogZmFsc2U7CisgICAgbV9ncmFwaGljc0xh
eWVyLT5zZXRDb250ZW50c1Zpc2libGUoIWlzU2tpcHBlZENvbnRlbnQgJiYgKG1fb3duaW5nTGF5
ZXIuaGFzVmlzaWJsZUNvbnRlbnQoKSB8fCBoYXNWaXNpYmxlTm9uQ29tcG9zaXRlZERlc2NlbmRh
bnRzKCkpKTsKICAgICBpZiAobV9zY3JvbGxDb250YWluZXJMYXllcikgewogICAgICAgICBtX3Nj
cm9sbENvbnRhaW5lckxheWVyLT5zZXRDb250ZW50c1Zpc2libGUocmVuZGVyZXIoKS5zdHlsZSgp
LnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCmluZGV4IDhkOTkw
ZjFkNTMxYmU2M2YyYjI1ZDA2MTQ1ZmIxMzFjNDEwMDcyNmMuLmYwZjE4ZTExODc2YmY3OTA1MmQ0
MTM2NzRiNDFkYzIxOTI3OGZiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllck1vZGVsT2JqZWN0LmgiCiAKKyNpbmNs
dWRlICJEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMYXll
ci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eWVyQ29tcG9zaXRvci5oIgpAQCAtMTE0LDYgKzExNSwxMiBAQCB2b2lkIFJlbmRlckxheWVyTW9k
ZWxPYmplY3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5k
ZXJTdAogICAgIFJlbmRlckVsZW1lbnQ6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsK
ICAgICB1cGRhdGVGcm9tU3R5bGUoKTsKIAorICAgIGlmIChlbGVtZW50KCkgJiYgKChvbGRTdHls
ZSAmJiBvbGRTdHlsZS0+Y29udGVudFZpc2liaWxpdHkoKSAhPSBzdHlsZSgpLmNvbnRlbnRWaXNp
YmlsaXR5KCkpIHx8ICghb2xkU3R5bGUgJiYgc3R5bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpICE9
IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlKSkpIHsKKyAgICAgICAgZWxlbWVudCgpLT51cGRh
dGVDb250ZW50VmlzaWJpbGl0eShvbGRTdHlsZSA/IHN0ZDo6b3B0aW9uYWw8Q29udGVudFZpc2li
aWxpdHk+KG9sZFN0eWxlLT5jb250ZW50VmlzaWJpbGl0eSgpKSA6IHN0ZDo6bnVsbG9wdCwgc3R5
bGUoKS5jb250ZW50VmlzaWJpbGl0eSgpKTsKKyAgICAgICAgaWYgKHN0eWxlKCkuY29udGVudFZp
c2liaWxpdHkoKSA9PSBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkKKyAgICAgICAgICAgIGRv
Y3VtZW50KCkudXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKTsKKyAgICB9CisKICAgICBp
ZiAocmVxdWlyZXNMYXllcigpKSB7CiAgICAgICAgIGlmICghbGF5ZXIoKSAmJiBsYXllckNyZWF0
aW9uQWxsb3dlZEZvclN1YnRyZWUoKSkgewogICAgICAgICAgICAgaWYgKHNfd2FzRmxvYXRpbmcg
JiYgaXNGbG9hdGluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCAxMGIwZDNjZWE2NzZhODlkMGIxZGYxMWU3MzI3ZTM0YjUzYTQ0NmZjLi5hNzlmMGIw
ZGY1ZDUyNmEwN2VlZWM5Y2FjYTE4MTVjZmNjNWY3MmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDU0LDYgKzQ1NCw5IEBAIGJvb2wgUmVuZGVyT2Jq
ZWN0OjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwg
Ym9vbCBpbnNpCiAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxN
b2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGlzPEVs
ZW1lbnQ+KG5vZGUoKSkgJiYgZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUoKSkuaXNTa2lwcGVkQ29u
dGVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBSZW5kZXJMYXllciogZW5jbG9z
aW5nTGF5ZXIgPSB0aGlzLT5lbmNsb3NpbmdMYXllcigpOwogICAgIGlmICghZW5jbG9zaW5nTGF5
ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE5ODYsNiArMTk4OSwxMiBAQCB2b2lkIFJl
bmRlck9iamVjdDo6c2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBwYWludENvbnRhaW5t
ZW50QXBwbGllcykKICAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRQYWludENvbnRhaW5tZW50
QXBwbGllcyhwYWludENvbnRhaW5tZW50QXBwbGllcyk7CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0
OjpzZXRMYXlvdXRDb250YWlubWVudEFwcGxpZXMoYm9vbCBsYXlvdXRDb250YWlubWVudEFwcGxp
ZXMpCit7CisgICAgaWYgKGxheW91dENvbnRhaW5tZW50QXBwbGllcyB8fCBoYXNSYXJlRGF0YSgp
KQorICAgICAgICBlbnN1cmVSYXJlRGF0YSgpLnNldExheW91dENvbnRhaW5tZW50QXBwbGllcyhs
YXlvdXRDb250YWlubWVudEFwcGxpZXMpOworfQorCiBSZW5kZXJPYmplY3Q6OlJhcmVEYXRhTWFw
JiBSZW5kZXJPYmplY3Q6OnJhcmVEYXRhTWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8UmFyZURhdGFNYXA+IG1hcDsKQEAgLTIwMTUsNiArMjAyNCw3IEBAIFJlbmRlck9iamVjdDo6
UmVuZGVyT2JqZWN0UmFyZURhdGE6OlJlbmRlck9iamVjdFJhcmVEYXRhKCkKICAgICAsIG1faXNS
ZW5kZXJGcmFnbWVudGVkRmxvdyhmYWxzZSkKICAgICAsIG1faGFzT3V0bGluZUF1dG9BbmNlc3Rv
cihmYWxzZSkKICAgICAsIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCisgICAgLCBt
X2xheW91dENvbnRhaW5tZW50QXBwbGllcyhmYWxzZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGYwZWVhYWVjOTg0ZDgzYjZhZDZkMTlhZWU5NjU5
ZTNiMzYzZjRmZTcuLmMxMWEzNzFmZTcxM2Y4ZGJkYTgyZDIxOGZhM2E0MTRmMTNiNWRhMGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQxNiw2ICs0MTYsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgY29uc3QgeyByZXR1
cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLmlzUmVuZGVyRnJhZ21l
bnRlZEZsb3coKTsgfQogICAgIGJvb2wgaGFzT3V0bGluZUF1dG9BbmNlc3RvcigpIGNvbnN0IHsg
cmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5oYXNPdXRsaW5l
QXV0b0FuY2VzdG9yKCk7IH0KICAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29u
c3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLnBhaW50
Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KKyAgICBib29sIGxheW91dENvbnRhaW5tZW50QXBwbGll
cygpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEo
KS5sYXlvdXRDb250YWlubWVudEFwcGxpZXMoKTsgfQogCiAgICAgYm9vbCBpc0V4Y2x1ZGVkRnJv
bU5vcm1hbExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmlzRXhjbHVkZWRGcm9t
Tm9ybWFsTGF5b3V0KCk7IH0KICAgICB2b2lkIHNldElzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0
KGJvb2wgZXhjbHVkZWQpIHsgbV9iaXRmaWVsZHMuc2V0SXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlv
dXQoZXhjbHVkZWQpOyB9CkBAIC01MTUsNiArNTE2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
SXNSZW5kZXJGcmFnbWVudGVkRmxvdyhib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRIYXNPdXRs
aW5lQXV0b0FuY2VzdG9yKGJvb2wgPSB0cnVlKTsKICAgICB2b2lkIHNldFBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKGJvb2wgPSB0cnVlKTsKKyAgICB2b2lkIHNldExheW91dENvbnRhaW5tZW50QXBw
bGllcyhib29sID0gdHJ1ZSk7CiAKICAgICAvLyBIb29rIHNvIHRoYXQgUmVuZGVyVGV4dENvbnRy
b2wgY2FuIHJldHVybiB0aGUgbGluZSBoZWlnaHQgb2YgaXRzIGlubmVyIHJlbmRlcmVyLgogICAg
IC8vIEZvciBvdGhlciByZW5kZXJlcnMsIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBsaW5lSGVp
Z2h0KGZhbHNlKS4KQEAgLTk0NCw2ICs5NDYsNyBAQCBwcml2YXRlOgogICAgICAgICBBRERfQk9P
TEVBTl9CSVRGSUVMRChpc1JlbmRlckZyYWdtZW50ZWRGbG93LCBJc1JlbmRlckZyYWdtZW50ZWRG
bG93KTsKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFzT3V0bGluZUF1dG9BbmNlc3Rv
ciwgSGFzT3V0bGluZUF1dG9BbmNlc3Rvcik7CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxE
KHBhaW50Q29udGFpbm1lbnRBcHBsaWVzLCBQYWludENvbnRhaW5tZW50QXBwbGllcyk7CisgICAg
ICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGxheW91dENvbnRhaW5tZW50QXBwbGllcywgTGF5b3V0
Q29udGFpbm1lbnRBcHBsaWVzKTsKIAogICAgICAgICAvLyBGcm9tIFJlbmRlckVsZW1lbnQKICAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjYWNoZWRGaXJzdExpbmVTdHlsZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDY5N2M3
NDU5YmFhYjE5YmU3ODc3NDFkZGUxMmZiMzhlNzgyZTBlZjQuLjZkZTEwMTMwOWI0ZDdjNmE0YmQ1
NTViNTZhMzFkZjEzYzdiMmViNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmNwcApAQCAtMjc2LDcgKzI3Niw4IEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OnBh
aW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQp
CiAgICAgfQogCiAgICAgaWYgKCFjb21wbGV0ZWx5Q2xpcHBlZE91dCkgewotICAgICAgICBwYWlu
dFJlcGxhY2VkKHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNldCk7CisgICAgICAgIGlmICgh
c2hvdWxkU2tpcENvbnRlbnQoKSkKKyAgICAgICAgICAgIHBhaW50UmVwbGFjZWQocGFpbnRJbmZv
LCBhZGp1c3RlZFBhaW50T2Zmc2V0KTsKIAogICAgICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJS
YWRpdXMoKSkKICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0KCkucmVzdG9yZSgpOwpAQCAt
MzE2LDcgKzMxNyw3IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPCiAgICAgLy8gaWYgd2UncmUg
aW52aXNpYmxlIG9yIGhhdmVuJ3QgcmVjZWl2ZWQgYSBsYXlvdXQgeWV0LCB0aGVuIGp1c3QgYmFp
bC4KICAgICBpZiAoc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAorCiAgICAgTGF5b3V0UG9pbnQgYWRqdXN0ZWRQ
YWludE9mZnNldCA9IHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKTsKIAogICAgIC8vIEVhcmx5IGV4
aXQgaWYgdGhlIGVsZW1lbnQgdG91Y2hlcyB0aGUgZWRnZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKaW5kZXggYWFmZDlkY2QwNTY4MzlmODc3YjkzNjcxNmFkZGI2YmMw
Y2VhM2IyZC4uOGJmZjExYjM2NDY5OTg5YjlmOGM1NzgwNWQ1OTEyZDRmYjdiM2JlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTc2LDcgKzE3Niw5IEBAIHZv
aWQgUmVuZGVyVmlldzo6bGF5b3V0KCkKICAgICB9CiAKICAgICBBU1NFUlQoIWZyYW1lVmlldygp
LmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpKTsKLSAgICBpZiAoIW5lZWRzTGF5b3V0KCkp
CisgICAgaWYgKGZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc0xheW91dEZvcmNlZCgpKQor
ICAgICAgICBzZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgZWxzZSBpZiAo
IW5lZWRzTGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIExheW91dFN0YXRlTWFpbnRh
aW5lciBzdGF0ZVB1c2hlcigqdGhpcywgeyB9LCBmYWxzZSwgdmFsdWVPckRlZmF1bHQobV9wYWdl
TG9naWNhbFNpemUpLmhlaWdodCgpLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IGVmYjNhOGJlMGNlMmQw
MDIxMzRjZjI4M2QzOGQ5NDBiZjQwMjMxNTguLjQxNjZkNmQ3MDVkNjFkYzk2OTM3MzhjNjIzZWE0
MWIyZDRlZjRlZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3Bw
CkBAIC0zMjUsNyArMzI1LDcgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGNsaXBS
b3VuZGVkSW5uZXJSZWN0KHBhaW50SW5mby5jb250ZXh0KCksIGJvcmRlclJlY3QsIHJvdW5kZWRJ
bm5lclJlY3QpOwogICAgIH0KIAotICAgIGlmIChtX3dpZGdldCkKKyAgICBpZiAobV93aWRnZXQg
JiYgIXNob3VsZFNraXBDb250ZW50KCkpCiAgICAgICAgIHBhaW50Q29udGVudHMocGFpbnRJbmZv
LCBwYWludE9mZnNldCk7CiAKICAgICBpZiAoc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGU4
ZjQ0ZjUyMGQ3ODZlOGE2YjRlMjhhMmJlYTE4NTllNmY5NzhmNjcuLmYzYzY5YzFkYWQ5MDYwNzcw
YTA5NjEyM2I4Nzk0ZjhlMzc2ZWZjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMTk1LDYgKzE5NSw3IEBAIFJlbmRlclN0eWxlOjpS
ZW5kZXJTdHlsZShDcmVhdGVEZWZhdWx0U3R5bGVUYWcpCiAgICAgbV9ub25Jbmhlcml0ZWRGbGFn
cy5sYXN0Q2hpbGRTdGF0ZSA9IGZhbHNlOwogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MuaXNMaW5r
ID0gZmFsc2U7CiAgICAgbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNDb250ZW50Tm9uZSA9IGZhbHNl
OworICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3Muc2tpcHNDb250ZW50cyA9IGZhbHNlOwogICAgIG1f
bm9uSW5oZXJpdGVkRmxhZ3Muc3R5bGVUeXBlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBzZXVk
b0lkOjpOb25lKTsKICAgICBtX25vbkluaGVyaXRlZEZsYWdzLnBzZXVkb0JpdHMgPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oUHNldWRvSWQ6Ok5vbmUpOwogCkBAIC03NDcsNiArNzQ4LDkgQEAgc3Rh
dGljIGJvb2wgcmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VSZXF1aXJlc0xheW91dChjb25zdCBT
dHlsZVJhcmVOb25Jbmhlcml0ZWQKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAg
aWYgKGZpcnN0LmNvbnRlbnRWaXNpYmlsaXR5ICE9IHNlY29uZC5jb250ZW50VmlzaWJpbGl0eSkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoZmlyc3QuaW5wdXRTZWN1cml0eSAhPSBz
ZWNvbmQuaW5wdXRTZWN1cml0eSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTEwNTYsNiAr
MTA2MCw5IEBAIHN0YXRpYyBib29sIHJhcmVOb25Jbmhlcml0ZWREYXRhQ2hhbmdlUmVxdWlyZXNS
ZXBhaW50KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlCiAgICAgaWYgKGZpcnN0LnNoYXBlT3V0
c2lkZSAhPSBzZWNvbmQuc2hhcGVPdXRzaWRlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAg
IGlmIChmaXJzdC5jb250ZW50VmlzaWJpbGl0eSAhPSBzZWNvbmQuY29udGVudFZpc2liaWxpdHkp
CisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgLy8gRklYTUU6IHRoaXMgc2hvdWxkIHByb2Jh
Ymx5IGJlIG1vdmVkIHRvIGNoYW5nZVJlcXVpcmVzTGF5ZXJSZXBhaW50KCkuCiAgICAgaWYgKGZp
cnN0LmNsaXBQYXRoICE9IHNlY29uZC5jbGlwUGF0aCkgewogICAgICAgICBjaGFuZ2VkQ29udGV4
dFNlbnNpdGl2ZVByb3BlcnRpZXMuYWRkKFN0eWxlRGlmZmVyZW5jZUNvbnRleHRTZW5zaXRpdmVQ
cm9wZXJ0eTo6Q2xpcFBhdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAppbmRleCBmOTQ1MWEyM2FkZGM4M2FiZjYyODRhZjgyM2JiNzU5OTQ3Zjc5M2U1
Li5hYjU1NDgzOTJiNDMxM2UyMjYzODM1ZmNhNzRlNGE5MTQyZGRlNzIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTI4LDExICs1MjgsMTMg
QEAgcHVibGljOgogICAgIH0KICAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1
cm4gYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCBhc3BlY3RS
YXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbzsgfQogICAgIE9wdGlv
blNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPmNvbnRhaW47IH0KKyAgICBDb250ZW50VmlzaWJpbGl0eSBjb250ZW50VmlzaWJp
bGl0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PENvbnRlbnRWaXNpYmlsaXR5PihtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5jb250ZW50VmlzaWJpbGl0eSk7IH0KKyAgICBib29sIGNvbnRl
bnRWaXNpYmlsaXR5SGlkZGVuKCkgY29uc3QgeyByZXR1cm4gY29udGVudFZpc2liaWxpdHkoKSA9
PSBDb250ZW50VmlzaWJpbGl0eTo6SGlkZGVuOyB9CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50
PiBlZmZlY3RpdmVDb250YWlubWVudCgpIGNvbnN0OwotICAgIGJvb2wgY29udGFpbnNMYXlvdXQo
KSBjb25zdCB7IHJldHVybiBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpMYXlvdXQpOyB9Ci0gICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBl
ZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQotICAg
IGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50
KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxlKTsgfQotICAgIGJvb2wgY29udGFpbnNQYWlu
dCgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50KCkuY29udGFpbnMoQ29udGFp
bm1lbnQ6OlBhaW50KTsgfQorICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVy
biBlZmZlY3RpdmVDb250YWlubWVudCgpLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpIHx8
IGNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZpc2libGU7IH0KKyAg
ICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50
KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpIHx8IHNraXBzQ29udGVudHMoKTsgfQorICAg
IGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGVmZmVjdGl2ZUNvbnRhaW5tZW50
KCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxlKSB8fCBjb250ZW50VmlzaWJpbGl0eSgpICE9
IENvbnRlbnRWaXNpYmlsaXR5OjpWaXNpYmxlOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkg
Y29uc3QgeyByZXR1cm4gZWZmZWN0aXZlQ29udGFpbm1lbnQoKS5jb250YWlucyhDb250YWlubWVu
dDo6UGFpbnQpIHx8IGNvbnRlbnRWaXNpYmlsaXR5KCkgIT0gQ29udGVudFZpc2liaWxpdHk6OlZp
c2libGU7IH0KICAgICBDb250YWluZXJUeXBlIGNvbnRhaW5lclR5cGUoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxDb250YWluZXJUeXBlPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluZXJUeXBlKTsgfQogICAgIGNvbnN0IFZlY3RvcjxBdG9tU3RyaW5nPiYgY29udGFpbmVyTmFt
ZXMoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluZXJOYW1l
czsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhp
YmxlQm94LT5hbGlnbik7IH0KQEAgLTEwNjYsNiArMTA2OCw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldENvbnRhaW5lclR5cGUoQ29udGFpbmVyVHlwZSBjb250YWluZXJUeXBlKSB7IFNFVF9WQVIo
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgY29udGFpbmVyVHlwZSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KGNvbnRhaW5lclR5cGUpKTsgfQogICAgIHZvaWQgc2V0Q29udGFpbmVyTmFtZXMoY29uc3Qg
VmVjdG9yPEF0b21TdHJpbmc+JiBuYW1lcykgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERh
dGEsIGNvbnRhaW5lck5hbWVzLCBuYW1lcyk7IH0KIAorICAgIHZvaWQgc2V0Q29udGVudFZpc2li
aWxpdHkoQ29udGVudFZpc2liaWxpdHkgdmFsdWUpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLCBjb250ZW50VmlzaWJpbGl0eSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSk7
IH0KKwogICAgIHZvaWQgc2V0TGlzdFN0eWxlU3RyaW5nVmFsdWUoY29uc3QgQXRvbVN0cmluZyYg
dmFsdWUpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBsaXN0U3R5bGVTdHJpbmdWYWx1
ZSwgdmFsdWUpOyB9CiAgICAgdm9pZCBzZXRMaXN0U3R5bGVUeXBlKExpc3RTdHlsZVR5cGUgdikg
eyBtX2luaGVyaXRlZEZsYWdzLmxpc3RTdHlsZVR5cGUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
dik7IH0KICAgICB2b2lkIHNldExpc3RTdHlsZUltYWdlKFJlZlB0cjxTdHlsZUltYWdlPiYmKTsK
QEAgLTE0OTYsNiArMTUwMCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGNvbnRlbnRB
bHRUZXh0KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNBdHRyQ29udGVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmhhc0F0dHJDb250ZW50OyB9CiAgICAgdm9pZCBzZXRI
YXNBdHRyQ29udGVudCgpOworICAgIGJvb2wgc2tpcHNDb250ZW50cygpIGNvbnN0IHsgcmV0dXJu
IG1fbm9uSW5oZXJpdGVkRmxhZ3Muc2tpcHNDb250ZW50czsgfQorICAgIHZvaWQgc2V0U2tpcHND
b250ZW50cyhib29sIHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFncy5za2lwc0NvbnRlbnRzID0gdjsg
fQogCiAgICAgY29uc3QgQ291bnRlckRpcmVjdGl2ZU1hcCogY291bnRlckRpcmVjdGl2ZXMoKSBj
b25zdDsKICAgICBDb3VudGVyRGlyZWN0aXZlTWFwJiBhY2Nlc3NDb3VudGVyRGlyZWN0aXZlcygp
OwpAQCAtMTY4MSw2ICsxNjg3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBPcHRpb25TZXQ8Q29u
dGFpbm1lbnQ+IGluaXRpYWxDb250YWlubWVudCgpIHsgcmV0dXJuIE9wdGlvblNldDxDb250YWlu
bWVudD4geyB9OyB9CiAgICAgc3RhdGljIE9wdGlvblNldDxDb250YWlubWVudD4gc3RyaWN0Q29u
dGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHsgQ29udGFpbm1lbnQ6
OlNpemUsIENvbnRhaW5tZW50OjpMYXlvdXQsIENvbnRhaW5tZW50OjpQYWludCwgQ29udGFpbm1l
bnQ6OlN0eWxlIH07IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250ZW50
Q29udGFpbm1lbnQoKSB7IHJldHVybiBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IHsgQ29udGFpbm1l
bnQ6OkxheW91dCwgQ29udGFpbm1lbnQ6OlBhaW50LCBDb250YWlubWVudDo6U3R5bGUgfTsgfQor
ICAgIHN0YXRpYyBDb250ZW50VmlzaWJpbGl0eSBpbml0aWFsQ29udGVudFZpc2liaWxpdHkoKSB7
IHJldHVybiBDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZTsgfQogICAgIHN0YXRpYyBDb250YWlu
ZXJUeXBlIGluaXRpYWxDb250YWluZXJUeXBlKCkgeyByZXR1cm4gQ29udGFpbmVyVHlwZTo6Tm9u
ZTsgfQogICAgIHN0YXRpYyBWZWN0b3I8QXRvbVN0cmluZz4gaW5pdGlhbENvbnRhaW5lck5hbWVz
KCkgeyByZXR1cm4geyB9OyB9CiAgICAgc3RhdGljIGRvdWJsZSBpbml0aWFsQXNwZWN0UmF0aW9X
aWR0aCgpIHsgcmV0dXJuIDEuMDsgfQpAQCAtMTk1NCw2ICsxOTYxLDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgdW5zaWduZWQgbGFzdENoaWxkU3RhdGUgOiAxOwogICAgICAgICB1bnNpZ25lZCBpc0xp
bmsgOiAxOwogICAgICAgICB1bnNpZ25lZCBoYXNDb250ZW50Tm9uZSA6IDE7CisgICAgICAgIHVu
c2lnbmVkIHNraXBzQ29udGVudHMgOiAxOwogCiAgICAgICAgIHVuc2lnbmVkIHN0eWxlVHlwZSA6
IDQ7IC8vIFBzZXVkb0lkCiAgICAgICAgIHVuc2lnbmVkIHBzZXVkb0JpdHMgOiAoc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpGaXJzdEludGVybmFsUHNldWRvSWQpIC0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFBzZXVkb0lkOjpGaXJzdFB1YmxpY1BzZXVkb0lkKSk7CkBAIC0yMDkxLDYg
KzIwOTksNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6Om9w
ZXJhdG9yPT0oY29uc3QgTm9uSW5oZXJpdGVkRmxhZ3MmCiAgICAgICAgICYmIGxhc3RDaGlsZFN0
YXRlID09IG90aGVyLmxhc3RDaGlsZFN0YXRlCiAgICAgICAgICYmIGlzTGluayA9PSBvdGhlci5p
c0xpbmsKICAgICAgICAgJiYgaGFzQ29udGVudE5vbmUgPT0gb3RoZXIuaGFzQ29udGVudE5vbmUK
KyAgICAgICAgJiYgc2tpcHNDb250ZW50cyA9PSBvdGhlci5za2lwc0NvbnRlbnRzCiAgICAgICAg
ICYmIHN0eWxlVHlwZSA9PSBvdGhlci5zdHlsZVR5cGUKICAgICAgICAgJiYgcHNldWRvQml0cyA9
PSBvdGhlci5wc2V1ZG9CaXRzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCAwYTk0YjZkZjNkNDc0OGI0MmFh
MzdjY2NlZGMzN2JjOTM3NTI2YWZiLi4xYTUwNDU0MTAxMGQ2OGVmZjRjMTgzNjQ2YTllOTk3ZDYy
YWEzYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTIzOCw2ICsxMjM4LDEyIEBAIGVudW0gY2xhc3MgQ29u
dGFpbmVyVHlwZSA6IHVpbnQ4X3QgewogICAgIElubGluZVNpemUsCiB9OwogCitlbnVtIGNsYXNz
IENvbnRlbnRWaXNpYmlsaXR5IDogdWludDhfdCB7CisgICAgVmlzaWJsZSwKKyAgICBBdXRvLAor
ICAgIEhpZGRlbiwKK307CisKIENTU0JveFR5cGUgdHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKFRy
YW5zZm9ybUJveCk7CiAKIGV4dGVybiBjb25zdCBmbG9hdCBkZWZhdWx0TWl0ZXJMaW1pdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmNwcAppbmRleCAxOTI0OWVmMGU5ZmEyOGZjNTQwYmRkYjBjNGNjNGMy
MWYxNjAwMGYyLi43NzM0YWE2ZTZjZGQ2NTgxMTI1OGY2YzMzN2ZjZWU4M2UwOWYxYjdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEuY3BwCkBAIC05NSw2ICs5NSw3IEBAIFN0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoKQogICAgICwgZWZmZWN0aXZlQXBw
ZWFyYW5jZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxBcHBlYXJh
bmNlKCkpKQogICAgICwgdGV4dERlY29yYXRpb25TdHlsZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
UmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0RGVjb3JhdGlvblN0eWxlKCkpKQogICAgICwgYXNwZWN0
UmF0aW9UeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbEFzcGVj
dFJhdGlvVHlwZSgpKSkKKyAgICAsIGNvbnRlbnRWaXNpYmlsaXR5KHN0YXRpY19jYXN0PHVuc2ln
bmVkPihDb250ZW50VmlzaWJpbGl0eTo6VmlzaWJsZSkpCiAjaWYgRU5BQkxFKENTU19DT01QT1NJ
VElORykKICAgICAsIGVmZmVjdGl2ZUJsZW5kTW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVu
ZGVyU3R5bGU6OmluaXRpYWxCbGVuZE1vZGUoKSkpCiAgICAgLCBpc29sYXRpb24oc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsSXNvbGF0aW9uKCkpKQpAQCAtMTk5LDYg
KzIwMCw3IEBAIGlubGluZSBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbkluCiAgICAgLCBlZmZlY3RpdmVBcHBlYXJh
bmNlKG8uZWZmZWN0aXZlQXBwZWFyYW5jZSkKICAgICAsIHRleHREZWNvcmF0aW9uU3R5bGUoby50
ZXh0RGVjb3JhdGlvblN0eWxlKQogICAgICwgYXNwZWN0UmF0aW9UeXBlKG8uYXNwZWN0UmF0aW9U
eXBlKQorICAgICwgY29udGVudFZpc2liaWxpdHkoby5jb250ZW50VmlzaWJpbGl0eSkKICNpZiBF
TkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgZWZmZWN0aXZlQmxlbmRNb2RlKG8uZWZmZWN0
aXZlQmxlbmRNb2RlKQogICAgICwgaXNvbGF0aW9uKG8uaXNvbGF0aW9uKQpAQCAtMzIwLDYgKzMy
Miw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBT
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAgICAgICAgICYmIGFwcGxlUGF5QnV0dG9u
VHlwZSA9PSBvLmFwcGxlUGF5QnV0dG9uVHlwZQogI2VuZGlmCiAgICAgICAgICYmIGFzcGVjdFJh
dGlvVHlwZSA9PSBvLmFzcGVjdFJhdGlvVHlwZQorICAgICAgICAmJiBjb250ZW50VmlzaWJpbGl0
eSA9PSBvLmNvbnRlbnRWaXNpYmlsaXR5CiAgICAgICAgICYmIG9iamVjdEZpdCA9PSBvLm9iamVj
dEZpdAogICAgICAgICAmJiBicmVha0FmdGVyID09IG8uYnJlYWtBZnRlcgogICAgICAgICAmJiBi
cmVha0JlZm9yZSA9PSBvLmJyZWFrQmVmb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCBjYTE1
N2Y4MzM0ZTRmOTAxNjFjZTViMTk2ODhmNzc3NmRhODdmN2Y2Li5jYjNlNDFlODhlODlhMDkwODI0
NzY2MmIxNTQzMWE2MGRjYzlmMDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAgLTIwOCw3ICsy
MDgsOCBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCB0ZXh0RGVjb3JhdGlvblN0eWxlIDogMzsg
Ly8gVGV4dERlY29yYXRpb25TdHlsZQogCi0gICAgdW5zaWduZWQgYXNwZWN0UmF0aW9UeXBlIDog
MzsKKyAgICB1bnNpZ25lZCBhc3BlY3RSYXRpb1R5cGUgOiAyOworICAgIHVuc2lnbmVkIGNvbnRl
bnRWaXNpYmlsaXR5IDogMjsKIAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgdW5z
aWduZWQgZWZmZWN0aXZlQmxlbmRNb2RlOiA1OyAvLyBFQmxlbmRNb2RlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCmluZGV4IDA3MDMwZDdmODcxZjNjNTQ3YTRlMjZkZmNlYWRl
NWQxMzAyOWUyNWIuLmIwNDY4NzE4Y2UwNGYzZGE0M2U4NDVkOTNiYWY2M2Y1NWIyMjQzNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC01NDYsNiArNTQ2LDEwIEBA
IHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IFJlbmRlclN0
eWxlKiB1c2VyQWdlbnRBcHBlYXJhbmNlCiAKICAgICBpZiAobV9lbGVtZW50KQogICAgICAgICBz
dHlsZS5zZXRFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoY29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdp
b25UeXBlcygqbV9lbGVtZW50LCBtX3BhcmVudFN0eWxlLmV2ZW50TGlzdGVuZXJSZWdpb25UeXBl
cygpKSk7CisgICAgaWYgKHN0eWxlLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZpc2li
aWxpdHk6OkF1dG8pCisgICAgICAgIHN0eWxlLnNldFNraXBzQ29udGVudHMobV9lbGVtZW50ICYm
IG1fZWxlbWVudC0+c2hvdWxkU2tpcENvbnRlbnQoKSk7CisgICAgZWxzZQorICAgICAgICBzdHls
ZS5zZXRTa2lwc0NvbnRlbnRzKHN0eWxlLmNvbnRlbnRWaXNpYmlsaXR5KCkgPT0gQ29udGVudFZp
c2liaWxpdHk6OkhpZGRlbik7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgIGlm
IChtX2VsZW1lbnQgJiYgbV9kb2N1bWVudC5zZXR0aW5ncygpLnRleHRBdXRvc2l6aW5nVXNlc0lk
ZW1wb3RlbnRNb2RlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1
aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5o
CmluZGV4IGU4ODRlNWJjZmFjNWRkNDg1MDlkZWQyMzllZTJlZjY2YWYzZTE0ZWQuLjA5Mjc1YzNl
YjJkYWNjNmNlZDA3NzQ0YTFlMjBjMThiNzU1NTI5MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC04MSw2ICs4MSw3IEBAIHB1YmxpYzoKICAgICBERUNM
QVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDbGlwKTsKICAgICBERUNMQVJFX1BST1BFUlRZ
X0NVU1RPTV9IQU5ETEVSUyhDb250YWluKTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9I
QU5ETEVSUyhDb250ZW50KTsKKyAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhD
b250ZW50VmlzaWJpbGl0eSk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMo
Q291bnRlckluY3JlbWVudCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMo
Q291bnRlclJlc2V0KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDdXJz
b3IpOwpAQCAtMTI4Nyw2ICsxMjg4LDI3IEBAIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFw
cGx5VmFsdWVDb250YWluKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1CiAgICAg
cmV0dXJuIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldENvbnRhaW4oY29udGFpbm1lbnQpOwogfQog
CitpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxDb250ZW50VmlzaWJpbGl0
eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK3sKKyAgICBidWlsZGVyU3RhdGUuc3R5bGUo
KS5zZXRDb250ZW50VmlzaWJpbGl0eShSZW5kZXJTdHlsZTo6aW5pdGlhbENvbnRlbnRWaXNpYmls
aXR5KCkpOworfQorCitpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRDb250
ZW50VmlzaWJpbGl0eShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK3sKKyAgICBidWlsZGVy
U3RhdGUuc3R5bGUoKS5zZXRDb250ZW50VmlzaWJpbGl0eShmb3J3YXJkSW5oZXJpdGVkVmFsdWUo
YnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkuY29udGVudFZpc2liaWxpdHkoKSkpOworfQorCitp
bmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGVudFZpc2liaWxpdHkoQnVp
bGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICBpZiAoaXM8
Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgeworICAgICAgICBpZiAoZG93bmNhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU+KHZhbHVlKS52YWx1ZUlEKCkgPT0gQ1NTVmFsdWVIaWRkZW4pCisgICAgICAg
ICAgICByZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoQ29u
dGVudFZpc2liaWxpdHk6OkhpZGRlbik7CisgICAgICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZT4odmFsdWUpLnZhbHVlSUQoKSA9PSBDU1NWYWx1ZUF1dG8pCisgICAgICAgICAgICBy
ZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0Q29udGVudFZpc2liaWxpdHkoQ29udGVudFZp
c2liaWxpdHk6OkF1dG8pOworICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0
Q29udGVudFZpc2liaWxpdHkoUmVuZGVyU3R5bGU6OmluaXRpYWxDb250ZW50VmlzaWJpbGl0eSgp
KTsKKyAgICB9Cit9CisKIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVUZXh0
RW1waGFzaXNTdHlsZShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdWUmIHZhbHVl
KQogewogICAgIGlmIChpczxDU1NWYWx1ZUxpc3Q+KHZhbHVlKSkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TG9jYXRhYmxlLmNwcAppbmRleCA5NWEyNmZmODM2MWFjNjFjMzFjMGUzMjFhNTdhNmEzMTJkMTRm
YjFmLi4wYWUyZjkxNTZmZDZmNDE5Y2JiMjJiZmJmNjg3OTA5ZDUxZjg4ZDNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcApAQCAtNjYsNyArNjYsNyBAQCBGbG9hdFJlY3QgU1ZHTG9j
YXRhYmxlOjpnZXRCQm94KFNWR0VsZW1lbnQqIGVsZW1lbnQsIFN0eWxlVXBkYXRlU3RyYXRlZ3kg
c3R5bGVVcAogewogICAgIEFTU0VSVChlbGVtZW50KTsKICAgICBpZiAoc3R5bGVVcGRhdGVTdHJh
dGVneSA9PSBBbGxvd1N0eWxlVXBkYXRlKQotICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgICAgICBlbGVtZW50LT5k
b2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6
UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0
OjpZZXMpOwogCiAgICAgLy8gRklYTUU6IEV2ZW50dWFsbHkgd2Ugc2hvdWxkIHN1cHBvcnQgZ2V0
QkJveCBmb3IgZGV0YWNoZWQgZWxlbWVudHMuCiAgICAgaWYgKCFlbGVtZW50LT5yZW5kZXJlcigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAppbmRleCBj
MTQ1M2JmYzYwNDA4Yzk1MDc0NjA3N2Q3NjFlZTE0ZDcyOTY1MWZiLi44MDNjZjkwZGUzMmMxZGRh
M2MwYjgyNTIxN2ExYzk3ZjdlN2YwZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dENvbnRlbnRFbGVtZW50LmNwcApAQCAtNTUsMTMgKzU1LDEzIEBAIFNWR1RleHRDb250ZW50RWxl
bWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtCiAKIHVuc2lnbmVkIFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0TnVtYmVyT2ZDaGFy
cygpCiB7Ci0gICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKKyAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6
OkZvcmNlTGF5b3V0OjpZZXMpOwogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSku
bnVtYmVyT2ZDaGFyYWN0ZXJzKCk7CiB9CiAKIGZsb2F0IFNWR1RleHRDb250ZW50RWxlbWVudDo6
Z2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3M6OkFzeW5j
aHJvbm91c2x5LCBEb2N1bWVudDo6Rm9yY2VMYXlvdXQ6Olllcyk7CiAgICAgcmV0dXJuIFNWR1Rl
eHRRdWVyeShyZW5kZXJlcigpKS50ZXh0TGVuZ3RoKCk7CiB9CiAKQEAgLTEwOSw3ICsxMDksNyBA
QCBFeGNlcHRpb25PcjxmbG9hdD4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRSb3RhdGlvbk9m
Q2hhcih1bnNpZ25lZCBjaGFybnVtKQogCiBpbnQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRD
aGFyTnVtQXRQb3NpdGlvbihET01Qb2ludEluaXQmJiBwb2ludEluaXQpCiB7Ci0gICAgZG9jdW1l
bnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9z
dExheW91dFRhc2tzOjpBc3luY2hyb25vdXNseSwgRG9jdW1lbnQ6OkZvcmNlTGF5b3V0OjpZZXMp
OwogICAgIEZsb2F0UG9pbnQgdHJhbnNmb3JtUG9pbnQge3N0YXRpY19jYXN0PGZsb2F0Pihwb2lu
dEluaXQueCksIHN0YXRpY19jYXN0PGZsb2F0Pihwb2ludEluaXQueSl9OwogICAgIHJldHVybiBT
VkdUZXh0UXVlcnkocmVuZGVyZXIoKSkuY2hhcmFjdGVyTnVtYmVyQXRQb3NpdGlvbih0cmFuc2Zv
cm1Qb2ludCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTRmZGRjY2M4NTYwY2QwMWJmOWRmODczNTdkZTU4MThiNWZh
ZWFiYy4uYWZkM2ZiNWEwYmNiMzdkYTY1YzNhNzNlNGU0YTlmODI4MGY5OGM5ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDIyLTAyLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MjM4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOgorCiAyMDIyLTAyLTIzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI5MDI4NC4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGI2YzdmNTYzNTkyMWUxNzNjMjU1Zjk2MTc3M2U2Y2Vh
M2FmM2M3ODQuLmFlNjNjY2M5NzExZTc5Y2I2Nzc1Y2I1NTE3NjgxMGY1ZmY4NTAxODkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIyLTAyLTI0ICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHBy
b3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9hbmltYXRpb24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDE3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMx
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDcxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDgwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDgxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktaW1nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktaW5wdXQtaW1h
Z2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2Nv
bnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9j
b250ZW50LXZpc2liaWxpdHktdmFsaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3Jlc291cmNlcy90
ZXh0LWZyYWdtZW50LXRhcmdldC1hdXRvLmh0bWw6CisKIDIwMjItMDItMjMgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNd
IG9mZnNldFdpZHRoL0hlaWdodCBhbmQgc2ltaWxhciBzaG91bGQgdXBkYXRlIGxheW91dCBmb3Ig
Y29udGFpbmVyIHF1ZXJpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGJmNmRkODU5MGNjNDQ3NGRi
MzdmYjAyMDM1ZDE2MjA3YWQ4ZTAwODQuLmJlNjhjZmVmYmEwYmE0ZjA4M2YzZjEwMzIxZWE1ZGFl
ODU2NDk1NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDYyNyw0NCArNDYyNyw5IEBAIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
MDA4Lmh0bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTkuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMzLnN1
Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAzNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTA0MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA0My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA0NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA2NC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA2Ny5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3NS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Ni5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3OC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4Mi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4My5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA4
NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LXdpdGgtdG9wLWxheWVyLTAwMC50ZW50YXRpdmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS13aXRoLXRvcC1sYXllci0wMDEudGVudGF0aXZl
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
d2l0aC10b3AtbGF5ZXItMDAyLnRlbnRhdGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvZWxlbWVudC1yZWFzc2lnbmVkLXRvLXNraXBwZWQtc2xvdC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvZWxlbWVudC1yZWFzc2lnbmVkLXRvLXNsb3QtaW4tc2tp
cHBlZC1zdWJ0cmVlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvdW50ZXItc2NvcGluZy0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY291bnRlci1zY29waW5nLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1z
Y29waW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwt
cHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1l
eHBlY3RlZC50eHQKaW5kZXggOWIyNTQ3MTQyZDg1NWIxZDM4ZGUwNDAxM2FmYWQwMDMyZjBkNWY5
Ni4uYmQ3OTM2MmUyNjBiM2E0M2M2MTcyMmYyMWVlNzhkZTgwNTcyMzQ2ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2Nh
ZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWlu
aXRpYWwteG1sLWV4cGVjdGVkLnR4dApAQCAtMTAwLDYgKzEwMCw3IEBAIFBBU1MgY29udGFpbgog
UEFTUyBjb250YWluZXItbmFtZQogUEFTUyBjb250YWluZXItdHlwZQogUEFTUyBjb250ZW50CitQ
QVNTIGNvbnRlbnQtdmlzaWJpbGl0eQogUEFTUyBjb3VudGVyLWluY3JlbWVudAogUEFTUyBjb3Vu
dGVyLXJlc2V0CiBQQVNTIGN1cnNvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2stZXhwZWN0ZWQudHh0CmluZGV4IDRjODI0MGQ4ZDgy
NjZiYjdjZTg2YjYxZjA5Y2I2OTZmYWM2ODZkNzYuLjE4Y2VlODRlMGY3OTcyOWE4MTEwMjFiMmU2
MmQ2ZTEzNDEzNjNjZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9hbmltYXRp
b24tZGlzcGxheS1sb2NrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
YW5pbWF0aW9uLWRpc3BsYXktbG9jay1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZB
SUwgQW5pbWF0aW9uIGV2ZW50cyBkbyBub3QgZmlyZSBmb3IgYSBDU1MgYW5pbWF0aW9uIHJ1bm5p
bmcgaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlIGFzc2VydF9mYWxzZTogQW5pbWF0aW9uIGV2
ZW50cyBkbyBubyBmaXJlIHdoaWxlIHRoZSBhbmltYXRpb24gaXMgcnVubmluZyBpbiBhIGRpc3Bs
YXkgbG9ja2VkIHN1YnRyZWUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK0ZBSUwgQW5pbWF0aW9u
IGV2ZW50cyBkbyBub3QgZmlyZSBmb3IgYSBDU1MgYW5pbWF0aW9uIHJ1bm5pbmcgaW4gYSBkaXNw
bGF5IGxvY2tlZCBzdWJ0cmVlIGFzc2VydF90cnVlOiBUaGUgYW5pbWF0aW9uaXRlcmF0aW9uIGV2
ZW50IGZpcmVzIG9uY2UgdGhlIGFuaW1hdGlvbiBpcyBubyBsb25nZXIgZGlzcGxheSBsb2NrZWQg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgVGhlIGZpbmlzaGVkIHByb21pc2UgZG9lcyBu
b3QgcmVzb2x2ZSBkdWUgdG8gdGhlIG5vcm1hbCBwYXNzYWdlIG9mIHRpbWUgIGZvciBhIENTUyBh
bmltYXRpb24gaW4gYSBkaXNwbGF5IGxvY2tlZCBzdWJ0cmVlCiBQQVNTIFRoZSBmaW5pc2hlZCBw
cm9taXNlIGRvZXMgbm90IHJlc29sdmUgZHVlIHRvIHRoZSBub3JtYWwgcGFzc2FnZSBvZiB0aW1l
ICBmb3IgYSBDU1MgdHJhbnNpdGlvbiBpbiBhIGRpc3BsYXkgbG9ja2VkIHN1YnRyZWUKIEZBSUwg
RXZlbnRzIGFuZCBwcm9taXNlcyBhcmUgaGFuZGxlZCBub3JtYWxseSBmb3IgYW5pbWF0aW9ucyB3
aXRob3V0IGFuIG93bmluZyBlbGVtZW50IGFzc2VydF90cnVlOiBBbmltYXRpb24gZXZlbnQgbm90
IGJsb2NrZWQgb24gZGlzcGxheSBsb2NrZWQgc3VidHJlZSBpZiBubyBvd25pbmcgZWxlbWVudCBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTUtZXhwZWN0ZWQudHh0CmluZGV4IDVkNmYxZjZkZWY2
NWE1YWE2NDIwZjAwMTg0OGRiOGQ0NWUzMGZiZGQuLmRiZTQ4YWY5MjE3NjRhMjhhNGM2NWI0MWJi
NmM1NDdjNDk0NDcyOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDE1LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAxNS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgQ29udGVudCBWaXNpYmlsaXR5OiBoaXQgdGVzdGluZyBhc3NlcnRfZXF1YWxzOiBjZW50ZXIg
aGl0cyBvdXRlciBleHBlY3RlZCAib3V0ZXIiIGJ1dCBnb3QgImlubmVyIgorUEFTUyBDb250ZW50
IFZpc2liaWxpdHk6IGhpdCB0ZXN0aW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE2LWV4cGVjdGVkLnR4dAppbmRleCA5Yjc5MTQw
Y2RhMmQ0M2M4NGZhYzgyNzQ4NDE4ZDkzZmEzZDU0MTc3Li40NTFhNGEzNWVhZjhkNWE5ZjJjZGI3
OGIyZGY5NDUyMzAyNTM2OTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAxNi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTYtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQpIGFzc2Vy
dF9lcXVhbHM6IGNlbnRlciBoaXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0IGdvdCAiaW5u
ZXIiCitQQVNTIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQpCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDE3LWV4cGVjdGVkLnR4dAppbmRleCA5ZmIwODhhNzg0YmM1YjAzZjBmNDkyY2U2NzBkN2YwYzBl
OTAwYmVjLi5mNmY2ODBlODJiZWE4MGYyNjMwNzBmYTZlM2E3MWUxNjJmYzdjMWEzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxNy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTct
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTog
aGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQgY2hpbGQpIGFzc2VydF9lcXVhbHM6IGNlbnRlciBoaXRz
IG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0IGdvdCAiaW5uZXIiCitQQVNTIENvbnRlbnQgVmlz
aWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQgY2hpbGQpCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDE4LWV4cGVjdGVkLnR4
dAppbmRleCBlMjkyZWY3MjE2MWIwODQ5N2RhMjIzODY3NDdhMzU0OWE2NmNiMDYxLi5iOWI4MzM1
MmY4YmVmMTQ2NjliZWE3MjkwNDI4ZjQyY2RkM2ZmNGJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAxOC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMTgtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIENvbnRlbnQgVmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNv
bXBvc2l0ZWQgd2l0aCBhIGNvbXBvc2l0ZWQgY2hpbGQpIGFzc2VydF9lcXVhbHM6IGNlbnRlciBo
aXRzIG91dGVyIGV4cGVjdGVkICJvdXRlciIgYnV0IGdvdCAiaW5uZXIiCitQQVNTIENvbnRlbnQg
VmlzaWJpbGl0eTogaGl0IHRlc3RpbmcgKGNvbXBvc2l0ZWQgd2l0aCBhIGNvbXBvc2l0ZWQgY2hp
bGQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDI2LWV4cGVjdGVkLnR4dAppbmRleCA3M2RhNDhkZGI0YWRjOThiZWZhODNiMjhjMzU0
OWZmNDhkYjA1ZmEwLi44Mzk5M2M5ZDA4NTQ0NjIyMmRmNmVlMGQ1ZGNkNWRjMTkxMWYwZWJkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMjYtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIGNvbnRlbnQtdmlzaWJp
bGl0eTpoaWRkZW4gZG9lcyBub3QgYWZmZWN0IGNvbXB1dGVkIHZhbHVlIG9mICdjb250YWluJyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiaGlkZGVuIiBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAotRkFJTCBjb250ZW50LXZpc2liaWxpdHk6YXV0byBkb2VzIG5vdCBhZmZl
Y3QgY29tcHV0ZWQgdmFsdWUgb2YgJ2NvbnRhaW4nIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChz
dHJpbmcpICJhdXRvIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBjb250ZW50
LXZpc2liaWxpdHk6aGlkZGVuIGRvZXMgbm90IGFmZmVjdCBjb21wdXRlZCB2YWx1ZSBvZiAnY29u
dGFpbicKK1BBU1MgY29udGVudC12aXNpYmlsaXR5OmF1dG8gZG9lcyBub3QgYWZmZWN0IGNvbXB1
dGVkIHZhbHVlIG9mICdjb250YWluJwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyOS1leHBlY3RlZC50eHQKaW5kZXggM2EwZWE4Yzhj
OTc5MTIwNjNkZTA4MzY1NTgyZGNiMzU3NGM2MmEzZi4uMWNmNGQwZjYyMjVjYWRhNDVmOGQwNmZm
NTZlYmQyYmRiNGU0OGMzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMjktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDI5LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIFRo
aXMgdGV4dCBzaG91bGQgYmUgdmlzaWJsZS4KLVRoaXMgdGV4dCBzaG91bGQgbm90IGJlIHZpc2li
bGUuCi1UaGlzIHRleHQgaXMgYWxzbyBub3QgdmlzaWJsZS4KIAotRkFJTCBpbm5lclRleHQgb24g
bG9ja2VkIGVsZW1lbnQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIHRleHQgc2hvdWxk
IGJlIHZpc2libGUuIiBidXQgZ290ICJUaGlzIHRleHQgc2hvdWxkIGJlIHZpc2libGUuXG5UaGlz
IHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLlxuVGhpcyB0ZXh0IGlzIGFsc28gbm90IHZpc2li
bGUuIgorUEFTUyBpbm5lclRleHQgb24gbG9ja2VkIGVsZW1lbnQuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMwLWV4cGVjdGVkLnR4
dAppbmRleCBkZWFhNTc3Y2RkY2I5NjhmMDM5OWEyNzZkMWNiNzQ1OGI5ZDY5YzQ5Li44MjljMjk2
YmMwZDc0ZmM4MWZlMDE5N2UwMjllZDUwZmJhOGNlN2MwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzAtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIEludGVyc2VjdGlvbk9ic2VydmVyIGludGVyYWN0aW9ucyBh
c3NlcnRfZXF1YWxzOiBydW5TdGVwMiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFTUyBJbnRlcnNl
Y3Rpb25PYnNlcnZlciBpbnRlcmFjdGlvbnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzEtZXhwZWN0ZWQudHh0CmluZGV4IDVjYzhi
ODI5NmZmN2JhNjhjYWU2NmUwN2UxNmYyMDliMmRiNWM4ZTkuLjFjYzZjMWMwYWM4MDdmNmVjMzM0
MGZkY2FhOGRlNjk5NjhjYWZmOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDMxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMS1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMyBA
QAotQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IEVycm9yOiBh
c3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3VsZCBub3QgcnVuIGR1cmluZyB3aGlsZSB1
bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQogCi1IYXJuZXNzIEVycm9yIChG
QUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IFJlc2l6
ZU9ic2V2ZXIgc2hvdWxkIG5vdCBydW4gZHVyaW5nIHdoaWxlIHVucmVuZGVyZWQgZXhwZWN0ZWQg
dHJ1ZSBidXQgZ290IGZhbHNlCi0KLVRJTUVPVVQgUmVzaXplT2JzZXJ2ZXIgc2tpcHBlZCB3aGls
ZSBoaWRkZW4gVGVzdCB0aW1lZCBvdXQKLQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2Ug
PSBVbmhhbmRsZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBSZXNpemVPYnNldmVyIHNob3Vs
ZCBub3QgcnVuIGR1cmluZyB3aGlsZSB1bnJlbmRlcmVkIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBm
YWxzZQotCi1USU1FT1VUIFJlc2l6ZU9ic2VydmVyIHNraXBwZWQgd2hpbGUgaGlkZGVuIFRlc3Qg
dGltZWQgb3V0CitQQVNTIFJlc2l6ZU9ic2VydmVyIHNraXBwZWQgd2hpbGUgaGlkZGVuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM4
LWV4cGVjdGVkLnR4dAppbmRleCAwZTg4MGUwNTVmMDQxNzBjZDdlNjdjOTZmYTk3MDVjNDRlNTg3
NTQwLi5iY2ZjNzg5ZmE0MGEzM2UzMTVjMzUzYWE0YTFiYWJjZWRlNjM5OWU0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzOC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzgtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIE1lYXN1cmUgRm9yY2VkIExheW91dCBh
c3NlcnRfZXF1YWxzOiBzcGFjZXIgZm9yY2VkIGV4cGVjdGVkIDggYnV0IGdvdCAxMDgKK1BBU1Mg
TWVhc3VyZSBGb3JjZWQgTGF5b3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ0LWV4cGVjdGVkLnR4dAppbmRleCBjM2I2NGIxMjA4
MGEwODgxYTk3ODU3ODQwNzJlM2IzMmI4OTQ1Y2IyLi5lMTM3MmI4ZDJmMWE5YjBhZDE5NzNhOWUy
ZGUzOTNmM2YyM2EwNjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTA0NC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDQtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDQgQEAKLUNP
TlNPTEUgTUVTU0FHRTogRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAy
CiAKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBFcnJvcjogYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMCBidXQgZ290IDIKLQotVElNRU9VVCBDb250ZW50IFZpc2liaWxpdHk6IHNs
b3QgbW92ZWQgYWZ0ZXIgY29udGFpbmVyIGlzIGhpZGRlbiBUZXN0IHRpbWVkIG91dAotCi1IYXJu
ZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IEVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAwIGJ1dCBnb3QgMgotCi1USU1FT1VUIENvbnRlbnQgVmlzaWJpbGl0eTogc2xvdCBtb3ZlZCBh
ZnRlciBjb250YWluZXIgaXMgaGlkZGVuIFRlc3QgdGltZWQgb3V0CitQQVNTIENvbnRlbnQgVmlz
aWJpbGl0eTogc2xvdCBtb3ZlZCBhZnRlciBjb250YWluZXIgaXMgaGlkZGVuCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ3LWV4cGVj
dGVkLnR4dAppbmRleCAzOTVkNTljNDZhNTQ3MjcyY2NhZWQ5MmU2MmMwMjJhZGI3NjUyMWFkLi40
YzNjOGJiOTQzZTA0ZTIyZmVlZDM5ZDM0YjBmNmQ4MWMwM2U5NDdlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA0Ny1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDctZXhwZWN0ZWQu
dHh0CkBAIC0xLDYgKzEsNCBAQAogCiAKLQotCi1GQUlMIFRhYiBvcmRlciBuYXZpZ2F0aW9uIHNr
aXBzIGhpZGRlbiBzdWJ0cmVlcyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUg
PGlucHV0IGlkPSJmaXZlIiB0eXBlPSJ0ZXh0Ij48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9k
ZSA8aW5wdXQgaWQ9InR3byIgdHlwZT0idGV4dCI+PC9pbnB1dD4KK1BBU1MgVGFiIG9yZGVyIG5h
dmlnYXRpb24gc2tpcHMgaGlkZGVuIHN1YnRyZWVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDQ4LWV4cGVjdGVkLnR4dAppbmRleCBm
OGIwMTFiYTgxNzhkNjg3YzdmOTA5ZGU0ODM3OTk3M2M5ZDA5NmQ0Li43MzI2OGZkYjA4ZGY5NDc0
ZjAxZGY1NzZhMTgwZjliZTM4N2RhYWU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTA0OC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNDgtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIEZyYWdtZW50IG5hdmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7
IHNpbmdsZSB0ZXh0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmZXRjaFJlc3Vs
dHMiCi1GQUlMIEZyYWdtZW50IG5hdmlnYXRpb24gd2l0aCBjb250ZW50LXZpc2liaWxpdHk7IHJh
bmdlIGFjcm9zcyBibG9ja3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZldGNo
UmVzdWx0cyIKK0ZBSUwgRnJhZ21lbnQgbmF2aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0
eTsgc2luZ2xlIHRleHQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRleHQiIGJ1dCBnb3QgInRv
cCIKK0ZBSUwgRnJhZ21lbnQgbmF2aWdhdGlvbiB3aXRoIGNvbnRlbnQtdmlzaWJpbGl0eTsgcmFu
Z2UgYWNyb3NzIGJsb2NrcyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidGV4dDIiIGJ1dCBnb3Qg
InRvcCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wNTAtZXhwZWN0ZWQudHh0CmluZGV4IGVlMGI0ZTU0M2VmNTc3MTc1ZDVjOGZlZmEz
ZWEyMzYyMTZlMTI4MGIuLjQwMzA4NWE5ZDFiNmQyZWE4NzMzNGMxZmQ5Y2M2ZmNjNDE3M2M1YTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDUw
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTA1MC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVXNpbmcgdGFiaW5k
ZXggdG8gZm9jdXMgYW4gbmV3bHkgY29uc3RydWN0ZWQgZWxlbWVudCBpbiBhbiBhdXRvIHN1YnRy
ZWUgZm9jdXNlcyBlbGVtZW50IGFzc2VydF9ncmVhdGVyX3RoYW46IGV4cGVjdGVkIGEgbnVtYmVy
IGdyZWF0ZXIgdGhhbiA1MDAgYnV0IGdvdCAwCitQQVNTIFVzaW5nIHRhYmluZGV4IHRvIGZvY3Vz
IGFuIG5ld2x5IGNvbnN0cnVjdGVkIGVsZW1lbnQgaW4gYW4gYXV0byBzdWJ0cmVlIGZvY3VzZXMg
ZWxlbWVudAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTA1MC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNTAuaHRtbAppbmRleCBiY2M0ZjVlNDMwYzFiNWY0ZGU1MTQ0MjZlYTQ2OGE4MTI4NDk2ZDMx
Li40NWYxM2NlM2RiZWQ4M2VkZGZjZGU5NTM1YTY0MTk4MWRlMTNhZGU3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA1MC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDUwLmh0bWwKQEAgLTExLDcg
KzExLDcgQEAKIAogPHN0eWxlPgogLmF1dG8gewotICBjb250ZW50LXZpc2liaWxpdHk6IGF1dG87
CisgIG9udGVudC12aXNpYmlsaXR5OiBhdXRvOwogfQogLnNwYWNlciB7CiAgIGhlaWdodDogMzAw
MHB4OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wNzEtZXhwZWN0ZWQudHh0CmluZGV4IDQ0YTI5MzY1MDM2MTlmNzZlMWJkYTNmYmM3Y2Mw
NDhiM2YzYzFjNmYuLmViMTkzNTE2NjZlNTdhMDBmZDQ2YTcwMjdjMWI2MDAyMDdlYjVhZWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcxLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTA3MS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSwzIEBACi1oZWxsbwotaGVsbG8KLWhlbGxvCi1o
ZWxsbwotaGVsbG8KIAogRkFJTCBPbmUgZWxlbWVudHMgc2VsZWN0ZWQ6ICBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgUmFuZ2UgZXh0ZW5kZWQgdG8gY292ZXIgbW9y
ZSBlbGVtZW50czogIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wNzItZXhw
ZWN0ZWQudHh0CmluZGV4IDAzZTNiYjdjMGU4OTYwMzM3NjFiNTI0OWVkNjYxNjI2OTRjNTA3ZTYu
LjAwZjFjN2Y0NDQxODc4MmJjZWIzNDM4ZDdiNmZhNTFmNTYxZTE3NjkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDcyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3Mi1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1Mgb25lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OgogRkFJTCB0d28uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6ICBhc3NlcnRfZXF1YWxzOiB5IGV4
cGVjdGVkIDMwMDcgYnV0IGdvdCAzMDQxCi1GQUlMIHRocmVlLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzA3NQotRkFJTCBm
b3VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNzZXJ0X2VxdWFsczogeSBleHBlY3RlZCAz
MDA3IGJ1dCBnb3QgMzEwOQotRkFJTCBmaXZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOiAgYXNz
ZXJ0X2VxdWFsczogeSBleHBlY3RlZCAzMDA3IGJ1dCBnb3QgMzE0MworRkFJTCB0aHJlZS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQg
Z290IDMwNDEKK0ZBSUwgZm91ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTogIGFzc2VydF9lcXVh
bHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNDEKK0ZBSUwgZml2ZS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTogIGFzc2VydF9lcXVhbHM6IHkgZXhwZWN0ZWQgMzAwNyBidXQgZ290IDMwNDEK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
NzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wNzctZXhwZWN0ZWQudHh0CmluZGV4IDkyNzA5NmVkZjk3M2RiMTg5NmQ3ZTI1YTk0NGUxYTk0
MGYyYTgwYTIuLjA0OWJlMjg0ZDQ3ZjZjZGYwOTgzM2Y1MTQzMjUxMGU5MDMxOGRkZTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDc3LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTA3
Ny1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ29udGVudC12aXNpYmlsaXR5
IGlzIG5vdCBhbmltYXRhYmxlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJ2aXNp
YmxlIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBDb250ZW50LXZpc2liaWxp
dHkgaXMgbm90IGFuaW1hdGFibGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wODAtZXhwZWN0ZWQudHh0CmluZGV4IGQwZjA1YWQ1YTM4
Y2U0MTI0MjMzMGViMzkxYWFkMGU5MTcxOWM3YjYuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRi
MGFhZDdiZGVkMDhiZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDgwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTA4MC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSBAQAotQ29udGVu
dCBWaXNpYmlsaXR5OiBjYXJldCBwb3NpdGlvbiB3aXRoIGh0bWwgaGlkZGVuICAgKiB7IGFsbDog
aW5pdGlhbDsgY29udGVudC12aXNpYmlsaXR5OiBoaWRkZW47IH0gdGVzdCgoKSA9PiB7IGNvbnN0
IHJhbmdlID0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpOyBhc3NlcnRfbm90X2VxdWFs
cyhyYW5nZSwgbnVsbCwgInJhbmdlIGV4aXN0cyIpOyBhc3NlcnRfZXF1YWxzKHJhbmdlLnN0YXJ0
Q29udGFpbmVyLCBodG1sLCAic3RhcnRDb250YWluZXIgaXMgaHRtbCIpOyBhc3NlcnRfZXF1YWxz
KHJhbmdlLnN0YXJ0T2Zmc2V0LCAwLCAic3RhcnRPZmZzZXQgaXMgemVybyIpOyBhc3NlcnRfZXF1
YWxzKHJhbmdlLmVuZENvbnRhaW5lciwgaHRtbCwgImVuZENvbnRhaW5lciBpcyBodG1sIik7IGFz
c2VydF9lcXVhbHMocmFuZ2UuZW5kT2Zmc2V0LCAwLCAiZW5kT2Zmc2V0IGlzIHplcm8iKTsgfSwg
IkNhcmV0IHJhbmdlIGZyb20gcG9pbnQiKTsKLUZBSUwgQ2FyZXQgcmFuZ2UgZnJvbSBwb2ludCBh
c3NlcnRfZXF1YWxzOiBzdGFydENvbnRhaW5lciBpcyBodG1sIGV4cGVjdGVkIEVsZW1lbnQgbm9k
ZSA8aHRtbCBpZD0iaHRtbCI+PGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmOCI+Ci08dGl0bGU+Q29u
dGVuLi4uIGJ1dCBnb3QgVGV4dCBub2RlICJDb250ZW50IFZpc2liaWxpdHk6IGNhcmV0IHBvc2l0
aW9uIHdpdGggaHRtbCBoaWRkZW4iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktaW1nLWV4cGVjdGVkLnR4dAppbmRleCBjYTM3ODdlNDQ4
N2JkMzY0OTYwZmU0ZWI0YzkxZWRhZDE3N2U0ODcxLi40NDQ5ZDdjNzczYjkwNTgyZDNhMzc5NmEz
NmNjY2RjYzgzY2JlODE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LWltZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS1pbWctZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAogCi0K
LQotCi0KIFBBU1MgYy12OmhpZGRlbiA8aW1nPiBsYXlvdXQgQVBJcyBzaG91bGRuJ3QgcmV0dXJu
IHplcm8gd2hlbiBhY2Nlc3NlZCBmcm9tIHNjcmlwdC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1pbnB1dC1pbWFnZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4
cGVjdGVkLnR4dAppbmRleCBhNDVlZDU4MjkwMWY3YzVjMmRmOTdlNzBlYTQ1MDUwMjM3MmE1NjE2
Li5lNGEzMWZiMWJhMWE2MzkyY2VlYjg2NmJiN2U2MGJjZGJiMThiMDczIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlucHV0LWltYWdlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LWlu
cHV0LWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKIAotCi0KIFBBU1MgPGlucHV0
IHR5cGU9aW1hZ2U+IHNob3VsZCByZXR1cm4gbm9uemVybyB2YWx1ZXMgZm9yIHdpZHRoIGFuZCBo
ZWlnaHQgaW4gYSBjLXY6aGlkZGVuIHN1YnRyZWUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktc3ZnLWV4cGVjdGVkLnR4dAppbmRleCA0
Njc2Yjg4YzlhY2M3ZjI5Nzk1ODI4OTQ0NDI4ZjI0MjE4MzExZDU2Li44ZGYxYjdmZmFmNGJjMjNl
MjU0NjYyZWQ4ZjM2YmE4YjA2NWFiYTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LXN2Zy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS1zdmctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEs
MyBAQAotSGVsbG8gV29ybGQhCi1IZWxsbyBXb3JsZCBBZ2FpbiEKIAogUEFTUyBnZXRCQm94KCkg
c2hvdWxkIHJldHVybiBub256ZXJvIHZhbHVlcyBpbiBhIGMtdjpoaWRkZW4gc3VidHJlZS4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXgg
N2RhMTdmZmFmOWNkNTIwYTc1M2U5ZjNlOWE1OGU5YzYxYzQ1ZmU2NS4uNjY4ODk2YWYxMmQ2YTBk
OTBkMWEzYWRhNmNkODdjYWFkZWVhNTZlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2luaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
aW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFByb3BlcnR5
IGNvbnRlbnQtdmlzaWJpbGl0eSBoYXMgaW5pdGlhbCB2YWx1ZSB2aXNpYmxlIGFzc2VydF90cnVl
OiBjb250ZW50LXZpc2liaWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUg
Y29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29u
dGVudC12aXNpYmlsaXR5IGRvZXMgbm90IGluaGVyaXQgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBoYXMgaW5pdGlh
bCB2YWx1ZSB2aXNpYmxlCitQQVNTIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSBkb2VzIG5v
dCBpbmhlcml0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2Nv
bnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxpdHktY29tcHV0ZWQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg3YTNjNjgwZWY4Y2ZlNDI5YWU0NmQzMDkzZTc4MGU3MTI3YmRmOTIuLjBjMzRhNWRiYmRk
ZTdkYWMzNjllNmI4MGNkMjVhOWU3ZDg3NmRlNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS1jb21wdXRlZC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LWNv
bXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBQcm9wZXJ0eSBjb250
ZW50LXZpc2liaWxpdHkgdmFsdWUgJ3Zpc2libGUnIGFzc2VydF90cnVlOiBjb250ZW50LXZpc2li
aWxpdHkgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGVudC12aXNpYmlsaXR5
IHZhbHVlICdhdXRvJyBhc3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2Vl
bSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAnaGlkZGVuJyBh
c3NlcnRfdHJ1ZTogY29udGVudC12aXNpYmlsaXR5IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0
ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFBy
b3BlcnR5IGNvbnRlbnQtdmlzaWJpbGl0eSB2YWx1ZSAndmlzaWJsZScKK1BBU1MgUHJvcGVydHkg
Y29udGVudC12aXNpYmlsaXR5IHZhbHVlICdhdXRvJworUEFTUyBQcm9wZXJ0eSBjb250ZW50LXZp
c2liaWxpdHkgdmFsdWUgJ2hpZGRlbicKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9wYXJzaW5nL2NvbnRlbnQtdmlzaWJpbGl0eS12YWxpZC1leHBlY3Rl
ZC50eHQKaW5kZXggNmE2NWZmNjg0ZjYwODJkMWNlODFjMTM3ZTQwM2E0ZGU3MDA4OTU2Zi4uOWRh
NDU3M2UwNzQ3N2I3NzdkNmJhODc2OGY0NTNjNzQzNTczMzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L3BhcnNpbmcvY29udGVudC12aXNpYmlsaXR5LXZhbGlkLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcGFyc2luZy9jb250ZW50LXZpc2liaWxp
dHktdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIGUuc3R5bGVbJ2Nv
bnRlbnQtdmlzaWJpbGl0eSddID0gInZpc2libGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZh
bHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxv
d2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRlbnQtdmlzaWJpbGl0eSddID0gImF1dG8i
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0
eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2Nv
bnRlbnQtdmlzaWJpbGl0eSddID0gImhpZGRlbiIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFs
dWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93
ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAidmlzaWJs
ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGVudC12
aXNpYmlsaXR5J10gPSAiYXV0byIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1Mg
ZS5zdHlsZVsnY29udGVudC12aXNpYmlsaXR5J10gPSAiaGlkZGVuIiBzaG91bGQgc2V0IHRoZSBw
cm9wZXJ0eSB2YWx1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvcmVzb3Vy
Y2VzL3RleHQtZnJhZ21lbnQtdGFyZ2V0LWF1dG8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQtYXV0by5odG1sCmluZGV4IGQwN2VkZTVh
NTQ2MDA3ZTMyN2QzNTNlZDU5OTQ4OWRkZmU1NzQ0ODEuLjUzYTIyZjVmZDhkMWNkYjg4Mzg1MzUz
NTQ1NDllMTE3NTc2ZDdlNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9yZXNv
dXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQtYXV0by5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9yZXNvdXJjZXMvdGV4dC1mcmFnbWVudC10YXJnZXQtYXV0by5odG1sCkBAIC00Miw3
ICs0Miw3IEBAIGZ1bmN0aW9uIGRvdWJsZVJhZkNoZWNrU2Nyb2xsKCkgewogICBoZWlnaHQ6IDEw
MDAwcHg7CiB9CiAuYXV0byB7Ci0gIHN1YnRyZWUtdmlzaWJpbGl0eTogYXV0bzsKKyAgY29udGVu
dC12aXNpYmlsaXR5OiBhdXRvOwogfQogPC9zdHlsZT4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
YXNjYWRlL2FsbC1wcm9wLWluaXRpYWwteG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2Fk
ZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKaW5kZXggN2IxYjNjNjg0NGM0NDk3
MjE0M2ZhNjAzMzcxYWIzMDU5Y2IyMDc3Zi4uNDI5OTYyYjI5YWM2ODg1OWEwZDY3ZDYwMjJlMGY4
OTdmNWYxNzNmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwt
eG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14
bWwtZXhwZWN0ZWQudHh0CkBAIC0xMDAsNiArMTAwLDcgQEAgUEFTUyBjb250YWluCiBQQVNTIGNv
bnRhaW5lci1uYW1lCiBQQVNTIGNvbnRhaW5lci10eXBlCiBQQVNTIGNvbnRlbnQKK1BBU1MgY29u
dGVudC12aXNpYmlsaXR5CiBQQVNTIGNvdW50ZXItaW5jcmVtZW50CiBQQVNTIGNvdW50ZXItcmVz
ZXQKIFBBU1MgY3Vyc29yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5p
dGlhbC14bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9wLWluaXRpYWwt
eG1sLWV4cGVjdGVkLnR4dAppbmRleCA4ZTJkMDExMWZhMTE4NjBhMzUwNDA5NDQwYjQ3NTRlYjRh
MjQxNDNlLi5lNDUwMTZhYjU1Y2RlOTYyNTBlY2RlYmY1MDAyMWZhYThjMTY5NjQwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNhc2NhZGUvYWxsLXByb3AtaW5pdGlhbC14bWwtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY2FzY2FkZS9hbGwtcHJvcC1pbml0aWFsLXhtbC1leHBlY3RlZC50eHQKQEAg
LTEwMCw2ICsxMDAsNyBAQCBQQVNTIGNvbnRhaW4KIFBBU1MgY29udGFpbmVyLW5hbWUKIFBBU1Mg
Y29udGFpbmVyLXR5cGUKIFBBU1MgY29udGVudAorUEFTUyBjb250ZW50LXZpc2liaWxpdHkKIFBB
U1MgY291bnRlci1pbmNyZW1lbnQKIFBBU1MgY291bnRlci1yZXNldAogUEFTUyBjdXJzb3IK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455179</attachid>
            <date>2022-03-19 15:29:36 -0700</date>
            <delta_ts>2022-11-30 02:12:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236238-20220319222935.patch</filename>
            <type>text/plain</type>
            <size>1975</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlmN2ZiOTBjMWUxNjk0
ZDg1Y2IyNWFhMDA0NjNmNjQzOTUxOGVhZC4uNGY3MWJmNDBmMjljMjUzOTg4OTljNTkyNWMzYmI3
ZTdhNjExNGJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAzLTE5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHByb3Bl
cnR5IGNvbnRlbnQtdmlzaWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV0lQLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMgY29u
c3QpOgorCiAyMDIyLTAzLTE4ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVjeWNsaW5nIGEgd2ViZ2wgY29udGV4dCB3aGVuIGl0IGhhcyBiZWVuIGxv
c3QgYW5kIHJlc3RvcmVkIGNhdXNlcyBhIGNyYXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAppbmRleCA4NTBiZGU0OGU0OTI4ZTg2ZGMxNzZiNjIzMjFmZWVkOWI2ODZj
M2NkLi40YjY4YzQ1MWRlY2QzODQ5Yjg5MmUwZmNjMzdmMDMxODNjOGZmOWU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTU1MDMsMTQgKzU1MDMsMTQgQEAg
dm9pZCBSZW5kZXJMYXllcjo6c3R5bGVDaGFuZ2VkKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZW5kZXJTdHlsZSogb2xkU3R5bGUKICAgICAvLyBGSVhNRTogUmVuZGVyTGF5ZXIgYWxyZWFk
eSBoYW5kbGVzIHZpc2liaWxpdHkgY2hhbmdlcyB0aHJvdWdoIG91ciB2aXNpYmlsaXR5IGRpcnR5
IGJpdHMuIFRoaXMgbG9naWMgY291bGQKICAgICAvLyBsaWtlbHkgYmUgZm9sZGVkIGFsb25nIHdp
dGggdGhlIHJlc3QuCiAgICAgaWYgKG9sZFN0eWxlKSB7Ci0gICAgICAgIGJvb2wgdmlzaWJpbGl0
eUNoYW5nZWQgPSBvbGRTdHlsZS0+dmlzaWJpbGl0eSgpICE9IHJlbmRlcmVyKCkuc3R5bGUoKS52
aXNpYmlsaXR5KCk7Ci0gICAgICAgIGlmIChvbGRTdHlsZS0+dXNlZFpJbmRleCgpICE9IHJlbmRl
cmVyKCkuc3R5bGUoKS51c2VkWkluZGV4KCkgfHwgdmlzaWJpbGl0eUNoYW5nZWQpIHsKKyAgICAg
ICAgaWYgKG9sZFN0eWxlLT51c2VkWkluZGV4KCkgIT0gcmVuZGVyZXIoKS5zdHlsZSgpLnVzZWRa
SW5kZXgoKSkgewogICAgICAgICAgICAgZGlydHlTdGFja2luZ0NvbnRleHRaT3JkZXJMaXN0cygp
OwogICAgICAgICAgICAgaWYgKGlzU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgICAgICAgICAgICAg
ZGlydHlaT3JkZXJMaXN0cygpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gVmlzaWJpbGl0eSBp
cyBpbnB1dCB0byBjYW5Vc2VDb21wb3NpdGVkU2Nyb2xsaW5nKCkuCisgICAgICAgIGJvb2wgdmlz
aWJpbGl0eUNoYW5nZWQgPSBvbGRTdHlsZS0+dmlzaWJpbGl0eSgpICE9IHJlbmRlcmVyKCkuc3R5
bGUoKS52aXNpYmlsaXR5KCk7CiAgICAgICAgIGlmICh2aXNpYmlsaXR5Q2hhbmdlZCAmJiBtX3Nj
cm9sbGFibGVBcmVhKQogICAgICAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS0+Y29tcHV0ZUhhc0Nv
bXBvc2l0ZWRTY3JvbGxhYmxlT3ZlcmZsb3coKTsKICAgICB9Cg==
</data>
<flag name="commit-queue"
          id="483081"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>