<?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>220120</bug_id>
          
          <creation_ts>2020-12-23 09:48:39 -0800</creation_ts>
          <short_desc>Use CompletionHandler instead of DrawToPDFCallback</short_desc>
          <delta_ts>2021-02-09 10:39:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1716462</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-12-23 09:48:39 -0800</bug_when>
    <thetext>Make PDF printing code a little more sane</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716463</commentid>
    <comment_count>1</comment_count>
      <attachid>416711</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-12-23 09:51:37 -0800</bug_when>
    <thetext>Created attachment 416711
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716842</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-30 09:49:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/72741484&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717460</commentid>
    <comment_count>3</comment_count>
      <attachid>417033</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-01-05 13:50:09 -0800</bug_when>
    <thetext>Created attachment 417033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726966</commentid>
    <comment_count>4</comment_count>
      <attachid>419684</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-09 00:27:11 -0800</bug_when>
    <thetext>Created attachment 419684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727051</commentid>
    <comment_count>5</comment_count>
      <attachid>419684</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-09 08:21:12 -0800</bug_when>
    <thetext>Comment on attachment 419684
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727123</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-09 10:39:12 -0800</bug_when>
    <thetext>http://trac.webkit.org/r272592</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416711</attachid>
            <date>2020-12-23 09:51:37 -0800</date>
            <delta_ts>2021-01-05 13:50:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220120-20201223095136.patch</filename>
            <type>text/plain</type>
            <size>17778</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM0YzY2Y2U2N2U1ODA5YThk
NjNmMjdjYTBiZWI1MDk1ZGVhZDJkNWYuLjAwYTg2ZDAxYTc0Y2I5MzkxNTY1ZWRiYmFjNGQ2YWZl
ODExODgyZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjAtMTItMjMgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIFBERiBw
cmludGluZyBjb2RlIGEgbGl0dGxlIG1vcmUgc2FuZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT24gaU9TLCBhcyBsb25nIGFzIHdlJ3JlIHNlbmRpbmcg
YSBzeW5jaHJvbm91cyBtZXNzYWdlIENvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERG
LAorICAgICAgICBnZXQgdGhlIG51bWJlciBvZiBwYWdlcyBhbmQgdGhlIGRhdGEgaW4gdGhlIHJl
cGx5LiAgVGhhdCBtYWtlcyBpdCBzbyB3ZSBkb24ndCBuZWVkIERyYXdUb1BERkNhbGxiYWNrLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBjcmVhdGVQREZXaXRoQ29uZmlndXJhdGlvbjpjb21wbGV0aW9uSGFuZGxlcjpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpkcmF3VG9QREYpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmRyYXdUb1BERkNhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3Byb2Nlc3NEaWRFeGl0XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX3drX3BhZ2VDb3VudEZvclByaW50Rm9ybWF0dGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF93a19wcmludGVkRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
d2FpdEZvckRyYXdUb1BERkNhbGxiYWNrXSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZHJhd1Rv
UERGKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYpOgorCiAyMDIwLTEyLTIyICBL
YXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIENhbm5v
dCBzZWUgJ0FkZCB0byBteSBzdGF0aW9ucycgYnV0dG9uIGluIEJCQyBXb3JsZCBzZXJ2aWNlIFJh
ZGlvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpp
bmRleCA3MGViNTczZjQ0YjcxOTA2M2I0YWJkNGQ2M2Q1Mzc2ZTQzZjFiMTc0Li43YzgyYzNhYjgx
MWI5MGVkZmExZWJmMGZkMWM3MmUyOGZiMGU4NGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE0MzUsOSArMTQzNSw4IEBAIGlubGlu
ZSBPcHRpb25TZXQ8V2ViS2l0OjpGaW5kT3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhXS0ZpbmRDb25m
aWd1cmF0aW9uICpjb25maWd1CiAgICAgaWYgKHBkZkNvbmZpZ3VyYXRpb24gJiYgIUNHUmVjdElz
TnVsbChwZGZDb25maWd1cmF0aW9uLnJlY3QpKQogICAgICAgICBmbG9hdFJlY3QgPSBXZWJDb3Jl
OjpGbG9hdFJlY3QocGRmQ29uZmlndXJhdGlvbi5yZWN0KTsKIAotICAgIGF1dG8gaGFuZGxlciA9
IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcik7Ci0gICAgX3BhZ2UtPmRyYXdUb1BERihm
cmFtZUlELCBmbG9hdFJlY3QsIFtyZXRhaW5lZFNlbGYgPSByZXRhaW5QdHIoc2VsZiksIGhhbmRs
ZXIgPSBXVEZNb3ZlKGhhbmRsZXIpXShjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHBkZkRhdGEs
IFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgewotICAgICAgICBpZiAoZXJyb3Ig
IT0gV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKSB7CisgICAgX3BhZ2UtPmRyYXdU
b1BERihmcmFtZUlELCBmbG9hdFJlY3QsIFtoYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKV0oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBwZGZEYXRhKSB7CisgICAgICAg
IGlmIChwZGZEYXRhLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaGFuZGxlcihuaWwsIGNyZWF0
ZU5TRXJyb3IoV0tFcnJvclVua25vd24pLmdldCgpKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTcx
NmQ2N2Q3MDBlMmQxYTk3YjMwNGEyOTQ5YWFiY2EyNDM1OGQ1Yy4uMjgxYzE0ZDAxMjM1OThiODJl
NjE3M2IyMzM4YmVmMjEwZTZiMzJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCkBAIC04NTYxLDIyICs4NTYxLDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkcmF3
UGFnZXNGb3JQcmludGluZyhXZWJGcmFtZVByb3h5KiBmcmFtZSwgY29uc3QgUHJpbnRJbmZvJiBw
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotdm9pZCBXZWJQYWdlUHJveHk6OmRyYXdU
b1BERihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgT3B0aW9uYWw8RmxvYXRSZWN0PiYg
cmVjdCwgRHJhd1RvUERGQ2FsbGJhY2s6OkNhbGxiYWNrRnVuY3Rpb24mJiBjYWxsYmFjaykKK3Zv
aWQgV2ViUGFnZVByb3h5OjpkcmF3VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0
IE9wdGlvbmFsPEZsb2F0UmVjdD4mIHJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJik+JiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKCFoYXNSdW5uaW5n
UHJvY2VzcygpKSB7Ci0gICAgICAgIGNhbGxiYWNrKElQQzo6RGF0YVJlZmVyZW5jZSgpLCBDYWxs
YmFja0Jhc2U6OkVycm9yOjpPd25lcldhc0ludmFsaWRhdGVkKTsKKyAgICAgICAgY2FsbGJhY2so
eyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQotICAgIGF1dG8gY2FsbGJhY2tJRCA9IG1f
Y2FsbGJhY2tzLnB1dChXVEZNb3ZlKGNhbGxiYWNrKSwgbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5i
YWNrZ3JvdW5kQWN0aXZpdHkoIldlYlBhZ2VQcm94eTo6ZHJhd1RvUERGIl9zKSk7Ci0gICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6RHJhd1RvUERGKGZyYW1lSUQsIHJlY3QsIGNhbGxiYWNrSUQp
KTsKLX0KLQotdm9pZCBXZWJQYWdlUHJveHk6OmRyYXdUb1BERkNhbGxiYWNrKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgcGRmRGF0YSwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQotewotICAgIGF1
dG8gY2FsbGJhY2sgPSBtX2NhbGxiYWNrcy50YWtlPERyYXdUb1BERkNhbGxiYWNrPihjYWxsYmFj
a0lEKTsKLSAgICBSRUxFQVNFX0FTU0VSVChjYWxsYmFjayk7Ci0gICAgY2FsbGJhY2stPnBlcmZv
cm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShwZGZEYXRhKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OldlYlBhZ2U6OkRyYXdUb1BERihmcmFtZUlELCByZWN0KSwgV1RGTW92ZShj
YWxsYmFjaykpOwogfQogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDBkZjYxNmI3NmZiNzUwMzNlZjIwMTc5ZmU1YjI5
NmYyODM1NWUzZTEuLmQ3OGZkNDkzNGNmMjA3ZDE5MzAyN2I3MDMwMjFjZjRjYTM2ZWE1ZjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00MTcsNyArNDE3LDYgQEAg
dHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiY+
IEZvY3VzZWRFbGVtZW50SW5mb3JtYXQKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi11
c2luZyBEcmF3VG9QREZDYWxsYmFjayA9IEdlbmVyaWNDYWxsYmFjazxjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmPjsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGJvb2wsIGJvb2wsIFN0cmluZywg
ZG91YmxlLCBkb3VibGUsIHVpbnQ2NF90PiBOb3dQbGF5aW5nSW5mb0NhbGxiYWNrOwogI2VuZGlm
CiAKQEAgLTEzMDksMTAgKzEzMDgsOSBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgdm9pZCBkcmF3UmVjdFRvSW1hZ2UoV2ViRnJhbWVQcm94eSosIGNvbnN0IFByaW50SW5mbyYs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgUmVmPElt
YWdlQ2FsbGJhY2s+JiYpOwogICAgIHZvaWQgZHJhd1BhZ2VzVG9QREYoV2ViRnJhbWVQcm94eSos
IGNvbnN0IFByaW50SW5mbyYsIHVpbnQzMl90IGZpcnN0LCB1aW50MzJfdCBjb3VudCwgUmVmPERh
dGFDYWxsYmFjaz4mJik7Ci0gICAgdm9pZCBkcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyLCBjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+JiwgRHJhd1RvUERGQ2FsbGJh
Y2s6OkNhbGxiYWNrRnVuY3Rpb24mJik7Ci0gICAgdm9pZCBkcmF3VG9QREZDYWxsYmFjayhjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmIHBkZkRhdGEsIFdlYktpdDo6Q2FsbGJhY2tJRCk7CisgICAg
dm9pZCBkcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBPcHRpb25hbDxX
ZWJDb3JlOjpGbG9hdFJlY3Q+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmKT4mJik7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB1aW50MzJf
dCBjb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERihXZWJDb3JlOjpGcmFtZUlkZW50
aWZpZXIsIGNvbnN0IFByaW50SW5mbyYsIERyYXdUb1BERkNhbGxiYWNrOjpDYWxsYmFja0Z1bmN0
aW9uJiYpOworICAgIHN0ZDo6cGFpcjx1aW50MzJfdCwgUmV0YWluUHRyPENGRGF0YVJlZj4+IGNv
bXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmll
ciwgY29uc3QgUHJpbnRJbmZvJik7CiAjZW5kaWYKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICB2
b2lkIGRyYXdQYWdlc0ZvclByaW50aW5nKFdlYkZyYW1lUHJveHkqLCBjb25zdCBQcmludEluZm8m
LCBSZWY8UHJpbnRGaW5pc2hlZENhbGxiYWNrPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBlZjkzMjdkOGY2ZWU3ZDNmZWM2
NTI3ZmE1MmEwYjBkYzcxZjM5N2ExLi4yYWU3MzI4NGQ0NTdmZjAwOTU3NWE4ZGVmZDJmZTA5MWEy
ZGU4YjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC0yMDIsNyArMjAyLDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsK
ICAgICBQcmludEZpbmlzaGVkQ2FsbGJhY2soV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwg
V2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NP
QSkKLSAgICBEcmF3VG9QREZDYWxsYmFjayhJUEM6OkRhdGFSZWZlcmVuY2UgcGRmRGF0YSwgV2Vi
S2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAgTm93UGxheWluZ0luZm9DYWxsYmFjayhi
b29sIGFjdGl2ZSwgYm9vbCByZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24sIFN0cmlu
ZyB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxhcHNlZFRpbWUsIHVpbnQ2NF90IHVu
aXF1ZUlkZW50aWZpZXIsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggYzU3
NmE5NWM5ZjNiMTAwZjAxYjJmNGJiYjY1NDUwYTIyYmRkOTc1ZS4uM2E2NjI4YmEwMDExODM2ODcw
MWRjN2M4ODBkZmY2MjdmYTQ0NGVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcubW0KQEAgLTE0Myw3ICsxNDMsNiBAQAogICAgIFJldGFpblB0cjxOU1Vu
ZG9NYW5hZ2VyPiBfdW5kb01hbmFnZXI7CiAgICAgUmV0YWluUHRyPFdLUXVpcmt5TlNVbmRvTWFu
YWdlcj4gX3F1aXJreVVuZG9NYW5hZ2VyOwogCi0gICAgQk9PTCBfaXNQcmludGluZ1RvUERGOwog
ICAgIFJldGFpblB0cjxDR1BERkRvY3VtZW50UmVmPiBfcHJpbnRlZERvY3VtZW50OwogfQogCkBA
IC02MjAsOCArNjE5LDYgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29u
bmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKICNpZiBIQVZFKFZJU0lC
SUxJVFlfUFJPUEFHQVRJT05fVklFVykKICAgICBbc2VsZiBfcmVtb3ZlVmlzaWJpbGl0eVByb3Bh
Z2F0aW9uVmlld107CiAjZW5kaWYKLQotICAgIF9pc1ByaW50aW5nVG9QREYgPSBOTzsKIH0KIAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKQEAgLTc5Myw5ICs3OTAsNiBAQCBzdGF0aWMgdm9pZCBz
dG9yZUFjY2Vzc2liaWxpdHlSZW1vdGVDb25uZWN0aW9uSW5mb3JtYXRpb24oaWQgZWxlbWVudCwg
cGlkX3QgcGlkLAogCiAtIChOU1VJbnRlZ2VyKV93a19wYWdlQ291bnRGb3JQcmludEZvcm1hdHRl
cjooX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyICopcHJpbnRGb3JtYXR0ZXIKIHsKLSAgICBpZiAo
X2lzUHJpbnRpbmdUb1BERikKLSAgICAgICAgW3NlbGYgX3dhaXRGb3JEcmF3VG9QREZDYWxsYmFj
a107Ci0KICAgICBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRDsKICAgICBpZiAoX1dL
RnJhbWVIYW5kbGUgKmhhbmRsZSA9IHByaW50Rm9ybWF0dGVyLmZyYW1lVG9QcmludCkKICAgICAg
ICAgZnJhbWVJRCA9IGhhbmRsZS0+X2ZyYW1lSGFuZGxlLT5mcmFtZUlEKCk7CkBAIC04MjYsMzQg
KzgyMCwxMyBAQCBzdGF0aWMgdm9pZCBzdG9yZUFjY2Vzc2liaWxpdHlSZW1vdGVDb25uZWN0aW9u
SW5mb3JtYXRpb24oaWQgZWxlbWVudCwgcGlkX3QgcGlkLAogICAgIHByaW50SW5mby5hdmFpbGFi
bGVQYXBlcldpZHRoID0gQ0dSZWN0R2V0V2lkdGgocHJpbnRpbmdSZWN0KTsKICAgICBwcmludElu
Zm8uYXZhaWxhYmxlUGFwZXJIZWlnaHQgPSBDR1JlY3RHZXRIZWlnaHQocHJpbnRpbmdSZWN0KTsK
IAotICAgIF9pc1ByaW50aW5nVG9QREYgPSBZRVM7Ci0gICAgYXV0byByZXRhaW5lZFNlbGYgPSBy
ZXRhaW5QdHIoc2VsZik7Ci0gICAgcmV0dXJuIF9wYWdlLT5jb21wdXRlUGFnZXNGb3JQcmludGlu
Z0FuZERyYXdUb1BERihmcmFtZUlELCBwcmludEluZm8sIFtyZXRhaW5lZFNlbGZdKGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgcGRmRGF0YSwgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yIGVy
cm9yKSB7Ci0gICAgICAgIHJldGFpbmVkU2VsZi0+X2lzUHJpbnRpbmdUb1BERiA9IE5POwotICAg
ICAgICBpZiAoZXJyb3IgIT0gV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGF1dG8gZGF0YSA9IGFkb3B0Q0YoQ0ZEYXRhQ3Jl
YXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHBkZkRhdGEuZGF0YSgpLCBwZGZEYXRhLnNpemUoKSkp
OwotICAgICAgICBhdXRvIGRhdGFQcm92aWRlciA9IGFkb3B0Q0YoQ0dEYXRhUHJvdmlkZXJDcmVh
dGVXaXRoQ0ZEYXRhKGRhdGEuZ2V0KCkpKTsKLSAgICAgICAgcmV0YWluZWRTZWxmLT5fcHJpbnRl
ZERvY3VtZW50ID0gYWRvcHRDRihDR1BERkRvY3VtZW50Q3JlYXRlV2l0aFByb3ZpZGVyKGRhdGFQ
cm92aWRlci5nZXQoKSkpOwotICAgIH0pOwotfQotCi0tIChCT09MKV93YWl0Rm9yRHJhd1RvUERG
Q2FsbGJhY2sKLXsKLSAgICBpZiAoIV9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigpLT53YWl0
Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEcmF3VG9Q
REZDYWxsYmFjaz4oX3BhZ2UtPndlYlBhZ2VJRCgpLCBTZWNvbmRzOjppbmZpbml0eSgpKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIEFTU0VSVCghX2lzUHJpbnRpbmdUb1BERik7Ci0gICAg
cmV0dXJuIHRydWU7CisgICAgYXV0byBwYWlyID0gX3BhZ2UtPmNvbXB1dGVQYWdlc0ZvclByaW50
aW5nQW5kRHJhd1RvUERGKGZyYW1lSUQsIHByaW50SW5mbyk7CisgICAgX3ByaW50ZWREb2N1bWVu
dCA9IFdURk1vdmUocGFpci5zZWNvbmQpOworICAgIHJldHVybiBwYWlyLmZpcnN0OwogfQogCiAt
IChDR1BERkRvY3VtZW50UmVmKV93a19wcmludGVkRG9jdW1lbnQKIHsKLSAgICBpZiAoX2lzUHJp
bnRpbmdUb1BERikgewotICAgICAgICBpZiAoIVtzZWxmIF93YWl0Rm9yRHJhd1RvUERGQ2FsbGJh
Y2tdKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCiAgICAgcmV0dXJuIF9w
cmludGVkRG9jdW1lbnQuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IGVkNzhkZjM4MjFhMWRmNDc0OTEwNzhjZTFmYjNl
YjVhY2VmMzUyYmIuLmIyNWNlNWY1YjRjOTY1NGZiMDgyYTRlMDc0NmFlYjcyNzY0ZWI1ZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAt
MTEyNSwxNyArMTEyNSwxNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlU21hcnRNYWduaWZp
Y2F0aW9uSW5mb3JtYXRpb25Gb3JQb3RlbnRpYWxUYXAodWludDY0X3QgcgogICAgIHBhZ2VDbGll
bnQoKS5oYW5kbGVTbWFydE1hZ25pZmljYXRpb25JbmZvcm1hdGlvbkZvclBvdGVudGlhbFRhcChy
ZXF1ZXN0SUQsIHJlbmRlclJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0TWluaW11bVNjYWxl
LCB2aWV3cG9ydE1heGltdW1TY2FsZSwgbm9kZUlzUm9vdExldmVsKTsKIH0KIAotdWludDMyX3Qg
V2ViUGFnZVByb3h5Ojpjb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERihGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8sIERyYXdUb1BERkNh
bGxiYWNrOjpDYWxsYmFja0Z1bmN0aW9uJiYgY2FsbGJhY2spCitzdGQ6OnBhaXI8dWludDMyX3Qs
IFJldGFpblB0cjxDRkRhdGFSZWY+PiBXZWJQYWdlUHJveHk6OmNvbXB1dGVQYWdlc0ZvclByaW50
aW5nQW5kRHJhd1RvUERGKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBQcmludEluZm8m
IHByaW50SW5mbykKIHsKLSAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkpIHsKLSAgICAgICAg
Y2FsbGJhY2soSVBDOjpEYXRhUmVmZXJlbmNlKCksIENhbGxiYWNrQmFzZTo6RXJyb3I6Ok93bmVy
V2FzSW52YWxpZGF0ZWQpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9CisgICAgaWYgKCFoYXNS
dW5uaW5nUHJvY2VzcygpKQorICAgICAgICByZXR1cm4geyAwLCBudWxscHRyIH07CiAKICAgICB1
aW50MzJfdCBwYWdlQ291bnQgPSAwOwotICAgIGF1dG8gY2FsbGJhY2tJRCA9IG1fY2FsbGJhY2tz
LnB1dChXVEZNb3ZlKGNhbGxiYWNrKSwgbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5iYWNrZ3JvdW5k
QWN0aXZpdHkoIldlYlBhZ2VQcm94eTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9Q
REYiX3MpKTsKLSAgICBzZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZTo6Q29tcHV0ZVBhZ2VzRm9y
UHJpbnRpbmdBbmREcmF3VG9QREYoZnJhbWVJRCwgcHJpbnRJbmZvLCBjYWxsYmFja0lEKSwgTWVz
c2FnZXM6OldlYlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGOjpSZXBs
eShwYWdlQ291bnQpLCBTZWNvbmRzOjppbmZpbml0eSgpKTsKLSAgICByZXR1cm4gcGFnZUNvdW50
OworICAgIElQQzo6RGF0YVJlZmVyZW5jZSBwZGZEYXRhOworICAgIHNlbmRTeW5jKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpDb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERihmcmFtZUlELCBw
cmludEluZm8pLCBNZXNzYWdlczo6V2ViUGFnZTo6Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmRE
cmF3VG9QREY6OlJlcGx5KHBhZ2VDb3VudCwgcGRmRGF0YSksIFNlY29uZHM6OmluZmluaXR5KCkp
OworCisgICAgcmV0dXJuIHsgcGFnZUNvdW50LCBhZG9wdENGKENGRGF0YUNyZWF0ZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBwZGZEYXRhLmRhdGEoKSwgcGRmRGF0YS5zaXplKCkpKSB9OwogfQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6Y29udGVudFNpemVDYXRlZ29yeURpZENoYW5nZShjb25zdCBTdHJp
bmcmIGNvbnRlbnRTaXplQ2F0ZWdvcnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IDMxYTE0YzEyN2Q4Y2UzMzQyMjU1MGVhYTNlYTRmNDg1Mjlk
ZjViZDkuLjMyZjk4MWVjYTU2NzNmN2U0YmNjYzdiOGExYzc0YmM4M2U4YjE0NmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MDUwLDcgKzUw
NTAsNyBAQCB2b2lkIFdlYlBhZ2U6OmNvbXB1dGVQYWdlc0ZvclByaW50aW5nSW1wbChGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbgogfQogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
Ci12b2lkIFdlYlBhZ2U6OmRyYXdUb1BERihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3Qg
T3B0aW9uYWw8RmxvYXRSZWN0PiYgcmVjdCwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBX
ZWJQYWdlOjpkcmF3VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IE9wdGlvbmFs
PEZsb2F0UmVjdD4mIHJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSVBDOjpEYXRh
UmVmZXJlbmNlJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byYgZnJhbWVWaWV3
ID0gKm1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpOwogICAgIEludFNpemUgc25hcHNob3RTaXpl
OwpAQCAtNTA3NSw3ICs1MDc1LDcgQEAgdm9pZCBXZWJQYWdlOjpkcmF3VG9QREYoRnJhbWVJZGVu
dGlmaWVyIGZyYW1lSUQsIGNvbnN0IE9wdGlvbmFsPEZsb2F0UmVjdD4mIHJlY3QKICAgICBmcmFt
ZVZpZXcuc2V0TGF5b3V0Vmlld3BvcnRPdmVycmlkZVJlY3Qob3JpZ2luYWxMYXlvdXRWaWV3cG9y
dE92ZXJyaWRlUmVjdCk7CiAgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZpb3Iob3JpZ2luYWxQ
YWludEJlaGF2aW9yKTsKIAotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RHJhd1Rv
UERGQ2FsbGJhY2soSVBDOjpEYXRhUmVmZXJlbmNlKENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5n
ZXQoKSksIENGRGF0YUdldExlbmd0aChwZGZEYXRhLmdldCgpKSksIGNhbGxiYWNrSUQpKTsKKyAg
ICBjb21wbGV0aW9uSGFuZGxlcihJUEM6OkRhdGFSZWZlcmVuY2UoQ0ZEYXRhR2V0Qnl0ZVB0cihw
ZGZEYXRhLmdldCgpKSwgQ0ZEYXRhR2V0TGVuZ3RoKHBkZkRhdGEuZ2V0KCkpKSk7CiB9CiAKIHZv
aWQgV2ViUGFnZTo6ZHJhd1JlY3RUb0ltYWdlKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25z
dCBQcmludEluZm8mIHByaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgaW1hZ2VTaXplLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZTdhMmI3OWIzNjE5NTYzZTgw
MWUyNGViMzc1ZjdmOGJjOWIzMWY4Yy4uNDAxYjNlNmI0MTdlMGYzMzdhNDBiMmVlYTk3NGQxOTJm
MGMxMjQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApA
QCAtOTY1LDEwICs5NjUsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgIHZvaWQgY29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoV2Vi
Q29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBQcmludEluZm8mLCBDYWxsYmFja0lELCBNZXNz
YWdlczo6V2ViUGFnZTo6Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREZEZWxheWVk
UmVwbHkmJik7CisgICAgdm9pZCBjb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERihX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFByaW50SW5mbyYsIE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERkRlbGF5ZWRSZXBseSYmKTsK
ICNlbmRpZgogCi0gICAgdm9pZCBkcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBj
b25zdCBPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+JiwgQ2FsbGJhY2tJRCk7CisgICAgdm9p
ZCBkcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBPcHRpb25hbDxXZWJD
b3JlOjpGbG9hdFJlY3Q+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmKT4mJik7CiAKICNpZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBkcmF3UGFnZXNG
b3JQcmludGluZyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFByaW50SW5mbyYsIENh
bGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMmVhYmRjZjk0M2JkMDAwNDIyMGNiMDM2NGEzNTEzN2Qy
ZmU5ZTJiZS4uNDY4OTM3ZmYyNDdlYzFkMWMxMjliODk3ODAzOGQ4NjFhYjBlZGI5YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluCkBAIC0zOTcsOSArMzk3LDkgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChl
bnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBEcmF3
UmVjdFRvSW1hZ2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJL
aXQ6OlByaW50SW5mbyBwcmludEluZm8sIFdlYkNvcmU6OkludFJlY3QgcmVjdCwgV2ViQ29yZTo6
SW50U2l6ZSBpbWFnZVNpemUsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIERy
YXdQYWdlc1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2Vi
S2l0OjpQcmludEluZm8gcHJpbnRJbmZvLCB1aW50MzJfdCBmaXJzdCwgdWludDMyX3QgY291bnQs
IFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci0gICAgQ29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJLaXQ6OlByaW50SW5mbyBwcmludEluZm8sIFdl
YktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKSAtPiAodWludDMyX3QgcGFnZUNvdW50KSBTeW5j
aHJvbm91cworICAgIENvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpQcmludEluZm8gcHJpbnRJ
bmZvKSAtPiAodWludDMyX3QgcGFnZUNvdW50LCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkgU3lu
Y2hyb25vdXMKICNlbmRpZgotICAgIERyYXdUb1BERihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIg
ZnJhbWVJRCwgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRSZWN0PiByZWN0LCBXZWJLaXQ6OkNhbGxi
YWNrSUQgY2FsbGJhY2tJRCkKKyAgICBEcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
IGZyYW1lSUQsIE9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4gcmVjdCkgLT4gKElQQzo6RGF0
YVJlZmVyZW5jZSBkYXRhKSBBc3luYwogI2VuZGlmCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIERy
YXdQYWdlc0ZvclByaW50aW5nKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1
Y3QgV2ViS2l0OjpQcmludEluZm8gcHJpbnRJbmZvLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJh
Y2tJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KaW5kZXggNTczYzNiMDEyMTBjNmI4NDY4YjZlMmMzYjk1NTdhNGViNDUyM2FkNS4u
Y2Y2ZjFmNjJhMzJiMjVkZjg5Yjg4ZjM1ODI5NzM1ZDBmNWVlZmQzOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTM5Mzcs
MTAgKzM5MzcsOSBAQCB2b2lkIFdlYlBhZ2U6OmNhbmNlbEFzeW5jaHJvbm91c1RvdWNoRXZlbnRz
KGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8V2ViVG91Y2hFdmVudAogfQogI2VuZGlmCiAKLXZvaWQg
V2ViUGFnZTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFByaW50SW5mbyYgcHJpbnRJbmZvLCBDYWxsYmFj
a0lEIGNhbGxiYWNrSUQsIE1lc3NhZ2VzOjpXZWJQYWdlOjpDb21wdXRlUGFnZXNGb3JQcmludGlu
Z0FuZERyYXdUb1BERjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCit2b2lkIFdlYlBhZ2U6OmNvbXB1
dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBjb25zdCBQcmludEluZm8mIHByaW50SW5mbywgTWVzc2FnZXM6OldlYlBhZ2U6OkNv
bXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGOjpEZWxheWVkUmVwbHkmJiByZXBseSkK
IHsKICAgICBpZiAocHJpbnRJbmZvLnNuYXBzaG90Rmlyc3RQYWdlKSB7Ci0gICAgICAgIHJlcGx5
KDEpOwogICAgICAgICBJbnRTaXplIHNuYXBzaG90U2l6ZSB7IEZsb2F0U2l6ZSB7IHByaW50SW5m
by5hdmFpbGFibGVQYXBlcldpZHRoLCBwcmludEluZm8uYXZhaWxhYmxlUGFwZXJIZWlnaHQgfSB9
OwogICAgICAgICBJbnRSZWN0IHNuYXBzaG90UmVjdCB7IHswLCAwfSwgc25hcHNob3RTaXplIH07
CiAKQEAgLTM5NTEsNyArMzk1MCw3IEBAIHZvaWQgV2ViUGFnZTo6Y29tcHV0ZVBhZ2VzRm9yUHJp
bnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lCiAgICAgICAg
IGF1dG8gcGRmRGF0YSA9IHBkZlNuYXBzaG90QXRTaXplKHNuYXBzaG90UmVjdCwgc25hcHNob3RT
aXplLCAwKTsKIAogICAgICAgICBmcmFtZVZpZXcuc2V0TGF5b3V0Vmlld3BvcnRPdmVycmlkZVJl
Y3Qob3JpZ2luYWxMYXlvdXRWaWV3cG9ydE92ZXJyaWRlUmVjdCk7Ci0gICAgICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RHJhd1RvUERGQ2FsbGJhY2soSVBDOjpEYXRhUmVmZXJlbmNl
KENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChwZGZEYXRh
LmdldCgpKSksIGNhbGxiYWNrSUQpKTsKKyAgICAgICAgcmVwbHkoMSwgSVBDOjpEYXRhUmVmZXJl
bmNlKENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChwZGZE
YXRhLmdldCgpKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zOTYzLDExICszOTYy
LDEwIEBAIHZvaWQgV2ViUGFnZTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYo
V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lCiAgICAgQVNTRVJUKHBhZ2VSZWN0cy5zaXpl
KCkgPj0gMSk7CiAgICAgc3RkOjpzaXplX3QgcGFnZUNvdW50ID0gcGFnZVJlY3RzLnNpemUoKTsK
ICAgICBBU1NFUlQocGFnZUNvdW50IDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+Ojpt
YXgoKSk7Ci0gICAgcmVwbHkocGFnZUNvdW50KTsKIAogICAgIFJldGFpblB0cjxDRk11dGFibGVE
YXRhUmVmPiBwZGZQYWdlRGF0YTsKICAgICBkcmF3UGFnZXNUb1BERkltcGwoZnJhbWVJRCwgcHJp
bnRJbmZvLCAwLCBwYWdlQ291bnQsIHBkZlBhZ2VEYXRhKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRyYXdUb1BERkNhbGxiYWNrKElQQzo6RGF0YVJlZmVyZW5jZShDRkRhdGFH
ZXRCeXRlUHRyKHBkZlBhZ2VEYXRhLmdldCgpKSwgQ0ZEYXRhR2V0TGVuZ3RoKHBkZlBhZ2VEYXRh
LmdldCgpKSksIGNhbGxiYWNrSUQpKTsKKyAgICByZXBseShwYWdlQ291bnQsIElQQzo6RGF0YVJl
ZmVyZW5jZShDRkRhdGFHZXRCeXRlUHRyKHBkZlBhZ2VEYXRhLmdldCgpKSwgQ0ZEYXRhR2V0TGVu
Z3RoKHBkZlBhZ2VEYXRhLmdldCgpKSkpOwogCiAgICAgZW5kUHJpbnRpbmcoKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417033</attachid>
            <date>2021-01-05 13:50:09 -0800</date>
            <delta_ts>2021-02-09 00:27:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220120-20210105135008.patch</filename>
            <type>text/plain</type>
            <size>24652</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRiMTUxMDhiMmQ2NzIzZTIy
