<?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>206189</bug_id>
          
          <creation_ts>2020-01-13 12:59:43 -0800</creation_ts>
          <short_desc>[Media in GPU process] Don&apos;t use &apos;id&apos; as a parameter or variable name</short_desc>
          <delta_ts>2020-10-06 23:03:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>Safari 13</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="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1606010</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-01-13 12:59:43 -0800</bug_when>
    <thetext>A follow-up task based on Simon&apos;s comment.
https://bugs.webkit.org/show_bug.cgi?id=206043#c14</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695457</commentid>
    <comment_count>1</comment_count>
      <attachid>410732</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-10-06 21:28:24 -0700</bug_when>
    <thetext>Created attachment 410732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695465</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-06 23:02:02 -0700</bug_when>
    <thetext>Committed r268118: &lt;https://trac.webkit.org/changeset/268118&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410732.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695466</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-06 23:03:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/70033671&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410732</attachid>
            <date>2020-10-06 21:28:24 -0700</date>
            <delta_ts>2020-10-06 23:02:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206189-20201006212824.patch</filename>
            <type>text/plain</type>
            <size>71048</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVhOTA3YWQ1ZWU5ZmZjM2Yz
YTM4ZmVlYzg0ODQ3OTlmMWQxYWE0MzMuLjNmNjk2MzA1ODc4MjQyODRjOTc0MWEzYjNkMWQ1ZjQ2
NzhjMjhhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE4IEBACisyMDIwLTEwLTA2ICBQZW5nIExp
dSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBwcm9jZXNz
XSBEb24ndCB1c2UgJ2lkJyBhcyBhIHBhcmFtZXRlciBvciB2YXJpYWJsZSBuYW1lCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYxODkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXNzIHJlbmFtZSBgaWRg
IHRvIGBpZGVudGlmaWVyYC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGZ1bmN0aW9uYWwg
Y2hhbmdlLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb246
OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb246OlJlbW90
ZUF1ZGlvRGVzdGluYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uTWFuYWdlcjo6ZGVsZXRlQXVkaW9EZXN0aW5hdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpzdGFydEF1ZGlvRGVzdGluYXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6c3RvcEF1ZGlvRGVz
dGluYXRpb24pOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5h
dGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVBdWRpb1RyYWNrUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb1RyYWNr
UHJveHk6OlJlbW90ZUF1ZGlvVHJhY2tQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1
ZGlvVHJhY2tQcm94eTo6Y29uZmlndXJhdGlvbik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVBdWRpb1RyYWNrUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUNETUZhY3RvcnlQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNETUZhY3Rv
cnlQcm94eTo6YWRkUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDRE1GYWN0b3J5UHJv
eHk6OnJlbW92ZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ0RNRmFjdG9yeVByb3h5
OjphZGRJbnN0YW5jZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNETUZhY3RvcnlQcm94eTo6
cmVtb3ZlSW5zdGFuY2UpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDRE1GYWN0b3J5UHJveHk6
OmdldEluc3RhbmNlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ0RNRmFjdG9yeVByb3h5Ojph
ZGRTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ0RNRmFjdG9yeVByb3h5OjpyZW1v
dmVTZXNzaW9uKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQ
cm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUlu
c3RhbmNlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVDRE1Qcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxlZ2Fj
eUNETUZhY3RvcnlQcm94eTo6YWRkUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMZWdh
Y3lDRE1GYWN0b3J5UHJveHk6OnJlbW92ZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TGVnYWN5Q0RNRmFjdG9yeVByb3h5OjphZGRTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpyZW1vdmVTZXNzaW9uKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRTZXNzaW9uIGNvbnN0KToKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eTo6Y3JlYXRlTWVkaWFQbGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eTo6ZGVsZXRlTWVkaWFQbGF5ZXIpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6Z2V0UHJveHkpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eSk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZTo6UmVtb3RlTWVkaWFSZXNvdXJjZSk6
CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOjpyZXNwb25z
ZVJlY2VpdmVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXI6
OnJlZGlyZWN0UmVjZWl2ZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNl
TWFuYWdlcjo6ZGF0YVNlbnQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNl
TWFuYWdlcjo6ZGF0YVJlY2VpdmVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNv
dXJjZU1hbmFnZXI6OmFjY2Vzc0NvbnRyb2xDaGVja0ZhaWxlZCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOjpsb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXI6OmxvYWRGaW5pc2hlZCk6CisgICAgICAgICog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVRleHRUcmFja1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlVGV4dFRyYWNrUHJveHk6OlJlbW90ZVRleHRUcmFja1Byb3h5
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlVGV4dFRyYWNrUHJveHk6OmNvbmZpZ3VyYXRpb24p
OgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNrUHJveHkuaDoKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJhY2tQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVZpZGVvVHJhY2tQcm94eTo6UmVtb3RlVmlkZW9UcmFja1Byb3h5
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlVmlkZW9UcmFja1Byb3h5Ojpjb25maWd1cmF0aW9u
KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJhY2tQcm94eS5oOgor
ICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3Vy
YXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6VGV4dFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3Vy
YXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlRleHRUcmFja1ByaXZhdGVS
ZW1vdGVDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpUcmFj
a1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpUcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL0F1ZGlvVHJhY2tQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6QXVkaW9UcmFja1ByaXZhdGVSZW1vdGU6OnVwZGF0ZUNvbmZpZ3VyYXRpb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVtb3Rl
VGV4dFRyYWNrQ29uZmlndXJhdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OnJlbW92ZVJlbW90ZVZpZGVvVHJhY2spOgorICAgICAgICAoV2Vi
S2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0
aW9uQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ0RNOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVDRE06OlJlbW90ZUNETSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNETTo6Y3Jl
YXRlSW5zdGFuY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUZh
Y3RvcnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDRE1GYWN0b3J5OjpjcmVhdGVDRE0p
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDRE1GYWN0b3J5OjpyZW1vdmVTZXNzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUNETUluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVDRE1JbnN0YW5jZTo6UmVtb3RlQ0RNSW5zdGFuY2UpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVDRE1JbnN0YW5jZTo6Y3JlYXRlU2Vzc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVDRE1JbnN0YW5jZVNlc3Npb246OlJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTGVnYWN5Q0RNOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMZWdhY3lDRE06OlJlbW90ZUxlZ2FjeUNETSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxl
Z2FjeUNETTo6Y3JlYXRlU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxlZ2FjeUNE
TTo6c2V0UGxheWVySWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxl
Z2FjeUNETUZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1GYWN0
b3J5OjpjcmVhdGVDRE0pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1GYWN0b3J5
OjphZGRTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeTo6
cmVtb3ZlU2Vzc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxlZ2FjeUNETVNlc3Np
b246OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxlZ2FjeUNETVNlc3Npb246OlJl
bW90ZUxlZ2FjeUNETVNlc3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlcjo6ZGVsZXRlUmVtb3RlTWVkaWFQbGF5ZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3Rl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGV4dFRyYWNrUHJpdmF0ZVJlbW90ZTo6dXBkYXRlQ29u
ZmlndXJhdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVmlkZW9UcmFja1By
aXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWRlb1RyYWNrUHJpdmF0ZVJlbW90
ZTo6dXBkYXRlQ29uZmlndXJhdGlvbik6CisKIDIwMjAtMTAtMDYgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWxvYWRpbmcgYSB2aWV3IGluIGl0cyBwcm9jZXNz
VGVybWluYXRpb25IYW5kbGVyIGRvZXMgbm90IHdvcmsgcmVsaWFibHkgd2hlbiB1c2luZyByZWxh
dGVkIHZpZXdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcAppbmRleCAwYjlhYjFkY2Uz
NGE1MjBkODJlMmZhZDVmNWQwNmE4NjllZjc0ZDk1Li41MWVhNjY5NTNmNjEzMzM1NjIzNzc2ZTdl
MzhhMmYxOTBiNDU4NmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAKQEAgLTQ3
LDEwICs0NywxMCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgQXVkaW9EZXN0aW5hdGlvbiA9IFdlYkNv
cmU6OkF1ZGlvRGVzdGluYXRpb247CiAgICAgdXNpbmcgU2hhcmVkQnVmZmVyID0gV2ViQ29yZTo6
U2hhcmVkQnVmZmVyOwogCi0gICAgc3RhdGljIFJlZjxSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uPiBj
cmVhdGUoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbiwgUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbklkZW50aWZpZXIgaWQsCisgICAgc3RhdGljIFJlZjxSZW1vdGVBdWRpb0Rlc3Rp
bmF0aW9uPiBjcmVhdGUoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbiwgUmVt
b3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwKICAgICAgICAgY29uc3Qg
U3RyaW5nJiBpbnB1dERldmljZUlkLCB1aW50MzJfdCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVp
bnQzMl90IG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIGZsb2F0IHNhbXBsZVJhdGUpCiAgICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uKGNvbm5l
Y3Rpb24sIGlkLCBpbnB1dERldmljZUlkLCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9m
T3V0cHV0Q2hhbm5lbHMsIHNhbXBsZVJhdGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgUmVtb3RlQXVkaW9EZXN0aW5hdGlvbihjb25uZWN0aW9uLCBpZGVudGlmaWVyLCBpbnB1dERl
dmljZUlkLCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIHNh
bXBsZVJhdGUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5SZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
KCkKQEAgLTcyLDkgKzcyLDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGZyYW1lc1BlckJ1ZmZl
cigpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb24tPmZyYW1lc1BlckJ1ZmZlcigpIDsgfQog
CiBwcml2YXRlOgotICAgIFJlbW90ZUF1ZGlvRGVzdGluYXRpb24oR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcyYgY29ubmVjdGlvbiwgUmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIgaWQs
IGNvbnN0IFN0cmluZyYgaW5wdXREZXZpY2VJZCwgdWludDMyX3QgbnVtYmVyT2ZJbnB1dENoYW5u
ZWxzLCB1aW50MzJfdCBudW1iZXJPZk91dHB1dENoYW5uZWxzLCBmbG9hdCBzYW1wbGVSYXRlKQor
ICAgIFJlbW90ZUF1ZGlvRGVzdGluYXRpb24oR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29u
bmVjdGlvbiwgUmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiBpbnB1dERldmljZUlkLCB1aW50MzJfdCBudW1iZXJPZklucHV0Q2hhbm5lbHMs
IHVpbnQzMl90IG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIGZsb2F0IHNhbXBsZVJhdGUpCiAgICAg
ICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pCi0gICAgICAgICwgbV9pZChpZCkKKyAgICAg
ICAgLCBtX2lkKGlkZW50aWZpZXIpCiAgICAgICAgICwgbV9kZXN0aW5hdGlvbihBdWRpb0Rlc3Rp
bmF0aW9uOjpjcmVhdGUoKnRoaXMsIGlucHV0RGV2aWNlSWQsIG51bWJlck9mSW5wdXRDaGFubmVs
cywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscywgc2FtcGxlUmF0ZSkpCiAgICAgewogICAgIH0KQEAg
LTExOCw4ICsxMTgsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9wcm90ZWN0VGhpc0R1cmlu
Z0dyYWNlZnVsU2h1dGRvd24gPSBudWxscHRyOyAvLyBEZWxldGVzICJ0aGlzIi4KICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBw
cm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGlzUGxheWluZyA9IG1fZGVzdGluYXRpb24t
PmlzUGxheWluZygpLCBpZCA9IG1faWQudG9VSW50NjQoKV0gewotICAgICAgICAgICAgbV9jb25u
ZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
UHJveHk6OkRpZENoYW5nZUlzUGxheWluZyhpc1BsYXlpbmcpLCBpZCk7CisgICAgICAgIGNhbGxP
bk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaXNQbGF5
aW5nID0gbV9kZXN0aW5hdGlvbi0+aXNQbGF5aW5nKCksIGlkZW50aWZpZXIgPSBtX2lkLnRvVUlu
dDY0KCldIHsKKyAgICAgICAgICAgIG1fY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNz
YWdlczo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5OjpEaWRDaGFuZ2VJc1BsYXlpbmcoaXNQ
bGF5aW5nKSwgaWRlbnRpZmllcik7CiAgICAgICAgIH0pOwogICAgIH0KIApAQCAtMTQ2LDI4ICsx
NDYsMjggQEAgdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6Y3JlYXRlQXVkaW9E
ZXN0aW5hdGlvbihjb25zdCBTdHJpbmcmIGlucHV0RGUKICAgICBjb21wbGV0aW9uSGFuZGxlcihu
ZXdJRCwgZnJhbWVzUGVyQnVmZmVyKTsKIH0KIAotdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
TWFuYWdlcjo6ZGVsZXRlQXVkaW9EZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRl
bnRpZmllciBpZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQordm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6ZGVsZXRlQXVkaW9EZXN0aW5h
dGlvbihSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBkZXN0
aW5hdGlvbiA9IG1fYXVkaW9EZXN0aW5hdGlvbnMudGFrZShpZCk7CisgICAgYXV0byBkZXN0aW5h
dGlvbiA9IG1fYXVkaW9EZXN0aW5hdGlvbnMudGFrZShpZGVudGlmaWVyKTsKICAgICBpZiAoZGVz
dGluYXRpb24pCiAgICAgICAgIGRlc3RpbmF0aW9uLT5zY2hlZHVsZUdyYWNlZnVsU2h1dGRvd25J
Zk5lZWRlZCgpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgUmVtb3RlQXVk
aW9EZXN0aW5hdGlvbk1hbmFnZXI6OnN0YXJ0QXVkaW9EZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uSWRlbnRpZmllciBpZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OnN0
YXJ0QXVkaW9EZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewogICAgIGJvb2wgaXNQbGF5aW5nID0gZmFsc2U7Ci0gICAgaWYgKGF1dG8qIGl0ZW0gPSBt
X2F1ZGlvRGVzdGluYXRpb25zLmdldChpZCkpIHsKKyAgICBpZiAoYXV0byogaXRlbSA9IG1fYXVk
aW9EZXN0aW5hdGlvbnMuZ2V0KGlkZW50aWZpZXIpKSB7CiAgICAgICAgIGl0ZW0tPnN0YXJ0KCk7
CiAgICAgICAgIGlzUGxheWluZyA9IGl0ZW0tPmlzUGxheWluZygpOwogICAgIH0KICAgICBjb21w
bGV0aW9uSGFuZGxlcihpc1BsYXlpbmcpOwogfQogCi12b2lkIFJlbW90ZUF1ZGlvRGVzdGluYXRp
b25NYW5hZ2VyOjpzdG9wQXVkaW9EZXN0aW5hdGlvbihSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRl
bnRpZmllciBpZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3ZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OnN0b3BBdWRpb0Rlc3Rp
bmF0aW9uKFJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYm9v
bCBpc1BsYXlpbmcgPSBmYWxzZTsKLSAgICBpZiAoYXV0byogaXRlbSA9IG1fYXVkaW9EZXN0aW5h
dGlvbnMuZ2V0KGlkKSkgeworICAgIGlmIChhdXRvKiBpdGVtID0gbV9hdWRpb0Rlc3RpbmF0aW9u
cy5nZXQoaWRlbnRpZmllcikpIHsKICAgICAgICAgaXRlbS0+c3RvcCgpOwogICAgICAgICBpc1Bs
YXlpbmcgPSBpdGVtLT5pc1BsYXlpbmcoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5h
dGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggOThiZDNmYzE1ODY2ZDhhZTJiYmY5ODllODJl
ZGFmZDdiYTAwMmFmOS4uYmMwNWFlMTE3OWFhMmFkMzRlMzMzODUzMmJlZGI1ZTZiNGQ0MjNhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjUs
MTIgKzI1LDEyIEBACiAKIG1lc3NhZ2VzIC0+IFJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2Vy
IE5vdFJlZkNvdW50ZWQgewogCi0gICAgQ3JlYXRlQXVkaW9EZXN0aW5hdGlvbihTdHJpbmcgaW5w
dXREZXZpY2VJZCwgdWludDMyX3QgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCB1aW50MzJfdCBudW1i
ZXJPZk91dHB1dENoYW5uZWxzLCBmbG9hdCBzYW1wbGVSYXRlKSAtPiAoV2ViS2l0OjpSZW1vdGVB
dWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllciBpZCwgdW5zaWduZWQgZnJhbWVzUGVyQnVmZmVyKSBT
eW5jaHJvbm91cworICAgIENyZWF0ZUF1ZGlvRGVzdGluYXRpb24oU3RyaW5nIGlucHV0RGV2aWNl
SWQsIHVpbnQzMl90IG51bWJlck9mSW5wdXRDaGFubmVscywgdWludDMyX3QgbnVtYmVyT2ZPdXRw
dXRDaGFubmVscywgZmxvYXQgc2FtcGxlUmF0ZSkgLT4gKFdlYktpdDo6UmVtb3RlQXVkaW9EZXN0
aW5hdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgdW5zaWduZWQgZnJhbWVzUGVyQnVmZmVyKSBT
eW5jaHJvbm91cwogCi0gICAgRGVsZXRlQXVkaW9EZXN0aW5hdGlvbihXZWJLaXQ6OlJlbW90ZUF1
ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyIGlkKSAtPiAoKSBBc3luYworICAgIERlbGV0ZUF1ZGlv
RGVzdGluYXRpb24oV2ViS2l0OjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllciBpZGVu
dGlmaWVyKSAtPiAoKSBBc3luYwogCi0gICAgU3RhcnRBdWRpb0Rlc3RpbmF0aW9uKFdlYktpdDo6
UmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIgaWQpIC0+IChib29sIGlzUGxheWluZykg
U3luY2hyb25vdXMKLSAgICBTdG9wQXVkaW9EZXN0aW5hdGlvbihXZWJLaXQ6OlJlbW90ZUF1ZGlv
RGVzdGluYXRpb25JZGVudGlmaWVyIGlkKSAtPiAoYm9vbCBpc1BsYXlpbmcpIFN5bmNocm9ub3Vz
CisgICAgU3RhcnRBdWRpb0Rlc3RpbmF0aW9uKFdlYktpdDo6UmVtb3RlQXVkaW9EZXN0aW5hdGlv
bklkZW50aWZpZXIgaWRlbnRpZmllcikgLT4gKGJvb2wgaXNQbGF5aW5nKSBTeW5jaHJvbm91cwor
ICAgIFN0b3BBdWRpb0Rlc3RpbmF0aW9uKFdlYktpdDo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvbklk
ZW50aWZpZXIgaWRlbnRpZmllcikgLT4gKGJvb2wgaXNQbGF5aW5nKSBTeW5jaHJvbm91cwogCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRp
b1RyYWNrUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1
ZGlvVHJhY2tQcm94eS5jcHAKaW5kZXggYTM2MWM0MjBhNjlhMzgzNGVmMjg0MWY1ZDM2MGMwZjgz
MDE5ZmY2NC4uYTJhY2YwNWQ0MTRlMTc1YzdkMTJhYzUzNTk4ZDgzOWY2MzYxMmFjYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvVHJhY2tQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvVHJh
Y2tQcm94eS5jcHAKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCi1SZW1vdGVBdWRpb1RyYWNrUHJveHk6OlJlbW90ZUF1ZGlv
VHJhY2tQcm94eShSZW1vdGVNZWRpYVBsYXllclByb3h5JiBwbGF5ZXIsIFRyYWNrUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIgaWQsIFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgQXVk
aW9UcmFja1ByaXZhdGUmIHRyYWNrUHJpdmF0ZSkKK1JlbW90ZUF1ZGlvVHJhY2tQcm94eTo6UmVt
b3RlQXVkaW9UcmFja1Byb3h5KFJlbW90ZU1lZGlhUGxheWVyUHJveHkmIHBsYXllciwgVHJhY2tQ
cml2YXRlUmVtb3RlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYm
IGNvbm5lY3Rpb24sIEF1ZGlvVHJhY2tQcml2YXRlJiB0cmFja1ByaXZhdGUpCiAgICAgOiBtX3Bs
YXllcihwbGF5ZXIpCi0gICAgLCBtX2lkZW50aWZpZXIoaWQpCisgICAgLCBtX2lkZW50aWZpZXIo
aWRlbnRpZmllcikKICAgICAsIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0
aW9uKSkKICAgICAsIG1fdHJhY2tQcml2YXRlKHRyYWNrUHJpdmF0ZSkKIHsKQEAgLTUxLDcgKzUx
LDcgQEAgVHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbiYgUmVtb3RlQXVkaW9UcmFja1By
b3h5Ojpjb25maWd1cmF0aW9uKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VHJhY2tQ
cml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbjsKIAotICAgIGNvbmZpZ3Vy
YXRpb24tPmlkID0gbV90cmFja1ByaXZhdGUtPmlkKCk7CisgICAgY29uZmlndXJhdGlvbi0+aWRl
bnRpZmllciA9IG1fdHJhY2tQcml2YXRlLT5pZCgpOwogICAgIGNvbmZpZ3VyYXRpb24tPmxhYmVs
ID0gbV90cmFja1ByaXZhdGUtPmxhYmVsKCk7CiAgICAgY29uZmlndXJhdGlvbi0+bGFuZ3VhZ2Ug
PSBtX3RyYWNrUHJpdmF0ZS0+bGFuZ3VhZ2UoKTsKICAgICBjb25maWd1cmF0aW9uLT50cmFja0lu
ZGV4ID0gbV90cmFja1ByaXZhdGUtPnRyYWNrSW5kZXgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1RyYWNrUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1RyYWNrUHJveHkuaAppbmRleCBlODVm
NTcyZTFhMDBhYTEwODZmNWZiZjIyZjFmN2JmMTAyYzRkMmEyLi5kOTY2NDNjNTNiOWUzYjU3MmZi
MTlmYTUzNDkzN2VhYmRiNDZiZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlQXVkaW9UcmFja1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvVHJhY2tQcm94eS5oCkBAIC00NSw5ICs0NSw5IEBAIGNs
YXNzIFJlbW90ZUF1ZGlvVHJhY2tQcm94eSBmaW5hbAogICAgIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPFJlbW90ZUF1ZGlvVHJhY2tQcm94eSwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6
TWFpbj4KICAgICAsIHByaXZhdGUgV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVDbGllbnQgewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8UmVtb3RlQXVkaW9UcmFja1Byb3h5PiBjcmVhdGUoUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eSYgcGxheWVyLCBUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVy
IGlkLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFdlYkNvcmU6OkF1ZGlvVHJh
Y2tQcml2YXRlJiB0cmFja1ByaXZhdGUpCisgICAgc3RhdGljIFJlZjxSZW1vdGVBdWRpb1RyYWNr
UHJveHk+IGNyZWF0ZShSZW1vdGVNZWRpYVBsYXllclByb3h5JiBwbGF5ZXIsIFRyYWNrUHJpdmF0
ZVJlbW90ZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25u
ZWN0aW9uLCBXZWJDb3JlOjpBdWRpb1RyYWNrUHJpdmF0ZSYgdHJhY2tQcml2YXRlKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVtb3RlQXVkaW9UcmFja1Byb3h5KHBsYXll
ciwgaWQsIFdURk1vdmUoY29ubmVjdGlvbiksIHRyYWNrUHJpdmF0ZSkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVBdWRpb1RyYWNrUHJveHkocGxheWVyLCBpZGVudGlmaWVy
LCBXVEZNb3ZlKGNvbm5lY3Rpb24pLCB0cmFja1ByaXZhdGUpKTsKICAgICB9CiAKICAgICBUcmFj
a1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQ0RNRmFjdG9yeVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVDRE1GYWN0b3J5UHJveHkuY3BwCmluZGV4IGQxZTNmN2ExN2VjNDU2ZmY2MWFlNTg3
Yjg3OTY0YzZmNTE0ODZjOGQuLjdlMWFmYWE0NDRlODZmNGI4OTQ2YzIzMzc1MDQwMmE5M2ZjYWYw
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1G
YWN0b3J5UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVDRE1GYWN0b3J5UHJveHkuY3BwCkBAIC0xMTcsNDUgKzExNyw0NSBAQCB2b2lkIFJlbW90ZUNE
TUZhY3RvcnlQcm94eTo6ZGlkUmVjZWl2ZVN5bmNDRE1JbnN0YW5jZVNlc3Npb25NZXNzYWdlKElQ
Qzo6Q29ubmVjdAogICAgICAgICBzZXNzaW9uLT5kaWRSZWNlaXZlU3luY01lc3NhZ2UoY29ubmVj
dGlvbiwgZGVjb2RlciwgZW5jb2Rlcik7CiB9CiAKLXZvaWQgUmVtb3RlQ0RNRmFjdG9yeVByb3h5
OjphZGRQcm94eShjb25zdCBSZW1vdGVDRE1JZGVudGlmaWVyJiBpZCwgc3RkOjp1bmlxdWVfcHRy
PFJlbW90ZUNETVByb3h5PiYmIHByb3h5KQordm9pZCBSZW1vdGVDRE1GYWN0b3J5UHJveHk6OmFk
ZFByb3h5KGNvbnN0IFJlbW90ZUNETUlkZW50aWZpZXImIGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVDRE1Qcm94eT4mJiBwcm94eSkKIHsKLSAgICBBU1NFUlQoIW1fcHJveGllcy5j
b250YWlucyhpZCkpOwotICAgIG1fcHJveGllcy5zZXQoaWQsIFdURk1vdmUocHJveHkpKTsKKyAg
ICBBU1NFUlQoIW1fcHJveGllcy5jb250YWlucyhpZGVudGlmaWVyKSk7CisgICAgbV9wcm94aWVz
LnNldChpZGVudGlmaWVyLCBXVEZNb3ZlKHByb3h5KSk7CiB9CiAKLXZvaWQgUmVtb3RlQ0RNRmFj
dG9yeVByb3h5OjpyZW1vdmVQcm94eShjb25zdCBSZW1vdGVDRE1JZGVudGlmaWVyJiBpZCkKK3Zv
aWQgUmVtb3RlQ0RNRmFjdG9yeVByb3h5OjpyZW1vdmVQcm94eShjb25zdCBSZW1vdGVDRE1JZGVu
dGlmaWVyJiBpZGVudGlmaWVyKQogewotICAgIEFTU0VSVChtX3Byb3hpZXMuY29udGFpbnMoaWQp
KTsKLSAgICBtX3Byb3hpZXMucmVtb3ZlKGlkKTsKKyAgICBBU1NFUlQobV9wcm94aWVzLmNvbnRh
aW5zKGlkZW50aWZpZXIpKTsKKyAgICBtX3Byb3hpZXMucmVtb3ZlKGlkZW50aWZpZXIpOwogfQog
Ci12b2lkIFJlbW90ZUNETUZhY3RvcnlQcm94eTo6YWRkSW5zdGFuY2UoY29uc3QgUmVtb3RlQ0RN
SW5zdGFuY2VJZGVudGlmaWVyJiBpZCwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNETUluc3RhbmNl
UHJveHk+JiYgaW5zdGFuY2UpCit2b2lkIFJlbW90ZUNETUZhY3RvcnlQcm94eTo6YWRkSW5zdGFu
Y2UoY29uc3QgUmVtb3RlQ0RNSW5zdGFuY2VJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBzdGQ6OnVu
aXF1ZV9wdHI8UmVtb3RlQ0RNSW5zdGFuY2VQcm94eT4mJiBpbnN0YW5jZSkKIHsKLSAgICBBU1NF
UlQoIW1faW5zdGFuY2VzLmNvbnRhaW5zKGlkKSk7Ci0gICAgbV9pbnN0YW5jZXMuc2V0KGlkLCBX
VEZNb3ZlKGluc3RhbmNlKSk7CisgICAgQVNTRVJUKCFtX2luc3RhbmNlcy5jb250YWlucyhpZGVu
dGlmaWVyKSk7CisgICAgbV9pbnN0YW5jZXMuc2V0KGlkZW50aWZpZXIsIFdURk1vdmUoaW5zdGFu
Y2UpKTsKIH0KIAotdm9pZCBSZW1vdGVDRE1GYWN0b3J5UHJveHk6OnJlbW92ZUluc3RhbmNlKGNv
bnN0IFJlbW90ZUNETUluc3RhbmNlSWRlbnRpZmllciYgaWQpCit2b2lkIFJlbW90ZUNETUZhY3Rv
cnlQcm94eTo6cmVtb3ZlSW5zdGFuY2UoY29uc3QgUmVtb3RlQ0RNSW5zdGFuY2VJZGVudGlmaWVy
JiBpZGVudGlmaWVyKQogewotICAgIEFTU0VSVChtX2luc3RhbmNlcy5jb250YWlucyhpZCkpOwot
ICAgIG1faW5zdGFuY2VzLnJlbW92ZShpZCk7CisgICAgQVNTRVJUKG1faW5zdGFuY2VzLmNvbnRh
aW5zKGlkZW50aWZpZXIpKTsKKyAgICBtX2luc3RhbmNlcy5yZW1vdmUoaWRlbnRpZmllcik7CiB9
CiAKLVJlbW90ZUNETUluc3RhbmNlUHJveHkqIFJlbW90ZUNETUZhY3RvcnlQcm94eTo6Z2V0SW5z
dGFuY2UoY29uc3QgUmVtb3RlQ0RNSW5zdGFuY2VJZGVudGlmaWVyJiBpZCkKK1JlbW90ZUNETUlu
c3RhbmNlUHJveHkqIFJlbW90ZUNETUZhY3RvcnlQcm94eTo6Z2V0SW5zdGFuY2UoY29uc3QgUmVt
b3RlQ0RNSW5zdGFuY2VJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogewotICAgIHJldHVybiBtX2lu
c3RhbmNlcy5nZXQoaWQpOworICAgIHJldHVybiBtX2luc3RhbmNlcy5nZXQoaWRlbnRpZmllcik7
CiB9CiAKLXZvaWQgUmVtb3RlQ0RNRmFjdG9yeVByb3h5OjphZGRTZXNzaW9uKGNvbnN0IFJlbW90
ZUNETUluc3RhbmNlU2Vzc2lvbklkZW50aWZpZXImIGlkLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3Rl
Q0RNSW5zdGFuY2VTZXNzaW9uUHJveHk+JiYgc2Vzc2lvbikKK3ZvaWQgUmVtb3RlQ0RNRmFjdG9y
eVByb3h5OjphZGRTZXNzaW9uKGNvbnN0IFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbklkZW50aWZp
ZXImIGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25Q
cm94eT4mJiBzZXNzaW9uKQogewotICAgIEFTU0VSVCghbV9zZXNzaW9ucy5jb250YWlucyhpZCkp
OwotICAgIG1fc2Vzc2lvbnMuc2V0KGlkLCBXVEZNb3ZlKHNlc3Npb24pKTsKKyAgICBBU1NFUlQo
IW1fc2Vzc2lvbnMuY29udGFpbnMoaWRlbnRpZmllcikpOworICAgIG1fc2Vzc2lvbnMuc2V0KGlk
ZW50aWZpZXIsIFdURk1vdmUoc2Vzc2lvbikpOwogfQogCi12b2lkIFJlbW90ZUNETUZhY3RvcnlQ
cm94eTo6cmVtb3ZlU2Vzc2lvbihjb25zdCBSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25JZGVudGlm
aWVyJiBpZCkKK3ZvaWQgUmVtb3RlQ0RNRmFjdG9yeVByb3h5OjpyZW1vdmVTZXNzaW9uKGNvbnN0
IFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbklkZW50aWZpZXImIGlkZW50aWZpZXIpCiB7Ci0gICAg
QVNTRVJUKG1fc2Vzc2lvbnMuY29udGFpbnMoaWQpKTsKLSAgICBtX3Nlc3Npb25zLnJlbW92ZShp
ZCk7CisgICAgQVNTRVJUKG1fc2Vzc2lvbnMuY29udGFpbnMoaWRlbnRpZmllcikpOworICAgIG1f
c2Vzc2lvbnMucmVtb3ZlKGlkZW50aWZpZXIpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RNRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eS5t
ZXNzYWdlcy5pbgppbmRleCAwNDdjNWU2ZTYxYzQyMDc4MzFkYTBiZDExOGE2YWFlYjQwZDMzMTM2
Li5iNGU5NWUxYmIyM2ViNmQxMmJiMGJhYjY0NjFlYmI0NThhMDNkNmU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RNRmFjdG9yeVByb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1GYWN0
b3J5UHJveHkubWVzc2FnZXMuaW4KQEAgLTI2LDcgKzI2LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZUNE
TUZhY3RvcnlQcm94eSBOb3RSZWZDb3VudGVkIHsKLSAgICBDcmVhdGVDRE0oU3RyaW5nIGtleVN5
c3RlbSkgLT4gKFdlYktpdDo6UmVtb3RlQ0RNSWRlbnRpZmllciBpZCwgc3RydWN0IFdlYktpdDo6
UmVtb3RlQ0RNQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKSBTeW5jaHJvbm91cworICAgIENy
ZWF0ZUNETShTdHJpbmcga2V5U3lzdGVtKSAtPiAoV2ViS2l0OjpSZW1vdGVDRE1JZGVudGlmaWVy
IGlkZW50aWZpZXIsIHN0cnVjdCBXZWJLaXQ6OlJlbW90ZUNETUNvbmZpZ3VyYXRpb24gY29uZmln
dXJhdGlvbikgU3luY2hyb25vdXMKICAgICBTdXBwb3J0c0tleVN5c3RlbShTdHJpbmcga2V5U3lz
dGVtKSAtPiAoYm9vbCByZXN1bHQpIFN5bmNocm9ub3VzCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5Lm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlUHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggYzUwOTViNjg5ZGY2MDQ5MjlmZmQxNDFjYmNkYjk0MWU3Y2Nh
ZDAyYy4uZDU5MjZlMmNhOGJkMTljZTBkN2ExMTMyZjhjOWY2ZDM2MTdkMjM3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNE
TUluc3RhbmNlUHJveHkubWVzc2FnZXMuaW4KQEAgLTI2LDcgKzI2LDcgQEAKICNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKIG1lc3NhZ2VzIC0+IFJl
bW90ZUNETUluc3RhbmNlUHJveHkgTm90UmVmQ291bnRlZCB7Ci0gICAgQ3JlYXRlU2Vzc2lvbigp
IC0+IChXZWJLaXQ6OlJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbklkZW50aWZpZXIgaWQpIFN5bmNo
cm9ub3VzCisgICAgQ3JlYXRlU2Vzc2lvbigpIC0+IChXZWJLaXQ6OlJlbW90ZUNETUluc3RhbmNl
U2Vzc2lvbklkZW50aWZpZXIgaWRlbnRpZmllcikgU3luY2hyb25vdXMKICAgICBJbml0aWFsaXpl
V2l0aENvbmZpZ3VyYXRpb24oc3RydWN0IFdlYkNvcmU6OkNETUtleVN5c3RlbUNvbmZpZ3VyYXRp
b24gY29uZmlndXJhdGlvbiwgZW51bTpib29sIFdlYkNvcmU6OkNETUluc3RhbmNlOjpBbGxvd0Rp
c3RpbmN0aXZlSWRlbnRpZmllcnMgZGlzdGluY3RpdmVJZGVudGlmaWVyc0FsbG93ZWQsIGVudW06
Ym9vbCBXZWJDb3JlOjpDRE1JbnN0YW5jZTo6QWxsb3dQZXJzaXN0ZW50U3RhdGUgcGVyc2lzdGVu
dFN0YXRlQWxsb3dlZCkgLT4gKGVudW06Ym9vbCBXZWJDb3JlOjpDRE1JbnN0YW5jZTo6U3VjY2Vz
c1ZhbHVlIHN1Y2Nlc3MpIEFzeW5jCiAgICAgU2V0U2VydmVyQ2VydGlmaWNhdGUoSVBDOjpTaGFy
ZWRCdWZmZXJDb3B5IGNlcnRpZmljYXRlKSAtPiAoZW51bTpib29sIFdlYkNvcmU6OkNETUluc3Rh
bmNlOjpTdWNjZXNzVmFsdWUgc3VjY2VzcykgQXN5bmMKICAgICBTZXRTdG9yYWdlRGlyZWN0b3J5
KFN0cmluZyBkaXJlY3RvcnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlQ0RNUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlQ0RNUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMzk1NTU4NGVkZjE3MWEx
NjVkYzUzZjBkYWU1ZjFhMzk0OGM3NTVmMi4uNjZmMmMxODQwYTczNmViZGEzMDIzODEwNjY3ZTY3
ODgyNTVjODRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUNETVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVDRE1Qcm94eS5tZXNzYWdlcy5pbgpAQCAtMjcsNyArMjcsNyBAQAogCiBtZXNz
YWdlcyAtPiBSZW1vdGVDRE1Qcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBHZXRTdXBwb3J0ZWRD
b25maWd1cmF0aW9uKHN0cnVjdCBXZWJDb3JlOjpDRE1LZXlTeXN0ZW1Db25maWd1cmF0aW9uIGNh
bmRpZGF0ZUNvbmZpZ3VyYXRpb24sIGVudW06Ym9vbCBXZWJDb3JlOjpDRE1Qcml2YXRlOjpMb2Nh
bFN0b3JhZ2VBY2Nlc3MgYWNjZXNzKSAtPiAoT3B0aW9uYWw8V2ViQ29yZTo6Q0RNS2V5U3lzdGVt
Q29uZmlndXJhdGlvbj4gYWNjdW11bGF0ZWRDb25maWd1cmF0aW9uKSBBc3luYwotICAgIENyZWF0
ZUluc3RhbmNlKCkgLT4gKFdlYktpdDo6UmVtb3RlQ0RNSW5zdGFuY2VJZGVudGlmaWVyIGlkLCBz
dHJ1Y3QgV2ViS2l0OjpSZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlv
bikgU3luY2hyb25vdXMKKyAgICBDcmVhdGVJbnN0YW5jZSgpIC0+IChXZWJLaXQ6OlJlbW90ZUNE
TUluc3RhbmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVDRE1J
bnN0YW5jZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikgU3luY2hyb25vdXMKICAgICBMb2Fk
QW5kSW5pdGlhbGl6ZSgpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5jcHAKaW5kZXggNmFm
ODRjNjU3YjYwNzhlMDlmNmI5YjJlMjc4ZjdhNDMwNzZmODQ5OS4uZmJhZjM5YWUzMTk0N2Y1Nzdk
OTY5MWZlMzExZmMyZTE2MjczMzE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5jcHAKQEAg
LTk2LDQxICs5Niw0MSBAQCB2b2lkIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eTo6ZGlkUmVj
ZWl2ZVN5bmNDRE1TZXNzaW9uTWVzc2FnZShJUEM6OkNvbm5lY3RpbwogICAgICAgICBzZXNzaW9u
LT5kaWRSZWNlaXZlU3luY01lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlciwgZW5jb2Rlcik7CiB9
CiAKLXZvaWQgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjphZGRQcm94eShSZW1vdGVMZWdh
Y3lDRE1JZGVudGlmaWVyIGlkLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNUHJveHk+
JiYgcHJveHkpCit2b2lkIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eTo6YWRkUHJveHkoUmVt
b3RlTGVnYWN5Q0RNSWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3Rl
TGVnYWN5Q0RNUHJveHk+JiYgcHJveHkpCiB7Ci0gICAgZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vz
cygpLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVt
b3RlTGVnYWN5Q0RNUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgaWQudG9VSW50NjQoKSwg
KnByb3h5KTsKKyAgICBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVzc2FnZVJlY2VpdmVy
TWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMZWdhY3lDRE1Qcm94eTo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBpZGVudGlmaWVyLnRvVUludDY0KCksICpwcm94eSk7CiAK
LSAgICBBU1NFUlQoIW1fcHJveGllcy5jb250YWlucyhpZCkpOwotICAgIG1fcHJveGllcy5zZXQo
aWQsIFdURk1vdmUocHJveHkpKTsKKyAgICBBU1NFUlQoIW1fcHJveGllcy5jb250YWlucyhpZGVu
dGlmaWVyKSk7CisgICAgbV9wcm94aWVzLnNldChpZGVudGlmaWVyLCBXVEZNb3ZlKHByb3h5KSk7
CiB9CiAKLXZvaWQgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpyZW1vdmVQcm94eShSZW1v
dGVMZWdhY3lDRE1JZGVudGlmaWVyIGlkKQordm9pZCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJv
eHk6OnJlbW92ZVByb3h5KFJlbW90ZUxlZ2FjeUNETUlkZW50aWZpZXIgaWRlbnRpZmllcikKIHsK
LSAgICBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVt
b3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMZWdhY3lDRE1Qcm94eTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBpZC50b1VJbnQ2NCgpKTsKKyAgICBncHVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKCkubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3Nh
Z2VzOjpSZW1vdGVMZWdhY3lDRE1Qcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBpZGVudGlm
aWVyLnRvVUludDY0KCkpOwogCi0gICAgQVNTRVJUKG1fcHJveGllcy5jb250YWlucyhpZCkpOwot
ICAgIG1fcHJveGllcy5yZW1vdmUoaWQpOworICAgIEFTU0VSVChtX3Byb3hpZXMuY29udGFpbnMo
aWRlbnRpZmllcikpOworICAgIG1fcHJveGllcy5yZW1vdmUoaWRlbnRpZmllcik7CiB9CiAKLXZv
aWQgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjphZGRTZXNzaW9uKFJlbW90ZUxlZ2FjeUNE
TVNlc3Npb25JZGVudGlmaWVyIGlkLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvblByb3h5PiYmIHNlc3Npb24pCit2b2lkIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eTo6
YWRkU2Vzc2lvbihSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBz
dGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5PiYmIHNlc3Npb24pCiB7
Ci0gICAgZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIGlkLnRvVUludDY0KCksICpzZXNzaW9uKTsKKyAgICBncHVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHk6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSwgaWRlbnRpZmllci50b1VJbnQ2NCgpLCAqc2Vzc2lvbik7CiAKLSAgICBBU1NF
UlQoIW1fc2Vzc2lvbnMuY29udGFpbnMoaWQpKTsKLSAgICBtX3Nlc3Npb25zLnNldChpZCwgV1RG
TW92ZShzZXNzaW9uKSk7CisgICAgQVNTRVJUKCFtX3Nlc3Npb25zLmNvbnRhaW5zKGlkZW50aWZp
ZXIpKTsKKyAgICBtX3Nlc3Npb25zLnNldChpZGVudGlmaWVyLCBXVEZNb3ZlKHNlc3Npb24pKTsK
IH0KIAotdm9pZCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk6OnJlbW92ZVNlc3Npb24oUmVt
b3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXIgaWQpCit2b2lkIFJlbW90ZUxlZ2FjeUNETUZh
Y3RvcnlQcm94eTo6cmVtb3ZlU2Vzc2lvbihSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmll
ciBpZGVudGlmaWVyKQogewotICAgIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKS5tZXNzYWdl
UmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZUxlZ2Fj
eUNETVNlc3Npb25Qcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBpZC50b1VJbnQ2NCgpKTsK
KyAgICBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVt
b3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHk6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgaWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIAotICAgIEFT
U0VSVChtX3Nlc3Npb25zLmNvbnRhaW5zKGlkKSk7Ci0gICAgbV9zZXNzaW9ucy5yZW1vdmUoaWQp
OworICAgIEFTU0VSVChtX3Nlc3Npb25zLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKKyAgICBtX3Nl
c3Npb25zLnJlbW92ZShpZGVudGlmaWVyKTsKIH0KIAotUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblBy
b3h5KiBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk6OmdldFNlc3Npb24oY29uc3QgUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXImIGlkKSBjb25zdAorUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvblByb3h5KiBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk6OmdldFNlc3Npb24oY29uc3Qg
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXImIGlkZW50aWZpZXIpIGNvbnN0CiB7Ci0g
ICAgYXV0byByZXN1bHRzID0gbV9zZXNzaW9ucy5maW5kKGlkKTsKKyAgICBhdXRvIHJlc3VsdHMg
PSBtX3Nlc3Npb25zLmZpbmQoaWRlbnRpZmllcik7CiAgICAgaWYgKHJlc3VsdHMgIT0gbV9zZXNz
aW9ucy5lbmQoKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdHMtPnZhbHVlLmdldCgpOwogICAgIHJl
dHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4K
aW5kZXggZGI2MDljOTNhMmI4MWQ3MmQyYTMwMGYyMjJlOWIzMjI4YWIyZTYxYy4uYmNlZDNjMWEy
Yjg3MmQwNjQzMWRjZDc5OWMzNDI0ZGQ4NDEwMTkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFj
dG9yeVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiAjaWYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKIAogbWVzc2FnZXMgLT4g
UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5IE5vdFJlZkNvdW50ZWQgewotICAgIENyZWF0ZUNE
TShTdHJpbmcga2V5U3lzdGVtLCBPcHRpb25hbDxXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZp
ZXI+IHBsYXllcklkKSAtPiAoV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyIGlkKSBT
eW5jaHJvbm91cworICAgIENyZWF0ZUNETShTdHJpbmcga2V5U3lzdGVtLCBPcHRpb25hbDxXZWJD
b3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXI+IHBsYXllcklkKSAtPiAoV2ViS2l0OjpSZW1vdGVM
ZWdhY3lDRE1JZGVudGlmaWVyIGlkZW50aWZpZXIpIFN5bmNocm9ub3VzCiAgICAgU3VwcG9ydHNL
ZXlTeXN0ZW0oU3RyaW5nIGtleVN5c3RlbSwgT3B0aW9uYWw8U3RyaW5nPiBtaW1lVHlwZSkgLT4g
KGJvb2wgcmVzdWx0KSBTeW5jaHJvbm91cwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggOWI0NmE4MjNkYjM0Y2EwMmE0ZTk2OGY1YTcxYjFiNzVjNmY4ZWU3NC4uYzRjZjQ1
ZDMyZTkwMzJiZWQzODY3ZjMyM2FkMDVlMzU5OTFhY2JiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5t
ZXNzYWdlcy5pbgpAQCAtMjUsNyArMjUsNyBAQAogCiBtZXNzYWdlcyAtPiBSZW1vdGVMZWdhY3lD
RE1Qcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBTdXBwb3J0c01JTUVUeXBlKFN0cmluZyBtaW1l
VHlwZSkgLT4gKGJvb2wgc3VwcG9ydHMpIFN5bmNocm9ub3VzCi0gICAgQ3JlYXRlU2Vzc2lvbihT
dHJpbmcgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkgLT4gKFdlYktpdDo6UmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvbklkZW50aWZpZXIgaWQpIFN5bmNocm9ub3VzCisgICAgQ3JlYXRlU2Vzc2lvbihT
dHJpbmcgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkgLT4gKFdlYktpdDo6UmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvbklkZW50aWZpZXIgaWRlbnRpZmllcikgU3luY2hyb25vdXMKICAgICBTZXRQbGF5
ZXJJZChPcHRpb25hbDxXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXI+IHBsYXllcklkKQog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAppbmRleCAxMTE4NTcyNTdjYzdiZjNj
MGYzNzBhN2RkMjlmMTFkN2RmYjFhMzJjLi4zZGFjMmJlMzA5NTQ5OGFlOTBiZjhmNmJiNGU3YzNh
OThkMDZkODA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKQEAgLTU5LDIyICs1
OSwyMiBAQCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6flJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5KCkKIHsKIH0KIAotdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eTo6Y3JlYXRlTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXJJZGVudGlmaWVyIGlkLCBNZWRpYVBsYXll
ckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgZW5naW5lSWRlbnRpZmllciwgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24mJiBwcm94eUNvbmZpZ3VyYXRpb24sIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpjcmVhdGVN
ZWRpYVBsYXllcihNZWRpYVBsYXllcklkZW50aWZpZXIgaWRlbnRpZmllciwgTWVkaWFQbGF5ZXJF
bnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIGVuZ2luZUlkZW50aWZpZXIsIFJlbW90ZU1lZGlh
UGxheWVyUHJveHlDb25maWd1cmF0aW9uJiYgcHJveHlDb25maWd1cmF0aW9uLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewotICAgIEFTU0VSVCghbV9wcm94aWVzLmNvbnRhaW5zKGlkKSk7CisgICAg
QVNTRVJUKCFtX3Byb3hpZXMuY29udGFpbnMoaWRlbnRpZmllcikpOwogCiAgICAgUmVtb3RlTWVk
aWFQbGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNvbmZpZ3VyYXRpb247CiAKLSAgICBhdXRvIHBy
b3h5ID0gbWFrZVVuaXF1ZTxSZW1vdGVNZWRpYVBsYXllclByb3h5PigqdGhpcywgaWQsIG1fZ3B1
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCksIGVuZ2luZUlkZW50aWZpZXIsIFdU
Rk1vdmUocHJveHlDb25maWd1cmF0aW9uKSk7CisgICAgYXV0byBwcm94eSA9IG1ha2VVbmlxdWU8
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eT4oKnRoaXMsIGlkZW50aWZpZXIsIG1fZ3B1Q29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCksIGVuZ2luZUlkZW50aWZpZXIsIFdURk1vdmUocHJv
eHlDb25maWd1cmF0aW9uKSk7CiAgICAgcHJveHktPmdldENvbmZpZ3VyYXRpb24ocGxheWVyQ29u
ZmlndXJhdGlvbik7Ci0gICAgbV9wcm94aWVzLmFkZChpZCwgV1RGTW92ZShwcm94eSkpOworICAg
IG1fcHJveGllcy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShwcm94eSkpOwogCiAgICAgY29tcGxl
dGlvbkhhbmRsZXIocGxheWVyQ29uZmlndXJhdGlvbik7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6OmRlbGV0ZU1lZGlhUGxheWVyKE1lZGlhUGxheWVySWRlbnRpZmll
ciBpZCkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmRlbGV0ZU1lZGlhUGxh
eWVyKE1lZGlhUGxheWVySWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIGlmIChhdXRvIHBy
b3h5ID0gbV9wcm94aWVzLnRha2UoaWQpKQorICAgIGlmIChhdXRvIHByb3h5ID0gbV9wcm94aWVz
LnRha2UoaWRlbnRpZmllcikpCiAgICAgICAgIHByb3h5LT5pbnZhbGlkYXRlKCk7CiB9CiAKQEAg
LTIwNCw5ICsyMDQsOSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpkaWRS
ZWNlaXZlU3luY1BsYXllck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJgogICAgICAgICBwbGF5ZXIt
PmRpZFJlY2VpdmVTeW5jTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyLCBlbmNvZGVyKTsKIH0K
IAotUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6
OmdldFByb3h5KGNvbnN0IE1lZGlhUGxheWVySWRlbnRpZmllciYgaWQpCitSZW1vdGVNZWRpYVBs
YXllclByb3h5KiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6Z2V0UHJveHkoY29uc3Qg
TWVkaWFQbGF5ZXJJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogewotICAgIGF1dG8gcmVzdWx0cyA9
IG1fcHJveGllcy5maW5kKGlkKTsKKyAgICBhdXRvIHJlc3VsdHMgPSBtX3Byb3hpZXMuZmluZChp
ZGVudGlmaWVyKTsKICAgICBpZiAocmVzdWx0cyAhPSBtX3Byb3hpZXMuZW5kKCkpCiAgICAgICAg
IHJldHVybiByZXN1bHRzLT52YWx1ZS5nZXQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ZGYzNTZhNGNi
YmM2M2Q0NWI2N2IwNWJjYzAyYmQ4MDI3M2Y3Nzg5Li5kMzNkZGEzOWYwNWY1MzY5ZmFjZTExYWNh
ZTE4ZWJiYTA4Yjg2MWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1l
c3NhZ2VzLmluCkBAIC0yNCw4ICsyNCw4IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBt
ZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBOb3RSZWZDb3VudGVkIHsK
LSAgICBDcmVhdGVNZWRpYVBsYXllcihXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXIgaWQs
IGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50
aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgc3RydWN0IFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24gcHJveHlDb25maWd1cmF0aW9uKSAtPiAoc3RydWN0IFdl
YktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNvbmZpZ3VyYXRpb24p
IEFzeW5jCi0gICAgRGVsZXRlTWVkaWFQbGF5ZXIoV2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlm
aWVyIGlkKQorICAgIENyZWF0ZU1lZGlhUGxheWVyKFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRp
ZmllciBpZGVudGlmaWVyLCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6
TWVkaWFFbmdpbmVJZGVudGlmaWVyIHJlbW90ZUVuZ2luZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJL
aXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uIHByb3h5Q29uZmlndXJhdGlv
bikgLT4gKHN0cnVjdCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiBwbGF5
ZXJDb25maWd1cmF0aW9uKSBBc3luYworICAgIERlbGV0ZU1lZGlhUGxheWVyKFdlYkNvcmU6Ok1l
ZGlhUGxheWVySWRlbnRpZmllciBpZGVudGlmaWVyKQogCiAgICAgR2V0U3VwcG9ydGVkVHlwZXMo
ZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRp
ZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyKSAtPiAoVmVjdG9yPFN0cmluZz4gdHlwZXMpIFN5
bmNocm9ub3VzCiAgICAgU3VwcG9ydHNUeXBlQW5kQ29kZWNzKGVudW06dWludDhfdCBXZWJDb3Jl
OjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRl
bnRpZmllciwgc3RydWN0IFdlYkNvcmU6Ok1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMgdHlw
ZSkgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5
cGUgc3VwcG9ydCkgU3luY2hyb25vdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA3NmIwODgyYWU2
NTYxZjkyNjY2YjhmZTVlNTBkZWQwMDEzNjQ1YTUwLi5jYzdjYjEyMjZkODU0MjViMDM0ZmVkZWM2
NTkwMjlhYTg5MjRhYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC02Myw4ICs2Myw4IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eShSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eSYgbWFuYWdlciwgTWVkaWFQbGF5ZXJJZGVudGlmaWVyIGlkLCBSZWY8SVBDOjpD
b25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIE1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRl
bnRpZmllciBlbmdpbmVJZGVudGlmaWVyLCBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJh
dGlvbiYmIGNvbmZpZ3VyYXRpb24pCi0gICAgOiBtX2lkKGlkKQorUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eShSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eSYgbWFuYWdlciwgTWVkaWFQbGF5ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlZjxJUEM6OkNv
bm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVu
dGlmaWVyIGVuZ2luZUlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0
aW9uJiYgY29uZmlndXJhdGlvbikKKyAgICA6IG1faWQoaWRlbnRpZmllcikKICAgICAsIG1fd2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0aW9uKSkKICAgICAsIG1fbWFuYWdlciht
YW5hZ2VyKQogICAgICwgbV9lbmdpbmVJZGVudGlmaWVyKGVuZ2luZUlkZW50aWZpZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZS5jcHAKaW5kZXggN2RiMzZjN2RkY2JiZDIyYjg3ZWI3NDE4ZDU1MjI1YzgzY2QxNTk2Ny4uM2M5
ZjMzZmEwOGFhNzlmYjRkZTM1OWNhYjMyNWQ2ZmE0YjE2YzBjZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlLmNwcApAQCAt
MzYsMTUgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotUmVmPFJlbW90ZU1lZGlhUmVzb3VyY2U+IFJlbW90ZU1lZGlhUmVzb3VyY2U6OmNy
ZWF0ZShSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciYgcmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFn
ZXIsIFJlbW90ZU1lZGlhUGxheWVyUHJveHkmIHJlbW90ZU1lZGlhUGxheWVyUHJveHksIFJlbW90
ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIGlkKQorUmVmPFJlbW90ZU1lZGlhUmVzb3VyY2U+IFJl
bW90ZU1lZGlhUmVzb3VyY2U6OmNyZWF0ZShSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciYgcmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIsIFJlbW90ZU1lZGlhUGxheWVyUHJveHkmIHJlbW90ZU1l
ZGlhUGxheWVyUHJveHksIFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVtb3RlTWVkaWFSZXNvdXJjZShyZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlciwgcmVtb3RlTWVkaWFQbGF5ZXJQcm94eSwgaWQpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVNZWRpYVJlc291cmNlKHJlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLCByZW1vdGVNZWRpYVBsYXllclByb3h5LCBpZGVudGlmaWVyKSk7CiB9CiAKLVJl
bW90ZU1lZGlhUmVzb3VyY2U6OlJlbW90ZU1lZGlhUmVzb3VyY2UoUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXImIHJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLCBSZW1vdGVNZWRpYVBsYXllclBy
b3h5JiByZW1vdGVNZWRpYVBsYXllclByb3h5LCBSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmll
ciBpZCkKK1JlbW90ZU1lZGlhUmVzb3VyY2U6OlJlbW90ZU1lZGlhUmVzb3VyY2UoUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXImIHJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLCBSZW1vdGVNZWRp
YVBsYXllclByb3h5JiByZW1vdGVNZWRpYVBsYXllclByb3h5LCBSZW1vdGVNZWRpYVJlc291cmNl
SWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIDogbV9yZW1vdGVNZWRpYVJlc291cmNlTWFuYWdl
cihyZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlcikKICAgICAsIG1fcmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eShtYWtlV2Vha1B0cihyZW1vdGVNZWRpYVBsYXllclByb3h5KSkKLSAgICAsIG1faWQoaWQp
CisgICAgLCBtX2lkKGlkZW50aWZpZXIpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3Bw
CmluZGV4IDA4Y2I0OTY0OWZhZTc2YzIzMTNmMDAxNmM2NWFkYWM3YzQ5MzYyZTYuLmE5OGNmYTRj
OWY4MDIzMTkwNGY4ZWYwZWFhOTM2MjI5YWZhOTc1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2Vy
LmNwcApAQCAtNTksOSArNTksOSBAQCB2b2lkIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOjpy
ZW1vdmVNZWRpYVJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaQogICAgIG1fcmVt
b3RlTWVkaWFSZXNvdXJjZXMucmVtb3ZlKHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKTsK
IH0KIAotdm9pZCBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlcjo6cmVzcG9uc2VSZWNlaXZlZChS
ZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBpZCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIGJvb2wgZGlkUGFzc0FjY2Vzc0NvbnRyb2xDaGVjaywgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChTaG91bGRDb250aW51ZVBvbGljeUNoZWNrKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
K3ZvaWQgUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXI6OnJlc3BvbnNlUmVjZWl2ZWQoUmVtb3Rl
TWVkaWFSZXNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIGJvb2wgZGlkUGFzc0FjY2Vzc0NvbnRyb2xDaGVjaywgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChTaG91bGRDb250aW51ZVBvbGljeUNoZWNrKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKLSAgICBhdXRvKiByZXNvdXJjZSA9IG1fcmVtb3RlTWVkaWFSZXNvdXJjZXMuZ2V0KGlk
KTsKKyAgICBhdXRvKiByZXNvdXJjZSA9IG1fcmVtb3RlTWVkaWFSZXNvdXJjZXMuZ2V0KGlkZW50
aWZpZXIpOwogICAgIGlmICghcmVzb3VyY2UgfHwgIXJlc291cmNlLT5yZWFkeSgpKSB7CiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKFNob3VsZENvbnRpbnVlUG9saWN5Q2hlY2s6Ok5vKTsKICAg
ICAgICAgcmV0dXJuOwpAQCAtNzAsOSArNzAsOSBAQCB2b2lkIFJlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyOjpyZXNwb25zZVJlY2VpdmVkKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyCiAg
ICAgcmVzb3VyY2UtPnJlc3BvbnNlUmVjZWl2ZWQocmVzcG9uc2UsIGRpZFBhc3NBY2Nlc3NDb250
cm9sQ2hlY2ssIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlcjo6cmVkaXJlY3RSZWNlaXZlZChSZW1vdGVNZWRpYVJlc291cmNl
SWRlbnRpZmllciBpZCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBSZW1vdGVNZWRpYVJlc291
cmNlTWFuYWdlcjo6cmVkaXJlY3RSZWNlaXZlZChSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmll
ciBpZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byogcmVzb3VyY2Ug
PSBtX3JlbW90ZU1lZGlhUmVzb3VyY2VzLmdldChpZCk7CisgICAgYXV0byogcmVzb3VyY2UgPSBt
X3JlbW90ZU1lZGlhUmVzb3VyY2VzLmdldChpZGVudGlmaWVyKTsKICAgICBpZiAoIXJlc291cmNl
IHx8ICFyZXNvdXJjZS0+cmVhZHkoKSkgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0p
OwogICAgICAgICByZXR1cm47CkBAIC04MSw0NSArODEsNDUgQEAgdm9pZCBSZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlcjo6cmVkaXJlY3RSZWNlaXZlZChSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRp
ZmllcgogICAgIHJlc291cmNlLT5yZWRpcmVjdFJlY2VpdmVkKFdURk1vdmUocmVxdWVzdCksIHJl
c3BvbnNlLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXI6OmRhdGFTZW50KFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVy
IGlkLCB1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKK3Zv
aWQgUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXI6OmRhdGFTZW50KFJlbW90ZU1lZGlhUmVzb3Vy
Y2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90
YWxCeXRlc1RvQmVTZW50KQogewotICAgIGF1dG8qIHJlc291cmNlID0gbV9yZW1vdGVNZWRpYVJl
c291cmNlcy5nZXQoaWQpOworICAgIGF1dG8qIHJlc291cmNlID0gbV9yZW1vdGVNZWRpYVJlc291
cmNlcy5nZXQoaWRlbnRpZmllcik7CiAgICAgaWYgKCFyZXNvdXJjZSB8fCAhcmVzb3VyY2UtPnJl
YWR5KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlc291cmNlLT5kYXRhU2VudChieXRlc1Nl
bnQsIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFSZXNvdXJjZU1h
bmFnZXI6OmRhdGFSZWNlaXZlZChSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBpZCwgY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQordm9pZCBSZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlcjo6ZGF0YVJlY2VpdmVkKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKIHsKLSAgICBhdXRvKiByZXNvdXJj
ZSA9IG1fcmVtb3RlTWVkaWFSZXNvdXJjZXMuZ2V0KGlkKTsKKyAgICBhdXRvKiByZXNvdXJjZSA9
IG1fcmVtb3RlTWVkaWFSZXNvdXJjZXMuZ2V0KGlkZW50aWZpZXIpOwogICAgIGlmICghcmVzb3Vy
Y2UgfHwgIXJlc291cmNlLT5yZWFkeSgpKQogICAgICAgICByZXR1cm47CiAKICAgICByZXNvdXJj
ZS0+ZGF0YVJlY2VpdmVkKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGRhdGEuZGF0YSgp
KSwgZGF0YS5zaXplKCkpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOjph
Y2Nlc3NDb250cm9sQ2hlY2tGYWlsZWQoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIgaWQs
IGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBSZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlcjo6YWNjZXNzQ29udHJvbENoZWNrRmFpbGVkKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlm
aWVyIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewotICAgIGF1dG8q
IHJlc291cmNlID0gbV9yZW1vdGVNZWRpYVJlc291cmNlcy5nZXQoaWQpOworICAgIGF1dG8qIHJl
c291cmNlID0gbV9yZW1vdGVNZWRpYVJlc291cmNlcy5nZXQoaWRlbnRpZmllcik7CiAgICAgaWYg
KCFyZXNvdXJjZSB8fCAhcmVzb3VyY2UtPnJlYWR5KCkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IHJlc291cmNlLT5hY2Nlc3NDb250cm9sQ2hlY2tGYWlsZWQoZXJyb3IpOwogfQogCi12b2lkIFJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOjpsb2FkRmFpbGVkKFJlbW90ZU1lZGlhUmVzb3VyY2VJ
ZGVudGlmaWVyIGlkLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKK3ZvaWQgUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXI6OmxvYWRGYWlsZWQoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZp
ZXIgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgYXV0byog
cmVzb3VyY2UgPSBtX3JlbW90ZU1lZGlhUmVzb3VyY2VzLmdldChpZCk7CisgICAgYXV0byogcmVz
b3VyY2UgPSBtX3JlbW90ZU1lZGlhUmVzb3VyY2VzLmdldChpZGVudGlmaWVyKTsKICAgICBpZiAo
IXJlc291cmNlIHx8ICFyZXNvdXJjZS0+cmVhZHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
cmVzb3VyY2UtPmxvYWRGYWlsZWQoZXJyb3IpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyOjpsb2FkRmluaXNoZWQoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIgaWQs
IGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbWV0cmljcykKK3ZvaWQgUmVtb3RlTWVkaWFSZXNv
dXJjZU1hbmFnZXI6OmxvYWRGaW5pc2hlZChSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7Ci0gICAgYXV0
byogcmVzb3VyY2UgPSBtX3JlbW90ZU1lZGlhUmVzb3VyY2VzLmdldChpZCk7CisgICAgYXV0byog
cmVzb3VyY2UgPSBtX3JlbW90ZU1lZGlhUmVzb3VyY2VzLmdldChpZGVudGlmaWVyKTsKICAgICBp
ZiAoIXJlc291cmNlIHx8ICFyZXNvdXJjZS0+cmVhZHkoKSkKICAgICAgICAgcmV0dXJuOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNv
dXJjZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMDlmYzRjMGE3Mzg0
YzBhYzM5MjcwMGFkZmQ2ZmU2YmJhNGQ5ZDVkZi4uYTlhNDVjMjFlNDYxMjYyZmEyNjRjY2VhODY5
ZDgxZmNmZmUxNzc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5p
bgpAQCAtMjYsMTMgKzI2LDEzIEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdl
cyAtPiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKLSAgICBSZXNw
b25zZVJlY2VpdmVkKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIgaWQsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIGJvb2wgZGlkUGFzc0FjY2Vzc0NvbnRy
b2xDaGVjaykgLT4gKGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRDb250aW51ZVBvbGljeUNoZWNr
IHNob3VsZENvbnRpbnVlKSBBc3luYwotICAgIFJlZGlyZWN0UmVjZWl2ZWQoV2ViS2l0OjpSZW1v
dGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UpIC0+IChXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmV0dXJuUmVxdWVzdCkgQXN5bmMKLSAgICBEYXRhU2VudChXZWJLaXQ6
OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIGlkLCB1aW50NjRfdCBieXRlc1NlbnQsIHVp
bnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEYXRhUmVjZWl2ZWQoV2ViS2l0OjpSZW1v
dGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBpZCwgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCi0g
ICAgQWNjZXNzQ29udHJvbENoZWNrRmFpbGVkKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlk
ZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCi0gICAgTG9hZEZhaWxl
ZChXZWJLaXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yIGVycm9yKQotICAgIExvYWRGaW5pc2hlZChXZWJLaXQ6OlJlbW90ZU1lZGlhUmVz
b3VyY2VJZGVudGlmaWVyIGlkLCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MgbWV0cmljcykK
KyAgICBSZXNwb25zZVJlY2VpdmVkKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZp
ZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgYm9vbCBk
aWRQYXNzQWNjZXNzQ29udHJvbENoZWNrKSAtPiAoZW51bTpib29sIFdlYkNvcmU6OlNob3VsZENv
bnRpbnVlUG9saWN5Q2hlY2sgc2hvdWxkQ29udGludWUpIEFzeW5jCisgICAgUmVkaXJlY3RSZWNl
aXZlZChXZWJLaXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
IHJlc3BvbnNlKSAtPiAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJldHVyblJlcXVlc3QpIEFz
eW5jCisgICAgRGF0YVNlbnQoV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBp
ZGVudGlmaWVyLCB1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2Vu
dCkKKyAgICBEYXRhUmVjZWl2ZWQoV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmll
ciBpZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKKyAgICBBY2Nlc3NDb250cm9s
Q2hlY2tGYWlsZWQoV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBpZGVudGlm
aWVyLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQorICAgIExvYWRGYWlsZWQoV2ViS2l0
OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yIGVycm9yKQorICAgIExvYWRGaW5pc2hlZChXZWJLaXQ6OlJlbW90ZU1lZGlhUmVz
b3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyBt
ZXRyaWNzKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVUZXh0VHJhY2tQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNrUHJveHkuY3BwCmluZGV4IDU5NDgyODYyYjIxOTcwODM4
YjJiMTc2NGVmNWQ2MTVmNDgyYTUwMmEuLmJlY2RjMjJjMzA5MmExMGJiZDg3MTgyNGEwMmIzYWMx
NDZmNzIwMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVUZXh0VHJhY2tQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVRleHRUcmFja1Byb3h5LmNwcApAQCAtNDEsOSArNDEsOSBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlbW90ZVRleHRUcmFja1Byb3h5
OjpSZW1vdGVUZXh0VHJhY2tQcm94eShSZW1vdGVNZWRpYVBsYXllclByb3h5JiBwbGF5ZXIsIFRy
YWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQsIFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYgY29u
bmVjdGlvbiwgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZSYgdHJhY2tQcml2YXRlKQorUmVtb3RlVGV4
dFRyYWNrUHJveHk6OlJlbW90ZVRleHRUcmFja1Byb3h5KFJlbW90ZU1lZGlhUGxheWVyUHJveHkm
IHBsYXllciwgVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZWY8SVBD
OjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIEluYmFuZFRleHRUcmFja1ByaXZhdGUmIHRyYWNr
UHJpdmF0ZSkKICAgICA6IG1fcGxheWVyKHBsYXllcikKLSAgICAsIG1faWRlbnRpZmllcihpZCkK
KyAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQogICAgICwgbV93ZWJQcm9jZXNzQ29ubmVj
dGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQogICAgICwgbV90cmFja1ByaXZhdGUodHJhY2tQcml2
YXRlKQogewpAQCAtNTUsNyArNTUsNyBAQCBUZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJh
dGlvbiYgUmVtb3RlVGV4dFRyYWNrUHJveHk6OmNvbmZpZ3VyYXRpb24oKQogewogICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxUZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbj4gY29u
ZmlndXJhdGlvbjsKIAotICAgIGNvbmZpZ3VyYXRpb24tPmlkID0gbV90cmFja1ByaXZhdGUtPmlk
KCk7CisgICAgY29uZmlndXJhdGlvbi0+aWRlbnRpZmllciA9IG1fdHJhY2tQcml2YXRlLT5pZCgp
OwogICAgIGNvbmZpZ3VyYXRpb24tPmxhYmVsID0gbV90cmFja1ByaXZhdGUtPmxhYmVsKCk7CiAg
ICAgY29uZmlndXJhdGlvbi0+bGFuZ3VhZ2UgPSBtX3RyYWNrUHJpdmF0ZS0+bGFuZ3VhZ2UoKTsK
ICAgICBjb25maWd1cmF0aW9uLT50cmFja0luZGV4ID0gbV90cmFja1ByaXZhdGUtPnRyYWNrSW5k
ZXgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVU
ZXh0VHJhY2tQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVRl
eHRUcmFja1Byb3h5LmgKaW5kZXggOTcxZTdmNjQ4OWIzM2E1Mzg4YmVjZjkxODlhYjllNzljYTcz
MjJlNS4uMTE1Yzg5YmYwMGExYThkMzAzZThjNTE5Y2ZjYzVhMWUwNjcxMGY0ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVRleHRUcmFja1Byb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVRleHRUcmFja1Byb3h5
LmgKQEAgLTQ3LDkgKzQ3LDkgQEAgY2xhc3MgUmVtb3RlVGV4dFRyYWNrUHJveHkgZmluYWwKICAg
ICA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxSZW1vdGVUZXh0VHJhY2tQcm94eSwgV1RG
OjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4KICAgICAsIHByaXZhdGUgV2ViQ29yZTo6SW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxSZW1vdGVU
ZXh0VHJhY2tQcm94eT4gY3JlYXRlKFJlbW90ZU1lZGlhUGxheWVyUHJveHkmIHBsYXllciwgVHJh
Y2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25u
ZWN0aW9uLCBXZWJDb3JlOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlJiB0cmFja1ByaXZhdGUpCisg
ICAgc3RhdGljIFJlZjxSZW1vdGVUZXh0VHJhY2tQcm94eT4gY3JlYXRlKFJlbW90ZU1lZGlhUGxh
eWVyUHJveHkmIHBsYXllciwgVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZGVudGlmaWVy
LCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFdlYkNvcmU6OkluYmFuZFRleHRU
cmFja1ByaXZhdGUmIHRyYWNrUHJpdmF0ZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFJlbW90ZVRleHRUcmFja1Byb3h5KHBsYXllciwgaWQsIFdURk1vdmUoY29ubmVjdGlv
biksIHRyYWNrUHJpdmF0ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVU
ZXh0VHJhY2tQcm94eShwbGF5ZXIsIGlkZW50aWZpZXIsIFdURk1vdmUoY29ubmVjdGlvbiksIHRy
YWNrUHJpdmF0ZSkpOwogICAgIH0KIAogICAgIFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIg
aWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb1RyYWNrUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJhY2tQcm94eS5j
cHAKaW5kZXggMzg1Njc1YzkzODFjZDEyMGQ5YjI0NmViN2M4ZGRiMDczYWUxMmZiOS4uNWM0NmVl
Y2FhMTU5ZjBmM2I3NDkwM2YyZjY3MDIyOTRlZjJkODI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJhY2tQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJhY2tQcm94eS5jcHAKQEAg
LTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCi1SZW1vdGVWaWRlb1RyYWNrUHJveHk6OlJlbW90ZVZpZGVvVHJhY2tQcm94eShSZW1v
dGVNZWRpYVBsYXllclByb3h5JiBwbGF5ZXIsIFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIg
aWQsIFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgVmlkZW9UcmFja1ByaXZhdGUm
IHRyYWNrUHJpdmF0ZSkKK1JlbW90ZVZpZGVvVHJhY2tQcm94eTo6UmVtb3RlVmlkZW9UcmFja1By
b3h5KFJlbW90ZU1lZGlhUGxheWVyUHJveHkmIHBsYXllciwgVHJhY2tQcml2YXRlUmVtb3RlSWRl
bnRpZmllciBpZGVudGlmaWVyLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFZp
ZGVvVHJhY2tQcml2YXRlJiB0cmFja1ByaXZhdGUpCiAgICAgOiBtX3BsYXllcihwbGF5ZXIpCi0g
ICAgLCBtX2lkZW50aWZpZXIoaWQpCisgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKICAg
ICAsIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0aW9uKSkKICAgICAsIG1f
dHJhY2tQcml2YXRlKHRyYWNrUHJpdmF0ZSkKIHsKQEAgLTUxLDcgKzUxLDcgQEAgVHJhY2tQcml2
YXRlUmVtb3RlQ29uZmlndXJhdGlvbiYgUmVtb3RlVmlkZW9UcmFja1Byb3h5Ojpjb25maWd1cmF0
aW9uKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VHJhY2tQcml2YXRlUmVtb3RlQ29u
ZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbjsKIAotICAgIGNvbmZpZ3VyYXRpb24tPmlkID0gbV90
cmFja1ByaXZhdGUtPmlkKCk7CisgICAgY29uZmlndXJhdGlvbi0+aWRlbnRpZmllciA9IG1fdHJh
Y2tQcml2YXRlLT5pZCgpOwogICAgIGNvbmZpZ3VyYXRpb24tPmxhYmVsID0gbV90cmFja1ByaXZh
dGUtPmxhYmVsKCk7CiAgICAgY29uZmlndXJhdGlvbi0+bGFuZ3VhZ2UgPSBtX3RyYWNrUHJpdmF0
ZS0+bGFuZ3VhZ2UoKTsKICAgICBjb25maWd1cmF0aW9uLT50cmFja0luZGV4ID0gbV90cmFja1By
aXZhdGUtPnRyYWNrSW5kZXgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVWaWRlb1RyYWNrUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVWaWRlb1RyYWNrUHJveHkuaAppbmRleCBjNmUxOTM0ZjVkZmZiMDllZjI5
YmRlOTExMTljYzdjMDQ4ODM4MWE4Li5kZGYwMmM4ZmU4MzJkYzNlZGZiYjllYzBkNTViNTI2NDlk
YjJiNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9UcmFja1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVZpZGVvVHJhY2tQcm94eS5oCkBAIC00NSw5ICs0NSw5IEBAIGNsYXNzIFJlbW90ZVZpZGVv
VHJhY2tQcm94eSBmaW5hbAogICAgIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFJlbW90
ZVZpZGVvVHJhY2tQcm94eSwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4KICAgICAsIHBy
aXZhdGUgV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZhdGVDbGllbnQgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8UmVtb3RlVmlkZW9UcmFja1Byb3h5PiBjcmVhdGUoUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eSYgcGxheWVyLCBUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkLCBSZWY8SVBDOjpD
b25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFdlYkNvcmU6OlZpZGVvVHJhY2tQcml2YXRlJiB0cmFj
a1ByaXZhdGUpCisgICAgc3RhdGljIFJlZjxSZW1vdGVWaWRlb1RyYWNrUHJveHk+IGNyZWF0ZShS
ZW1vdGVNZWRpYVBsYXllclByb3h5JiBwbGF5ZXIsIFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZp
ZXIgaWRlbnRpZmllciwgUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uLCBXZWJDb3Jl
OjpWaWRlb1RyYWNrUHJpdmF0ZSYgdHJhY2tQcml2YXRlKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUmVtb3RlVmlkZW9UcmFja1Byb3h5KHBsYXllciwgaWQsIFdURk1vdmUo
Y29ubmVjdGlvbiksIHRyYWNrUHJpdmF0ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSZW1vdGVWaWRlb1RyYWNrUHJveHkocGxheWVyLCBpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbm5l
Y3Rpb24pLCB0cmFja1ByaXZhdGUpKTsKICAgICB9CiAKICAgICBUcmFja1ByaXZhdGVSZW1vdGVJ
ZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvVGV4dFRyYWNrUHJpdmF0
ZVJlbW90ZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9U
ZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbi5oCmluZGV4IDQ0OTYzOWEwZmI5NGQ4
MWY5NjZlYjU3MzYzMjE0YmJiMGJmYTlhMTcuLmMxMzljZmMxNGI0NzFmYjI1OGRiYmU4MTgyYjNk
NWM2MjE2MmI1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9U
ZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbi5oCkBA
IC0zNCw3ICszNCw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IFRleHRUcmFja1By
aXZhdGVSZW1vdGVDb25maWd1cmF0aW9uIHsKLSAgICBBdG9tU3RyaW5nIGlkOworICAgIEF0b21T
dHJpbmcgaWRlbnRpZmllcjsKICAgICBBdG9tU3RyaW5nIGxhYmVsOwogICAgIEF0b21TdHJpbmcg
bGFuZ3VhZ2U7CiAgICAgQXRvbVN0cmluZyBpbkJhbmRNZXRhZGF0YVRyYWNrRGlzcGF0Y2hUeXBl
OwpAQCAtNTUsNyArNTUsNyBAQCBzdHJ1Y3QgVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3Vy
YXRpb24gewogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7Ci0gICAgICAgIGVuY29kZXIgPDwgaWQ7CisgICAg
ICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsKICAgICAgICAgZW5jb2RlciA8PCBsYWJlbDsKICAg
ICAgICAgZW5jb2RlciA8PCBsYW5ndWFnZTsKICAgICAgICAgZW5jb2RlciA8PCBpbkJhbmRNZXRh
ZGF0YVRyYWNrRGlzcGF0Y2hUeXBlOwpAQCAtNzUsOSArNzUsOSBAQCBzdHJ1Y3QgVGV4dFRyYWNr
UHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24gewogICAgIHRlbXBsYXRlIDxjbGFzcyBEZWNvZGVy
PgogICAgIHN0YXRpYyBPcHRpb25hbDxUZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlv
bj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgewotICAgICAgICBPcHRpb25hbDxBdG9t
U3RyaW5nPiBpZDsKLSAgICAgICAgZGVjb2RlciA+PiBpZDsKLSAgICAgICAgaWYgKCFpZCkKKyAg
ICAgICAgT3B0aW9uYWw8QXRvbVN0cmluZz4gaWRlbnRpZmllcjsKKyAgICAgICAgZGVjb2RlciA+
PiBpZGVudGlmaWVyOworICAgICAgICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgICAgIE9wdGlvbmFsPEF0b21TdHJpbmc+IGxhYmVsOwpA
QCAtMTUxLDcgKzE1MSw3IEBAIHN0cnVjdCBUZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJh
dGlvbiB7CiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgICAgIHJldHVy
biB7ewotICAgICAgICAgICAgV1RGTW92ZSgqaWQpLAorICAgICAgICAgICAgV1RGTW92ZSgqaWRl
bnRpZmllciksCiAgICAgICAgICAgICBXVEZNb3ZlKCpsYWJlbCksCiAgICAgICAgICAgICBXVEZN
b3ZlKCpsYW5ndWFnZSksCiAgICAgICAgICAgICBXVEZNb3ZlKCppbkJhbmRNZXRhZGF0YVRyYWNr
RGlzcGF0Y2hUeXBlKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9UcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvVHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbi5oCmluZGV4IDYzZGRi
NWJlZDU3ZDZjOTkzZmQ1NTYyYjlhZWQ2NzIwNzA4YzcyODAuLjQ0NDIyYjMwMTRmMjAyMjE2YmVk
NmE1N2EzZjhlZGQ3OTQ4ZTkyNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9UcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1RyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24uaApA
QCAtMzQsNyArMzQsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBUcmFja1ByaXZh
dGVSZW1vdGVDb25maWd1cmF0aW9uIHsKLSAgICBBdG9tU3RyaW5nIGlkOworICAgIEF0b21TdHJp
bmcgaWRlbnRpZmllcjsKICAgICBBdG9tU3RyaW5nIGxhYmVsOwogICAgIEF0b21TdHJpbmcgbGFu
Z3VhZ2U7CiAgICAgTWVkaWFUaW1lIHN0YXJ0VGltZVZhcmlhbmNlIHsgTWVkaWFUaW1lOjp6ZXJv
VGltZSgpIH07CkBAIC00OSw3ICs0OSw3IEBAIHN0cnVjdCBUcmFja1ByaXZhdGVSZW1vdGVDb25m
aWd1cmF0aW9uIHsKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewotICAgICAgICBlbmNvZGVyIDw8IGlkOwor
ICAgICAgICBlbmNvZGVyIDw8IGlkZW50aWZpZXI7CiAgICAgICAgIGVuY29kZXIgPDwgbGFiZWw7
CiAgICAgICAgIGVuY29kZXIgPDwgbGFuZ3VhZ2U7CiAgICAgICAgIGVuY29kZXIgPDwgc3RhcnRU
aW1lVmFyaWFuY2U7CkBAIC02Myw5ICs2Myw5IEBAIHN0cnVjdCBUcmFja1ByaXZhdGVSZW1vdGVD
b25maWd1cmF0aW9uIHsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KICAgICBzdGF0aWMg
T3B0aW9uYWw8VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCiAgICAgewotICAgICAgICBPcHRpb25hbDxBdG9tU3RyaW5nPiBpZDsKLSAgICAg
ICAgZGVjb2RlciA+PiBpZDsKLSAgICAgICAgaWYgKCFpZCkKKyAgICAgICAgT3B0aW9uYWw8QXRv
bVN0cmluZz4gaWRlbnRpZmllcjsKKyAgICAgICAgZGVjb2RlciA+PiBpZGVudGlmaWVyOworICAg
ICAgICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
CiAgICAgICAgIE9wdGlvbmFsPEF0b21TdHJpbmc+IGxhYmVsOwpAQCAtMTA5LDcgKzEwOSw3IEBA
IHN0cnVjdCBUcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uIHsKICAgICAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICAgICAgcmV0dXJuIHt7Ci0gICAgICAgICAgICBXVEZN
b3ZlKCppZCksCisgICAgICAgICAgICBXVEZNb3ZlKCppZGVudGlmaWVyKSwKICAgICAgICAgICAg
IFdURk1vdmUoKmxhYmVsKSwKICAgICAgICAgICAgIFdURk1vdmUoKmxhbmd1YWdlKSwKICAgICAg
ICAgICAgIFdURk1vdmUoKnN0YXJ0VGltZVZhcmlhbmNlKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvQXVkaW9UcmFja1ByaXZhdGVSZW1vdGUuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9BdWRpb1RyYWNrUHJpdmF0ZVJlbW90
ZS5jcHAKaW5kZXggNjhhNTQzNDIxZDc5ZDNkY2YzZTNjMTY3MDMxMWU5YjdiYzUxMTE3NC4uM2Rm
MGIxYzA5YjM0YTc3ODhmOTEwYTQyYTA1NWNhNTAwYWE5NWJmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9BdWRpb1RyYWNrUHJpdmF0ZVJlbW90ZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9BdWRpb1RyYWNrUHJpdmF0
ZVJlbW90ZS5jcHAKQEAgLTUyLDkgKzUyLDkgQEAgdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZVJlbW90
ZTo6c2V0RW5hYmxlZChib29sIGVuYWJsZWQpCiAKIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVSZW1v
dGU6OnVwZGF0ZUNvbmZpZ3VyYXRpb24oVHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbiYm
IGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgaWYgKGNvbmZpZ3VyYXRpb24uaWQgIT0gbV9pZCkgewor
ICAgIGlmIChjb25maWd1cmF0aW9uLmlkZW50aWZpZXIgIT0gbV9pZCkgewogICAgICAgICBhdXRv
IGNoYW5nZWQgPSAhbV9pZC5pc0VtcHR5KCk7Ci0gICAgICAgIG1faWQgPSBjb25maWd1cmF0aW9u
LmlkOworICAgICAgICBtX2lkID0gY29uZmlndXJhdGlvbi5pZGVudGlmaWVyOwogICAgICAgICBp
ZiAoY2hhbmdlZCAmJiBjbGllbnQoKSkKICAgICAgICAgICAgIGNsaWVudCgpLT5pZENoYW5nZWQo
bV9pZCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDNiYmM3MTIw
NjFkMTQzNjAyNDAyMDg4ZDllZmE1ZjYxMjE3ZTc3NzQuLjA5ZDE0ZDFiM2IwYzA4M2RiOTEyZGY0
MjI4MzRhMzRiMjkwZWU4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTQ5
NCwxMSArNDk0LDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVSZW1v
dGVUZXh0VHJhY2soVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllCiAgICAgfQogfQogCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVtb3RlVGV4dFRyYWNrQ29uZmlndXJhdGlvbkNo
YW5nZWQoVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgVGV4dFRyYWNrUHJpdmF0ZVJl
bW90ZUNvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uKQordm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnJlbW90ZVRleHRUcmFja0NvbmZpZ3VyYXRpb25DaGFuZ2VkKFRyYWNrUHJpdmF0
ZVJlbW90ZUlkZW50aWZpZXIgaWRlbnRpZmllciwgVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZp
Z3VyYXRpb24mJiBjb25maWd1cmF0aW9uKQogewotICAgIEFTU0VSVChtX3RleHRUcmFja3MuY29u
dGFpbnMoaWQpKTsKKyAgICBBU1NFUlQobV90ZXh0VHJhY2tzLmNvbnRhaW5zKGlkZW50aWZpZXIp
KTsKIAotICAgIGlmIChhdXRvIHRyYWNrID0gbV90ZXh0VHJhY2tzLmdldChpZCkpCisgICAgaWYg
KGF1dG8gdHJhY2sgPSBtX3RleHRUcmFja3MuZ2V0KGlkZW50aWZpZXIpKQogICAgICAgICB0cmFj
ay0+dXBkYXRlQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsKIH0KIApAQCAt
NTk3LDIxICs1OTcsMjEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFkZFJlbW90
ZVZpZGVvVHJhY2soVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllcgogICAgIG1fcGxheWVyLT5h
ZGRWaWRlb1RyYWNrKGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUpOwogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVtb3ZlUmVtb3RlVmlkZW9UcmFjayhUcmFja1ByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyIGlkKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW92
ZVJlbW90ZVZpZGVvVHJhY2soVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZGVudGlmaWVy
KQogewotICAgIEFTU0VSVChtX3ZpZGVvVHJhY2tzLmNvbnRhaW5zKGlkKSk7CisgICAgQVNTRVJU
KG1fdmlkZW9UcmFja3MuY29udGFpbnMoaWRlbnRpZmllcikpOwogCi0gICAgaWYgKGF1dG8qIHRy
YWNrID0gbV92aWRlb1RyYWNrcy5nZXQoaWQpKSB7CisgICAgaWYgKGF1dG8qIHRyYWNrID0gbV92
aWRlb1RyYWNrcy5nZXQoaWRlbnRpZmllcikpIHsKICAgICAgICAgbV9wbGF5ZXItPnJlbW92ZVZp
ZGVvVHJhY2soKnRyYWNrKTsKLSAgICAgICAgbV92aWRlb1RyYWNrcy5yZW1vdmUoaWQpOworICAg
ICAgICBtX3ZpZGVvVHJhY2tzLnJlbW92ZShpZGVudGlmaWVyKTsKICAgICB9CiB9CiAKLXZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZW1vdGVWaWRlb1RyYWNrQ29uZmlndXJhdGlvbkNo
YW5nZWQoVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgVHJhY2tQcml2YXRlUmVtb3Rl
Q29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24pCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6cmVtb3RlVmlkZW9UcmFja0NvbmZpZ3VyYXRpb25DaGFuZ2VkKFRyYWNrUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIgaWRlbnRpZmllciwgVHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlv
biYmIGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgQVNTRVJUKG1fdmlkZW9UcmFja3MuY29udGFpbnMo
aWQpKTsKKyAgICBBU1NFUlQobV92aWRlb1RyYWNrcy5jb250YWlucyhpZGVudGlmaWVyKSk7CiAK
LSAgICBpZiAoYXV0byB0cmFjayA9IG1fdmlkZW9UcmFja3MuZ2V0KGlkKSkKKyAgICBpZiAoYXV0
byB0cmFjayA9IG1fdmlkZW9UcmFja3MuZ2V0KGlkZW50aWZpZXIpKQogICAgICAgICB0cmFjay0+
dXBkYXRlQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE0uY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE0uY3BwCmluZGV4IDA4
YmE5ODhjYjNmMTE2NzUwYzE0NjM4N2Y4MmZmNTA1ZDNmZDRlMDAuLjczNzVmYjQxNmU5NDRmMjNl
MTQ4MzdjNmNiNTE3NTZhYTYxNTU0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUNETS5jcHAKQEAgLTQzLDE0ICs0MywxNCBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0ZDo6dW5pcXVlX3B0cjxS
ZW1vdGVDRE0+IFJlbW90ZUNETTo6Y3JlYXRlKFdlYWtQdHI8UmVtb3RlQ0RNRmFjdG9yeT4mJiBm
YWN0b3J5LCBSZW1vdGVDRE1JZGVudGlmaWVyJiYgaWQsIFJlbW90ZUNETUNvbmZpZ3VyYXRpb24m
JiBjb25maWd1cmF0aW9uKQorc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNETT4gUmVtb3RlQ0RNOjpj
cmVhdGUoV2Vha1B0cjxSZW1vdGVDRE1GYWN0b3J5PiYmIGZhY3RvcnksIFJlbW90ZUNETUlkZW50
aWZpZXImJiBpZGVudGlmaWVyLCBSZW1vdGVDRE1Db25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlv
bikKIHsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNETT4obmV3IFJlbW90ZUNE
TShXVEZNb3ZlKGZhY3RvcnkpLCBXVEZNb3ZlKGlkKSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSkp
OworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ0RNPihuZXcgUmVtb3RlQ0RNKFdU
Rk1vdmUoZmFjdG9yeSksIFdURk1vdmUoaWRlbnRpZmllciksIFdURk1vdmUoY29uZmlndXJhdGlv
bikpKTsKIH0KIAotUmVtb3RlQ0RNOjpSZW1vdGVDRE0oV2Vha1B0cjxSZW1vdGVDRE1GYWN0b3J5
PiYmIGZhY3RvcnksIFJlbW90ZUNETUlkZW50aWZpZXImJiBpZCwgUmVtb3RlQ0RNQ29uZmlndXJh
dGlvbiYmIGNvbmZpZ3VyYXRpb24pCitSZW1vdGVDRE06OlJlbW90ZUNETShXZWFrUHRyPFJlbW90
ZUNETUZhY3Rvcnk+JiYgZmFjdG9yeSwgUmVtb3RlQ0RNSWRlbnRpZmllciYmIGlkZW50aWZpZXIs
IFJlbW90ZUNETUNvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uKQogICAgIDogbV9mYWN0b3J5
KFdURk1vdmUoZmFjdG9yeSkpCi0gICAgLCBtX2lkZW50aWZpZXIoV1RGTW92ZShpZCkpCisgICAg
LCBtX2lkZW50aWZpZXIoV1RGTW92ZShpZGVudGlmaWVyKSkKICAgICAsIG1fY29uZmlndXJhdGlv
bihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKQogewogfQpAQCAtMTEzLDEyICsxMTMsMTIgQEAgUmVm
UHRyPENETUluc3RhbmNlPiBSZW1vdGVDRE06OmNyZWF0ZUluc3RhbmNlKCkKICAgICBpZiAoIW1f
ZmFjdG9yeSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBSZW1vdGVDRE1JbnN0YW5j
ZUlkZW50aWZpZXIgaWQ7CisgICAgUmVtb3RlQ0RNSW5zdGFuY2VJZGVudGlmaWVyIGlkZW50aWZp
ZXI7CiAgICAgUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb247Ci0g
ICAgbV9mYWN0b3J5LT5ncHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kU3lu
YyhNZXNzYWdlczo6UmVtb3RlQ0RNUHJveHk6OkNyZWF0ZUluc3RhbmNlKCksIE1lc3NhZ2VzOjpS
ZW1vdGVDRE1Qcm94eTo6Q3JlYXRlSW5zdGFuY2U6OlJlcGx5KGlkLCBjb25maWd1cmF0aW9uKSwg
bV9pZGVudGlmaWVyKTsKLSAgICBpZiAoIWlkKQorICAgIG1fZmFjdG9yeS0+Z3B1UHJvY2Vzc0Nv
bm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZUNETVByb3h5
OjpDcmVhdGVJbnN0YW5jZSgpLCBNZXNzYWdlczo6UmVtb3RlQ0RNUHJveHk6OkNyZWF0ZUluc3Rh
bmNlOjpSZXBseShpZGVudGlmaWVyLCBjb25maWd1cmF0aW9uKSwgbV9pZGVudGlmaWVyKTsKKyAg
ICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBS
ZW1vdGVDRE1JbnN0YW5jZTo6Y3JlYXRlKG1ha2VXZWFrUHRyKG1fZmFjdG9yeS5nZXQoKSksIFdU
Rk1vdmUoaWQpLCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsKKyAgICByZXR1cm4gUmVtb3RlQ0RN
SW5zdGFuY2U6OmNyZWF0ZShtYWtlV2Vha1B0cihtX2ZhY3RvcnkuZ2V0KCkpLCBXVEZNb3ZlKGlk
ZW50aWZpZXIpLCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsKIH0KIAogdm9pZCBSZW1vdGVDRE06
OmxvYWRBbmRJbml0aWFsaXplKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUNETUZhY3RvcnkuY3BwCmluZGV4IGJlODc4YzFlMDE5NDgxNmE2
YWU0OGRlOWE4ZWViY2VmMDQxMmM2ZTQuLjU5MTBhZTZiMTZlMDA0YWNiNWYwZjI0MTg5ZTAwYTdh
NDhlY2YyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQ0RNRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVDRE1GYWN0b3J5LmNwcApAQCAtNzAsMTIgKzcwLDEyIEBAIGJvb2wgUmVtb3Rl
Q0RNRmFjdG9yeTo6c3VwcG9ydHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiAK
IHN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBSZW1vdGVDRE1GYWN0b3J5OjpjcmVhdGVDRE0o
Y29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7Ci0gICAgUmVtb3RlQ0RNSWRlbnRpZmllciBpZDsK
KyAgICBSZW1vdGVDRE1JZGVudGlmaWVyIGlkZW50aWZpZXI7CiAgICAgUmVtb3RlQ0RNQ29uZmln
dXJhdGlvbiBjb25maWd1cmF0aW9uOwotICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVj
dGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVDRE1GYWN0b3J5UHJveHk6OkNyZWF0ZUNE
TShrZXlTeXN0ZW0pLCBNZXNzYWdlczo6UmVtb3RlQ0RNRmFjdG9yeVByb3h5OjpDcmVhdGVDRE06
OlJlcGx5KGlkLCBjb25maWd1cmF0aW9uKSwgeyB9KTsKLSAgICBpZiAoIWlkKQorICAgIGdwdVBy
b2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVD
RE1GYWN0b3J5UHJveHk6OkNyZWF0ZUNETShrZXlTeXN0ZW0pLCBNZXNzYWdlczo6UmVtb3RlQ0RN
RmFjdG9yeVByb3h5OjpDcmVhdGVDRE06OlJlcGx5KGlkZW50aWZpZXIsIGNvbmZpZ3VyYXRpb24p
LCB7IH0pOworICAgIGlmICghaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgcmV0dXJuIFJlbW90ZUNETTo6Y3JlYXRlKG1ha2VXZWFrUHRyKHRoaXMpLCBXVEZNb3ZlKGlk
KSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CisgICAgcmV0dXJuIFJlbW90ZUNETTo6Y3JlYXRl
KG1ha2VXZWFrUHRyKHRoaXMpLCBXVEZNb3ZlKGlkZW50aWZpZXIpLCBXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pKTsKIH0KIAogdm9pZCBSZW1vdGVDRE1GYWN0b3J5OjphZGRTZXNzaW9uKFJlZjxSZW1v
dGVDRE1JbnN0YW5jZVNlc3Npb24+JiYgc2Vzc2lvbikKQEAgLTg0LDEwICs4NCwxMCBAQCB2b2lk
IFJlbW90ZUNETUZhY3Rvcnk6OmFkZFNlc3Npb24oUmVmPFJlbW90ZUNETUluc3RhbmNlU2Vzc2lv
bj4mJiBzZXNzaW9uKQogICAgIG1fc2Vzc2lvbnMuc2V0KHNlc3Npb24tPmlkZW50aWZpZXIoKSwg
V1RGTW92ZShzZXNzaW9uKSk7CiB9CiAKLXZvaWQgUmVtb3RlQ0RNRmFjdG9yeTo6cmVtb3ZlU2Vz
c2lvbihSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25JZGVudGlmaWVyIGlkKQordm9pZCBSZW1vdGVD
RE1GYWN0b3J5OjpyZW1vdmVTZXNzaW9uKFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbklkZW50aWZp
ZXIgaWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlQobV9zZXNzaW9ucy5jb250YWlucyhpZCkpOwot
ICAgIG1fc2Vzc2lvbnMucmVtb3ZlKGlkKTsKKyAgICBBU1NFUlQobV9zZXNzaW9ucy5jb250YWlu
cyhpZGVudGlmaWVyKSk7CisgICAgbV9zZXNzaW9ucy5yZW1vdmUoaWRlbnRpZmllcik7CiB9CiAK
IHZvaWQgUmVtb3RlQ0RNRmFjdG9yeTo6ZGlkUmVjZWl2ZVNlc3Npb25NZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlLmNw
cAppbmRleCBkZTE2NjZlOTU5ZjY2NjA2MGQ4ODhkN2M2MzJlYTI5M2NiNDkyYzkyLi41OTQ0ZGMw
ZGQzNThmNjg5NDgwMzM5ZTRlMjIyOTdjOWUyZjRlMTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlLmNwcApAQCAt
NDEsMTQgKzQxLDE0IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotUmVmPFJlbW90ZUNETUluc3RhbmNlPiBSZW1vdGVDRE1JbnN0YW5jZTo6Y3JlYXRl
KFdlYWtQdHI8UmVtb3RlQ0RNRmFjdG9yeT4mJiBmYWN0b3J5LCBSZW1vdGVDRE1JbnN0YW5jZUlk
ZW50aWZpZXImJiBpZCwgUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uJiYgY29uZmlndXJh
dGlvbikKK1JlZjxSZW1vdGVDRE1JbnN0YW5jZT4gUmVtb3RlQ0RNSW5zdGFuY2U6OmNyZWF0ZShX
ZWFrUHRyPFJlbW90ZUNETUZhY3Rvcnk+JiYgZmFjdG9yeSwgUmVtb3RlQ0RNSW5zdGFuY2VJZGVu
dGlmaWVyJiYgaWRlbnRpZmllciwgUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uJiYgY29u
ZmlndXJhdGlvbikKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVDRE1JbnN0YW5j
ZShXVEZNb3ZlKGZhY3RvcnkpLCBXVEZNb3ZlKGlkKSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSkp
OworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbW90ZUNETUluc3RhbmNlKFdURk1vdmUoZmFj
dG9yeSksIFdURk1vdmUoaWRlbnRpZmllciksIFdURk1vdmUoY29uZmlndXJhdGlvbikpKTsKIH0K
IAotUmVtb3RlQ0RNSW5zdGFuY2U6OlJlbW90ZUNETUluc3RhbmNlKFdlYWtQdHI8UmVtb3RlQ0RN
RmFjdG9yeT4mJiBmYWN0b3J5LCBSZW1vdGVDRE1JbnN0YW5jZUlkZW50aWZpZXImJiBpZCwgUmVt
b3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbikKK1JlbW90ZUNETUlu
c3RhbmNlOjpSZW1vdGVDRE1JbnN0YW5jZShXZWFrUHRyPFJlbW90ZUNETUZhY3Rvcnk+JiYgZmFj
dG9yeSwgUmVtb3RlQ0RNSW5zdGFuY2VJZGVudGlmaWVyJiYgaWRlbnRpZmllciwgUmVtb3RlQ0RN
SW5zdGFuY2VDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbikKICAgICA6IG1fZmFjdG9yeShX
VEZNb3ZlKGZhY3RvcnkpKQotICAgICwgbV9pZGVudGlmaWVyKFdURk1vdmUoaWQpKQorICAgICwg
bV9pZGVudGlmaWVyKFdURk1vdmUoaWRlbnRpZmllcikpCiAgICAgLCBtX2NvbmZpZ3VyYXRpb24o
V1RGTW92ZShjb25maWd1cmF0aW9uKSkKIHsKIH0KQEAgLTg2LDExICs4NiwxMSBAQCBSZWZQdHI8
V2ViQ29yZTo6Q0RNSW5zdGFuY2VTZXNzaW9uPiBSZW1vdGVDRE1JbnN0YW5jZTo6Y3JlYXRlU2Vz
c2lvbigpCiAgICAgaWYgKCFtX2ZhY3RvcnkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0g
ICAgUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uSWRlbnRpZmllciBpZDsKLSAgICBtX2ZhY3Rvcnkt
PmdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpS
ZW1vdGVDRE1JbnN0YW5jZVByb3h5OjpDcmVhdGVTZXNzaW9uKCksIE1lc3NhZ2VzOjpSZW1vdGVD
RE1JbnN0YW5jZVByb3h5OjpDcmVhdGVTZXNzaW9uOjpSZXBseShpZCksIG1faWRlbnRpZmllcik7
Ci0gICAgaWYgKCFpZCkKKyAgICBSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25JZGVudGlmaWVyIGlk
ZW50aWZpZXI7CisgICAgbV9mYWN0b3J5LT5ncHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rp
b24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlQ0RNSW5zdGFuY2VQcm94eTo6Q3JlYXRlU2Vz
c2lvbigpLCBNZXNzYWdlczo6UmVtb3RlQ0RNSW5zdGFuY2VQcm94eTo6Q3JlYXRlU2Vzc2lvbjo6
UmVwbHkoaWRlbnRpZmllciksIG1faWRlbnRpZmllcik7CisgICAgaWYgKCFpZGVudGlmaWVyKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBhdXRvIHNlc3Npb24gPSBSZW1vdGVDRE1JbnN0
YW5jZVNlc3Npb246OmNyZWF0ZShtYWtlV2Vha1B0cihtX2ZhY3RvcnkuZ2V0KCkpLCBXVEZNb3Zl
KGlkKSk7CisgICAgYXV0byBzZXNzaW9uID0gUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uOjpjcmVh
dGUobWFrZVdlYWtQdHIobV9mYWN0b3J5LmdldCgpKSwgV1RGTW92ZShpZGVudGlmaWVyKSk7CiAg
ICAgbV9mYWN0b3J5LT5hZGRTZXNzaW9uKHNlc3Npb24uY29weVJlZigpKTsKICAgICByZXR1cm4g
c2Vzc2lvbjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLmNwcAppbmRleCA5ODhlZjAxMmQ1
NTJhMGY2YmU4YmJkYWMyNDc1MmQ4MzBjYWE5ZmU4Li4xYzQ4ZTUwNjljM2M4MDVhNDU2Mzc0ZGU4
ZGRhYWJlMTU4ODE0N2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24uY3BwCkBAIC0zNywx
NCArMzcsMTQgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCi1SZWY8UmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uPiBSZW1vdGVDRE1JbnN0YW5jZVNlc3Np
b246OmNyZWF0ZShXZWFrUHRyPFJlbW90ZUNETUZhY3Rvcnk+JiYgZmFjdG9yeSwgUmVtb3RlQ0RN
SW5zdGFuY2VTZXNzaW9uSWRlbnRpZmllciYmIGlkKQorUmVmPFJlbW90ZUNETUluc3RhbmNlU2Vz
c2lvbj4gUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uOjpjcmVhdGUoV2Vha1B0cjxSZW1vdGVDRE1G
YWN0b3J5PiYmIGZhY3RvcnksIFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbklkZW50aWZpZXImJiBp
ZGVudGlmaWVyKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbW90ZUNETUluc3RhbmNl
U2Vzc2lvbihXVEZNb3ZlKGZhY3RvcnkpLCBXVEZNb3ZlKGlkKSkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbihXVEZNb3ZlKGZhY3RvcnkpLCBXVEZN
b3ZlKGlkZW50aWZpZXIpKSk7CiB9CiAKLVJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbjo6UmVtb3Rl
Q0RNSW5zdGFuY2VTZXNzaW9uKFdlYWtQdHI8UmVtb3RlQ0RNRmFjdG9yeT4mJiBmYWN0b3J5LCBS
ZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25JZGVudGlmaWVyJiYgaWQpCitSZW1vdGVDRE1JbnN0YW5j
ZVNlc3Npb246OlJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbihXZWFrUHRyPFJlbW90ZUNETUZhY3Rv
cnk+JiYgZmFjdG9yeSwgUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uSWRlbnRpZmllciYmIGlkZW50
aWZpZXIpCiAgICAgOiBtX2ZhY3RvcnkoV1RGTW92ZShmYWN0b3J5KSkKLSAgICAsIG1faWRlbnRp
ZmllcihXVEZNb3ZlKGlkKSkKKyAgICAsIG1faWRlbnRpZmllcihXVEZNb3ZlKGlkZW50aWZpZXIp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUxlZ2FjeUNETS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUxlZ2FjeUNETS5jcHAKaW5kZXggZTVhNmQ5NGViYWNmNTM4ZDFkZmY5MTU4NjFmY2Y5
NjI4MThkZWEzMy4uMTc4ODYyNWJiNzYwNGRlOTA1YmFlNGVlYzEyNTMyMjE4ZTgwM2Q0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lD
RE0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVn
YWN5Q0RNLmNwcApAQCAtMzcsMTQgKzM3LDE0IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUxlZ2FjeUNETT4g
UmVtb3RlTGVnYWN5Q0RNOjpjcmVhdGUoV2Vha1B0cjxSZW1vdGVMZWdhY3lDRE1GYWN0b3J5PiYm
IGZhY3RvcnksIFJlbW90ZUxlZ2FjeUNETUlkZW50aWZpZXIgaWQpCitzdGQ6OnVuaXF1ZV9wdHI8
UmVtb3RlTGVnYWN5Q0RNPiBSZW1vdGVMZWdhY3lDRE06OmNyZWF0ZShXZWFrUHRyPFJlbW90ZUxl
Z2FjeUNETUZhY3Rvcnk+JiYgZmFjdG9yeSwgUmVtb3RlTGVnYWN5Q0RNSWRlbnRpZmllciBpZGVu
dGlmaWVyKQogewotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNPihu
ZXcgUmVtb3RlTGVnYWN5Q0RNKFdURk1vdmUoZmFjdG9yeSksIFdURk1vdmUoaWQpKSk7CisgICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVMZWdhY3lDRE0+KG5ldyBSZW1vdGVMZWdhY3lD
RE0oV1RGTW92ZShmYWN0b3J5KSwgV1RGTW92ZShpZGVudGlmaWVyKSkpOwogfQogCi1SZW1vdGVM
ZWdhY3lDRE06OlJlbW90ZUxlZ2FjeUNETShXZWFrUHRyPFJlbW90ZUxlZ2FjeUNETUZhY3Rvcnk+
JiYgZmFjdG9yeSwgUmVtb3RlTGVnYWN5Q0RNSWRlbnRpZmllciYmIGlkKQorUmVtb3RlTGVnYWN5
Q0RNOjpSZW1vdGVMZWdhY3lDRE0oV2Vha1B0cjxSZW1vdGVMZWdhY3lDRE1GYWN0b3J5PiYmIGZh
Y3RvcnksIFJlbW90ZUxlZ2FjeUNETUlkZW50aWZpZXImJiBpZGVudGlmaWVyKQogICAgIDogbV9m
YWN0b3J5KFdURk1vdmUoZmFjdG9yeSkpCi0gICAgLCBtX2lkZW50aWZpZXIoV1RGTW92ZShpZCkp
CisgICAgLCBtX2lkZW50aWZpZXIoV1RGTW92ZShpZGVudGlmaWVyKSkKIHsKIH0KIApAQCAtNjcs
MjEgKzY3LDIxIEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpMZWdhY3lDRE1TZXNzaW9uPiBS
ZW1vdGVMZWdhY3lDRE06OmNyZWF0ZVNlc3Npb24oV2ViQ29yCiAKICAgICBTdHJpbmcgc3RvcmFn
ZURpcmVjdG9yeSA9IGNsaWVudCA/IGNsaWVudC0+bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgp
IDogZW1wdHlTdHJpbmcoKTsKIAotICAgIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVy
IGlkOwotICAgIG1fZmFjdG9yeS0+Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCku
c2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZUxlZ2FjeUNETVByb3h5OjpDcmVhdGVTZXNzaW9uKHN0
b3JhZ2VEaXJlY3RvcnkpLCBNZXNzYWdlczo6UmVtb3RlTGVnYWN5Q0RNUHJveHk6OkNyZWF0ZVNl
c3Npb246OlJlcGx5KGlkKSwgbV9pZGVudGlmaWVyKTsKLSAgICBpZiAoIWlkKQorICAgIFJlbW90
ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyIGlkZW50aWZpZXI7CisgICAgbV9mYWN0b3J5LT5n
cHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVt
b3RlTGVnYWN5Q0RNUHJveHk6OkNyZWF0ZVNlc3Npb24oc3RvcmFnZURpcmVjdG9yeSksIE1lc3Nh
Z2VzOjpSZW1vdGVMZWdhY3lDRE1Qcm94eTo6Q3JlYXRlU2Vzc2lvbjo6UmVwbHkoaWRlbnRpZmll
ciksIG1faWRlbnRpZmllcik7CisgICAgaWYgKCFpZGVudGlmaWVyKQogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICByZXR1cm4gUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbjo6Y3JlYXRlKG1fZmFj
dG9yeSwgV1RGTW92ZShpZCkpOworICAgIHJldHVybiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uOjpj
cmVhdGUobV9mYWN0b3J5LCBXVEZNb3ZlKGlkZW50aWZpZXIpKTsKIH0KIAotdm9pZCBSZW1vdGVM
ZWdhY3lDRE06OnNldFBsYXllcklkKE1lZGlhUGxheWVySWRlbnRpZmllciBpZCkKK3ZvaWQgUmVt
b3RlTGVnYWN5Q0RNOjpzZXRQbGF5ZXJJZChNZWRpYVBsYXllcklkZW50aWZpZXIgaWRlbnRpZmll
cikKIHsKICAgICBpZiAoIW1fZmFjdG9yeSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgT3B0aW9u
YWw8TWVkaWFQbGF5ZXJJZGVudGlmaWVyPiBvcHRpb25hbElkOwotICAgIGlmIChpZCkKLSAgICAg
ICAgb3B0aW9uYWxJZCA9IGlkOworICAgIGlmIChpZGVudGlmaWVyKQorICAgICAgICBvcHRpb25h
bElkID0gaWRlbnRpZmllcjsKICAgICBtX2ZhY3RvcnktPmdwdVByb2Nlc3NDb25uZWN0aW9uKCku
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZUxlZ2FjeUNETVByb3h5OjpTZXRQbGF5
ZXJJZChvcHRpb25hbElkKSwgbV9pZGVudGlmaWVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9y
eS5jcHAKaW5kZXggNjU4MGY3OGYzMDI5ODlhZDNkYjZmMDA5Y2NkMzNhODBmY2ZhMjM2MC4uY2I5
MWU1NmUzYTVlMTlmNDAxMjUyZGU4NTJlOTgyODBkOTRhN2I4NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZh
Y3RvcnkuY3BwCkBAIC0xMTIsMjUgKzExMiwyNSBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0
ZUludGVyZmFjZT4gUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeTo6Y3JlYXRlQ0RNKFdlYkNvcmU6Ogog
ICAgIGlmIChhdXRvIHBsYXllciA9IGNkbS0+bWVkaWFQbGF5ZXIoKSkKICAgICAgICAgcGxheWVy
SWQgPSBncHVQcm9jZXNzQ29ubmVjdGlvbigpLm1lZGlhUGxheWVyTWFuYWdlcigpLmZpbmRSZW1v
dGVQbGF5ZXJJZChwbGF5ZXItPnBsYXllclByaXZhdGUoKSk7CiAKLSAgICBSZW1vdGVMZWdhY3lD
RE1JZGVudGlmaWVyIGlkOwotICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigp
LnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk6OkNyZWF0ZUNE
TShjZG0tPmtleVN5c3RlbSgpLCBXVEZNb3ZlKHBsYXllcklkKSksIE1lc3NhZ2VzOjpSZW1vdGVM
ZWdhY3lDRE1GYWN0b3J5UHJveHk6OkNyZWF0ZUNETTo6UmVwbHkoaWQpLCB7IH0pOwotICAgIGlm
ICghaWQpCisgICAgUmVtb3RlTGVnYWN5Q0RNSWRlbnRpZmllciBpZGVudGlmaWVyOworICAgIGdw
dVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1v
dGVMZWdhY3lDRE1GYWN0b3J5UHJveHk6OkNyZWF0ZUNETShjZG0tPmtleVN5c3RlbSgpLCBXVEZN
b3ZlKHBsYXllcklkKSksIE1lc3NhZ2VzOjpSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk6OkNy
ZWF0ZUNETTo6UmVwbHkoaWRlbnRpZmllciksIHsgfSk7CisgICAgaWYgKCFpZGVudGlmaWVyKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBhdXRvIHJlbW90ZUNETSA9IFJlbW90ZUxlZ2Fj
eUNETTo6Y3JlYXRlKG1ha2VXZWFrUHRyKHRoaXMpLCBpZCk7Ci0gICAgbV9jZG1zLnNldChpZCwg
bWFrZVdlYWtQdHIocmVtb3RlQ0RNLmdldCgpKSk7CisgICAgYXV0byByZW1vdGVDRE0gPSBSZW1v
dGVMZWdhY3lDRE06OmNyZWF0ZShtYWtlV2Vha1B0cih0aGlzKSwgaWRlbnRpZmllcik7CisgICAg
bV9jZG1zLnNldChpZGVudGlmaWVyLCBtYWtlV2Vha1B0cihyZW1vdGVDRE0uZ2V0KCkpKTsKICAg
ICByZXR1cm4gcmVtb3RlQ0RNOwogfQogCi12b2lkIFJlbW90ZUxlZ2FjeUNETUZhY3Rvcnk6OmFk
ZFNlc3Npb24oUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXIgaWQsIHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVMZWdhY3lDRE1TZXNzaW9uPiYmIHNlc3Npb24pCit2b2lkIFJlbW90ZUxlZ2Fj
eUNETUZhY3Rvcnk6OmFkZFNlc3Npb24oUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXIg
aWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUxlZ2FjeUNETVNlc3Npb24+JiYgc2Vz
c2lvbikKIHsKLSAgICBBU1NFUlQoIW1fc2Vzc2lvbnMuY29udGFpbnMoaWQpKTsKLSAgICBtX3Nl
c3Npb25zLnNldChpZCwgV1RGTW92ZShzZXNzaW9uKSk7CisgICAgQVNTRVJUKCFtX3Nlc3Npb25z
LmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKKyAgICBtX3Nlc3Npb25zLnNldChpZGVudGlmaWVyLCBX
VEZNb3ZlKHNlc3Npb24pKTsKIH0KIAotdm9pZCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5OjpyZW1v
dmVTZXNzaW9uKFJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyIGlkKQordm9pZCBSZW1v
dGVMZWdhY3lDRE1GYWN0b3J5OjpyZW1vdmVTZXNzaW9uKFJlbW90ZUxlZ2FjeUNETVNlc3Npb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKG1fc2Vzc2lvbnMuY29udGFpbnMo
aWQpKTsKLSAgICBtX3Nlc3Npb25zLnJlbW92ZShpZCk7CisgICAgQVNTRVJUKG1fc2Vzc2lvbnMu
Y29udGFpbnMoaWRlbnRpZmllcikpOworICAgIG1fc2Vzc2lvbnMucmVtb3ZlKGlkZW50aWZpZXIp
OwogfQogCiBSZW1vdGVMZWdhY3lDRE0qIFJlbW90ZUxlZ2FjeUNETUZhY3Rvcnk6OmZpbmRDRE0o
Q0RNUHJpdmF0ZUludGVyZmFjZSogcHJpdmF0ZUludGVyZmFjZSkgY29uc3QKQEAgLTE0OCw3ICsx
NDgsNiBAQCB2b2lkIFJlbW90ZUxlZ2FjeUNETUZhY3Rvcnk6OmRpZFJlY2VpdmVTZXNzaW9uTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpbwogICAgICAgICBzZXNzaW9uLT5kaWRSZWNl
aXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIAotCiB9CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvbi5jcHAKaW5kZXggYWMzNTc0MmE5Yjc2MTQ5MzllMTNjNGQ1NDI0Yzk0
M2NkYTFlMDVhOC4uMGRiODVhZTliZDI0MWViYTFiZGE0ZTYyMjQ0MGY2MzI4ZTFkOGEwYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCkBAIC02NCwxNCArNjQsMTQgQEAgc3RhdGljIElQQzo6
U2hhcmVkQnVmZmVyQ29weSBjb252ZXJ0VG9TaGFyZWRCdWZmZXJDb3B5KFQgYXJyYXkpCiAgICAg
cmV0dXJuIHsgU2hhcmVkQnVmZmVyOjpjcmVhdGUoYXJyYXktPmRhdGEoKSwgYXJyYXktPmJ5dGVM
ZW5ndGgoKSkgfTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUxlZ2FjeUNETVNlc3Npb24+
IFJlbW90ZUxlZ2FjeUNETVNlc3Npb246OmNyZWF0ZShXZWFrUHRyPFJlbW90ZUxlZ2FjeUNETUZh
Y3Rvcnk+IGZhY3RvcnksIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyJiYgaWQpCitz
dGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbj4gUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvbjo6Y3JlYXRlKFdlYWtQdHI8UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeT4gZmFjdG9yeSwgUmVt
b3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXImJiBpZGVudGlmaWVyKQogewotICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbj4obmV3IFJlbW90ZUxlZ2Fj
eUNETVNlc3Npb24oV1RGTW92ZShmYWN0b3J5KSwgV1RGTW92ZShpZCkpKTsKKyAgICByZXR1cm4g
c3RkOjp1bmlxdWVfcHRyPFJlbW90ZUxlZ2FjeUNETVNlc3Npb24+KG5ldyBSZW1vdGVMZWdhY3lD
RE1TZXNzaW9uKFdURk1vdmUoZmFjdG9yeSksIFdURk1vdmUoaWRlbnRpZmllcikpKTsKIH0KIAot
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbjo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbihXZWFrUHRyPFJl
bW90ZUxlZ2FjeUNETUZhY3Rvcnk+IGZhY3RvcnksIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVu
dGlmaWVyJiYgaWQpCitSZW1vdGVMZWdhY3lDRE1TZXNzaW9uOjpSZW1vdGVMZWdhY3lDRE1TZXNz
aW9uKFdlYWtQdHI8UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeT4gZmFjdG9yeSwgUmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvbklkZW50aWZpZXImJiBpZGVudGlmaWVyKQogICAgIDogbV9mYWN0b3J5KFdURk1v
dmUoZmFjdG9yeSkpCi0gICAgLCBtX2lkZW50aWZpZXIoV1RGTW92ZShpZCkpCisgICAgLCBtX2lk
ZW50aWZpZXIoV1RGTW92ZShpZGVudGlmaWVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXIuY3BwCmluZGV4IDYxYmJhOGIyNjZlZGZiZjVhMjk0Y2I2MTM1MzQ3YWE2ZjE3OWFhMDgu
LmVjMDk3NzhmZmZlMDY1NjdkZmZjYjMzMWQ2NGFiZDMyYjEyNGEzMGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlci5jcHAKQEAgLTE4MywxMCArMTgzLDEwIEBAIHN0ZDo6dW5pcXVlX3B0cjxN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6Y3Jl
YXRlUmVtCiAgICAgcmV0dXJuIHJlbW90ZVBsYXllcjsKIH0KIAotdm9pZCBSZW1vdGVNZWRpYVBs
YXllck1hbmFnZXI6OmRlbGV0ZVJlbW90ZU1lZGlhUGxheWVyKE1lZGlhUGxheWVySWRlbnRpZmll
ciBpZCkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpkZWxldGVSZW1vdGVNZWRpYVBs
YXllcihNZWRpYVBsYXllcklkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKLSAgICBtX3BsYXllcnMu
dGFrZShpZCk7Ci0gICAgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OkRlbGV0ZU1lZGlhUGxheWVy
KGlkKSwgMCk7CisgICAgbV9wbGF5ZXJzLnRha2UoaWRlbnRpZmllcik7CisgICAgZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHk6OkRlbGV0ZU1lZGlhUGxheWVyKGlkZW50aWZpZXIpLCAwKTsKIH0KIAog
TWVkaWFQbGF5ZXJJZGVudGlmaWVyIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6ZmluZFJlbW90
ZVBsYXllcklkKGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogcGxheWVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVNZWRpYVJlc291cmNlUHJveHkuY3BwCmluZGV4IDc5NTRhNTY5NzkxYzc3YzI1NDk2ZGVjNjlj
YmYyM2U1OTUzNmFlZjMuLmYyZWRjNWNmODdiZWFlY2ViODVmZWI2YzNlM2M5Y2U1MTgyNWFjNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFSZXNvdXJjZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAKQEAgLTM1LDEwICszNSwxMCBAQAogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5OjpSZW1vdGVNZWRp
YVJlc291cmNlUHJveHkoUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uLCBXZWJDb3Jl
OjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmIHBsYXRmb3JtTWVkaWFSZXNvdXJjZSwgUmVtb3RlTWVk
aWFSZXNvdXJjZUlkZW50aWZpZXIgaWQpCitSZW1vdGVNZWRpYVJlc291cmNlUHJveHk6OlJlbW90
ZU1lZGlhUmVzb3VyY2VQcm94eShSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZSYgcGxhdGZvcm1NZWRpYVJlc291cmNlLCBSZW1v
dGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIDogbV9jb25uZWN0aW9u
KFdURk1vdmUoY29ubmVjdGlvbikpCiAgICAgLCBtX3BsYXRmb3JtTWVkaWFSZXNvdXJjZShwbGF0
Zm9ybU1lZGlhUmVzb3VyY2UpCi0gICAgLCBtX2lkKGlkKQorICAgICwgbV9pZChpZGVudGlmaWVy
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1RleHRUcmFja1ByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcAppbmRleCAxNWQ1NDk5MTIxOTk1N2Q2
YjNiYTIwMWFjZjk2MmIxZjYwYTM4YTNhLi4xMTc5MzdmZTJkM2NjZmNjODFmODk5OTE0ZDVhOWY2
ODBjNzBiMzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1RleHRUcmFja1ByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTU1LDkgKzU1LDkgQEAg
dm9pZCBUZXh0VHJhY2tQcml2YXRlUmVtb3RlOjpzZXRNb2RlKFRleHRUcmFja01vZGUgbW9kZSkK
IAogdm9pZCBUZXh0VHJhY2tQcml2YXRlUmVtb3RlOjp1cGRhdGVDb25maWd1cmF0aW9uKFRleHRU
cmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbikKIHsKLSAgICBp
ZiAoY29uZmlndXJhdGlvbi5pZCAhPSBtX2lkKSB7CisgICAgaWYgKGNvbmZpZ3VyYXRpb24uaWRl
bnRpZmllciAhPSBtX2lkKSB7CiAgICAgICAgIGF1dG8gY2hhbmdlZCA9ICFtX2lkLmlzRW1wdHko
KTsKLSAgICAgICAgbV9pZCA9IGNvbmZpZ3VyYXRpb24uaWQ7CisgICAgICAgIG1faWQgPSBjb25m
aWd1cmF0aW9uLmlkZW50aWZpZXI7CiAgICAgICAgIGlmIChjaGFuZ2VkICYmIGNsaWVudCgpKQog
ICAgICAgICAgICAgY2xpZW50KCktPmlkQ2hhbmdlZChtX2lkKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1ZpZGVvVHJhY2tQcml2YXRlUmVt
b3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVmlkZW9UcmFja1By
aXZhdGVSZW1vdGUuY3BwCmluZGV4IGEzN2I4NDdkMGU5OGFlODI1MmZlYTE0MTc1OWE3Y2JiODA5
OTYxY2UuLjNmNjk0OTBhOTJkMWZkYmUwNDVkMDZhZWIyZThmYjRiY2ZmOTZhZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVmlkZW9UcmFja1ByaXZhdGVS
ZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVmlkZW9U
cmFja1ByaXZhdGVSZW1vdGUuY3BwCkBAIC01MSw5ICs1MSw5IEBAIHZvaWQgVmlkZW9UcmFja1By
aXZhdGVSZW1vdGU6OnNldFNlbGVjdGVkKGJvb2wgc2VsZWN0ZWQpCiAKIHZvaWQgVmlkZW9UcmFj
a1ByaXZhdGVSZW1vdGU6OnVwZGF0ZUNvbmZpZ3VyYXRpb24oVHJhY2tQcml2YXRlUmVtb3RlQ29u
ZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgaWYgKGNvbmZpZ3VyYXRpb24uaWQg
IT0gbV9pZCkgeworICAgIGlmIChjb25maWd1cmF0aW9uLmlkZW50aWZpZXIgIT0gbV9pZCkgewog
ICAgICAgICBhdXRvIGNoYW5nZWQgPSAhbV9pZC5pc0VtcHR5KCk7Ci0gICAgICAgIG1faWQgPSBj
b25maWd1cmF0aW9uLmlkOworICAgICAgICBtX2lkID0gY29uZmlndXJhdGlvbi5pZGVudGlmaWVy
OwogICAgICAgICBpZiAoY2hhbmdlZCAmJiBjbGllbnQoKSkKICAgICAgICAgICAgIGNsaWVudCgp
LT5pZENoYW5nZWQobV9pZCk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>