MDc5MjE3OTA1NjAzZGMwODI4NWYwNzYuLjYyMmE5YjA0N2RlNzRlYTU3MjlmMThkNWNiMjlmY2Uw
NDQzMTM5NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDEtMDUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIFBERiBw
cmludGluZyBjb2RlIGEgbGl0dGxlIG1vcmUgc2FuZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT24gaU9TLCBhcyBsb25nIGFzIHdlJ3JlIHNlbmRpbmcg
YSBzeW5jaHJvbm91cyBtZXNzYWdlIENvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERG
LAorICAgICAgICBnZXQgdGhlIG51bWJlciBvZiBwYWdlcyBhbmQgdGhlIGRhdGEgaW4gdGhlIHJl
cGx5LiAgVGhhdCBtYWtlcyBpdCBzbyB3ZSBkb24ndCBuZWVkIERyYXdUb1BERkNhbGxiYWNrLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBjcmVhdGVQREZXaXRoQ29uZmlndXJhdGlvbjpjb21wbGV0aW9uSGFuZGxlcjpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpkcmF3VG9QREYpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmRyYXdUb1BERkNhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3Byb2Nlc3NEaWRFeGl0XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX3drX3BhZ2VDb3VudEZvclByaW50Rm9ybWF0dGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF93a19wcmludGVkRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
d2FpdEZvckRyYXdUb1BERkNhbGxiYWNrXSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZHJhd1Rv
UERGKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYpOgorCiAyMDIxLTAxLTA1ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNl
IHNlbmRXaXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIFZhbGlkYXRlQ29tbWFuZENhbGxiYWNrCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9TeW5jaHJvbm91c01l
c3NhZ2VSZXBseUNGRGF0YS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvY29jb2EvU3lu
Y2hyb25vdXNNZXNzYWdlUmVwbHlDRkRhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODRmN2E3M2JmNTVlYjI0
MGE2MDEyYWI4YTNlYzc1ZTIyMmUyNjFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvY29jb2EvU3luY2hyb25vdXNNZXNzYWdlUmVwbHlDRkRhdGEuaApAQCAt
MCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBcmd1
bWVudENvZGVyc0NGLmgiCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorCituYW1lc3BhY2Ug
SVBDIHsKKworY2xhc3MgU3luY2hyb25vdXNNZXNzYWdlUmVwbHlDRkRhdGEgeworcHVibGljOgor
ICAgIFN5bmNocm9ub3VzTWVzc2FnZVJlcGx5Q0ZEYXRhKCkgPSBkZWZhdWx0OworICAgIFN5bmNo
cm9ub3VzTWVzc2FnZVJlcGx5Q0ZEYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYgZGF0YSkKKyAg
ICAgICAgOiBtX2RhdGEoV1RGTW92ZShkYXRhKSkgeyB9CisKKyAgICBSZXRhaW5QdHI8Q0ZEYXRh
UmVmPiBkYXRhKCkgJiYgeyByZXR1cm4gV1RGTW92ZShtX2RhdGEpOyB9CisKKyAgICB2b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgSVBDOjplbmNvZGUo
ZW5jb2RlciwgbV9kYXRhLmdldCgpKTsKKyAgICB9CisgICAgc3RhdGljIE9wdGlvbmFsPFN5bmNo
cm9ub3VzTWVzc2FnZVJlcGx5Q0ZEYXRhPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKKyAgICB7
CisgICAgICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGE7CisgICAgICAgIGlmICghSVBDOjpk
ZWNvZGUoZGVjb2RlciwgZGF0YSkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
ICAgICAgICAKKyAgICAgICAgcmV0dXJuIHt7IFdURk1vdmUoZGF0YSkgfX07CisgICAgfQorCitw
cml2YXRlOgorICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IG1fZGF0YTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KaW5kZXggNzBlYjU3M2Y0NGI3MTkwNjNiNGFiZDRkNjNkNTM3NmU0M2YxYjE3NC4uN2M4
MmMzYWI4MTFiOTBlZGZhMWViZjBmZDFjNzJlMjhmYjBlODRmOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xNDM1LDkgKzE0MzUsOCBA
QCBpbmxpbmUgT3B0aW9uU2V0PFdlYktpdDo6RmluZE9wdGlvbnM+IHRvRmluZE9wdGlvbnMoV0tG
aW5kQ29uZmlndXJhdGlvbiAqY29uZmlndQogICAgIGlmIChwZGZDb25maWd1cmF0aW9uICYmICFD
R1JlY3RJc051bGwocGRmQ29uZmlndXJhdGlvbi5yZWN0KSkKICAgICAgICAgZmxvYXRSZWN0ID0g
V2ViQ29yZTo6RmxvYXRSZWN0KHBkZkNvbmZpZ3VyYXRpb24ucmVjdCk7CiAKLSAgICBhdXRvIGhh
bmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpOwotICAgIF9wYWdlLT5kcmF3
VG9QREYoZnJhbWVJRCwgZmxvYXRSZWN0LCBbcmV0YWluZWRTZWxmID0gcmV0YWluUHRyKHNlbGYp
LCBoYW5kbGVyID0gV1RGTW92ZShoYW5kbGVyKV0oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBw
ZGZEYXRhLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKLSAgICAgICAgaWYg
KGVycm9yICE9IFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSkgeworICAgIF9wYWdl
LT5kcmF3VG9QREYoZnJhbWVJRCwgZmxvYXRSZWN0LCBbaGFuZGxlciA9IG1ha2VCbG9ja1B0cihj
b21wbGV0aW9uSGFuZGxlcildKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcGRmRGF0YSkgewor
ICAgICAgICBpZiAocGRmRGF0YS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGhhbmRsZXIobmls
LCBjcmVhdGVOU0Vycm9yKFdLRXJyb3JVbmtub3duKS5nZXQoKSk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmlu
ZGV4IDJjMmIxODA0MDQ4N2YwYjc0Zjk5NzQxODUxNjcyNjViZDE1NGIxZGQuLjBlZTZjZWI0NjRi
ZGFiZGEzODZmMDgzYTcwYmUxM2IyMDNiNTg5NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtODUyNywyMiArODUyNywxMyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZHJhd1BhZ2VzRm9yUHJpbnRpbmcoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFByaW50
SW5mbyYgcAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLXZvaWQgV2ViUGFnZVByb3h5
OjpkcmF3VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IE9wdGlvbmFsPEZsb2F0
UmVjdD4mIHJlY3QsIERyYXdUb1BERkNhbGxiYWNrOjpDYWxsYmFja0Z1bmN0aW9uJiYgY2FsbGJh
Y2spCit2b2lkIFdlYlBhZ2VQcm94eTo6ZHJhd1RvUERGKEZyYW1lSWRlbnRpZmllciBmcmFtZUlE
LCBjb25zdCBPcHRpb25hbDxGbG9hdFJlY3Q+JiByZWN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpPiYmIGNhbGxiYWNrKQogewogICAgIGlmICghaGFz
UnVubmluZ1Byb2Nlc3MoKSkgewotICAgICAgICBjYWxsYmFjayhJUEM6OkRhdGFSZWZlcmVuY2Uo
KSwgQ2FsbGJhY2tCYXNlOjpFcnJvcjo6T3duZXJXYXNJbnZhbGlkYXRlZCk7CisgICAgICAgIGNh
bGxiYWNrKHsgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBhdXRvIGNhbGxiYWNr
SUQgPSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFjayksIG1fcHJvY2Vzcy0+dGhyb3R0
bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5KCJXZWJQYWdlUHJveHk6OmRyYXdUb1BERiJfcykpOwot
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRyYXdUb1BERihmcmFtZUlELCByZWN0LCBjYWxs
YmFja0lEKSk7Ci19Ci0KLXZvaWQgV2ViUGFnZVByb3h5OjpkcmF3VG9QREZDYWxsYmFjayhjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmIHBkZkRhdGEsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLXsK
LSAgICBhdXRvIGNhbGxiYWNrID0gbV9jYWxsYmFja3MudGFrZTxEcmF3VG9QREZDYWxsYmFjaz4o
Y2FsbGJhY2tJRCk7Ci0gICAgUkVMRUFTRV9BU1NFUlQoY2FsbGJhY2spOwotICAgIGNhbGxiYWNr
LT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUocGRmRGF0YSk7CisgICAgc2VuZFdpdGhB
c3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjpEcmF3VG9QREYoZnJhbWVJRCwgcmVjdCksIFdU
Rk1vdmUoY2FsbGJhY2spKTsKIH0KICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA2NmM0OTU3YzUzMjk4ZWI2NmMwMjMx
ODliNzdjYmEzMzIxNmRjYmU4Li4xMjBiYWFiMjc3YTU5ZjY5OGVhMmRhOGJmNDAxODk0NTg4OGYz
MmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNDEyLDcgKzQx
Miw2IEBAIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IEZvY3VzZWRFbGVtZW50SW5mb3Jt
YXRpb24mPiBGb2N1c2VkRWxlbWVudEluZm9ybWF0CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQotdXNpbmcgRHJhd1RvUERGQ2FsbGJhY2sgPSBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJj47CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxib29sLCBib29sLCBT
dHJpbmcsIGRvdWJsZSwgZG91YmxlLCB1aW50NjRfdD4gTm93UGxheWluZ0luZm9DYWxsYmFjazsK
ICNlbmRpZgogCkBAIC0xMzAzLDEwICsxMzAyLDkgQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIHZvaWQgZHJhd1JlY3RUb0ltYWdlKFdlYkZyYW1lUHJveHkqLCBjb25zdCBQcmlu
dEluZm8mLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYs
IFJlZjxJbWFnZUNhbGxiYWNrPiYmKTsKICAgICB2b2lkIGRyYXdQYWdlc1RvUERGKFdlYkZyYW1l
UHJveHkqLCBjb25zdCBQcmludEluZm8mLCB1aW50MzJfdCBmaXJzdCwgdWludDMyX3QgY291bnQs
IFJlZjxEYXRhQ2FsbGJhY2s+JiYpOwotICAgIHZvaWQgZHJhd1RvUERGKFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllciwgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRSZWN0PiYsIERyYXdUb1BE
RkNhbGxiYWNrOjpDYWxsYmFja0Z1bmN0aW9uJiYpOwotICAgIHZvaWQgZHJhd1RvUERGQ2FsbGJh
Y2soY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBwZGZEYXRhLCBXZWJLaXQ6OkNhbGxiYWNrSUQp
OworICAgIHZvaWQgZHJhd1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgY29uc3QgT3B0
aW9uYWw8V2ViQ29yZTo6RmxvYXRSZWN0PiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJik+JiYpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
dWludDMyX3QgY29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyLCBjb25zdCBQcmludEluZm8mLCBEcmF3VG9QREZDYWxsYmFjazo6Q2FsbGJh
Y2tGdW5jdGlvbiYmKTsKKyAgICBzdGQ6OnBhaXI8dWludDMyX3QsIFJldGFpblB0cjxDRkRhdGFS
ZWY+PiBjb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERihXZWJDb3JlOjpGcmFtZUlk
ZW50aWZpZXIsIGNvbnN0IFByaW50SW5mbyYpOwogI2VuZGlmCiAjZWxpZiBQTEFURk9STShHVEsp
CiAgICAgdm9pZCBkcmF3UGFnZXNGb3JQcmludGluZyhXZWJGcmFtZVByb3h5KiwgY29uc3QgUHJp
bnRJbmZvJiwgUmVmPFByaW50RmluaXNoZWRDYWxsYmFjaz4mJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOTE2NTk2NjBmZWRi
ZjRhMzk2ZDAzODk5NmUyMjNiYzg0NWU4ZTg0My4uYWI1NjJlMWE3OTEwNjlmOTA3YTExNjZjNmUw
MDBkMjRlMWU1ZjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMTk4LDcgKzE5OCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQ
cm94eSB7CiAgICAgUHJpbnRGaW5pc2hlZENhbGxiYWNrKFdlYkNvcmU6OlJlc291cmNlRXJyb3Ig
ZXJyb3IsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2VuZGlmCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCi0gICAgRHJhd1RvUERGQ2FsbGJhY2soSVBDOjpEYXRhUmVmZXJlbmNlIHBkZkRh
dGEsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIE5vd1BsYXlpbmdJbmZvQ2Fs
bGJhY2soYm9vbCBhY3RpdmUsIGJvb2wgcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9u
LCBTdHJpbmcgdGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1lLCB1aW50
NjRfdCB1bmlxdWVJZGVudGlmaWVyLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmlu
ZGV4IGM1NzZhOTVjOWYzYjEwMGYwMWIyZjRiYmI2NTQ1MGEyMmJkZDk3NWUuLjQ0Mzk0MzBhYTll
OGRmZmNlMGM0MDc0ZDZlMjgwMDI2MDg2OTdiNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0xNDMsNyArMTQzLDYgQEAKICAgICBSZXRhaW5Q
dHI8TlNVbmRvTWFuYWdlcj4gX3VuZG9NYW5hZ2VyOwogICAgIFJldGFpblB0cjxXS1F1aXJreU5T
VW5kb01hbmFnZXI+IF9xdWlya3lVbmRvTWFuYWdlcjsKIAotICAgIEJPT0wgX2lzUHJpbnRpbmdU
b1BERjsKICAgICBSZXRhaW5QdHI8Q0dQREZEb2N1bWVudFJlZj4gX3ByaW50ZWREb2N1bWVudDsK
IH0KIApAQCAtNjIwLDggKzYxOSw2IEBAIHN0YXRpYyB2b2lkIHN0b3JlQWNjZXNzaWJpbGl0eVJl
bW90ZUNvbm5lY3Rpb25JbmZvcm1hdGlvbihpZCBlbGVtZW50LCBwaWRfdCBwaWQsCiAjaWYgSEFW
RShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgW3NlbGYgX3JlbW92ZVZpc2liaWxp
dHlQcm9wYWdhdGlvblZpZXddOwogI2VuZGlmCi0KLSAgICBfaXNQcmludGluZ1RvUERGID0gTk87
CiB9CiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCkBAIC03OTMsOSArNzkwLDYgQEAgc3RhdGlj
IHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVs
ZW1lbnQsIHBpZF90IHBpZCwKIAogLSAoTlNVSW50ZWdlcilfd2tfcGFnZUNvdW50Rm9yUHJpbnRG
b3JtYXR0ZXI6KF9XS1dlYlZpZXdQcmludEZvcm1hdHRlciAqKXByaW50Rm9ybWF0dGVyCiB7Ci0g
ICAgaWYgKF9pc1ByaW50aW5nVG9QREYpCi0gICAgICAgIFtzZWxmIF93YWl0Rm9yRHJhd1RvUERG
Q2FsbGJhY2tdOwotCiAgICAgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQ7CiAgICAg
aWYgKF9XS0ZyYW1lSGFuZGxlICpoYW5kbGUgPSBwcmludEZvcm1hdHRlci5mcmFtZVRvUHJpbnQp
CiAgICAgICAgIGZyYW1lSUQgPSBoYW5kbGUtPl9mcmFtZUhhbmRsZS0+ZnJhbWVJRCgpOwpAQCAt
ODI2LDM0ICs4MjAsMTQgQEAgc3RhdGljIHZvaWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29u
bmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1lbnQsIHBpZF90IHBpZCwKICAgICBwcmludEluZm8u
YXZhaWxhYmxlUGFwZXJXaWR0aCA9IENHUmVjdEdldFdpZHRoKHByaW50aW5nUmVjdCk7CiAgICAg
cHJpbnRJbmZvLmF2YWlsYWJsZVBhcGVySGVpZ2h0ID0gQ0dSZWN0R2V0SGVpZ2h0KHByaW50aW5n
UmVjdCk7CiAKLSAgICBfaXNQcmludGluZ1RvUERGID0gWUVTOwotICAgIGF1dG8gcmV0YWluZWRT
ZWxmID0gcmV0YWluUHRyKHNlbGYpOwotICAgIHJldHVybiBfcGFnZS0+Y29tcHV0ZVBhZ2VzRm9y
UHJpbnRpbmdBbmREcmF3VG9QREYoZnJhbWVJRCwgcHJpbnRJbmZvLCBbcmV0YWluZWRTZWxmXShj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHBkZkRhdGEsIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpF
cnJvciBlcnJvcikgewotICAgICAgICByZXRhaW5lZFNlbGYtPl9pc1ByaW50aW5nVG9QREYgPSBO
TzsKLSAgICAgICAgaWYgKGVycm9yICE9IFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9u
ZSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBhdXRvIGRhdGEgPSBhZG9wdENGKENG
RGF0YUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBwZGZEYXRhLmRhdGEoKSwgcGRmRGF0YS5z
aXplKCkpKTsKLSAgICAgICAgYXV0byBkYXRhUHJvdmlkZXIgPSBhZG9wdENGKENHRGF0YVByb3Zp
ZGVyQ3JlYXRlV2l0aENGRGF0YShkYXRhLmdldCgpKSk7Ci0gICAgICAgIHJldGFpbmVkU2VsZi0+
X3ByaW50ZWREb2N1bWVudCA9IGFkb3B0Q0YoQ0dQREZEb2N1bWVudENyZWF0ZVdpdGhQcm92aWRl
cihkYXRhUHJvdmlkZXIuZ2V0KCkpKTsKLSAgICB9KTsKLX0KLQotLSAoQk9PTClfd2FpdEZvckRy
YXdUb1BERkNhbGxiYWNrCi17Ci0gICAgaWYgKCFfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24o
KS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RHJhd1RvUERGQ2FsbGJhY2s+KF9wYWdlLT53ZWJQYWdlSUQoKSwgU2Vjb25kczo6aW5maW5pdHko
KSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBBU1NFUlQoIV9pc1ByaW50aW5nVG9QREYp
OwotICAgIHJldHVybiB0cnVlOworICAgIGF1dG8gcGFpciA9IF9wYWdlLT5jb21wdXRlUGFnZXNG
b3JQcmludGluZ0FuZERyYXdUb1BERihmcmFtZUlELCBwcmludEluZm8pOworICAgIGF1dG8gZGF0
YVByb3ZpZGVyID0gYWRvcHRDRihDR0RhdGFQcm92aWRlckNyZWF0ZVdpdGhDRkRhdGEocGFpci5z
ZWNvbmQuZ2V0KCkpKTsKKyAgICBfcHJpbnRlZERvY3VtZW50ID0gYWRvcHRDRihDR1BERkRvY3Vt
ZW50Q3JlYXRlV2l0aFByb3ZpZGVyKGRhdGFQcm92aWRlci5nZXQoKSkpOworICAgIHJldHVybiBw
YWlyLmZpcnN0OwogfQogCiAtIChDR1BERkRvY3VtZW50UmVmKV93a19wcmludGVkRG9jdW1lbnQK
IHsKLSAgICBpZiAoX2lzUHJpbnRpbmdUb1BERikgewotICAgICAgICBpZiAoIVtzZWxmIF93YWl0
Rm9yRHJhd1RvUERGQ2FsbGJhY2tdKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
fQotCiAgICAgcmV0dXJuIF9wcmludGVkRG9jdW1lbnQuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDY4MjI5MWRhYzM4
YTcyOGVkMDEzNWIwYzk3MzcxZTJkZWExMGExMWQuLjRhZDEyZjFhMGM4OTkwNDU2ZDg4NDIxYjli
ODFkMWM2MDQzMGUzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbQpAQCAtNDksNiArNDksNyBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb24uaCIKICNpbXBvcnQgIlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHku
aCIKICNpbXBvcnQgIlNoYXJlYWJsZVJlc291cmNlLmgiCisjaW1wb3J0ICJTeW5jaHJvbm91c01l
c3NhZ2VSZXBseUNGRGF0YS5oIgogI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIlVzZXJE
YXRhLmgiCiAjaW1wb3J0ICJVc2VySW50ZXJmYWNlSWRpb20uaCIKQEAgLTExMDcsMTcgKzExMDgs
MTYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZVNtYXJ0TWFnbmlmaWNhdGlvbkluZm9ybWF0
aW9uRm9yUG90ZW50aWFsVGFwKHVpbnQ2NF90IHIKICAgICBwYWdlQ2xpZW50KCkuaGFuZGxlU21h
cnRNYWduaWZpY2F0aW9uSW5mb3JtYXRpb25Gb3JQb3RlbnRpYWxUYXAocmVxdWVzdElELCByZW5k
ZXJSZWN0LCBmaXRFbnRpcmVSZWN0LCB2aWV3cG9ydE1pbmltdW1TY2FsZSwgdmlld3BvcnRNYXhp
bXVtU2NhbGUsIG5vZGVJc1Jvb3RMZXZlbCk7CiB9CiAKLXVpbnQzMl90IFdlYlBhZ2VQcm94eTo6
Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1l
SUQsIGNvbnN0IFByaW50SW5mbyYgcHJpbnRJbmZvLCBEcmF3VG9QREZDYWxsYmFjazo6Q2FsbGJh
Y2tGdW5jdGlvbiYmIGNhbGxiYWNrKQorc3RkOjpwYWlyPHVpbnQzMl90LCBSZXRhaW5QdHI8Q0ZE
YXRhUmVmPj4gV2ViUGFnZVByb3h5Ojpjb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BE
RihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8pCiB7
Ci0gICAgaWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKSB7Ci0gICAgICAgIGNhbGxiYWNrKElQQzo6
RGF0YVJlZmVyZW5jZSgpLCBDYWxsYmFja0Jhc2U6OkVycm9yOjpPd25lcldhc0ludmFsaWRhdGVk
KTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3Mo
KSkKKyAgICAgICAgcmV0dXJuIHsgMCwgbnVsbHB0ciB9OwogCiAgICAgdWludDMyX3QgcGFnZUNv
dW50ID0gMDsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShj
YWxsYmFjayksIG1fcHJvY2Vzcy0+dGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5KCJXZWJQ
YWdlUHJveHk6OmNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGIl9zKSk7Ci0gICAg
c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJh
d1RvUERGKGZyYW1lSUQsIHByaW50SW5mbywgY2FsbGJhY2tJRCksIE1lc3NhZ2VzOjpXZWJQYWdl
OjpDb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERjo6UmVwbHkocGFnZUNvdW50KSwg
U2Vjb25kczo6aW5maW5pdHkoKSk7Ci0gICAgcmV0dXJuIHBhZ2VDb3VudDsKKyAgICBJUEM6OlN5
bmNocm9ub3VzTWVzc2FnZVJlcGx5Q0ZEYXRhIHBkZkRhdGE7CisgICAgc2VuZFN5bmMoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKGZyYW1lSUQs
IHByaW50SW5mbyksIE1lc3NhZ2VzOjpXZWJQYWdlOjpDb21wdXRlUGFnZXNGb3JQcmludGluZ0Fu
ZERyYXdUb1BERjo6UmVwbHkocGFnZUNvdW50LCBwZGZEYXRhKSwgU2Vjb25kczo6aW5maW5pdHko
KSk7CisKKyAgICByZXR1cm4geyBwYWdlQ291bnQsIFdURk1vdmUocGRmRGF0YSkuZGF0YSgpIH07
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpjb250ZW50U2l6ZUNhdGVnb3J5RGlkQ2hhbmdlKGNv
bnN0IFN0cmluZyYgY29udGVudFNpemVDYXRlZ29yeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIzNzMwMDVlOWJlODI4ZDAyMzc1YmI0
NDFhYzNjZGE5OWZhYTYyMmEuLjQ2NzZmNGMxYjNhMmEzMTY0Y2UyZWJjODVlZGRiOWYyOThmNzFm
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTkwNCw2ICsxOTA0LDcgQEAKIAkJREYwQzVGMkIyNTJFRDQ0MDAwRDkyMURCIC8qIFdL
RG93bmxvYWRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gREYwQzVGMjUyNTJFQ0I4RTAwRDkyMURCIC8qIFdLRG93bmxvYWRJbnRlcm5hbC5o
ICovOyB9OwogCQlERjQ2MkUwRjIzRjIyRjU1MDBFRkYzNUYgLyogV0tIVFRQQ29va2llU3RvcmVQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
RjQ2MkUwRTIzRjIyRjUzMDBFRkYzNUYgLyogV0tIVFRQQ29va2llU3RvcmVQcml2YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJREY0NjJFMTIy
M0YzMzhCRTAwRUZGMzVGIC8qIFdLQ29udGVudFdvcmxkUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREY0NjJFMTEyM0YzMzhBRDAwRUZGMzVG
IC8qIFdLQ29udGVudFdvcmxkUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCURGNjI1NDRBMjVBNTExQUEwMDhFMzExMSAvKiBTeW5jaHJv
bm91c01lc3NhZ2VSZXBseUNGRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gREY2MjU0NDkyNUE1MTFBOTAwOEUzMTExIC8qIFN5bmNocm9ub3VzTWVz
c2FnZVJlcGx5Q0ZEYXRhLmggKi87IH07CiAJCURGODRDRUU0MjQ5QUEyNEQwMDkwOTZGNiAvKiBX
S1BERkhVRFZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBERjg0Q0VFMjI0OUFBMjFGMDA5MDk2RjYgLyogV0tQREZIVURWaWV3Lm1tICovOyB9Owog
CQlFMTA1RkU1NDE4RDdCOURFMDA4RjU3QTggLyogRWRpdGluZ1JhbmdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTA1RkU1MzE4RDdCOURFMDA4RjU3
QTggLyogRWRpdGluZ1JhbmdlLmggKi87IH07CiAJCUUxMUQzNUFFMTZCNjNEMUIwMDZEMjNENyAv
KiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTE5NjdFMzcxNTBBQjVFMjAwQzczMTY5IC8qIGNvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiICovOyB9OwpAQCAtNTY1MCw2ICs1NjUxLDcgQEAKIAkJREY0NjJFMTEyM0Yz
MzhBRDAwRUZGMzVGIC8qIFdLQ29udGVudFdvcmxkUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0NvbnRlbnRXb3JsZFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJREY1OEM2MzExMzcxQUM1ODAwRjlBMzdDIC8qIE5hdGl2ZVdlYldoZWVs
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF0aXZlV2ViV2hlZWxF
dmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERjU4QzYzNTEzNzFBQ0EwMDBG
OUEzN0MgLyogTmF0aXZlV2ViV2hlZWxFdmVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdlYldoZWVsRXZlbnRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCURGNjI1NDQ5MjVBNTExQTkwMDhFMzExMSAvKiBTeW5jaHJvbm91
c01lc3NhZ2VSZXBseUNGRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
eW5jaHJvbm91c01lc3NhZ2VSZXBseUNGRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlERjc0Mjc1QzI0RjQ5NTUwMDBGOEFCRTkgLyogUERGUGx1Z2luSWRlbnRpZmllci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQREZQbHVnaW5JZGVudGlmaWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURGODRDRUUyMjQ5QUEyMUYwMDkwOTZGNiAvKiBX
S1BERkhVRFZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBX
S1BERkhVRFZpZXcubW07IHBhdGggPSBQREYvV0tQREZIVURWaWV3Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlERjg0Q0VFMzI0OUFBMjFGMDA5MDk2RjYgLyogV0tQREZIVURWaWV3
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLUERGSFVEVmlldy5oOyBwYXRo
ID0gUERGL1dLUERGSFVEVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA0
NzAsNiArMTA0NzIsNyBAQAogCQkJCTFBNkQ4NkJGMURGNzUyNjUwMDc3NDVFOCAvKiBNYWNoTWVz
c2FnZS5jcHAgKi8sCiAJCQkJMUE2RDg2QzAxREY3NTI2NTAwNzc0NUU4IC8qIE1hY2hNZXNzYWdl
LmggKi8sCiAJCQkJQkNDNTZGNzcxMTU5OTU3RDAwMUNDQUY5IC8qIE1hY2hQb3J0LmggKi8sCisJ
CQkJREY2MjU0NDkyNUE1MTFBOTAwOEUzMTExIC8qIFN5bmNocm9ub3VzTWVzc2FnZVJlcGx5Q0ZE
YXRhLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTExOTIwLDYgKzExOTIzLDcgQEAKIAkJCQkxQUUwMEQ2QzE4MzI3QzEyMDAwODdE
RDcgLyogU3RyaW5nUmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTZCRDg1RDE1MDE5
QkMzMDA3MUY0MjQgLyogU3RyaW5nVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0ZE
MzE4NjIyQjM1MTZDMDA4RDBFOEIgLyogU3ViRnJhbWVTT0F1dGhvcml6YXRpb25TZXNzaW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlERjYyNTQ0QTI1QTUxMUFBMDA4RTMxMTEgLyogU3luY2hyb25v
dXNNZXNzYWdlUmVwbHlDRkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0NTk5ODQyMjI4MzNF
ODcwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxNTcxMzVGMjA0MEE5QjIwMDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxQTBCRDYxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQ
SS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IGM4ZDdmNDY2ZmZjOGM1NzIzYjYzNDQ1YzBlOWFkOWQ4NWYxMzAxMzUu
LmNhZWQ3NjliNzFhNzQ4MzFhYTRiYjAxOGE4OTc3NjI0MWUyNzE5NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MDQ5LDcgKzUwNDksNyBA
QCB2b2lkIFdlYlBhZ2U6OmNvbXB1dGVQYWdlc0ZvclByaW50aW5nSW1wbChGcmFtZUlkZW50aWZp
ZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbgogfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi12b2lk
IFdlYlBhZ2U6OmRyYXdUb1BERihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgT3B0aW9u
YWw8RmxvYXRSZWN0PiYgcmVjdCwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBXZWJQYWdl
OjpkcmF3VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IE9wdGlvbmFsPEZsb2F0
UmVjdD4mIHJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSVBDOjpEYXRhUmVmZXJl
bmNlJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byYgZnJhbWVWaWV3ID0gKm1f
cGFnZS0+bWFpbkZyYW1lKCkudmlldygpOwogICAgIEludFNpemUgc25hcHNob3RTaXplOwpAQCAt
NTA3NCw3ICs1MDc0LDcgQEAgdm9pZCBXZWJQYWdlOjpkcmF3VG9QREYoRnJhbWVJZGVudGlmaWVy
IGZyYW1lSUQsIGNvbnN0IE9wdGlvbmFsPEZsb2F0UmVjdD4mIHJlY3QKICAgICBmcmFtZVZpZXcu
c2V0TGF5b3V0Vmlld3BvcnRPdmVycmlkZVJlY3Qob3JpZ2luYWxMYXlvdXRWaWV3cG9ydE92ZXJy
aWRlUmVjdCk7CiAgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZpb3Iob3JpZ2luYWxQYWludEJl
aGF2aW9yKTsKIAotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RHJhd1RvUERGQ2Fs
bGJhY2soSVBDOjpEYXRhUmVmZXJlbmNlKENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5nZXQoKSks
IENGRGF0YUdldExlbmd0aChwZGZEYXRhLmdldCgpKSksIGNhbGxiYWNrSUQpKTsKKyAgICBjb21w
bGV0aW9uSGFuZGxlcihJUEM6OkRhdGFSZWZlcmVuY2UoQ0ZEYXRhR2V0Qnl0ZVB0cihwZGZEYXRh
LmdldCgpKSwgQ0ZEYXRhR2V0TGVuZ3RoKHBkZkRhdGEuZ2V0KCkpKSk7CiB9CiAKIHZvaWQgV2Vi
UGFnZTo6ZHJhd1JlY3RUb0ltYWdlKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBQcmlu
dEluZm8mIHByaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgaW1hZ2VTaXplLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYTMzZDllNjJiYTJjN2Y1OTU4NjEwMzVl
ZGYwNGIzNDVlNDkzODQ5YS4uODI0YjhkYzRjYTVkOGY0YjM5Njg0Y2YwZDZiYzRlZWI1MzVhNjAy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtOTY1
LDEwICs5NjUsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotICAgIHZvaWQgY29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyLCBjb25zdCBQcmludEluZm8mLCBDYWxsYmFja0lELCBNZXNzYWdlczo6
V2ViUGFnZTo6Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREZEZWxheWVkUmVwbHkm
Jik7CisgICAgdm9pZCBjb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERihXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFByaW50SW5mbyYsIE1lc3NhZ2VzOjpXZWJQYWdlOjpD
b21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERkRlbGF5ZWRSZXBseSYmKTsKICNlbmRp
ZgogCi0gICAgdm9pZCBkcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBP
cHRpb25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+JiwgQ2FsbGJhY2tJRCk7CisgICAgdm9pZCBkcmF3
VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpG
bG9hdFJlY3Q+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmKT4mJik7CiAKICNpZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBkcmF3UGFnZXNGb3JQcmlu
dGluZyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFByaW50SW5mbyYsIENhbGxiYWNr
SUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KaW5kZXggZDA1NzkxNmE4OTQxMGMyMGIwZjViYWMyY2UzODU3MGNhM2I4NGUz
Ni4uYjUyNTRiNTA5OGY5NWUwZTNhYWU5NjI0NGM1Nzk0NTAwMTcxYzlmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBA
IC0zOTcsOSArMzk3LDkgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVp
bnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBEcmF3UmVjdFRv
SW1hZ2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJLaXQ6OlBy
aW50SW5mbyBwcmludEluZm8sIFdlYkNvcmU6OkludFJlY3QgcmVjdCwgV2ViQ29yZTo6SW50U2l6
ZSBpbWFnZVNpemUsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIERyYXdQYWdl
c1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpQ
cmludEluZm8gcHJpbnRJbmZvLCB1aW50MzJfdCBmaXJzdCwgdWludDMyX3QgY291bnQsIFdlYktp
dDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJLaXQ6OlByaW50SW5mbyBwcmludEluZm8sIFdlYktpdDo6
Q2FsbGJhY2tJRCBjYWxsYmFja0lEKSAtPiAodWludDMyX3QgcGFnZUNvdW50KSBTeW5jaHJvbm91
cworICAgIENvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpQcmludEluZm8gcHJpbnRJbmZvKSAt
PiAodWludDMyX3QgcGFnZUNvdW50LCBJUEM6OlN5bmNocm9ub3VzTWVzc2FnZVJlcGx5Q0ZEYXRh
IGRhdGEpIFN5bmNocm9ub3VzCiAjZW5kaWYKLSAgICBEcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyIGZyYW1lSUQsIE9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4gcmVjdCwgV2Vi
S2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCisgICAgRHJhd1RvUERGKFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+IHJlY3QpIC0+
IChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkgQXN5bmMKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdU
SykKICAgICBEcmF3UGFnZXNGb3JQcmludGluZyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbywgV2ViS2l0OjpDYWxsYmFj
a0lEIGNhbGxiYWNrSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGYzNjRlNDIwNjViYTdhZWFlOTY2YjkyOWNiMDZkM2My
OTExOGRiNzAuLjExMDFjYzA0MjRkZjM3NzhkNDk1MzhhNzRlN2FkM2E2MjMzYTVkM2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
CkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5o
IgogI2ltcG9ydCAiU2FuZGJveFV0aWxpdGllcy5oIgogI2ltcG9ydCAiU2hhcmVkTWVtb3J5Lmgi
CisjaW1wb3J0ICJTeW5jaHJvbm91c01lc3NhZ2VSZXBseUNGRGF0YS5oIgogI2ltcG9ydCAiU3lu
dGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmgiCiAjaW1wb3J0ICJUZXh0Q2hlY2tpbmdDb250cm9s
bGVyUHJveHkuaCIKICNpbXBvcnQgIlVJS2l0U1BJLmgiCkBAIC0zOTM1LDEwICszOTM2LDkgQEAg
dm9pZCBXZWJQYWdlOjpjYW5jZWxBc3luY2hyb25vdXNUb3VjaEV2ZW50cyhjb25zdCBWZWN0b3I8
c3RkOjpwYWlyPFdlYlRvdWNoRXZlbnQKIH0KICNlbmRpZgogCi12b2lkIFdlYlBhZ2U6OmNvbXB1
dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBjb25zdCBQcmludEluZm8mIHByaW50SW5mbywgQ2FsbGJhY2tJRCBjYWxsYmFja0lE
LCBNZXNzYWdlczo6V2ViUGFnZTo6Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREY6
OkRlbGF5ZWRSZXBseSYmIHJlcGx5KQordm9pZCBXZWJQYWdlOjpjb21wdXRlUGFnZXNGb3JQcmlu
dGluZ0FuZERyYXdUb1BERihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3Qg
UHJpbnRJbmZvJiBwcmludEluZm8sIE1lc3NhZ2VzOjpXZWJQYWdlOjpDb21wdXRlUGFnZXNGb3JQ
cmludGluZ0FuZERyYXdUb1BERjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7CiAgICAgaWYgKHBy
aW50SW5mby5zbmFwc2hvdEZpcnN0UGFnZSkgewotICAgICAgICByZXBseSgxKTsKICAgICAgICAg
SW50U2l6ZSBzbmFwc2hvdFNpemUgeyBGbG9hdFNpemUgeyBwcmludEluZm8uYXZhaWxhYmxlUGFw
ZXJXaWR0aCwgcHJpbnRJbmZvLmF2YWlsYWJsZVBhcGVySGVpZ2h0IH0gfTsKICAgICAgICAgSW50
UmVjdCBzbmFwc2hvdFJlY3QgeyB7MCwgMH0sIHNuYXBzaG90U2l6ZSB9OwogCkBAIC0zOTQ5LDcg
KzM5NDksNyBAQCB2b2lkIFdlYlBhZ2U6OmNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1Rv
UERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZQogICAgICAgICBhdXRvIHBkZkRhdGEg
PSBwZGZTbmFwc2hvdEF0U2l6ZShzbmFwc2hvdFJlY3QsIHNuYXBzaG90U2l6ZSwgMCk7CiAKICAg
ICAgICAgZnJhbWVWaWV3LnNldExheW91dFZpZXdwb3J0T3ZlcnJpZGVSZWN0KG9yaWdpbmFsTGF5
b3V0Vmlld3BvcnRPdmVycmlkZVJlY3QpOwotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkRyYXdUb1BERkNhbGxiYWNrKElQQzo6RGF0YVJlZmVyZW5jZShDRkRhdGFHZXRCeXRl
UHRyKHBkZkRhdGEuZ2V0KCkpLCBDRkRhdGFHZXRMZW5ndGgocGRmRGF0YS5nZXQoKSkpLCBjYWxs
YmFja0lEKSk7CisgICAgICAgIHJlcGx5KDEsIElQQzo6U3luY2hyb25vdXNNZXNzYWdlUmVwbHlD
RkRhdGEoV1RGTW92ZShwZGZEYXRhKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0z
OTYxLDExICszOTYxLDEwIEBAIHZvaWQgV2ViUGFnZTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdB
bmREcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lCiAgICAgQVNTRVJUKHBh
Z2VSZWN0cy5zaXplKCkgPj0gMSk7CiAgICAgc3RkOjpzaXplX3QgcGFnZUNvdW50ID0gcGFnZVJl
Y3RzLnNpemUoKTsKICAgICBBU1NFUlQocGFnZUNvdW50IDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8
dWludDMyX3Q+OjptYXgoKSk7Ci0gICAgcmVwbHkocGFnZUNvdW50KTsKIAogICAgIFJldGFpblB0
cjxDRk11dGFibGVEYXRhUmVmPiBwZGZQYWdlRGF0YTsKICAgICBkcmF3UGFnZXNUb1BERkltcGwo
ZnJhbWVJRCwgcHJpbnRJbmZvLCAwLCBwYWdlQ291bnQsIHBkZlBhZ2VEYXRhKTsKLSAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRyYXdUb1BERkNhbGxiYWNrKElQQzo6RGF0YVJlZmVy
ZW5jZShDRkRhdGFHZXRCeXRlUHRyKHBkZlBhZ2VEYXRhLmdldCgpKSwgQ0ZEYXRhR2V0TGVuZ3Ro
KHBkZlBhZ2VEYXRhLmdldCgpKSksIGNhbGxiYWNrSUQpKTsKKyAgICByZXBseShwYWdlQ291bnQs
IElQQzo6U3luY2hyb25vdXNNZXNzYWdlUmVwbHlDRkRhdGEoV1RGTW92ZShwZGZQYWdlRGF0YSkp
KTsKIAogICAgIGVuZFByaW50aW5nKCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419684</attachid>
            <date>2021-02-09 00:27:11 -0800</date>
            <delta_ts>2021-02-09 08:21:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220120-20210209002709.patch</filename>
            <type>text/plain</type>
            <size>34903</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE0ZmZjZWQ5NTJiNGQ1YWQy
OTkwZTIwOTFmNGY3ZDEzYWE5NTUyM2YuLjgwMjRlMzI5YjEwZGE1NTI3YmMwYzVlN2ZkZjIxYzU1
MDhjYTU1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIwMjEtMDItMDkgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgQ29tcGxl
dGlvbkhhbmRsZXIgaW5zdGVhZCBvZiBEcmF3VG9QREZDYWxsYmFjaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMTIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxvbmcgdGhlIHdheSBJIG1hZGUgYWxs
IGFzeW5jaHJvbm91cyBtZXNzYWdlIHJlcGxpZXMgdXNlIDggZmV3ZXIgYnl0ZXMgYnkgdXNpbmcg
dGhlIGRlc3RpbmF0aW9uIElEIGZvciB0aGUgbGlzdGVuZXIgSUQKKyAgICAgICAgaW5zdGVhZCBv
ZiBlbmNvZGluZyAwIGFzIHRoZSBkZXN0aW5hdGlvbiBJRCBhbmQgdGhlbiBlbmNvZGluZyB0aGUg
bGlzdGVuZXIgSUQuICBUaGlzIHdhcyBuZWVkZWQgaW4gb3JkZXIgdG8gbWFrZSBpbXBsZW1lbnRp
bmcKKyAgICAgICAgd2FpdEZvckFzeW5jQ2FsbGJhY2tBbmREaXNwYXRjaEltbWVkaWF0ZWx5IHBv
c3NpYmxlLCB3aGljaCBsb29rcyBhdCB0aGUgZGVzdGluYXRpb24gSURzIG9mIGluY29taW5nIG1l
c3NhZ2VzLgorICAgICAgICBJIGFsc28gbWFkZSBpdCBzbyB0aGF0IGlmIHdlIGFyZSBqdXN0IHNu
YXBzaG90dGluZyB0aGUgZmlyc3QgcGFnZSwgd2UgZG9uJ3Qgc2VuZCBhIHN5bmNocm9ub3VzIG1l
c3NhZ2UgYmVjYXVzZSB3ZSBhbHJlYWR5IGtub3cgdGhlIHBhZ2UgY291bnQ6CisgICAgICAgIDEh
CisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChJUEM6
OkNvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uaDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6c2VuZFdpdGhBc3luY1JlcGx5
KToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRl
bHkpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp3YWl0Rm9yQXN5bmNDYWxsYmFja0FuZERp
c3BhdGNoSW1tZWRpYXRlbHkpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdl
Lmg6CisgICAgICAgIChJUEM6OmhhbmRsZU1lc3NhZ2VBc3luYyk6CisgICAgICAgIChJUEM6Omhh
bmRsZU1lc3NhZ2VBc3luY1dhbnRzQ29ubmVjdGlvbik6CisgICAgICAgICogUGxhdGZvcm0vSVBD
L0pTSVBDQmluZGluZy5jcHA6CisgICAgICAgIChJUEM6OmpzVmFsdWVGb3JEZWNvZGVkQXJndW1l
bnRWYWx1ZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0pTSVBDQmluZGluZy5oOgorICAgICAg
ICAqIFBsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmg6CisgICAgICAgIChJUEM6Ok1lc3NhZ2VT
ZW5kZXI6OnNlbmRXaXRoQXN5bmNSZXBseSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06Cisg
ICAgICAgICgtW1dLV2ViVmlldyBjcmVhdGVQREZXaXRoQ29uZmlndXJhdGlvbjpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5Lmg6
CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6c2VuZFdpdGhBc3luY1Jl
cGx5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkcmF3VG9QREYpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmdldExvYWREZWNpc2lvbkZvckljb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmRyYXdUb1BERkNhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX3Byb2Nlc3NEaWRFeGl0XSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX3drX3BhZ2VDb3VudEZvclByaW50Rm9ybWF0dGVyOl0pOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF93YWl0Rm9yRHJhd1RvUERGQ2FsbGJhY2tdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBfd2tfcHJpbnRlZERvY3VtZW50XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tcHV0
ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZHJhd1RvUERGKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29t
cHV0ZVBhZ2VzRm9yUHJpbnRpbmdpT1MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkcmF3
VG9QREZpT1MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb21wdXRlUGFnZXNGb3JQcmlu
dGluZ0FuZERyYXdUb1BERik6IERlbGV0ZWQuCisKIDIwMjEtMDItMDggIENvbW1pdCBRdWV1ZSAg
PGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGlu
ZyByMjcyNDg1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAppbmRl
eCBjZGFmMTNhNWQ2YjJhZDBhNTE3NjdiZGMwNTExOTBkMWVmYzQ2YzJlLi45MDdlNGNkNGY5ZWNi
ZTA0NTRiY2YyMDVkZWYzZDlmMTMxNjRlMjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmNwcApAQCAtMTAwNiwxMyArMTAwNiw3IEBAIHZvaWQgQ29ubmVjdGlvbjo6
ZGlzcGF0Y2hNZXNzYWdlKERlY29kZXImIGRlY29kZXIpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQo
aXNWYWxpZCgpKTsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gUmVj
ZWl2ZXJOYW1lOjpBc3luY1JlcGx5KSB7Ci0gICAgICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBsaXN0
ZW5lcklEOwotICAgICAgICBkZWNvZGVyID4+IGxpc3RlbmVySUQ7Ci0gICAgICAgIGlmICghbGlz
dGVuZXJJRCkgewotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgYXV0byBoYW5kbGVyID0gdGFrZUFzeW5jUmVw
bHlIYW5kbGVyKCp0aGlzLCAqbGlzdGVuZXJJRCk7CisgICAgICAgIGF1dG8gaGFuZGxlciA9IHRh
a2VBc3luY1JlcGx5SGFuZGxlcigqdGhpcywgZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpOwogICAg
ICAgICBpZiAoIWhhbmRsZXIpIHsKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
CmluZGV4IGMwNGFjZjg4MDQ1MTM2YTVkNDA5ZWIwMTc3MDgzZmI2NzZkNDE1NjAuLjE5ZDBlOTZm
ZmZmZTlhN2IyZTFkNGYzNGE2NWUwODQzMzA3YmY3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmgKQEAgLTIyNSwxOSArMjI1LDIwIEBAIHB1YmxpYzoKICAgICB2b2lk
IG1hcmtDdXJyZW50bHlEaXNwYXRjaGVkTWVzc2FnZUFzSW52YWxpZCgpOwogCiAgICAgdm9pZCBw
b3N0Q29ubmVjdGlvbkRpZENsb3NlT25Db25uZWN0aW9uV29ya1F1ZXVlKCk7Ci0gICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4gdm9pZCBzZW5kV2l0aEFzeW5jUmVwbHkoVCYmIG1l
c3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFuZGxlciwgdWludDY0X3QgZGVzdGluYXRpb25JRCA9IDAs
IE9wdGlvblNldDxTZW5kT3B0aW9uPiA9IHsgfSk7IC8vIFRocmVhZC1zYWZlLgorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+IHVpbnQ2NF90IHNlbmRXaXRoQXN5bmNSZXBseShU
JiYgbWVzc2FnZSwgQyYmIGNvbXBsZXRpb25IYW5kbGVyLCB1aW50NjRfdCBkZXN0aW5hdGlvbklE
ID0gMCwgT3B0aW9uU2V0PFNlbmRPcHRpb24+ID0geyB9KTsgLy8gVGhyZWFkLXNhZmUuCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBzZW5kKFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0
aW5hdGlvbklELCBPcHRpb25TZXQ8U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pOyAvLyBU
aHJlYWQtc2FmZS4KICAgICAvLyBTeW5jIHNlbmRlcnMgc2hvdWxkIGNoZWNrIHRoZSBTZW5kU3lu
Y1Jlc3VsdCBmb3IgdHJ1ZS9mYWxzZSBpbiBjYXNlIHRoZXkgbmVlZCB0byBrbm93IGlmIHRoZSBy
ZXN1bHQgd2FzIHJlYWxseSByZWNlaXZlZC4KICAgICAvLyBTeW5jIHNlbmRlcnMgc2hvdWxkIGhv
bGQgb24gdG8gdGhlIFNlbmRTeW5jUmVzdWx0IGluIGNhc2UgdGhleSByZWZlcmVuY2UgdGhlIGNv
bnRlbnRzIG9mIHRoZSByZXBseSB2aWEgRGF0YVJlZmVyZXJlbmNlIC8gQXJyYXlSZWZlcmVuY2Uu
CiAgICAgdXNpbmcgU2VuZFN5bmNSZXN1bHQgPSBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj47CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3Nh
Z2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNl
Y29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09w
dGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KTsgLy8gTWFpbiB0aHJlYWQgb25seS4KLSAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHdhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5KHVp
bnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCwgT3B0aW9uU2V0PFdhaXRGb3JP
cHRpb24+IHdhaXRGb3JPcHRpb25zID0geyB9KTsgLy8gTWFpbiB0aHJlYWQgb25seS4KLSAgICAK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZT4gYm9vbCB3YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVs
eSh1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQsIE9wdGlvblNldDxXYWl0
Rm9yT3B0aW9uPiB3YWl0Rm9yT3B0aW9ucyA9IHsgfSk7IC8vIE1haW4gdGhyZWFkIG9ubHkuCisg
ICAgdGVtcGxhdGU8dHlwZW5hbWU+IGJvb2wgd2FpdEZvckFzeW5jQ2FsbGJhY2tBbmREaXNwYXRj
aEltbWVkaWF0ZWx5KHVpbnQ2NF90IGNhbGxiYWNrSUQsIFNlY29uZHMgdGltZW91dCk7IC8vIE1h
aW4gdGhyZWFkIG9ubHkuCisKICAgICAvLyBUaHJlYWQtc2FmZS4KICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBDLCB0eXBlbmFtZSBVPgotICAgIHZvaWQgc2VuZFdpdGhBc3luY1Jl
cGx5KFQmJiBtZXNzYWdlLCBDJiYgY29tcGxldGlvbkhhbmRsZXIsIE9iamVjdElkZW50aWZpZXI8
VT4gZGVzdGluYXRpb25JRCA9IHsgfSwgT3B0aW9uU2V0PFNlbmRPcHRpb24+IHNlbmRPcHRpb25z
ID0geyB9KQorICAgIHVpbnQ2NF90IHNlbmRXaXRoQXN5bmNSZXBseShUJiYgbWVzc2FnZSwgQyYm
IGNvbXBsZXRpb25IYW5kbGVyLCBPYmplY3RJZGVudGlmaWVyPFU+IGRlc3RpbmF0aW9uSUQgPSB7
IH0sIE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsgfSkKICAgICB7Ci0gICAg
ICAgIHNlbmRXaXRoQXN5bmNSZXBseTxULCBDPihXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSwgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpLCBzZW5kT3B0aW9ucyk7
CisgICAgICAgIHJldHVybiBzZW5kV2l0aEFzeW5jUmVwbHk8VCwgQz4oV1RGTW92ZShtZXNzYWdl
KSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGRlc3RpbmF0aW9uSUQudG9VSW50NjQoKSwg
c2VuZE9wdGlvbnMpOwogICAgIH0KICAgICAKICAgICAvLyBUaHJlYWQtc2FmZS4KQEAgLTUxNSw3
ICs1MTYsNyBAQCB2b2lkIGFkZEFzeW5jUmVwbHlIYW5kbGVyKENvbm5lY3Rpb24mLCB1aW50NjRf
dCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChEZWNvZGVyKgogQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChEZWNvZGVyKik+IHRha2VBc3luY1JlcGx5SGFuZGxlcihDb25uZWN0aW9uJiwgdWludDY0X3Qp
OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBDPgotdm9pZCBDb25uZWN0aW9uOjpz
ZW5kV2l0aEFzeW5jUmVwbHkoVCYmIG1lc3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFuZGxlciwgdWlu
dDY0X3QgZGVzdGluYXRpb25JRCwgT3B0aW9uU2V0PFNlbmRPcHRpb24+IHNlbmRPcHRpb25zKQor
dWludDY0X3QgQ29ubmVjdGlvbjo6c2VuZFdpdGhBc3luY1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYg
Y29tcGxldGlvbkhhbmRsZXIsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIE9wdGlvblNldDxTZW5k
T3B0aW9uPiBzZW5kT3B0aW9ucykKIHsKICAgICBDT01QSUxFX0FTU0VSVCghVDo6aXNTeW5jLCBB
c3luY01lc3NhZ2VFeHBlY3RlZCk7CiAKQEAgLTUzMCw2ICs1MzEsNyBAQCB2b2lkIENvbm5lY3Rp
b246OnNlbmRXaXRoQXN5bmNSZXBseShUJiYgbWVzc2FnZSwgQyYmIGNvbXBsZXRpb25IYW5kbGVy
LCB1aW50NjRfdAogICAgICplbmNvZGVyIDw8IGxpc3RlbmVySUQ7CiAgICAgKmVuY29kZXIgPDwg
bWVzc2FnZS5hcmd1bWVudHMoKTsKICAgICBzZW5kTWVzc2FnZShXVEZNb3ZlKGVuY29kZXIpLCBz
ZW5kT3B0aW9ucyk7CisgICAgcmV0dXJuIGxpc3RlbmVySUQ7CiB9CiAKIHRlbXBsYXRlPHNpemVf
dCBpLCB0eXBlbmFtZSBBLCB0eXBlbmFtZSBCPiBzdHJ1Y3QgVHVwbGVNb3ZlciB7CkBAIC01OTMs
NiArNTk1LDI0IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgQ29ubmVjdGlvbjo6d2FpdEZv
ckFuZERpc3BhdGNoSW1tZWRpYXRlbHkodWludDY0X3QgZGVzCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgQ29ubmVjdGlvbjo6d2FpdEZvckFzeW5jQ2Fs
bGJhY2tBbmREaXNwYXRjaEltbWVkaWF0ZWx5KHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29u
ZHMgdGltZW91dCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+IGRlY29kZXIgPSB3YWl0Rm9yTWVzc2FnZShUOjph
c3luY01lc3NhZ2VSZXBseU5hbWUoKSwgZGVzdGluYXRpb25JRCwgdGltZW91dCwgeyB9KTsKKyAg
ICBpZiAoIWRlY29kZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEFTU0VSVChkZWNv
ZGVyLT5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gUmVjZWl2ZXJOYW1lOjpBc3luY1JlcGx5KTsK
KyAgICBBU1NFUlQoZGVjb2Rlci0+ZGVzdGluYXRpb25JRCgpID09IGRlc3RpbmF0aW9uSUQpOwor
ICAgIGF1dG8gaGFuZGxlciA9IHRha2VBc3luY1JlcGx5SGFuZGxlcigqdGhpcywgZGVjb2Rlci0+
ZGVzdGluYXRpb25JRCgpKTsKKyAgICBpZiAoIWhhbmRsZXIpIHsKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgaGFuZGxlcihk
ZWNvZGVyLmdldCgpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogY2xhc3MgVW5ib3VuZGVkU3lu
Y2hyb25vdXNJUENTY29wZSB7CiBwdWJsaWM6CiAgICAgVW5ib3VuZGVkU3luY2hyb25vdXNJUENT
Y29wZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNz
YWdlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdlLmgKaW5kZXgg
NDEyOWQ0ZTJiNDlkNWM4ZmM0MWEyZDY1NGFkY2Q4OWU4NmM2MzdmNi4uNWNkNjEyYmRiYTlmYTlh
M2E5NGVjNjQ5MjRlZjc4YzgwNDFjZTM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0hhbmRsZU1lc3NhZ2UuaApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgaGFuZGxlTWVzc2FnZUFz
eW5jKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIERlY29kZXImIGRlY29kZXIsIEMqIG9iamVjdCwg
TUYKICAgICAgICAgZGVjb2Rlci5tYXJrSW52YWxpZCgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotICAgIAorCiAgICAgT3B0aW9uYWw8dHlwZW5hbWUgQ29kaW5nVHlwZTx0eXBlbmFtZSBUOjpB
cmd1bWVudHM+OjpUeXBlPiBhcmd1bWVudHM7CiAgICAgZGVjb2RlciA+PiBhcmd1bWVudHM7CiAg
ICAgaWYgKCFhcmd1bWVudHMpIHsKQEAgLTE4Miw4ICsxODIsNyBAQCB2b2lkIGhhbmRsZU1lc3Nh
Z2VBc3luYyhDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBEZWNvZGVyJiBkZWNvZGVyLCBDKiBvYmpl
Y3QsIE1GCiAgICAgfQogCiAgICAgdHlwZW5hbWUgVDo6QXN5bmNSZXBseSBjb21wbGV0aW9uSGFu
ZGxlciA9IFtsaXN0ZW5lcklEID0gKmxpc3RlbmVySUQsIGNvbm5lY3Rpb24gPSBtYWtlUmVmKGNv
bm5lY3Rpb24pXSAoYXV0byYmLi4uIGFyZ3MpIG11dGFibGUgewotICAgICAgICBhdXRvIGVuY29k
ZXIgPSBtYWtlVW5pcXVlPEVuY29kZXI+KFQ6OmFzeW5jTWVzc2FnZVJlcGx5TmFtZSgpLCAwKTsK
LSAgICAgICAgKmVuY29kZXIgPDwgbGlzdGVuZXJJRDsKKyAgICAgICAgYXV0byBlbmNvZGVyID0g
bWFrZVVuaXF1ZTxFbmNvZGVyPihUOjphc3luY01lc3NhZ2VSZXBseU5hbWUoKSwgbGlzdGVuZXJJ
RCk7CiAgICAgICAgIFQ6OnNlbmQoV1RGTW92ZShlbmNvZGVyKSwgV1RGTW92ZShjb25uZWN0aW9u
KSwgYXJncy4uLik7CiAgICAgfTsKICAgICBjYWxsTWVtYmVyRnVuY3Rpb24oV1RGTW92ZSgqYXJn
dW1lbnRzKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG9iamVjdCwgZnVuY3Rpb24pOwpA
QCAtMTkyLDEzICsxOTEsNiBAQCB2b2lkIGhhbmRsZU1lc3NhZ2VBc3luYyhDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBEZWNvZGVyJiBkZWNvZGVyLCBDKiBvYmplY3QsIE1GCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRj4KIHZvaWQgaGFuZGxlTWVzc2FnZUFzeW5j
V2FudHNDb25uZWN0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIERlY29kZXImIGRlY29kZXIs
IEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCiB7Ci0gICAgT3B0aW9uYWw8dWludDY0X3Q+IGxpc3Rl
bmVySUQ7Ci0gICAgZGVjb2RlciA+PiBsaXN0ZW5lcklEOwotICAgIGlmICghbGlzdGVuZXJJRCkg
ewotICAgICAgICBkZWNvZGVyLm1hcmtJbnZhbGlkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KICAgICBPcHRpb25hbDx0eXBlbmFtZSBDb2RpbmdUeXBlPHR5cGVuYW1lIFQ6OkFyZ3VtZW50
cz46OlR5cGU+IGFyZ3VtZW50czsKICAgICBkZWNvZGVyID4+IGFyZ3VtZW50czsKICAgICBpZiAo
IWFyZ3VtZW50cykgewpAQCAtMjA2LDkgKzE5OCw4IEBAIHZvaWQgaGFuZGxlTWVzc2FnZUFzeW5j
V2FudHNDb25uZWN0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIERlY29kZXImIGRlY29kZXIs
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB0eXBlbmFtZSBUOjpBc3luY1JlcGx5IGNv
bXBsZXRpb25IYW5kbGVyID0gW2xpc3RlbmVySUQgPSAqbGlzdGVuZXJJRCwgY29ubmVjdGlvbiA9
IG1ha2VSZWYoY29ubmVjdGlvbildIChhdXRvJiYuLi4gYXJncykgbXV0YWJsZSB7Ci0gICAgICAg
IGF1dG8gZW5jb2RlciA9IG1ha2VVbmlxdWU8RW5jb2Rlcj4oVDo6YXN5bmNNZXNzYWdlUmVwbHlO
YW1lKCksIDApOwotICAgICAgICAqZW5jb2RlciA8PCBsaXN0ZW5lcklEOworICAgIHR5cGVuYW1l
IFQ6OkFzeW5jUmVwbHkgY29tcGxldGlvbkhhbmRsZXIgPSBbbGlzdGVuZXJJRCA9IGRlY29kZXIu
ZGVzdGluYXRpb25JRCgpLCBjb25uZWN0aW9uID0gbWFrZVJlZihjb25uZWN0aW9uKV0gKGF1dG8m
Ji4uLiBhcmdzKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBlbmNvZGVyID0gbWFrZVVuaXF1ZTxF
bmNvZGVyPihUOjphc3luY01lc3NhZ2VSZXBseU5hbWUoKSwgbGlzdGVuZXJJRCk7CiAgICAgICAg
IFQ6OnNlbmQoV1RGTW92ZShlbmNvZGVyKSwgV1RGTW92ZShjb25uZWN0aW9uKSwgYXJncy4uLik7
CiAgICAgfTsKICAgICBjYWxsTWVtYmVyRnVuY3Rpb24oY29ubmVjdGlvbiwgV1RGTW92ZSgqYXJn
dW1lbnRzKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG9iamVjdCwgZnVuY3Rpb24pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0pTSVBDQmluZGluZy5jcHAKaW5kZXggNjZhMmEw
MjE3ZDdlZTU4MWUyY2U1YTA3YjQzOThjNTUyZjQ2M2VlOC4uYWIyZGUwOTdlY2Y0ZmU0NDMzZmJm
MGU0Nzg1NTBkYzM4NGI5NjJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvSlNJUENCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQ
Q0JpbmRpbmcuY3BwCkBAIC0xNTcsNiArMTU3LDEyIEBAIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9y
RGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1
CiAgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVkTnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFs
T2JqZWN0LCB2YWx1ZSwgInVpbnQ2NF90Iik7CiB9CiAKK3RlbXBsYXRlPD4KK0pTQzo6SlNWYWx1
ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBzaXplX3QgdmFsdWUpCit7CisgICAgcmV0dXJuIGpzVmFsdWVGb3JEZWNvZGVk
TnVtZXJpY0FyZ3VtZW50VmFsdWUoZ2xvYmFsT2JqZWN0LCB2YWx1ZSwgInNpemVfdCIpOworfQor
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBSZWN0VHlwZT4KIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVj
b2RlZEFyZ3VtZW50UmVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0
IFJlY3RUeXBlJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiB0eXBlKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmggYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuaAppbmRleCBlYWUzZmU1YzNmMzgxODVmZDIzNjdkOGFi
NWJhMGE5NTM4YTRjNjUwLi44MjUwYzRiM2Y2MmE2ZWNjMjQzOGE3Y2FiZmExOGFkZjJmNWEwNTMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuaApAQCAtODYsNiAr
ODYsNyBAQCB0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50
VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIHVpbgogdGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUg
anNWYWx1ZUZvckRlY29kZWRBcmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCB1aW50
MTZfdCk7CiB0ZW1wbGF0ZTw+IEpTQzo6SlNWYWx1ZSBqc1ZhbHVlRm9yRGVjb2RlZEFyZ3VtZW50
VmFsdWUoSlNDOjpKU0dsb2JhbE9iamVjdCosIHVpbnQzMl90KTsKIHRlbXBsYXRlPD4gSlNDOjpK
U1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgdWludDY0X3QpOwordGVtcGxhdGU8PiBKU0M6OkpTVmFsdWUganNWYWx1ZUZvckRlY29kZWRB
cmd1bWVudFZhbHVlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBzaXplX3QpOwogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBVPgogSlNDOjpKU1ZhbHVlIGpzVmFsdWVGb3JEZWNvZGVkQXJndW1lbnRWYWx1ZShK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IE9iamVjdElkZW50aWZpZXI8
VT4mIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2Fn
ZVNlbmRlci5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCmlu
ZGV4IDdjZGFjZTc2NTRlMDRjNTg4NTk4MTJjNzMzNTBhNGE0MGMyNzgwY2MuLmU1NGMwMDVkYjc2
NTY5MzdhOWZjN2RjYzFmZGFmYmU1MTI4MDU4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9NZXNzYWdlU2VuZGVyLmgKQEAgLTgwLDEzICs4MCwxMyBAQCBwdWJsaWM6CiAgICAgfQog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4KLSAgICB2b2lkIHNlbmRXaXRo
QXN5bmNSZXBseShUJiYgbWVzc2FnZSwgQyYmIGNvbXBsZXRpb25IYW5kbGVyLCBPcHRpb25TZXQ8
U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pCisgICAgdWludDY0X3Qgc2VuZFdpdGhBc3lu
Y1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYgY29tcGxldGlvbkhhbmRsZXIsIE9wdGlvblNldDxTZW5k
T3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsgfSkKICAgICB7Ci0gICAgICAgIHNlbmRXaXRoQXN5bmNS
ZXBseShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbWVzc2Fn
ZVNlbmRlckRlc3RpbmF0aW9uSUQoKSwgc2VuZE9wdGlvbnMpOworICAgICAgICByZXR1cm4gc2Vu
ZFdpdGhBc3luY1JlcGx5KFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpLCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpLCBzZW5kT3B0aW9ucyk7CiAgICAgfQog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4KLSAgICB2b2lkIHNlbmRXaXRo
QXN5bmNSZXBseShUJiYgbWVzc2FnZSwgQyYmIGNvbXBsZXRpb25IYW5kbGVyLCB1aW50NjRfdCBk
ZXN0aW5hdGlvbklELCBPcHRpb25TZXQ8U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pCisg
ICAgdWludDY0X3Qgc2VuZFdpdGhBc3luY1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYgY29tcGxldGlv
bkhhbmRsZXIsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIE9wdGlvblNldDxTZW5kT3B0aW9uPiBz
ZW5kT3B0aW9ucyA9IHsgfSkKICAgICB7CiAgICAgICAgIENPTVBJTEVfQVNTRVJUKCFUOjppc1N5
bmMsIEFzeW5jTWVzc2FnZUV4cGVjdGVkKTsKIApAQCAtMTAwLDYgKzEwMCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBUOjpjYW5jZWxSZXBseShXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIH0sIGxpc3RlbmVySUQgfX0pOworICAgICAg
ICByZXR1cm4gbGlzdGVuZXJJRDsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3Nh
Z2Uoc3RkOjp1bmlxdWVfcHRyPEVuY29kZXI+LCBPcHRpb25TZXQ8U2VuZE9wdGlvbj4sIE9wdGlv
bmFsPHN0ZDo6cGFpcjxDb21wbGV0aW9uSGFuZGxlcjx2b2lkKElQQzo6RGVjb2RlciopPiwgdWlu
dDY0X3Q+PiYmID0gV1RGOjpudWxsb3B0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5CmluZGV4IGE2ZmZmNDdkMzQ1ZGVjYmRmOTFlNjFjMjczYjg2MmJmMGJmM2NmNmMu
Ljk3ODAzN2M0ZTI1NjI3ZjY1MDVmMmQ2ZWIzOWIxY2JjMzljMjk2MjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMTI4LDYgKzEyOCw3IEBAIGRlZiBmdW5j
dGlvbl9wYXJhbWV0ZXJfdHlwZSh0eXBlLCBraW5kKToKICAgICAgICAgJ2ludDE2X3QnLAogICAg
ICAgICAnaW50MzJfdCcsCiAgICAgICAgICdpbnQ2NF90JywKKyAgICAgICAgJ3NpemVfdCcsCiAg
ICAgXSkKIAogICAgIGlmIHR5cGUgaW4gYnVpbHRpbl90eXBlczoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDJiYjA4ZmQ3NGZjY2UzZjZj
ZjkxNWM0ZjJmYjgyMzliY2MyMjdiMTguLmQ5NTMzNThlN2MxODczMDczY2QyYmRlMDBlMDI1YTgy
ZDRmODBjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQpAQCAtMTQ3Myw5ICsxNDczLDggQEAgaW5saW5lIE9wdGlvblNldDxXZWJLaXQ6OkZp
bmRPcHRpb25zPiB0b0ZpbmRPcHRpb25zKFdLRmluZENvbmZpZ3VyYXRpb24gKmNvbmZpZ3UKICAg
ICBpZiAocGRmQ29uZmlndXJhdGlvbiAmJiAhQ0dSZWN0SXNOdWxsKHBkZkNvbmZpZ3VyYXRpb24u
cmVjdCkpCiAgICAgICAgIGZsb2F0UmVjdCA9IFdlYkNvcmU6OkZsb2F0UmVjdChwZGZDb25maWd1
cmF0aW9uLnJlY3QpOwogCi0gICAgYXV0byBoYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKTsKLSAgICBfcGFnZS0+ZHJhd1RvUERGKGZyYW1lSUQsIGZsb2F0UmVjdCwgW3Jl
dGFpbmVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgaGFuZGxlciA9IFdURk1vdmUoaGFuZGxlcild
KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcGRmRGF0YSwgV2ViS2l0OjpDYWxsYmFja0Jhc2U6
OkVycm9yIGVycm9yKSB7Ci0gICAgICAgIGlmIChlcnJvciAhPSBXZWJLaXQ6OkNhbGxiYWNrQmFz
ZTo6RXJyb3I6Ok5vbmUpIHsKKyAgICBfcGFnZS0+ZHJhd1RvUERGKGZyYW1lSUQsIGZsb2F0UmVj
dCwgW2hhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXShjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIHBkZkRhdGEpIHsKKyAgICAgICAgaWYgKHBkZkRhdGEuaXNFbXB0eSgp
KSB7CiAgICAgICAgICAgICBoYW5kbGVyKG5pbCwgY3JlYXRlTlNFcnJvcihXS0Vycm9yVW5rbm93
bikuZ2V0KCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCmluZGV4IGIwMzY2ZDU4ZGUy
MDA5N2IzNTllMzRhMmM1MzE5NWIxMzE1N2NlZjQuLjcyMmVlYmFkMTQ5YTVhNWYyNDdjM2VmNGZi
NDEyMjk4NzFlNDM1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGls
aWFyeVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFy
eVByb2Nlc3NQcm94eS5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBTZW5kU3luY1Jlc3VsdCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUg
VDo6UmVwbHkmJiwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gMV9z
LCBPcHRpb25TZXQ8SVBDOjpTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KTsK
IAogICAgIGVudW0gY2xhc3MgU2hvdWxkU3RhcnRQcm9jZXNzVGhyb3R0bGVyQWN0aXZpdHkgOiBi
b29sIHsgTm8sIFllcyB9OwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+IHZv
aWQgc2VuZFdpdGhBc3luY1JlcGx5KFQmJiwgQyYmLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEID0g
MCwgT3B0aW9uU2V0PElQQzo6U2VuZE9wdGlvbj4gPSB7IH0sIFNob3VsZFN0YXJ0UHJvY2Vzc1Ro
cm90dGxlckFjdGl2aXR5ID0gU2hvdWxkU3RhcnRQcm9jZXNzVGhyb3R0bGVyQWN0aXZpdHk6Olll
cyk7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4gdWludDY0X3Qgc2VuZFdp
dGhBc3luY1JlcGx5KFQmJiwgQyYmLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEID0gMCwgT3B0aW9u
U2V0PElQQzo6U2VuZE9wdGlvbj4gPSB7IH0sIFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFj
dGl2aXR5ID0gU2hvdWxkU3RhcnRQcm9jZXNzVGhyb3R0bGVyQWN0aXZpdHk6Olllcyk7CiAgICAg
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KICAgICBib29sIHNlbmQoVCYm
IG1lc3NhZ2UsIE9iamVjdElkZW50aWZpZXI8VT4gZGVzdGluYXRpb25JRCwgT3B0aW9uU2V0PElQ
Qzo6U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pCkBAIC0xODIsNyArMTgyLDcgQEAgQXV4
aWxpYXJ5UHJvY2Vzc1Byb3h5OjpTZW5kU3luY1Jlc3VsdCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6
OnNlbmRTeW5jKFUmJiBtZXNzYWcKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
Qz4KLXZvaWQgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpzZW5kV2l0aEFzeW5jUmVwbHkoVCYmIG1l
c3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFuZGxlciwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgT3B0
aW9uU2V0PElQQzo6U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMsIFNob3VsZFN0YXJ0UHJvY2Vzc1Ro
cm90dGxlckFjdGl2aXR5IHNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFjdGl2aXR5KQordWlu
dDY0X3QgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpzZW5kV2l0aEFzeW5jUmVwbHkoVCYmIG1lc3Nh
Z2UsIEMmJiBjb21wbGV0aW9uSGFuZGxlciwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgT3B0aW9u
U2V0PElQQzo6U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMsIFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90
dGxlckFjdGl2aXR5IHNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFjdGl2aXR5KQogewogICAg
IENPTVBJTEVfQVNTRVJUKCFUOjppc1N5bmMsIEFzeW5jTWVzc2FnZUV4cGVjdGVkKTsKIApAQCAt
MTk2LDYgKzE5Niw3IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpzZW5kV2l0aEFzeW5j
UmVwbHkoVCYmIG1lc3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFuZGxlCiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIFQ6OmNhbmNlbFJlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAg
ICB9LCBsaXN0ZW5lcklEIH19LCBzaG91bGRTdGFydFByb2Nlc3NUaHJvdHRsZXJBY3Rpdml0eSk7
CisgICAgcmV0dXJuIGxpc3RlbmVySUQ7CiB9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY1MmRjNDY5ZDE2
OGNiNDk0OGE3YTdjOWU2ZTY4NzU4MGNiNDBmZDEuLjZkNzZmMjc1OTM3YjA1MDQzMzA0NDJmZjk0
ZjEzOTZkYzdkYzc5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cApAQCAtODU2NywyMiArODU2NywxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZHJhd1BhZ2VzRm9y
UHJpbnRpbmcoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFByaW50SW5mbyYgcAogI2VuZGlm
CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXZvaWQgV2ViUGFnZVByb3h5OjpkcmF3VG9QREYoRnJh
bWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IE9wdGlvbmFsPEZsb2F0UmVjdD4mIHJlY3QsIERy
YXdUb1BERkNhbGxiYWNrOjpDYWxsYmFja0Z1bmN0aW9uJiYgY2FsbGJhY2spCit2b2lkIFdlYlBh
Z2VQcm94eTo6ZHJhd1RvUERGKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBPcHRpb25h
bDxGbG9hdFJlY3Q+JiByZWN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYpPiYmIGNhbGxiYWNrKQogewogICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3Mo
KSkgewotICAgICAgICBjYWxsYmFjayhJUEM6OkRhdGFSZWZlcmVuY2UoKSwgQ2FsbGJhY2tCYXNl
OjpFcnJvcjo6T3duZXJXYXNJbnZhbGlkYXRlZCk7CisgICAgICAgIGNhbGxiYWNrKHsgfSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBtX2NhbGxiYWNr
cy5wdXQoV1RGTW92ZShjYWxsYmFjayksIG1fcHJvY2Vzcy0+dGhyb3R0bGVyKCkuYmFja2dyb3Vu
ZEFjdGl2aXR5KCJXZWJQYWdlUHJveHk6OmRyYXdUb1BERiJfcykpOwotICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkRyYXdUb1BERihmcmFtZUlELCByZWN0LCBjYWxsYmFja0lEKSk7Ci19Ci0K
LXZvaWQgV2ViUGFnZVByb3h5OjpkcmF3VG9QREZDYWxsYmFjayhjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmIHBkZkRhdGEsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLXsKLSAgICBhdXRvIGNhbGxi
YWNrID0gbV9jYWxsYmFja3MudGFrZTxEcmF3VG9QREZDYWxsYmFjaz4oY2FsbGJhY2tJRCk7Ci0g
ICAgUkVMRUFTRV9BU1NFUlQoY2FsbGJhY2spOwotICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2FsbGJh
Y2tXaXRoUmV0dXJuVmFsdWUocGRmRGF0YSk7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3Nh
Z2VzOjpXZWJQYWdlOjpEcmF3VG9QREYoZnJhbWVJRCwgcmVjdCksIFdURk1vdmUoY2FsbGJhY2sp
KTsKIH0KICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKIApAQCAtOTQ4Miw4ICs5NDczLDEwIEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpnZXRMb2FkRGVjaXNpb25Gb3JJY29uKGNvbnN0IFdlYkNvcmU6
OkxpbmtJY29uJiBpY29uLCBDYWxsYmFjCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAoIWNhbGxiYWNrKQotICAgICAgICAgICAgcmV0dXJuIHNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZTo6RGlkR2V0TG9hZERlY2lzaW9uRm9ySWNvbihmYWxz
ZSwgbG9hZElkZW50aWZpZXIpLCBbXShhdXRvKSB7IH0pOworICAgICAgICBpZiAoIWNhbGxiYWNr
KSB7CisgICAgICAgICAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OkRp
ZEdldExvYWREZWNpc2lvbkZvckljb24oZmFsc2UsIGxvYWRJZGVudGlmaWVyKSwgW10oYXV0bykg
eyB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBzZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZEdldExvYWREZWNpc2lvbkZvckljb24odHJ1
ZSwgbG9hZElkZW50aWZpZXIpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiBpY29uRGF0YSkgbXV0YWJsZSB7CiAgICAgICAgICAgICBjYWxs
YmFjayhBUEk6OkRhdGE6OmNyZWF0ZShpY29uRGF0YSkuZ2V0KCkpOwogICAgICAgICB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggN2IxOGIxMjljOTE3ZDRkYjYw
N2U4NTIyZWQwMGZmZjc2MTBhZjhjNi4uZDZiMzcxOTg5MTU1ZWY5MTE3MDhkNDM4ZTEwMjI3NTAy
ZGVjMGUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTQwNSw3
ICs0MDUsNiBAQCB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBPcHRpb25hbDxXZWJDb3Jl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0PiY+IEFwcGxpY2F0aQogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKLXVzaW5nIERyYXdUb1BERkNhbGxiYWNrID0gR2VuZXJpY0NhbGxiYWNrPGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSY+OwogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Ym9vbCwgYm9v
bCwgU3RyaW5nLCBkb3VibGUsIGRvdWJsZSwgdWludDY0X3Q+IE5vd1BsYXlpbmdJbmZvQ2FsbGJh
Y2s7CiAjZW5kaWYKIApAQCAtMTMwMCwxMCArMTI5OSw5IEBAIHB1YmxpYzoKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICB2b2lkIGRyYXdSZWN0VG9JbWFnZShXZWJGcmFtZVByb3h5KiwgY29uc3Qg
UHJpbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFNp
emUmLCBSZWY8SW1hZ2VDYWxsYmFjaz4mJik7CiAgICAgdm9pZCBkcmF3UGFnZXNUb1BERihXZWJG
cmFtZVByb3h5KiwgY29uc3QgUHJpbnRJbmZvJiwgdWludDMyX3QgZmlyc3QsIHVpbnQzMl90IGNv
dW50LCBSZWY8RGF0YUNhbGxiYWNrPiYmKTsKLSAgICB2b2lkIGRyYXdUb1BERihXZWJDb3JlOjpG
cmFtZUlkZW50aWZpZXIsIGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4mLCBEcmF3
VG9QREZDYWxsYmFjazo6Q2FsbGJhY2tGdW5jdGlvbiYmKTsKLSAgICB2b2lkIGRyYXdUb1BERkNh
bGxiYWNrKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcGRmRGF0YSwgV2ViS2l0OjpDYWxsYmFj
a0lEKTsKKyAgICB2b2lkIGRyYXdUb1BERihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0
IE9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpPiYmKTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQot
ICAgIHVpbnQzMl90IGNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciwgY29uc3QgUHJpbnRJbmZvJiwgRHJhd1RvUERGQ2FsbGJhY2s6OkNh
bGxiYWNrRnVuY3Rpb24mJik7CisgICAgc3RkOjpwYWlyPHNpemVfdCwgdWludDY0X3Q+IGNvbXB1
dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwg
Y29uc3QgUHJpbnRJbmZvJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmKT4mJik7CiAjZW5kaWYKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICB2b2lkIGRy
YXdQYWdlc0ZvclByaW50aW5nKFdlYkZyYW1lUHJveHkqLCBjb25zdCBQcmludEluZm8mLCBSZWY8
UHJpbnRGaW5pc2hlZENhbGxiYWNrPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA0MWI3MDRmNGViNTkxNDFkOTgxMmMxMjgy
YjBkMDVlMWFhNzU5N2IxLi40NzNjNWU0ZjRlNTFiMTY3YTdkNmE3NzhlODdhMjY2OTBlYTY5ODk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC0xOTEsNyArMTkxLDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBQ
cmludEZpbmlzaGVkQ2FsbGJhY2soV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0
OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKLSAg
ICBEcmF3VG9QREZDYWxsYmFjayhJUEM6OkRhdGFSZWZlcmVuY2UgcGRmRGF0YSwgV2ViS2l0OjpD
YWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAgTm93UGxheWluZ0luZm9DYWxsYmFjayhib29sIGFj
dGl2ZSwgYm9vbCByZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24sIFN0cmluZyB0aXRs
ZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxhcHNlZFRpbWUsIHVpbnQ2NF90IHVuaXF1ZUlk
ZW50aWZpZXIsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggOTY5NzAwN2Jh
MWM4ZWYwMDkzYTRjYzJlYzkwMTk1YTVkYmQ3NTg0MS4uNTBlNDU0NjIwNWI5NDU0ZmEzMDE5MmI3
NDdlYTY0NGEwZGE4NTA1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW0KQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbXBvcnQgIldlYkZyYW1lUHJveHkuaCIK
ICNpbXBvcnQgIldlYktpdDJJbml0aWFsaXplLmgiCiAjaW1wb3J0ICJXZWJQYWdlR3JvdXAuaCIK
KyNpbXBvcnQgIldlYlBhZ2VNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5TWVzc2Fn
ZXMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0ICJfV0tGcmFtZUhhbmRs
ZUludGVybmFsLmgiCkBAIC0xNDMsNyArMTQ0LDcgQEAKICAgICBSZXRhaW5QdHI8TlNVbmRvTWFu
YWdlcj4gX3VuZG9NYW5hZ2VyOwogICAgIFJldGFpblB0cjxXS1F1aXJreU5TVW5kb01hbmFnZXI+
IF9xdWlya3lVbmRvTWFuYWdlcjsKIAotICAgIEJPT0wgX2lzUHJpbnRpbmdUb1BERjsKKyAgICB1
aW50NjRfdCBfcGRmUHJpbnRDYWxsYmFja0lEOwogICAgIFJldGFpblB0cjxDR1BERkRvY3VtZW50
UmVmPiBfcHJpbnRlZERvY3VtZW50OwogfQogCkBAIC02MjAsNyArNjIxLDcgQEAgc3RhdGljIHZv
aWQgc3RvcmVBY2Nlc3NpYmlsaXR5UmVtb3RlQ29ubmVjdGlvbkluZm9ybWF0aW9uKGlkIGVsZW1l
bnQsIHBpZF90IHBpZCwKICAgICBbc2VsZiBfcmVtb3ZlVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmll
d107CiAjZW5kaWYKIAotICAgIF9pc1ByaW50aW5nVG9QREYgPSBOTzsKKyAgICBfcGRmUHJpbnRD
YWxsYmFja0lEID0gMDsKIH0KIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKQEAgLTc5MSw3ICs3
OTIsNyBAQCBzdGF0aWMgdm9pZCBzdG9yZUFjY2Vzc2liaWxpdHlSZW1vdGVDb25uZWN0aW9uSW5m
b3JtYXRpb24oaWQgZWxlbWVudCwgcGlkX3QgcGlkLAogCiAtIChOU1VJbnRlZ2VyKV93a19wYWdl
Q291bnRGb3JQcmludEZvcm1hdHRlcjooX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyICopcHJpbnRG
b3JtYXR0ZXIKIHsKLSAgICBpZiAoX2lzUHJpbnRpbmdUb1BERikKKyAgICBpZiAoX3BkZlByaW50
Q2FsbGJhY2tJRCkKICAgICAgICAgW3NlbGYgX3dhaXRGb3JEcmF3VG9QREZDYWxsYmFja107CiAK
ICAgICBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRDsKQEAgLTgyNCwzMCArODI1LDMy
IEBAIHN0YXRpYyB2b2lkIHN0b3JlQWNjZXNzaWJpbGl0eVJlbW90ZUNvbm5lY3Rpb25JbmZvcm1h
dGlvbihpZCBlbGVtZW50LCBwaWRfdCBwaWQsCiAgICAgcHJpbnRJbmZvLmF2YWlsYWJsZVBhcGVy
V2lkdGggPSBDR1JlY3RHZXRXaWR0aChwcmludGluZ1JlY3QpOwogICAgIHByaW50SW5mby5hdmFp
bGFibGVQYXBlckhlaWdodCA9IENHUmVjdEdldEhlaWdodChwcmludGluZ1JlY3QpOwogCi0gICAg
X2lzUHJpbnRpbmdUb1BERiA9IFlFUzsKICAgICBhdXRvIHJldGFpbmVkU2VsZiA9IHJldGFpblB0
cihzZWxmKTsKLSAgICByZXR1cm4gX3BhZ2UtPmNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJh
d1RvUERGKGZyYW1lSUQsIHByaW50SW5mbywgW3JldGFpbmVkU2VsZl0oY29uc3QgSVBDOjpEYXRh
UmVmZXJlbmNlJiBwZGZEYXRhLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsK
LSAgICAgICAgcmV0YWluZWRTZWxmLT5faXNQcmludGluZ1RvUERGID0gTk87Ci0gICAgICAgIGlm
IChlcnJvciAhPSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpCisgICAgYXV0byBw
YWlyID0gX3BhZ2UtPmNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGKGZyYW1lSUQs
IHByaW50SW5mbywgW3JldGFpbmVkU2VsZl0oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBwZGZE
YXRhKSB7CisgICAgICAgIHJldGFpbmVkU2VsZi0+X3BkZlByaW50Q2FsbGJhY2tJRCA9IDA7Cisg
ICAgICAgIGlmIChwZGZEYXRhLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBhdXRvIGRhdGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0
LCBwZGZEYXRhLmRhdGEoKSwgcGRmRGF0YS5zaXplKCkpKTsKICAgICAgICAgYXV0byBkYXRhUHJv
dmlkZXIgPSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlV2l0aENGRGF0YShkYXRhLmdldCgp
KSk7CiAgICAgICAgIHJldGFpbmVkU2VsZi0+X3ByaW50ZWREb2N1bWVudCA9IGFkb3B0Q0YoQ0dQ
REZEb2N1bWVudENyZWF0ZVdpdGhQcm92aWRlcihkYXRhUHJvdmlkZXIuZ2V0KCkpKTsKICAgICB9
KTsKKyAgICBfcGRmUHJpbnRDYWxsYmFja0lEID0gcGFpci5zZWNvbmQ7CisgICAgcmV0dXJuIHBh
aXIuZmlyc3Q7CiB9CiAKIC0gKEJPT0wpX3dhaXRGb3JEcmF3VG9QREZDYWxsYmFjawogewotICAg
IGlmICghX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCktPndhaXRGb3JBbmREaXNwYXRjaElt
bWVkaWF0ZWx5PE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRyYXdUb1BERkNhbGxiYWNrPihfcGFn
ZS0+d2ViUGFnZUlEKCksIFNlY29uZHM6OmluZmluaXR5KCkpKQorICAgIEFTU0VSVChfcGRmUHJp
bnRDYWxsYmFja0lEKTsKKyAgICBpZiAoIV9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigpLT53
YWl0Rm9yQXN5bmNDYWxsYmFja0FuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBh
Z2U6OkRyYXdUb1BERmlPUz4oc3RkOjpleGNoYW5nZShfcGRmUHJpbnRDYWxsYmFja0lELCAwKSwg
U2Vjb25kczo6aW5maW5pdHkoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBBU1NFUlQo
IV9pc1ByaW50aW5nVG9QREYpOworICAgIEFTU0VSVCghX3BkZlByaW50Q2FsbGJhY2tJRCk7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKIC0gKENHUERGRG9jdW1lbnRSZWYpX3drX3ByaW50ZWREb2N1
bWVudAogewotICAgIGlmIChfaXNQcmludGluZ1RvUERGKSB7CisgICAgaWYgKF9wZGZQcmludENh
bGxiYWNrSUQpIHsKICAgICAgICAgaWYgKCFbc2VsZiBfd2FpdEZvckRyYXdUb1BERkNhbGxiYWNr
XSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDZjY2Y0YTQxNTc2MjY3YTg5
MzU5ZmQxNjE4ZTQ4NmJlZjQyMGU5ZjUuLmU2MjhjNDg4NDVlOTcyMWQxNjliNDcwOWJjOWIzM2Ni
NzNmY2I2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdl
UHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94
eUlPUy5tbQpAQCAtMTA0NiwxNyArMTA0NiwyMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxl
U21hcnRNYWduaWZpY2F0aW9uSW5mb3JtYXRpb25Gb3JQb3RlbnRpYWxUYXAodWludDY0X3Qgcgog
ICAgIHBhZ2VDbGllbnQoKS5oYW5kbGVTbWFydE1hZ25pZmljYXRpb25JbmZvcm1hdGlvbkZvclBv
dGVudGlhbFRhcChyZXF1ZXN0SUQsIHJlbmRlclJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0
TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSwgbm9kZUlzUm9vdExldmVsKTsKIH0K
IAotdWludDMyX3QgV2ViUGFnZVByb3h5Ojpjb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdU
b1BERihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8s
IERyYXdUb1BERkNhbGxiYWNrOjpDYWxsYmFja0Z1bmN0aW9uJiYgY2FsbGJhY2spCitzdGQ6OnBh
aXI8c2l6ZV90LCB1aW50NjRfdD4gV2ViUGFnZVByb3h5Ojpjb21wdXRlUGFnZXNGb3JQcmludGlu
Z0FuZERyYXdUb1BERihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbmZvJiBw
cmludEluZm8sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
Jik+JiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKSB7Ci0gICAg
ICAgIGNhbGxiYWNrKElQQzo6RGF0YVJlZmVyZW5jZSgpLCBDYWxsYmFja0Jhc2U6OkVycm9yOjpP
d25lcldhc0ludmFsaWRhdGVkKTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGNhbGxiYWNr
KHsgfSk7CisgICAgICAgIHJldHVybiB7IDAsIDAgfTsKICAgICB9CiAKLSAgICB1aW50MzJfdCBw
YWdlQ291bnQgPSAwOwotICAgIGF1dG8gY2FsbGJhY2tJRCA9IG1fY2FsbGJhY2tzLnB1dChXVEZN
b3ZlKGNhbGxiYWNrKSwgbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHko
IldlYlBhZ2VQcm94eTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYiX3MpKTsK
LSAgICBzZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZTo6Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdB
bmREcmF3VG9QREYoZnJhbWVJRCwgcHJpbnRJbmZvLCBjYWxsYmFja0lEKSwgTWVzc2FnZXM6Oldl
YlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kRHJhd1RvUERGOjpSZXBseShwYWdlQ291
bnQpLCBTZWNvbmRzOjppbmZpbml0eSgpKTsKLSAgICByZXR1cm4gcGFnZUNvdW50OworICAgIHNp
emVfdCBwYWdlQ291bnQgPSAwOworICAgIGlmIChwcmludEluZm8uc25hcHNob3RGaXJzdFBhZ2Up
CisgICAgICAgIHBhZ2VDb3VudCA9IDE7CisgICAgZWxzZQorICAgICAgICBzZW5kU3luYyhNZXNz
YWdlczo6V2ViUGFnZTo6Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdpT1MoZnJhbWVJRCwgcHJpbnRJ
bmZvKSwgTWVzc2FnZXM6OldlYlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5naU9TOjpSZXBs
eShwYWdlQ291bnQpLCBTZWNvbmRzOjppbmZpbml0eSgpKTsKKworICAgIGF1dG8gY2FsbGJhY2tJ
RCA9IHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZTo6RHJhd1RvUERGaU9TKGZy
YW1lSUQsIHByaW50SW5mbywgcGFnZUNvdW50KSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIAor
ICAgIHJldHVybiB7IHBhZ2VDb3VudCwgY2FsbGJhY2tJRCB9OwogfQogCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6Y29udGVudFNpemVDYXRlZ29yeURpZENoYW5nZShjb25zdCBTdHJpbmcmIGNvbnRlbnRT
aXplQ2F0ZWdvcnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDI5MzBmNWMyNmIxODRiZWFkMTkyNzljN2ZlOTkyNjBmMmZmMzc2MmUuLmVkZjhi
ZTNhMjExNjQ4NDM2MjVmZjFjNDczYWY3MzU4MjFhYjZjY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MDgwLDcgKzUwODAsNyBAQCB2b2lk
IFdlYlBhZ2U6OmNvbXB1dGVQYWdlc0ZvclByaW50aW5nSW1wbChGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgY29uc3QgUHJpbnRJbgogfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi12b2lkIFdlYlBh
Z2U6OmRyYXdUb1BERihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgT3B0aW9uYWw8Rmxv
YXRSZWN0PiYgcmVjdCwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBXZWJQYWdlOjpkcmF3
VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IE9wdGlvbmFsPEZsb2F0UmVjdD4m
IHJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byYgZnJhbWVWaWV3ID0gKm1fcGFnZS0+
bWFpbkZyYW1lKCkudmlldygpOwogICAgIEludFNpemUgc25hcHNob3RTaXplOwpAQCAtNTEwNSw3
ICs1MTA1LDcgQEAgdm9pZCBXZWJQYWdlOjpkcmF3VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1l
SUQsIGNvbnN0IE9wdGlvbmFsPEZsb2F0UmVjdD4mIHJlY3QKICAgICBmcmFtZVZpZXcuc2V0TGF5
b3V0Vmlld3BvcnRPdmVycmlkZVJlY3Qob3JpZ2luYWxMYXlvdXRWaWV3cG9ydE92ZXJyaWRlUmVj
dCk7CiAgICAgZnJhbWVWaWV3LnNldFBhaW50QmVoYXZpb3Iob3JpZ2luYWxQYWludEJlaGF2aW9y
KTsKIAotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RHJhd1RvUERGQ2FsbGJhY2so
SVBDOjpEYXRhUmVmZXJlbmNlKENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5nZXQoKSksIENGRGF0
YUdldExlbmd0aChwZGZEYXRhLmdldCgpKSksIGNhbGxiYWNrSUQpKTsKKyAgICBjb21wbGV0aW9u
SGFuZGxlcihJUEM6OkRhdGFSZWZlcmVuY2UoQ0ZEYXRhR2V0Qnl0ZVB0cihwZGZEYXRhLmdldCgp
KSwgQ0ZEYXRhR2V0TGVuZ3RoKHBkZkRhdGEuZ2V0KCkpKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6
ZHJhd1JlY3RUb0ltYWdlKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBQcmludEluZm8m
IHByaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
aW1hZ2VTaXplLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNzFiODdiMGEwOWIzZmU1YjkzM2ExNzUzYzg3Yjcw
NGVhYWNhMzJhNC4uNWZiYjE1Zjk1NmUyZGQxZjEyMzBkZjk2NzQ3MTYzZjRmOWE2MDEyZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtOTY2LDEwICs5
NjYsMTEgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IHZvaWQgY29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyLCBjb25zdCBQcmludEluZm8mLCBDYWxsYmFja0lELCBNZXNzYWdlczo6V2ViUGFn
ZTo6Q29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREZEZWxheWVkUmVwbHkmJik7Cisg
ICAgdm9pZCBjb21wdXRlUGFnZXNGb3JQcmludGluZ2lPUyhXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXIsIGNvbnN0IFByaW50SW5mbyYsIE1lc3NhZ2VzOjpXZWJQYWdlOjpDb21wdXRlUGFnZXNGb3JQ
cmludGluZ2lPU0RlbGF5ZWRSZXBseSYmKTsKKyAgICB2b2lkIGRyYXdUb1BERmlPUyhXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFByaW50SW5mbyYsIHNpemVfdCwgTWVzc2FnZXM6Oldl
YlBhZ2U6OkRyYXdUb1BERmlPU0FzeW5jUmVwbHkmJik7CiAjZW5kaWYKIAotICAgIHZvaWQgZHJh
d1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6
RmxvYXRSZWN0PiYsIENhbGxiYWNrSUQpOworICAgIHZvaWQgZHJhd1RvUERGKFdlYkNvcmU6OkZy
YW1lSWRlbnRpZmllciwgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRSZWN0PiYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik+JiYpOwogCiAjaWYg
UExBVEZPUk0oR1RLKQogICAgIHZvaWQgZHJhd1BhZ2VzRm9yUHJpbnRpbmcoV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyLCBjb25zdCBQcmludEluZm8mLCBDYWxsYmFja0lEKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4
IDJkYTk5Y2QzNzIzOTJlODJjNTMwZDQyYzAxYTEyODc3MGZiZDg3MTcuLjQzNDUwMjllYmI5MjJh
MWY1ZmU3N2ZlYmJjMDNlMGZiMzAzNzM1NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMzk3LDkgKzM5NywxMCBA
QCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5
bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAgIERyYXdSZWN0VG9JbWFnZShXZWJDb3JlOjpG
cmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5m
bywgV2ViQ29yZTo6SW50UmVjdCByZWN0LCBXZWJDb3JlOjpJbnRTaXplIGltYWdlU2l6ZSwgV2Vi
S2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAgRHJhd1BhZ2VzVG9QREYoV2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJLaXQ6OlByaW50SW5mbyBwcmludElu
Zm8sIHVpbnQzMl90IGZpcnN0LCB1aW50MzJfdCBjb3VudCwgV2ViS2l0OjpDYWxsYmFja0lEIGNh
bGxiYWNrSUQpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBDb21wdXRlUGFnZXNGb3JQ
cmludGluZ0FuZERyYXdUb1BERihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3Ry
dWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpIC0+ICh1aW50MzJfdCBwYWdlQ291bnQpIFN5bmNocm9ub3VzCisgICAgQ29tcHV0ZVBh
Z2VzRm9yUHJpbnRpbmdpT1MoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVj
dCBXZWJLaXQ6OlByaW50SW5mbyBwcmludEluZm8pIC0+IChzaXplX3QgcGFnZUNvdW50KSBTeW5j
aHJvbm91cworICAgIERyYXdUb1BERmlPUyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJ
RCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbywgc2l6ZV90IHBhZ2VDb3VudCkg
LT4gKElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKSBBc3luYwogI2VuZGlmCi0gICAgRHJhd1RvUERG
KFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBPcHRpb25hbDxXZWJDb3JlOjpGbG9h
dFJlY3Q+IHJlY3QsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorICAgIERyYXdUb1BE
RihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgT3B0aW9uYWw8V2ViQ29yZTo6Rmxv
YXRSZWN0PiByZWN0KSAtPiAoSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpIEFzeW5jCiAjZW5kaWYK
ICNpZiBQTEFURk9STShHVEspCiAgICAgRHJhd1BhZ2VzRm9yUHJpbnRpbmcoV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJLaXQ6OlByaW50SW5mbyBwcmludEluZm8s
IFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCBmNDdmZTQwYzgzZGMzODVm
MWFlZGIyYmFkOGZmMTQwMGFiYjNhNTkwLi4zN2EyODJhYjUzN2E2YjI4ZmQ5MTU5MTU4NWNkODZh
MjNlMjE1MDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQpAQCAtMzk3MSwxMCArMzk3MSwyMiBAQCB2b2lkIFdlYlBhZ2U6OmNh
bmNlbEFzeW5jaHJvbm91c1RvdWNoRXZlbnRzKFZlY3RvcjxzdGQ6OnBhaXI8V2ViVG91Y2hFdmVu
dCwgQ29tcAogfQogI2VuZGlmCiAKLXZvaWQgV2ViUGFnZTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRp
bmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFBy
aW50SW5mbyYgcHJpbnRJbmZvLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQsIE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDb21wdXRlUGFnZXNGb3JQcmludGluZ0FuZERyYXdUb1BERjo6RGVsYXllZFJlcGx5JiYg
cmVwbHkpCit2b2lkIFdlYlBhZ2U6OmNvbXB1dGVQYWdlc0ZvclByaW50aW5naU9TKFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBQcmludEluZm8mIHByaW50SW5mbywgTWVz
c2FnZXM6OldlYlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5naU9TOjpEZWxheWVkUmVwbHkm
JiByZXBseSkKK3sKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFwcmludEluZm8uc25hcHNob3RG
aXJzdFBhZ2UsICJJZiB3ZSBhcmUganVzdCBzbmFwc2hvdHRpbmcgdGhlIGZpcnN0IHBhZ2UsIHdl
IGRvbid0IG5lZWQgYSBzeW5jaHJvbm91cyBtZXNzYWdlIHRvIGRldGVybWluZSB0aGUgcGFnZSBj
b3VudCwgd2hpY2ggaXMgMS4iKTsKKworICAgIFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0PiBwYWdl
UmVjdHM7CisgICAgZG91YmxlIHRvdGFsU2NhbGVGYWN0b3I7CisgICAgYXV0byBtYXJnaW4gPSBw
cmludEluZm8ubWFyZ2luOworICAgIGNvbXB1dGVQYWdlc0ZvclByaW50aW5nSW1wbChmcmFtZUlE
LCBwcmludEluZm8sIHBhZ2VSZWN0cywgdG90YWxTY2FsZUZhY3RvciwgbWFyZ2luKTsKKworICAg
IEFTU0VSVChwYWdlUmVjdHMuc2l6ZSgpID49IDEpOworICAgIHJlcGx5KHBhZ2VSZWN0cy5zaXpl
KCkpOworfQorCit2b2lkIFdlYlBhZ2U6OmRyYXdUb1BERmlPUyhXZWJDb3JlOjpGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8sIHNpemVfdCBwYWdlQ291
bnQsIE1lc3NhZ2VzOjpXZWJQYWdlOjpEcmF3VG9QREZpT1NBc3luY1JlcGx5JiYgcmVwbHkpCiB7
CiAgICAgaWYgKHByaW50SW5mby5zbmFwc2hvdEZpcnN0UGFnZSkgewotICAgICAgICByZXBseSgx
KTsKICAgICAgICAgSW50U2l6ZSBzbmFwc2hvdFNpemUgeyBGbG9hdFNpemUgeyBwcmludEluZm8u
YXZhaWxhYmxlUGFwZXJXaWR0aCwgcHJpbnRJbmZvLmF2YWlsYWJsZVBhcGVySGVpZ2h0IH0gfTsK
ICAgICAgICAgSW50UmVjdCBzbmFwc2hvdFJlY3QgeyB7MCwgMH0sIHNuYXBzaG90U2l6ZSB9Owog
CkBAIC0zOTg1LDIzICszOTk3LDEzIEBAIHZvaWQgV2ViUGFnZTo6Y29tcHV0ZVBhZ2VzRm9yUHJp
bnRpbmdBbmREcmF3VG9QREYoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lCiAgICAgICAg
IGF1dG8gcGRmRGF0YSA9IHBkZlNuYXBzaG90QXRTaXplKHNuYXBzaG90UmVjdCwgc25hcHNob3RT
aXplLCAwKTsKIAogICAgICAgICBmcmFtZVZpZXcuc2V0TGF5b3V0Vmlld3BvcnRPdmVycmlkZVJl
Y3Qob3JpZ2luYWxMYXlvdXRWaWV3cG9ydE92ZXJyaWRlUmVjdCk7Ci0gICAgICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RHJhd1RvUERGQ2FsbGJhY2soSVBDOjpEYXRhUmVmZXJlbmNl
KENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChwZGZEYXRh
LmdldCgpKSksIGNhbGxiYWNrSUQpKTsKKyAgICAgICAgcmVwbHkoSVBDOjpEYXRhUmVmZXJlbmNl
KENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChwZGZEYXRh
LmdldCgpKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgVmVjdG9yPFdlYkNvcmU6
OkludFJlY3Q+IHBhZ2VSZWN0czsKLSAgICBkb3VibGUgdG90YWxTY2FsZUZhY3RvcjsKLSAgICBh
dXRvIG1hcmdpbiA9IHByaW50SW5mby5tYXJnaW47Ci0gICAgY29tcHV0ZVBhZ2VzRm9yUHJpbnRp
bmdJbXBsKGZyYW1lSUQsIHByaW50SW5mbywgcGFnZVJlY3RzLCB0b3RhbFNjYWxlRmFjdG9yLCBt
YXJnaW4pOwotCi0gICAgQVNTRVJUKHBhZ2VSZWN0cy5zaXplKCkgPj0gMSk7Ci0gICAgc3RkOjpz
aXplX3QgcGFnZUNvdW50ID0gcGFnZVJlY3RzLnNpemUoKTsKLSAgICBBU1NFUlQocGFnZUNvdW50
IDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSk7Ci0gICAgcmVwbHkocGFn
ZUNvdW50KTsKLQogICAgIFJldGFpblB0cjxDRk11dGFibGVEYXRhUmVmPiBwZGZQYWdlRGF0YTsK
ICAgICBkcmF3UGFnZXNUb1BERkltcGwoZnJhbWVJRCwgcHJpbnRJbmZvLCAwLCBwYWdlQ291bnQs
IHBkZlBhZ2VEYXRhKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRyYXdUb1BE
RkNhbGxiYWNrKElQQzo6RGF0YVJlZmVyZW5jZShDRkRhdGFHZXRCeXRlUHRyKHBkZlBhZ2VEYXRh
LmdldCgpKSwgQ0ZEYXRhR2V0TGVuZ3RoKHBkZlBhZ2VEYXRhLmdldCgpKSksIGNhbGxiYWNrSUQp
KTsKKyAgICByZXBseShJUEM6OkRhdGFSZWZlcmVuY2UoQ0ZEYXRhR2V0Qnl0ZVB0cihwZGZQYWdl
RGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChwZGZQYWdlRGF0YS5nZXQoKSkpKTsKIAogICAg
IGVuZFByaW50aW5nKCk7CiB9Cg==
</data>
<flag name="review"
          id="437982"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>