<?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>249127</bug_id>
          
          <creation_ts>2022-12-12 01:31:25 -0800</creation_ts>
          <short_desc>[@property] Save parsed syntax in property registration</short_desc>
          <delta_ts>2022-12-12 09:32:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>189692</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1918419</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-12-12 01:31:25 -0800</bug_when>
    <thetext>Avoid repeated parsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1918420</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-12-12 01:32:08 -0800</bug_when>
    <thetext>&lt;rdar://problem/103244818&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1918421</commentid>
    <comment_count>2</comment_count>
      <attachid>464005</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-12-12 01:39:28 -0800</bug_when>
    <thetext>Created attachment 464005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1918472</commentid>
    <comment_count>3</comment_count>
      <attachid>464010</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-12-12 06:13:44 -0800</bug_when>
    <thetext>Created attachment 464010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1918506</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-12-12 09:32:10 -0800</bug_when>
    <thetext>Committed 257732@main (4554478211f3): &lt;https://commits.webkit.org/257732@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 464010.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>464005</attachid>
            <date>2022-12-12 01:39:28 -0800</date>
            <delta_ts>2022-12-12 06:13:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-249127-20221212113926.patch</filename>
            <type>text/plain</type>
            <size>24561</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSAwMjQ4NDU2MTBlY2NiNmY5ODI3Nzc2ZDVjM2JkMzBiYWE0ZDdkN2MwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDEyIERlYyAyMDIyIDExOjMyOjMyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gW0Bwcm9w
ZXJ0eV0gU2F2ZSBwYXJzZWQgc3ludGF4IGluIHByb3BlcnR5IHJlZ2lzdHJhdGlvbgogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0OTEyNyByZGFyOi8vMTAzMjQ0ODE4
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkF2b2lkIHJlcGVhdGVkIHN5bnRheCBzdHJp
bmcgcGFyc2luZyBkdXJpbmcgcHJvcGVydHkgcmVzb2x1dGlvbi4KCiogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQ6CiogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS90eXBlZG9tLWV4cGVjdGVkLnR4dDoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmNwcDoKKFdlYkNvcmU6OkNTU1JlZ2lzdGVyZWRDdXN0
b21Qcm9wZXJ0eTo6Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5KToKKiBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5Lmg6CgpTYXZlIHRoZSBwYXJzZWQgc3lu
dGF4IGluc3RlYWQgb2YgYSBzdHJpbmcuCgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NSZWdp
c3RlckN1c3RvbVByb3BlcnR5LmNwcDoKKFdlYkNvcmU6OkRPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJv
cGVydHk6OnJlZ2lzdGVyUHJvcGVydHkpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3Bl
cnRpZXMuY3BwOgooV2ViQ29yZTo6TXV0YWJsZVN0eWxlUHJvcGVydGllczo6c2V0Q3VzdG9tUHJv
cGVydHkpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcDoKKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZVdpdGhWYXJpYWJsZVJlZmVyZW5jZXMpOgoqIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgooV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXI6OmNhblBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKToKKFdlYkNv
cmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZSk6CihX
ZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6Y29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5VmFs
dWVEZXBlbmRlbmNpZXMpOgooV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OmNvbnN1bWVDdXN0
b21Qcm9wZXJ0eVZhbHVlV2l0aFN5bnRheCk6CihXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VDdXN0b21Qcm9wZXJ0eVZhbHVlV2l0aFN5bnRheERlZmluaXRpb24pOiBEZWxldGVkLgoq
IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaDoKKiBTb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5U3ludGF4LmNwcDoKKFdlYkNvcmU6OkNTU1By
b3BlcnR5U3ludGF4OjpwYXJzZSk6CiogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVN5bnRheC5oOgoKQWxzbyB0dXJuIENTU1Byb3BlcnR5U3ludGF4IGludG8gYW4gaW5zdGFu
dGlhdGVkIHN0cnVjdC4KCihXZWJDb3JlOjpDU1NQcm9wZXJ0eVN5bnRheDo6aXNVbml2ZXJzYWwg
Y29uc3QpOgooV2ViQ29yZTo6Q1NTUHJvcGVydHlTeW50YXg6OnVuaXZlcnNhbCk6CihXZWJDb3Jl
OjpDU1NQcm9wZXJ0eVN5bnRheDo6aXNVbml2ZXJzYWwpOiBEZWxldGVkLgotLS0KIC4uLi9jc3Mv
Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmNwcCAgICAgICB8ICAyICstCiAuLi4vV2ViQ29y
ZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmggfCAgNSArLQogLi4uL2Nzcy9ET01D
U1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmNwcCAgICAgIHwgMTEgKysrLS0KIFNvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwICAgICAgICB8ICA0ICstCiBTb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAgICAgICAgfCAgMiArLQogLi4uL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgIHwgNDggKysrKysrLS0tLS0tLS0tLS0tLQog
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oIHwgMTQgKysrLS0t
CiAuLi4vV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5U3ludGF4LmNwcCAgfCAxMSArKyst
LQogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5bnRheC5oIHwgMTIgKysr
LS0KIC4uLmlzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVkLnR4dCB8ICAyICst
CiAuLi4vdHlwZWRvbS1leHBlY3RlZC50eHQgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKy0t
CiAxMSBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkuY3Bw
CmluZGV4IDc5ZWY3ZmU2YjAzYy4uY2IzYzU1NDhhMTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmNwcApAQCAtMzAsNyArMzAsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eTo6
Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBzeW50YXgsIGJvb2wgaW5oZXJpdHMsIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVl
PiYmIGluaXRpYWxWYWx1ZSkKK0NTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eTo6Q1NTUmVnaXN0
ZXJlZEN1c3RvbVByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgQ1NTUHJvcGVydHlT
eW50YXgmIHN5bnRheCwgYm9vbCBpbmhlcml0cywgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFs
dWU+JiYgaW5pdGlhbFZhbHVlKQogICAgIDogbmFtZShuYW1lKQogICAgICwgc3ludGF4KHN5bnRh
eCkKICAgICAsIGluaGVyaXRzKGluaGVyaXRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oCmluZGV4IDIxN2YxNDlhZGYwZS4uNmQ1ODAzYjhl
ZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVBy
b3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZ2lzdGVyZWRDdXN0b21Qcm9w
ZXJ0eS5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ1NT
UHJvcGVydHlTeW50YXguaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsMTAgKzM2LDEwIEBAIHN0cnVjdCBDU1NSZWdpc3RlcmVk
Q3VzdG9tUHJvcGVydHkgewogICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKIAog
ICAgIGNvbnN0IFN0cmluZyBuYW1lOwotICAgIGNvbnN0IFN0cmluZyBzeW50YXg7CisgICAgY29u
c3QgQ1NTUHJvcGVydHlTeW50YXggc3ludGF4OwogICAgIGNvbnN0IGJvb2wgaW5oZXJpdHM7CiAK
LSAgICBDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHN5bnRheCwgYm9vbCBpbmhlcml0cywgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5
VmFsdWU+JiYgaW5pdGlhbFZhbHVlKTsKKyAgICBDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHko
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYsIGJvb2wgaW5oZXJp
dHMsIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiYmIGluaXRpYWxWYWx1ZSk7CiAKICAg
ICBjb25zdCBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKiBpbml0aWFsVmFsdWUoKSBjb25zdCB7IHJl
dHVybiBtX2luaXRpYWxWYWx1ZS5nZXQoKTsgfQogICAgIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0
eVZhbHVlPiBpbml0aWFsVmFsdWVDb3B5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5jcHAKaW5kZXggY2IwZWMzMWE5ZTBh
Li4zODdhZDc0NGJiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NSZWdp
c3RlckN1c3RvbVByb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVn
aXN0ZXJDdXN0b21Qcm9wZXJ0eS5jcHAKQEAgLTQ2LDYgKzQ2LDEwIEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IERPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHk6OnJlZ2lzdGVyUHJvcGVydHkoRG9jdW1l
bnQmIGRvY3VtCiAgICAgaWYgKCFpc0N1c3RvbVByb3BlcnR5TmFtZShkZXNjcmlwdG9yLm5hbWUp
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsICJUaGUgbmFtZSBvZiB0
aGlzIHByb3BlcnR5IGlzIG5vdCBhIGN1c3RvbSBwcm9wZXJ0eSBuYW1lLiJfcyB9OwogCisgICAg
YXV0byBzeW50YXggPSBDU1NQcm9wZXJ0eVN5bnRheDo6cGFyc2UoZGVzY3JpcHRvci5zeW50YXgp
OworICAgIGlmICghc3ludGF4KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJy
b3IsICJJbnZhbGlkIHByb3BlcnR5IHN5bnRheCBkZWZpbml0aW9uLiJfcyB9OworCiAgICAgUmVm
UHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IGluaXRpYWxWYWx1ZTsKICAgICBpZiAoIWRlc2Ny
aXB0b3IuaW5pdGlhbFZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICBDU1NUb2tlbml6ZXIgdG9r
ZW5pemVyKGRlc2NyaXB0b3IuaW5pdGlhbFZhbHVlKTsKQEAgLTU2LDE4ICs2MCwxNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5OjpyZWdpc3RlclByb3Bl
cnR5KERvY3VtZW50JiBkb2N1bQogICAgICAgICBhdXRvIHN0eWxlID0gc3R5bGVSZXNvbHZlci0+
ZGVmYXVsdFN0eWxlRm9yRWxlbWVudChudWxscHRyKTsKIAogICAgICAgICBIYXNoU2V0PENTU1By
b3BlcnR5SUQ+IGRlcGVuZGVuY2llczsKLSAgICAgICAgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbGxl
Y3RQYXJzZWRDdXN0b21Qcm9wZXJ0eVZhbHVlRGVwZW5kZW5jaWVzKGRlc2NyaXB0b3Iuc3ludGF4
LCBmYWxzZSwgZGVwZW5kZW5jaWVzLCB0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBzdHJpY3RDU1NQ
YXJzZXJDb250ZXh0KCkpOworICAgICAgICBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29sbGVjdFBhcnNl
ZEN1c3RvbVByb3BlcnR5VmFsdWVEZXBlbmRlbmNpZXMoKnN5bnRheCwgZmFsc2UsIGRlcGVuZGVu
Y2llcywgdG9rZW5pemVyLnRva2VuUmFuZ2UoKSwgc3RyaWN0Q1NTUGFyc2VyQ29udGV4dCgpKTsK
IAogICAgICAgICBpZiAoIWRlcGVuZGVuY2llcy5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsICJUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBtdXN0
IGJlIGNvbXB1dGF0aW9uYWxseSBpbmRlcGVuZGVudC4iX3MgfTsKIAotCiAgICAgICAgIFN0eWxl
OjpNYXRjaFJlc3VsdCBtYXRjaFJlc3VsdDsKIAogICAgICAgICBhdXRvIHBhcmVudFN0eWxlID0g
UmVuZGVyU3R5bGU6OmNsb25lKCpzdHlsZSk7CiAgICAgICAgIFN0eWxlOjpCdWlsZGVyIGR1bW15
QnVpbGRlcigqc3R5bGUsIHsgZG9jdW1lbnQsIHBhcmVudFN0eWxlIH0sIG1hdGNoUmVzdWx0LCB7
IH0pOwogCi0gICAgICAgIGluaXRpYWxWYWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5
cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShkZXNjcmlwdG9yLm5hbWUsIGRlc2NyaXB0b3Iuc3ludGF4
LCB0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBkdW1teUJ1aWxkZXIuc3RhdGUoKSwgeyBkb2N1bWVu
dCB9KTsKKyAgICAgICAgaW5pdGlhbFZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlw
ZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKGRlc2NyaXB0b3IubmFtZSwgKnN5bnRheCwgdG9rZW5pemVy
LnRva2VuUmFuZ2UoKSwgZHVtbXlCdWlsZGVyLnN0YXRlKCksIHsgZG9jdW1lbnQgfSk7CiAKICAg
ICAgICAgaWYgKCFpbml0aWFsVmFsdWUgfHwgIWluaXRpYWxWYWx1ZS0+aXNSZXNvbHZlZCgpKQog
ICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yLCAiVGhlIGdpdmVuIGlu
aXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguIl9zIH07CkBA
IC03OSw3ICs4Miw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IERPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJv
cGVydHk6OnJlZ2lzdGVyUHJvcGVydHkoRG9jdW1lbnQmIGRvY3VtCiAgICAgICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsICJUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBtdXN0
IGJlIGNvbXB1dGF0aW9uYWxseSBpbmRlcGVuZGVudC4iX3MgfTsKICAgICB9CiAKLSAgICBDU1NS
ZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkgcHJvcGVydHkgeyBkZXNjcmlwdG9yLm5hbWUsIGRlc2Ny
aXB0b3Iuc3ludGF4LCBkZXNjcmlwdG9yLmluaGVyaXRzLCBXVEZNb3ZlKGluaXRpYWxWYWx1ZSkg
fTsKKyAgICBDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkgcHJvcGVydHkgeyBkZXNjcmlwdG9y
Lm5hbWUsICpzeW50YXgsIGRlc2NyaXB0b3IuaW5oZXJpdHMsIFdURk1vdmUoaW5pdGlhbFZhbHVl
KSB9OwogICAgIGlmICghZG9jdW1lbnQucmVnaXN0ZXJDU1NQcm9wZXJ0eShXVEZNb3ZlKHByb3Bl
cnR5KSkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkTW9kaWZpY2F0aW9uRXJy
b3IsICJUaGlzIHByb3BlcnR5IGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZC4iX3MgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAppbmRleCAzNjA5NTI4ZTJjNjUuLjgz
OTM1ZDE4YjdjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGll
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKQEAgLTE0
MTcsMTEgKzE0MTcsOSBAQCBib29sIE11dGFibGVTdHlsZVByb3BlcnRpZXM6OnNldEN1c3RvbVBy
b3BlcnR5KGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgUwogCiAgICAgcGFyc2VyQ29u
dGV4dC5tb2RlID0gY3NzUGFyc2VyTW9kZSgpOwogCi0gICAgU3RyaW5nIHN5bnRheCA9ICIqIl9z
OwogICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSBkb2N1bWVudCA/IGRvY3VtZW50LT5nZXRDU1NSZWdp
c3RlcmVkQ3VzdG9tUHJvcGVydHlTZXQoKS5nZXQocHJvcGVydHlOYW1lKSA6IG51bGxwdHI7CiAK
LSAgICBpZiAocmVnaXN0ZXJlZCkKLSAgICAgICAgc3ludGF4ID0gcmVnaXN0ZXJlZC0+c3ludGF4
OworICAgIGF1dG8mIHN5bnRheCA9IHJlZ2lzdGVyZWQgPyByZWdpc3RlcmVkLT5zeW50YXggOiBD
U1NQcm9wZXJ0eVN5bnRheDo6dW5pdmVyc2FsKCk7CiAKICAgICBDU1NUb2tlbml6ZXIgdG9rZW5p
emVyKHZhbHVlKTsKICAgICBpZiAoIUNTU1Byb3BlcnR5UGFyc2VyOjpjYW5QYXJzZVR5cGVkQ3Vz
dG9tUHJvcGVydHlWYWx1ZShzeW50YXgsIHRva2VuaXplci50b2tlblJhbmdlKCksIHBhcnNlckNv
bnRleHQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCmluZGV4IDVkMTJi
NDc4MjhmZC4uZDNmOTNjOTI3MDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXIuY3BwCkBAIC0yMjgsNyArMjI4LDcgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBh
cnNlVmFsdWVXaXRoVmFyaWFibGVSZWZlcmVuY2VzKENTU1Byb3BlcnR5SUQgcHJvcEkKIAogICAg
IGF1dG8mIG5hbWUgPSBkb3duY2FzdDxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPih2YWx1ZSkubmFt
ZSgpOwogICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSBidWlsZGVyU3RhdGUuZG9jdW1lbnQoKS5nZXRD
U1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHlTZXQoKS5nZXQobmFtZSk7Ci0gICAgYXV0byYgc3lu
dGF4ID0gcmVnaXN0ZXJlZCA/IHJlZ2lzdGVyZWQtPnN5bnRheCA6ICIqIl9zOworICAgIGF1dG8m
IHN5bnRheCA9IHJlZ2lzdGVyZWQgPyByZWdpc3RlcmVkLT5zeW50YXggOiBDU1NQcm9wZXJ0eVN5
bnRheDo6dW5pdmVyc2FsKCk7CiAgICAgYXV0byByZXNvbHZlZERhdGEgPSB2YWx1ZVdpdGhSZWZl
cmVuY2VzLnJlc29sdmVWYXJpYWJsZVJlZmVyZW5jZXMoYnVpbGRlclN0YXRlKTsKICAgICBpZiAo
IXJlc29sdmVkRGF0YSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDg5YjVjNmU1NDQ3NS4u
N2UwMTc0M2IwZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmNwcApAQCAtMjUwLDEzICsyNTAsMTMgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQ
cm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBj
b24KICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLWJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OmNhblBh
cnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0IFN0cmluZyYgc3ludGF4LCBjb25zdCBD
U1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRl
eHQpCitib29sIENTU1Byb3BlcnR5UGFyc2VyOjpjYW5QYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlW
YWx1ZShjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYgc3ludGF4LCBjb25zdCBDU1NQYXJzZXJUb2tl
blJhbmdlJiB0b2tlbnMsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7CiAgICAg
Q1NTUHJvcGVydHlQYXJzZXIgcGFyc2VyKHRva2VucywgY29udGV4dCwgbnVsbHB0cik7CiAgICAg
cmV0dXJuIHBhcnNlci5jYW5QYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShzeW50YXgpOwog
fQogCi1SZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBh
cnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgc3ludGF4LCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsIFN0eWxl
OjpCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29u
dGV4dCkKK1JlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29u
c3QgQ1NTUHJvcGVydHlTeW50YXgmIHN5bnRheCwgY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
dG9rZW5zLCBTdHlsZTo6QnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgQ1NTUHJvcGVydHlQYXJzZXIgcGFyc2VyKHRva2Vu
cywgY29udGV4dCwgbnVsbHB0ciwgZmFsc2UpOwogICAgIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0
eVZhbHVlPiB2YWx1ZSA9IHBhcnNlci5wYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShuYW1l
LCBzeW50YXgsIGJ1aWxkZXJTdGF0ZSk7CkBAIC0yNjUsNyArMjY1LDcgQEAgUmVmUHRyPENTU0N1
c3RvbVByb3BlcnR5VmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5cGVkQ3VzdG9tUHJv
cGVydHlWYWx1ZSgKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLXZvaWQgQ1NTUHJvcGVydHlQYXJz
ZXI6OmNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0eVZhbHVlRGVwZW5kZW5jaWVzKGNvbnN0IFN0
cmluZyYgc3ludGF4LCBib29sIGlzUm9vdCwgSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiYgZGVwZW5k
ZW5jaWVzLCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCit2b2lkIENTU1Byb3BlcnR5UGFyc2VyOjpjb2xsZWN0UGFyc2Vk
Q3VzdG9tUHJvcGVydHlWYWx1ZURlcGVuZGVuY2llcyhjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYg
c3ludGF4LCBib29sIGlzUm9vdCwgSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiYgZGVwZW5kZW5jaWVz
LCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQmIGNvbnRleHQpCiB7CiAgICAgQ1NTUHJvcGVydHlQYXJzZXIgcGFyc2VyKHRva2VucywgY29u
dGV4dCwgbnVsbHB0cik7CiAgICAgcGFyc2VyLmNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0eVZh
bHVlRGVwZW5kZW5jaWVzKHN5bnRheCwgaXNSb290LCBkZXBlbmRlbmNpZXMpOwpAQCAtMzI2LDkg
KzMyNiw5IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlU2luZ2xl
VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSwgQ1NTCiAgICAgcmV0dXJuIENTU1Byb3BlcnR5
UGFyc2luZzo6cGFyc2UobV9yYW5nZSwgcHJvcGVydHksIGN1cnJlbnRTaG9ydGhhbmQsIG1fY29u
dGV4dCk7CiB9CiAKLXN0ZDo6cGFpcjxSZWZQdHI8Q1NTVmFsdWU+LCBDU1NQcm9wZXJ0eVN5bnRh
eDo6VHlwZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ3VzdG9tUHJvcGVydHlWYWx1ZVdpdGhT
eW50YXhEZWZpbml0aW9uKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4OjpEZWZpbml0aW9uJiBzeW50
YXhEZWZpbml0aW9uKQorc3RkOjpwYWlyPFJlZlB0cjxDU1NWYWx1ZT4sIENTU1Byb3BlcnR5U3lu
dGF4OjpUeXBlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29uc3VtZUN1c3RvbVByb3BlcnR5VmFsdWVX
aXRoU3ludGF4KGNvbnN0IENTU1Byb3BlcnR5U3ludGF4JiBzeW50YXgpCiB7Ci0gICAgQVNTRVJU
KCFDU1NQcm9wZXJ0eVN5bnRheDo6aXNVbml2ZXJzYWwoc3ludGF4RGVmaW5pdGlvbikpOworICAg
IEFTU0VSVCghc3ludGF4LmlzVW5pdmVyc2FsKCkpOwogCiAgICAgbV9yYW5nZS5jb25zdW1lV2hp
dGVzcGFjZSgpOwogCkBAIC0zMzYsOSArMzM2LDYgQEAgc3RkOjpwYWlyPFJlZlB0cjxDU1NWYWx1
ZT4sIENTU1Byb3BlcnR5U3ludGF4OjpUeXBlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDdXMK
IAogICAgIGF1dG8gdHJ5Q29uc3VtZUNvbXBvbmVudCA9IFsmXShjb25zdCBhdXRvJiBjb21wb25l
bnQpIC0+IFJlZlB0cjxDU1NWYWx1ZT4gewogICAgICAgICBzd2l0Y2ggKGNvbXBvbmVudC50eXBl
KSB7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTeW50YXg6OlR5cGU6OlVuaXZlcnNhbDoKLSAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTeW50YXg6OlR5cGU6Okxlbmd0aDoKICAgICAg
ICAgICAgIHJldHVybiBjb25zdW1lTGVuZ3RoKG1fcmFuZ2UsIG1fY29udGV4dC5tb2RlLCBWYWx1
ZVJhbmdlOjpBbGwpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3ludGF4OjpUeXBlOjpMZW5n
dGhQZXJjZW50YWdlOgpAQCAtMzc1LDcgKzM3Miw3IEBAIHN0ZDo6cGFpcjxSZWZQdHI8Q1NTVmFs
dWU+LCBDU1NQcm9wZXJ0eVN5bnRheDo6VHlwZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlQ3Vz
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH07CiAKLSAgICBmb3IgKGF1dG8mIGNvbXBv
bmVudCA6IHN5bnRheERlZmluaXRpb24pIHsKKyAgICBmb3IgKGF1dG8mIGNvbXBvbmVudCA6IHN5
bnRheC5kZWZpbml0aW9uKSB7CiAgICAgICAgIGlmIChhdXRvIHZhbHVlID0gdHJ5Q29uc3VtZUNv
bXBvbmVudChjb21wb25lbnQpKSB7CiAgICAgICAgICAgICBpZiAoIW1fcmFuZ2UuYXRFbmQoKSkK
ICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTM4NSwyOSArMzgyLDIxIEBAIHN0ZDo6cGFpcjxS
ZWZQdHI8Q1NTVmFsdWU+LCBDU1NQcm9wZXJ0eVN5bnRheDo6VHlwZT4gQ1NTUHJvcGVydHlQYXJz
ZXI6OnBhcnNlQ3VzCiAgICAgcmV0dXJuIHsgbnVsbHB0ciwgQ1NTUHJvcGVydHlTeW50YXg6OlR5
cGU6OlVua25vd24gfTsKIH0KIAotYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6Y2FuUGFyc2VUeXBl
ZEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgU3RyaW5nJiBzeW50YXgpCitib29sIENTU1Byb3Bl
cnR5UGFyc2VyOjpjYW5QYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBDU1NQcm9w
ZXJ0eVN5bnRheCYgc3ludGF4KQogewotICAgIGF1dG8gc3ludGF4RGVmaW5pdGlvbiA9IENTU1By
b3BlcnR5U3ludGF4OjpwYXJzZShzeW50YXgpOwotICAgIGlmIChzeW50YXhEZWZpbml0aW9uLmlz
RW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKENTU1Byb3BlcnR5U3lu
dGF4Ojppc1VuaXZlcnNhbChzeW50YXhEZWZpbml0aW9uKSkKKyAgICBpZiAoc3ludGF4LmlzVW5p
dmVyc2FsKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgYXV0byBbdmFsdWUsIHN5bnRh
eFR5cGVdID0gcGFyc2VDdXN0b21Qcm9wZXJ0eVZhbHVlV2l0aFN5bnRheERlZmluaXRpb24oc3lu
dGF4RGVmaW5pdGlvbik7CisgICAgYXV0byBbdmFsdWUsIHN5bnRheFR5cGVdID0gY29uc3VtZUN1
c3RvbVByb3BlcnR5VmFsdWVXaXRoU3ludGF4KHN5bnRheCk7CiAgICAgcmV0dXJuIHZhbHVlICYm
IG1fcmFuZ2UuYXRFbmQoKTsKIH0KIAotdm9pZCBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29sbGVjdFBh
cnNlZEN1c3RvbVByb3BlcnR5VmFsdWVEZXBlbmRlbmNpZXMoY29uc3QgU3RyaW5nJiBzeW50YXgs
IGJvb2wgaXNSb290LCBIYXNoU2V0PENTU1Byb3BlcnR5SUQ+JiBkZXBlbmRlbmNpZXMpCit2b2lk
IENTU1Byb3BlcnR5UGFyc2VyOjpjb2xsZWN0UGFyc2VkQ3VzdG9tUHJvcGVydHlWYWx1ZURlcGVu
ZGVuY2llcyhjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYgc3ludGF4LCBib29sIGlzUm9vdCwgSGFz
aFNldDxDU1NQcm9wZXJ0eUlEPiYgZGVwZW5kZW5jaWVzKQogewotICAgIGF1dG8gc3ludGF4RGVm
aW5pdGlvbiA9IENTU1Byb3BlcnR5U3ludGF4OjpwYXJzZShzeW50YXgpOwotICAgIGlmIChzeW50
YXhEZWZpbml0aW9uLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKENTU1By
b3BlcnR5U3ludGF4Ojppc1VuaXZlcnNhbChzeW50YXhEZWZpbml0aW9uKSkKKyAgICBpZiAoc3lu
dGF4LmlzVW5pdmVyc2FsKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gW3ZhbHVlLCBz
eW50YXhUeXBlXSA9IHBhcnNlQ3VzdG9tUHJvcGVydHlWYWx1ZVdpdGhTeW50YXhEZWZpbml0aW9u
KHN5bnRheERlZmluaXRpb24pOworICAgIGF1dG8gW3ZhbHVlLCBzeW50YXhUeXBlXSA9IGNvbnN1
bWVDdXN0b21Qcm9wZXJ0eVZhbHVlV2l0aFN5bnRheChzeW50YXgpOwogCiAgICAgaWYgKGF1dG8q
IHByaW1pdGl2ZVZhbHVlID0gZHluYW1pY0Rvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1
ZS5nZXQoKSkpIHsKICAgICAgICAgcHJpbWl0aXZlVmFsdWUtPmNvbGxlY3REaXJlY3RDb21wdXRh
dGlvbmFsRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcyk7CkBAIC00MTYsMjkgKzQwNSwyMiBAQCB2
b2lkIENTU1Byb3BlcnR5UGFyc2VyOjpjb2xsZWN0UGFyc2VkQ3VzdG9tUHJvcGVydHlWYWx1ZURl
cGVuZGVuY2llcyhjb25zdCBTdHJpbgogICAgIH0KIH0KIAotUmVmUHRyPENTU0N1c3RvbVByb3Bl
cnR5VmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1
ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN5bnRheCwgU3R5bGU6OkJ1
aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQorUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+
IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBB
dG9tU3RyaW5nJiBuYW1lLCBjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYgc3ludGF4LCBTdHlsZTo6
QnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCiB7Ci0gICAgYXV0byBzeW50YXhEZWZpbml0aW9u
ID0gQ1NTUHJvcGVydHlTeW50YXg6OnBhcnNlKHN5bnRheCk7Ci0gICAgaWYgKHN5bnRheERlZmlu
aXRpb24uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIGlmIChDU1NQ
cm9wZXJ0eVN5bnRheDo6aXNVbml2ZXJzYWwoc3ludGF4RGVmaW5pdGlvbikpIHsKKyAgICBpZiAo
c3ludGF4LmlzVW5pdmVyc2FsKCkpIHsKICAgICAgICAgYXV0byBwcm9wZXJ0eVZhbHVlID0gQ1NT
Q3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlU3ludGF4QWxsKG5hbWUsIENTU1ZhcmlhYmxlRGF0
YTo6Y3JlYXRlKG1fcmFuZ2UpKTsKICAgICAgICAgd2hpbGUgKCFtX3JhbmdlLmF0RW5kKCkpCiAg
ICAgICAgICAgICBtX3JhbmdlLmNvbnN1bWUoKTsKICAgICAgICAgcmV0dXJuIHByb3BlcnR5VmFs
dWU7CiAgICAgfQogCi0gICAgYXV0byBbdmFsdWUsIHN5bnRheFR5cGVdID0gcGFyc2VDdXN0b21Q
cm9wZXJ0eVZhbHVlV2l0aFN5bnRheERlZmluaXRpb24oc3ludGF4RGVmaW5pdGlvbik7CisgICAg
YXV0byBbdmFsdWUsIHN5bnRheFR5cGVdID0gY29uc3VtZUN1c3RvbVByb3BlcnR5VmFsdWVXaXRo
U3ludGF4KHN5bnRheCk7CiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAKICAgICBhdXRvKiBwcmltaXRpdmVWYWx1ZSA9IGR5bmFtaWNEb3duY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZT4odmFsdWUuZ2V0KCkpOwogCiAgICAgc3dpdGNoIChzeW50YXhUeXBlKSB7Ci0gICAg
Y2FzZSBDU1NQcm9wZXJ0eVN5bnRheDo6VHlwZTo6VW5pdmVyc2FsOgotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVN5bnRheDo6VHlwZTo6TGVuZ3RoUGVyY2VudGFnZToKICAgICBjYXNlIENTU1Byb3BlcnR5
U3ludGF4OjpUeXBlOjpMZW5ndGg6IHsKICAgICAgICAgYXV0byBsZW5ndGggPSBTdHlsZTo6QnVp
bGRlckNvbnZlcnRlcjo6Y29udmVydExlbmd0aChidWlsZGVyU3RhdGUsICpwcmltaXRpdmVWYWx1
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmgKaW5k
ZXggNjQ3ZmVhZTRiNmMzLi45NzZhOWQyZjQwYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmgKQEAgLTUxLDkgKzUxLDkgQEAgcHVibGljOgogCiAg
ICAgLy8gUGFyc2VzIGEgbm9uLXNob3J0aGFuZCBDU1MgcHJvcGVydHkKICAgICBzdGF0aWMgUmVm
UHRyPENTU1ZhbHVlPiBwYXJzZVNpbmdsZVZhbHVlKENTU1Byb3BlcnR5SUQsIGNvbnN0IENTU1Bh
cnNlclRva2VuUmFuZ2UmLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7Ci0gICAgc3RhdGljIGJv
b2wgY2FuUGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgU3RyaW5nJiBzeW50YXgs
IGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7Ci0g
ICAgc3RhdGljIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBwYXJzZVR5cGVkQ3VzdG9t
UHJvcGVydHlWYWx1ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN5bnRh
eCwgY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIFN0eWxlOjpCdWlsZGVyU3RhdGUmLCBjb25z
dCBDU1NQYXJzZXJDb250ZXh0Jik7Ci0gICAgc3RhdGljIHZvaWQgY29sbGVjdFBhcnNlZEN1c3Rv
bVByb3BlcnR5VmFsdWVEZXBlbmRlbmNpZXMoY29uc3QgU3RyaW5nJiBzeW50YXgsIGJvb2wgaXNS
b290LCBIYXNoU2V0PENTU1Byb3BlcnR5SUQ+JiBkZXBlbmRlbmNpZXMsIGNvbnN0IENTU1BhcnNl
clRva2VuUmFuZ2UmLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CisgICAgc3RhdGljIGJvb2wg
Y2FuUGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgQ1NTUHJvcGVydHlTeW50YXgm
LCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYpOwor
ICAgIHN0YXRpYyBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gcGFyc2VUeXBlZEN1c3Rv
bVByb3BlcnR5VmFsdWUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQ1NTUHJvcGVydHlT
eW50YXgmLCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiwgU3R5bGU6OkJ1aWxkZXJTdGF0ZSYs
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKKyAgICBzdGF0aWMgdm9pZCBjb2xsZWN0UGFyc2Vk
Q3VzdG9tUHJvcGVydHlWYWx1ZURlcGVuZGVuY2llcyhjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYs
IGJvb2wgaXNSb290LCBIYXNoU2V0PENTU1Byb3BlcnR5SUQ+JiBkZXBlbmRlbmNpZXMsIGNvbnN0
IENTU1BhcnNlclRva2VuUmFuZ2UmLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAKICAgICBz
dGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IoQ1NTUHJv
cGVydHlJRCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsK
IApAQCAtNjQsMTAgKzY0LDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXJzZVZhbHVlU3RhcnQo
Q1NTUHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgY29uc3VtZUNTU1dpZGVL
ZXl3b3JkKENTU1Byb3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50KTsKICAgICBSZWZQdHI8Q1NTVmFs
dWU+IHBhcnNlU2luZ2xlVmFsdWUoQ1NTUHJvcGVydHlJRCwgQ1NTUHJvcGVydHlJRCA9IENTU1By
b3BlcnR5SW52YWxpZCk7Ci0gICAgc3RkOjpwYWlyPFJlZlB0cjxDU1NWYWx1ZT4sIENTU1Byb3Bl
cnR5U3ludGF4OjpUeXBlPiBwYXJzZUN1c3RvbVByb3BlcnR5VmFsdWVXaXRoU3ludGF4RGVmaW5p
dGlvbihjb25zdCBDU1NQcm9wZXJ0eVN5bnRheDo6RGVmaW5pdGlvbiYpOwotICAgIGJvb2wgY2Fu
UGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgU3RyaW5nJiBzeW50YXgpOwotICAg
IFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBwYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlW
YWx1ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN5bnRheCwgU3R5bGU6
OkJ1aWxkZXJTdGF0ZSYpOwotICAgIHZvaWQgY29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5VmFs
dWVEZXBlbmRlbmNpZXMoY29uc3QgU3RyaW5nJiBzeW50YXgsIGJvb2wgaXNSb290LCBIYXNoU2V0
PENTU1Byb3BlcnR5SUQ+JiBkZXBlbmRlbmNpZXMpOworICAgIHN0ZDo6cGFpcjxSZWZQdHI8Q1NT
VmFsdWU+LCBDU1NQcm9wZXJ0eVN5bnRheDo6VHlwZT4gY29uc3VtZUN1c3RvbVByb3BlcnR5VmFs
dWVXaXRoU3ludGF4KGNvbnN0IENTU1Byb3BlcnR5U3ludGF4Jik7CisgICAgYm9vbCBjYW5QYXJz
ZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYpOworICAg
IFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBwYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlW
YWx1ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYsIFN0
eWxlOjpCdWlsZGVyU3RhdGUmKTsKKyAgICB2b2lkIGNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0
eVZhbHVlRGVwZW5kZW5jaWVzKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4JiwgYm9vbCBpc1Jvb3Qs
IEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4mIGRlcGVuZGVuY2llcyk7CiAKICAgICBib29sIGluUXVp
cmtzTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dC5tb2RlID09IEhUTUxRdWlya3NNb2Rl
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlT
eW50YXguY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5bnRheC5j
cHAKaW5kZXggYThmY2JlMzBhYzJmLi5mNDU5ZjYxM2I3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlTeW50YXguY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlTeW50YXguY3BwCkBAIC0xMDAsOSArMTAwLDkgQEAg
YXV0byBDU1NQcm9wZXJ0eVN5bnRheDo6cGFyc2VDb21wb25lbnQoU3RyaW5nUGFyc2luZ0J1ZmZl
cjxDaGFyYWN0ZXJUeXBlPiBidWZmZXIKICAgICByZXR1cm4gQ29tcG9uZW50IHsgVHlwZTo6Q3Vz
dG9tSWRlbnQsIE11bHRpcGxpZXI6OlNpbmdsZSwgaWRlbnQudG9BdG9tU3RyaW5nKCkgfTsKIH0K
IAotYXV0byBDU1NQcm9wZXJ0eVN5bnRheDo6cGFyc2UoU3RyaW5nVmlldyBzeW50YXgpIC0+IERl
ZmluaXRpb24KK3N0ZDo6b3B0aW9uYWw8Q1NTUHJvcGVydHlTeW50YXg+IENTU1Byb3BlcnR5U3lu
dGF4OjpwYXJzZShTdHJpbmdWaWV3IHN5bnRheCkKIHsKLSAgICByZXR1cm4gcmVhZENoYXJhY3Rl
cnNGb3JQYXJzaW5nKHN5bnRheCwgWyZdKGF1dG8gYnVmZmVyKSAtPiBEZWZpbml0aW9uIHsKKyAg
ICByZXR1cm4gcmVhZENoYXJhY3RlcnNGb3JQYXJzaW5nKHN5bnRheCwgWyZdKGF1dG8gYnVmZmVy
KSAtPiBzdGQ6Om9wdGlvbmFsPENTU1Byb3BlcnR5U3ludGF4PiB7CiAgICAgICAgIHNraXBXaGls
ZTxpc0NTU1NwYWNlPihidWZmZXIpOwogCiAgICAgICAgIGlmIChza2lwRXhhY3RseShidWZmZXIs
ICcqJykpIHsKQEAgLTExMCw3ICsxMTAsNyBAQCBhdXRvIENTU1Byb3BlcnR5U3ludGF4OjpwYXJz
ZShTdHJpbmdWaWV3IHN5bnRheCkgLT4gRGVmaW5pdGlvbgogICAgICAgICAgICAgaWYgKGJ1ZmZl
ci5oYXNDaGFyYWN0ZXJzUmVtYWluaW5nKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgICAgICAgICAgcmV0dXJuIHsgeyBUeXBlOjpVbml2ZXJzYWwgfSB9OworICAgICAgICAg
ICAgcmV0dXJuIHVuaXZlcnNhbCgpOwogICAgICAgICB9CiAKICAgICAgICAgRGVmaW5pdGlvbiBk
ZWZpbml0aW9uOwpAQCAtMTMwLDcgKzEzMCwxMCBAQCBhdXRvIENTU1Byb3BlcnR5U3ludGF4Ojpw
YXJzZShTdHJpbmdWaWV3IHN5bnRheCkgLT4gRGVmaW5pdGlvbgogICAgICAgICAgICAgc2tpcFdo
aWxlPGlzQ1NTU3BhY2U+KGJ1ZmZlcik7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gZGVm
aW5pdGlvbjsKKyAgICAgICAgaWYgKGRlZmluaXRpb24uaXNFbXB0eSgpKQorICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlTeW50YXggeyBkZWZpbml0
aW9uIH07CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlTeW50YXguaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlTeW50YXguaAppbmRleCBiOWE5ZDQxNGQ3MmUuLjBlZGNkMmUyODIzMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5bnRheC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlTeW50YXguaApAQCAtMjksMTAgKzI5
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1NQcm9wZXJ0eVN5bnRheCB7
Ci1wdWJsaWM6CitzdHJ1Y3QgQ1NTUHJvcGVydHlTeW50YXggewogICAgIGVudW0gY2xhc3MgVHlw
ZSA6IHVpbnQ4X3QgewotICAgICAgICBVbml2ZXJzYWwsCiAgICAgICAgIExlbmd0aCwKICAgICAg
ICAgTGVuZ3RoUGVyY2VudGFnZSwKICAgICAgICAgUGVyY2VudGFnZSwKQEAgLTYyLDggKzYwLDEy
IEBAIHB1YmxpYzoKIAogICAgIHVzaW5nIERlZmluaXRpb24gPSBWZWN0b3I8Q29tcG9uZW50PjsK
IAotICAgIHN0YXRpYyBEZWZpbml0aW9uIHBhcnNlKFN0cmluZ1ZpZXcpOwotICAgIHN0YXRpYyBi
b29sIGlzVW5pdmVyc2FsKGNvbnN0IERlZmluaXRpb24mIGRlZmluaXRpb24pIHsgcmV0dXJuIGRl
ZmluaXRpb24uc2l6ZSgpID09IDEgJiYgZGVmaW5pdGlvblswXS50eXBlID09IFR5cGU6OlVuaXZl
cnNhbDsgfQorICAgIERlZmluaXRpb24gZGVmaW5pdGlvbjsKKworICAgIGJvb2wgaXNVbml2ZXJz
YWwoKSBjb25zdCB7IHJldHVybiBkZWZpbml0aW9uLmlzRW1wdHkoKTsgfQorCisgICAgc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8Q1NTUHJvcGVydHlTeW50YXg+IHBhcnNlKFN0cmluZ1ZpZXcpOworICAg
IHN0YXRpYyBDU1NQcm9wZXJ0eVN5bnRheCB1bml2ZXJzYWwoKSB7IHJldHVybiB7IH07IH0KIAog
cHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgc3Rk
OjpvcHRpb25hbDxDb21wb25lbnQ+IHBhcnNlQ29tcG9uZW50KFN0cmluZ1BhcnNpbmdCdWZmZXI8
Q2hhcmFjdGVyVHlwZT4pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1w
cm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jl
Z2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCA3NjIzZTA0
Yjc3ZDAuLjBhODk0Nzc4ZTFjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rl
ci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVz
LWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQKQEAgLTY1
LDcgKzY1LDcgQEAgUEFTUyBzeW50YXg6J2JhbmFuYScsIGluaXRpYWxWYWx1ZTonYmFuYW5cNjEn
IGlzIHZhbGlkCiBQQVNTIHN5bnRheDonYmFuYW5cNjEnLCBpbml0aWFsVmFsdWU6J2JhbmFuYScg
aXMgdmFsaWQKIFBBU1Mgc3ludGF4Oic8Y3VzdG9tLWlkZW50PicsIGluaXRpYWxWYWx1ZTonYmFu
YW5cNjEnIGlzIHZhbGlkCiBQQVNTIHN5bnRheDonYmlnIHwgYmlnZ2VyIHwgQklHR0VSJywgaW5p
dGlhbFZhbHVlOidiaWdnZXInIGlzIHZhbGlkCi1GQUlMIHN5bnRheDonZm9vK3xiYXInLCBpbml0
aWFsVmFsdWU6J2ZvbyBmb28gZm9vJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBk
b2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgc3ludGF4Oidmb28rfGJh
cicsIGluaXRpYWxWYWx1ZTonZm9vIGZvbyBmb28nIGlzIHZhbGlkIEludmFsaWQgcHJvcGVydHkg
c3ludGF4IGRlZmluaXRpb24uCiBQQVNTIHN5bnRheDonYmFuYW5hCScsIGluaXRpYWxWYWx1ZTon
YmFuYW5hJyBpcyB2YWxpZAogUEFTUyBzeW50YXg6JwogYmFuYW5hXHIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3R5
cGVkb20tZXhwZWN0ZWQudHh0CmluZGV4IGVjMjVhNTA3MmMzNS4uOTBjZTQxNGU0MDkzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3R5cGVkb20tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvdHlwZWRvbS1leHBlY3RlZC50eHQKQEAgLTE5Myw4ICsxOTMsOCBAQCBQQVNT
IENTU1VuaXRWYWx1ZSByZWplY3RlZCBieSBzZXQoKSBmb3Igc3ludGF4IDxsZW5ndGg+IyBbYXR0
cmlidXRlU3R5bGVNYXBdCiBQQVNTIENTU1VuaXRWYWx1ZSByZWplY3RlZCBieSBzZXQoKSBmb3Ig
c3ludGF4IDxsZW5ndGg+IyBbc3R5bGVNYXBdCiBQQVNTIEFwcGVuZGluZyBhIHN0cmluZyB0byAq
IGlzIG5vdCBhbGxvd2VkIFthdHRyaWJ1dGVTdHlsZU1hcF0KIFBBU1MgQXBwZW5kaW5nIGEgc3Ry
aW5nIHRvICogaXMgbm90IGFsbG93ZWQgW3N0eWxlTWFwXQotRkFJTCBBcHBlbmRpbmcgYSBzdHJp
bmcgdG8gZm9vKyBpcyBub3QgYWxsb3dlZCBbYXR0cmlidXRlU3R5bGVNYXBdIFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBB
cHBlbmRpbmcgYSBzdHJpbmcgdG8gZm9vKyBpcyBub3QgYWxsb3dlZCBbc3R5bGVNYXBdIFRoZSBn
aXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4Lgor
RkFJTCBBcHBlbmRpbmcgYSBzdHJpbmcgdG8gZm9vKyBpcyBub3QgYWxsb3dlZCBbYXR0cmlidXRl
U3R5bGVNYXBdIEludmFsaWQgcHJvcGVydHkgc3ludGF4IGRlZmluaXRpb24uCitGQUlMIEFwcGVu
ZGluZyBhIHN0cmluZyB0byBmb28rIGlzIG5vdCBhbGxvd2VkIFtzdHlsZU1hcF0gSW52YWxpZCBw
cm9wZXJ0eSBzeW50YXggZGVmaW5pdGlvbi4KIFBBU1MgQXBwZW5kaW5nIGEgc3RyaW5nIHRvIDxh
bmdsZT4rIGlzIG5vdCBhbGxvd2VkIFthdHRyaWJ1dGVTdHlsZU1hcF0KIFBBU1MgQXBwZW5kaW5n
IGEgc3RyaW5nIHRvIDxhbmdsZT4rIGlzIG5vdCBhbGxvd2VkIFtzdHlsZU1hcF0KIFBBU1MgQXBw
ZW5kaW5nIGEgc3RyaW5nIHRvIDxjb2xvcj4rIGlzIG5vdCBhbGxvd2VkIFthdHRyaWJ1dGVTdHls
ZU1hcF0KQEAgLTIyNyw4ICsyMjcsOCBAQCBQQVNTIEFwcGVuZGluZyBhIHN0cmluZyB0byA8bGVu
Z3RoPiMgaXMgbm90IGFsbG93ZWQgW2F0dHJpYnV0ZVN0eWxlTWFwXQogUEFTUyBBcHBlbmRpbmcg
YSBzdHJpbmcgdG8gPGxlbmd0aD4jIGlzIG5vdCBhbGxvd2VkIFtzdHlsZU1hcF0KIFBBU1MgQXBw
ZW5kaW5nIGEgQ1NTS2V5d29yZFZhbHVlIHRvICogaXMgbm90IGFsbG93ZWQgW2F0dHJpYnV0ZVN0
eWxlTWFwXQogUEFTUyBBcHBlbmRpbmcgYSBDU1NLZXl3b3JkVmFsdWUgdG8gKiBpcyBub3QgYWxs
b3dlZCBbc3R5bGVNYXBdCi1GQUlMIEFwcGVuZGluZyBhIENTU0tleXdvcmRWYWx1ZSB0byBmb28r
IGlzIG5vdCBhbGxvd2VkIFthdHRyaWJ1dGVTdHlsZU1hcF0gVGhlIGdpdmVuIGluaXRpYWwgdmFs
dWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIEFwcGVuZGluZyBh
IENTU0tleXdvcmRWYWx1ZSB0byBmb28rIGlzIG5vdCBhbGxvd2VkIFtzdHlsZU1hcF0gVGhlIGdp
dmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitG
QUlMIEFwcGVuZGluZyBhIENTU0tleXdvcmRWYWx1ZSB0byBmb28rIGlzIG5vdCBhbGxvd2VkIFth
dHRyaWJ1dGVTdHlsZU1hcF0gSW52YWxpZCBwcm9wZXJ0eSBzeW50YXggZGVmaW5pdGlvbi4KK0ZB
SUwgQXBwZW5kaW5nIGEgQ1NTS2V5d29yZFZhbHVlIHRvIGZvbysgaXMgbm90IGFsbG93ZWQgW3N0
eWxlTWFwXSBJbnZhbGlkIHByb3BlcnR5IHN5bnRheCBkZWZpbml0aW9uLgogUEFTUyBBcHBlbmRp
bmcgYSBDU1NVbml0VmFsdWUgdG8gPGFuZ2xlPisgaXMgbm90IGFsbG93ZWQgW2F0dHJpYnV0ZVN0
eWxlTWFwXQogUEFTUyBBcHBlbmRpbmcgYSBDU1NVbml0VmFsdWUgdG8gPGFuZ2xlPisgaXMgbm90
IGFsbG93ZWQgW3N0eWxlTWFwXQogUEFTUyBBcHBlbmRpbmcgYSBDU1NLZXl3b3JkVmFsdWUgdG8g
PGN1c3RvbS1pZGVudD4rIGlzIG5vdCBhbGxvd2VkIFthdHRyaWJ1dGVTdHlsZU1hcF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>464010</attachid>
            <date>2022-12-12 06:13:44 -0800</date>
            <delta_ts>2022-12-12 09:32:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-249127-20221212161343.patch</filename>
            <type>text/plain</type>
            <size>35531</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBhMzdiNzQ3OGU5Y2Y5MDFkOWM2ZDUwZGI1MDFiMmU5OGVhNjQ2Y2E0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDEyIERlYyAyMDIyIDExOjMyOjMyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gW0Bwcm9w
ZXJ0eV0gU2F2ZSBwYXJzZWQgc3ludGF4IGluIHByb3BlcnR5IHJlZ2lzdHJhdGlvbgogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0OTEyNyByZGFyOi8vMTAzMjQ0ODE4
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkF2b2lkIHJlcGVhdGVkIHN5bnRheCBzdHJp
bmcgcGFyc2luZyBkdXJpbmcgcHJvcGVydHkgcmVzb2x1dGlvbi4KCiogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQ6CiogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS90eXBlZG9tLWV4cGVjdGVkLnR4dDoKKiBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CiogU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZ2lz
dGVyZWRDdXN0b21Qcm9wZXJ0eS5jcHA6CihXZWJDb3JlOjpDU1NSZWdpc3RlcmVkQ3VzdG9tUHJv
cGVydHk6OkNTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eSk6CiogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oOgoKU2F2ZSB0aGUgcGFyc2VkIHN5bnRheCBp
bnN0ZWFkIG9mIGEgc3RyaW5nLgpVc2UgQXRvbVN0cmluZyBmb3IgdGhlIG5hbWUuCgoqIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZURhdGEuaDoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHA6CihXZWJDb3JlOjpyZXNvbHZlVmFyaWFibGVSZWZl
cmVuY2UpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9Db21wdXRlZFN0eWxlRXh0cmFjdG9yLmNwcDoK
KFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OmN1c3RvbVByb3BlcnR5VmFsdWUpOgoq
IFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmNwcDoKKFdl
YkNvcmU6OkRPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHk6OnJlZ2lzdGVyUHJvcGVydHkpOgoq
IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwOgooV2ViQ29yZTo6TXV0YWJs
ZVN0eWxlUHJvcGVydGllczo6c2V0Q3VzdG9tUHJvcGVydHkpOgoqIFNvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyLmNwcDoKKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZVdp
dGhWYXJpYWJsZVJlZmVyZW5jZXMpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwOgooV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OmNhblBhcnNlVHlw
ZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKToKKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJz
ZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZSk6CihXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6
Y29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5VmFsdWVEZXBlbmRlbmNpZXMpOgooV2ViQ29yZTo6
Q1NTUHJvcGVydHlQYXJzZXI6OmNvbnN1bWVDdXN0b21Qcm9wZXJ0eVZhbHVlV2l0aFN5bnRheCk6
CihXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDdXN0b21Qcm9wZXJ0eVZhbHVlV2l0
aFN5bnRheERlZmluaXRpb24pOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5U3ludGF4LmNwcDoKKFdlYkNvcmU6OkNTU1Byb3BlcnR5U3ludGF4OjpwYXJzZSk6CiogU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5bnRheC5oOgoKQWxzbyB0dXJuIENT
U1Byb3BlcnR5U3ludGF4IGludG8gYW4gaW5zdGFudGlhdGVkIHN0cnVjdC4KCihXZWJDb3JlOjpD
U1NQcm9wZXJ0eVN5bnRheDo6aXNVbml2ZXJzYWwgY29uc3QpOgooV2ViQ29yZTo6Q1NTUHJvcGVy
dHlTeW50YXg6OnVuaXZlcnNhbCk6CihXZWJDb3JlOjpDU1NQcm9wZXJ0eVN5bnRheDo6aXNVbml2
ZXJzYWwpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHA6CihXZWJD
b3JlOjpEb2N1bWVudDo6cmVnaXN0ZXJDU1NDdXN0b21Qcm9wZXJ0eSk6CihXZWJDb3JlOjpEb2N1
bWVudDo6cmVnaXN0ZXJDU1NQcm9wZXJ0eSk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50Lmg6CgpTdG9wIGluY2x1ZGluZyBDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHku
aCBhbmQgaXRzIGRlcGVuZGVuY2llcyBldmVyeXdoZXJlLgoKKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZWdpc3RlcmVkQ1NTQ3VzdG9tUHJvcGVydGllcyBjb25zdCk6CihXZWJDb3JlOjpEb2N1bWVudDo6
Z2V0Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5U2V0IGNvbnN0KTogRGVsZXRlZC4KClJlbmFt
ZSB0byBiZXR0ZXIgbWF0Y2ggV2ViS2l0IHN0eWxlLgoKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXI6OmFwcGx5UHJvcGVydHkp
OgotLS0KIC4uLi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiB8ICAy
ICstCiAuLi4vY3NzL0NTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5jcHAgICAgICAgfCAgMiAr
LQogLi4uL1dlYkNvcmUvY3NzL0NTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oIHwgMTEgKyst
LS0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZURhdGEuaCAgICAgICAgICB8ICAxIC0K
IC4uLi9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCB8ICAzICstCiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvci5jcHAgfCAgMiArLQogLi4u
L2Nzcy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmNwcCAgICAgIHwgMTMgKysrLS0KIFNv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwICAgICAgICB8IDEwICsrLS0KIFNv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcCAgICAgICB8ICA1ICstCiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5oICAgICAgICAgfCAgMSAtCiAuLi4vV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCAgfCA0OCArKysrKystLS0tLS0t
LS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmggfCAx
NCArKystLS0KIC4uLi9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlTeW50YXguY3BwICB8
IDExICsrKy0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5U3ludGF4Lmgg
fCAxMiArKystLQogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCAgICAgICAgICAgICAg
IHwgIDUgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oICAgICAgICAgICAgICAgICB8
ICA4ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlci5jcHAgICAgICAgICB8
ICAzICstCiAuLi5pc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQgfCAg
MiArLQogLi4uL3R5cGVkb20tZXhwZWN0ZWQudHh0ICAgICAgICAgICAgICAgICAgICAgIHwgIDgg
KystLQogMTkgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgODUgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDRmMTg0ZWM3NTg0OS4uMGVjYTExNzgwYzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTk0LDcgKzE1OTQsNyBA
QAogCQk0QkQ3ODFCRjIxQzE5NjVGMDBEOTcwM0UgLyogU3R5bGVQcm9wZXJ0eU1hcC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJENzgxQkUyMUMxOTY1
RjAwRDk3MDNFIC8qIFN0eWxlUHJvcGVydHlNYXAuaCAqLzsgfTsKIAkJNEJEQTNGRkUyMTUxQjZG
NTAwRkQ2NjA0IC8qIERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJEQTNGRjgyMTUxQjZGMjAwRkQ2
NjA0IC8qIERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5oICovOyB9OwogCQk0QkRBM0ZG
RjIxNTFCNkY1MDBGRDY2MDQgLyogRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJEQTNGRjkyMTUxQjZG
MzAwRkQ2NjA0IC8qIERPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaCAqLzsgfTsKLQkJNEJE
QTQwMDEyMTUxQjZGNTAwRkQ2NjA0IC8qIENTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJEQTNGRkIyMTUx
QjZGNDAwRkQ2NjA0IC8qIENTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTRCREE0MDAxMjE1MUI2RjUw
MEZENjYwNCAvKiBDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCREEzRkZCMjE1MUI2RjQwMEZENjYwNCAv
KiBDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkuaCAqLzsgfTsKIAkJNEJERUEzMjAyMTdFQzU1
RjAwNTJERkNEIC8qIFdvcmtsZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRCREVBMzFGMjE3RUM1NUYwMDUyREZDRCAvKiBXb3JrbGV0LmggKi87IH07
CiAJCTRCREVBMzI1MjE3RkUyRTQwMDUyREZDRCAvKiBXb3JrbGV0R2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCREVBMzI0MjE3RkUy
RTQwMDUyREZDRCAvKiBXb3JrbGV0R2xvYmFsU2NvcGUuaCAqLzsgfTsKIAkJNEJERUEzMkMyMTgw
MzNFQjAwNTJERkNEIC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJERUEzMkIyMTgwMzNFQjAwNTJERkNE
IC8qIEpTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmNwcAppbmRleCA3OWVmN2ZlNmIw
M2MuLjcxYTE4NzVkODM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZ2lz
dGVyZWRDdXN0b21Qcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZ2lz
dGVyZWRDdXN0b21Qcm9wZXJ0eS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1DU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHk6OkNTU1JlZ2lzdGVyZWRDdXN0
b21Qcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3ludGF4LCBib29s
IGluaGVyaXRzLCBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4mJiBpbml0aWFsVmFsdWUp
CitDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHk6OkNTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0
eShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYgc3ludGF4
LCBib29sIGluaGVyaXRzLCBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4mJiBpbml0aWFs
VmFsdWUpCiAgICAgOiBuYW1lKG5hbWUpCiAgICAgLCBzeW50YXgoc3ludGF4KQogICAgICwgaW5o
ZXJpdHMoaW5oZXJpdHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVnaXN0
ZXJlZEN1c3RvbVByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1
c3RvbVByb3BlcnR5LmgKaW5kZXggMjE3ZjE0OWFkZjBlLi43OTQ0ODc5NGFjNmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmgKQEAgLTI1
LDcgKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KKyNpbmNsdWRlICJDU1NQcm9wZXJ0eVN5bnRheC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21TdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCwxMSArMzUsMTEg
QEAgY2xhc3MgQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTsKIHN0cnVjdCBDU1NSZWdpc3RlcmVkQ3Vz
dG9tUHJvcGVydHkgewogICAgIFdURl9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKIAotICAg
IGNvbnN0IFN0cmluZyBuYW1lOwotICAgIGNvbnN0IFN0cmluZyBzeW50YXg7CisgICAgY29uc3Qg
QXRvbVN0cmluZyBuYW1lOworICAgIGNvbnN0IENTU1Byb3BlcnR5U3ludGF4IHN5bnRheDsKICAg
ICBjb25zdCBib29sIGluaGVyaXRzOwogCi0gICAgQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBzeW50YXgsIGJvb2wgaW5oZXJpdHMs
IFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiYmIGluaXRpYWxWYWx1ZSk7CisgICAgQ1NT
UmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5KGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IENT
U1Byb3BlcnR5U3ludGF4JiwgYm9vbCBpbmhlcml0cywgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5
VmFsdWU+JiYgaW5pdGlhbFZhbHVlKTsKIAogICAgIGNvbnN0IENTU0N1c3RvbVByb3BlcnR5VmFs
dWUqIGluaXRpYWxWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhbFZhbHVlLmdldCgpOyB9
CiAgICAgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IGluaXRpYWxWYWx1ZUNvcHkoKSBj
b25zdDsKQEAgLTQ3LDYgKzQ4LDQgQEAgcHJpdmF0ZToKICAgICBjb25zdCBSZWZQdHI8Q1NTQ3Vz
dG9tUHJvcGVydHlWYWx1ZT4gbV9pbml0aWFsVmFsdWU7CiB9OwogCi11c2luZyBDU1NSZWdpc3Rl
cmVkQ3VzdG9tUHJvcGVydHlTZXQgPSBIYXNoTWFwPFN0cmluZywgc3RkOjp1bmlxdWVfcHRyPENT
U1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eT4+OwotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFyaWFibGVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFi
bGVEYXRhLmgKaW5kZXggYjdjNGE5N2MzYzI2Li5lYWZiMTViODg0ZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFyaWFibGVEYXRhLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkNTU1Bh
cnNlclRva2VuLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyVG9rZW5SYW5nZS5oIgotI2luY2x1ZGUg
IkNTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKaW5kZXggMGIyZmZjYjYwZThkLi5iN2Q0YWJm
OWU1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgiCiAKKyNpbmNsdWRlICJDU1NSZWdpc3RlcmVk
Q3VzdG9tUHJvcGVydHkuaCIKICNpbmNsdWRlICJDU1NWYXJpYWJsZURhdGEuaCIKICNpbmNsdWRl
ICJDb25zdGFudFByb3BlcnR5TWFwLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKQEAgLTgy
LDcgKzgzLDcgQEAgc3RhdGljIGJvb2wgcmVzb2x2ZVZhcmlhYmxlUmVmZXJlbmNlKENTU1BhcnNl
clRva2VuUmFuZ2UgcmFuZ2UsIENTU1ZhbHVlSUQgZnVuY3QKIHsKICAgICBBU1NFUlQoZnVuY3Rp
b25JZCA9PSBDU1NWYWx1ZVZhciB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlRW52KTsKIAotICAg
IGF1dG8mIHJlZ2lzdGVyZWRQcm9wZXJ0aWVzID0gYnVpbGRlclN0YXRlLmRvY3VtZW50KCkuZ2V0
Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5U2V0KCk7CisgICAgYXV0byYgcmVnaXN0ZXJlZFBy
b3BlcnRpZXMgPSBidWlsZGVyU3RhdGUuZG9jdW1lbnQoKS5yZWdpc3RlcmVkQ1NTQ3VzdG9tUHJv
cGVydGllcygpOwogICAgIGF1dG8mIHN0eWxlID0gYnVpbGRlclN0YXRlLnN0eWxlKCk7CiAKICAg
ICByYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NvbXB1dGVkU3R5bGVFeHRyYWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbXB1
dGVkU3R5bGVFeHRyYWN0b3IuY3BwCmluZGV4IGY2ODc1MzBlZGVkNi4uMjFjOWY2Zjk4ODJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbXB1dGVkU3R5bGVFeHRyYWN0b3IuY3BwCkBAIC0y
NzUxLDcgKzI3NTEsNyBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6
OmN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgQXRvbVN0cmluZyYgcAogCiAgICAgYXV0byogdmFs
dWUgPSBzdHlsZS0+Z2V0Q3VzdG9tUHJvcGVydHkocHJvcGVydHlOYW1lKTsKICAgICBpZiAoIXZh
bHVlKSB7Ci0gICAgICAgIGF1dG8gcmVnaXN0ZXJlZCA9IHN0eWxlZEVsZW1lbnQtPmRvY3VtZW50
KCkuZ2V0Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5U2V0KCkuZ2V0KHByb3BlcnR5TmFtZSk7
CisgICAgICAgIGF1dG8gcmVnaXN0ZXJlZCA9IHN0eWxlZEVsZW1lbnQtPmRvY3VtZW50KCkucmVn
aXN0ZXJlZENTU0N1c3RvbVByb3BlcnRpZXMoKS5nZXQocHJvcGVydHlOYW1lKTsKICAgICAgICAg
cmV0dXJuIHJlZ2lzdGVyZWQgPyByZWdpc3RlcmVkLT5pbml0aWFsVmFsdWVDb3B5KCkgOiBudWxs
cHRyOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lz
dGVyQ3VzdG9tUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lzdGVy
Q3VzdG9tUHJvcGVydHkuY3BwCmluZGV4IGNiMGVjMzFhOWUwYS4uYzViNDBlNjExYzI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHku
Y3BwCkBAIC00Niw2ICs0NiwxMCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBET01DU1NSZWdpc3RlckN1
c3RvbVByb3BlcnR5OjpyZWdpc3RlclByb3BlcnR5KERvY3VtZW50JiBkb2N1bQogICAgIGlmICgh
aXNDdXN0b21Qcm9wZXJ0eU5hbWUoZGVzY3JpcHRvci5uYW1lKSkKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IFN5bnRheEVycm9yLCAiVGhlIG5hbWUgb2YgdGhpcyBwcm9wZXJ0eSBpcyBub3Qg
YSBjdXN0b20gcHJvcGVydHkgbmFtZS4iX3MgfTsKIAorICAgIGF1dG8gc3ludGF4ID0gQ1NTUHJv
cGVydHlTeW50YXg6OnBhcnNlKGRlc2NyaXB0b3Iuc3ludGF4KTsKKyAgICBpZiAoIXN5bnRheCkK
KyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yLCAiSW52YWxpZCBwcm9wZXJ0
eSBzeW50YXggZGVmaW5pdGlvbi4iX3MgfTsKKwogICAgIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0
eVZhbHVlPiBpbml0aWFsVmFsdWU7CiAgICAgaWYgKCFkZXNjcmlwdG9yLmluaXRpYWxWYWx1ZS5p
c0VtcHR5KCkpIHsKICAgICAgICAgQ1NTVG9rZW5pemVyIHRva2VuaXplcihkZXNjcmlwdG9yLmlu
aXRpYWxWYWx1ZSk7CkBAIC01NiwxOCArNjAsMTcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRE9NQ1NT
UmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eTo6cmVnaXN0ZXJQcm9wZXJ0eShEb2N1bWVudCYgZG9jdW0K
ICAgICAgICAgYXV0byBzdHlsZSA9IHN0eWxlUmVzb2x2ZXItPmRlZmF1bHRTdHlsZUZvckVsZW1l
bnQobnVsbHB0cik7CiAKICAgICAgICAgSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiBkZXBlbmRlbmNp
ZXM7Ci0gICAgICAgIENTU1Byb3BlcnR5UGFyc2VyOjpjb2xsZWN0UGFyc2VkQ3VzdG9tUHJvcGVy
dHlWYWx1ZURlcGVuZGVuY2llcyhkZXNjcmlwdG9yLnN5bnRheCwgZmFsc2UsIGRlcGVuZGVuY2ll
cywgdG9rZW5pemVyLnRva2VuUmFuZ2UoKSwgc3RyaWN0Q1NTUGFyc2VyQ29udGV4dCgpKTsKKyAg
ICAgICAgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0eVZhbHVl
RGVwZW5kZW5jaWVzKCpzeW50YXgsIGZhbHNlLCBkZXBlbmRlbmNpZXMsIHRva2VuaXplci50b2tl
blJhbmdlKCksIHN0cmljdENTU1BhcnNlckNvbnRleHQoKSk7CiAKICAgICAgICAgaWYgKCFkZXBl
bmRlbmNpZXMuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRh
eEVycm9yLCAiVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgbXVzdCBiZSBjb21wdXRhdGlvbmFsbHkg
aW5kZXBlbmRlbnQuIl9zIH07CiAKLQogICAgICAgICBTdHlsZTo6TWF0Y2hSZXN1bHQgbWF0Y2hS
ZXN1bHQ7CiAKICAgICAgICAgYXV0byBwYXJlbnRTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9uZSgq
c3R5bGUpOwogICAgICAgICBTdHlsZTo6QnVpbGRlciBkdW1teUJ1aWxkZXIoKnN0eWxlLCB7IGRv
Y3VtZW50LCBwYXJlbnRTdHlsZSB9LCBtYXRjaFJlc3VsdCwgeyB9KTsKIAotICAgICAgICBpbml0
aWFsVmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFs
dWUoZGVzY3JpcHRvci5uYW1lLCBkZXNjcmlwdG9yLnN5bnRheCwgdG9rZW5pemVyLnRva2VuUmFu
Z2UoKSwgZHVtbXlCdWlsZGVyLnN0YXRlKCksIHsgZG9jdW1lbnQgfSk7CisgICAgICAgIGluaXRp
YWxWYWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1
ZShkZXNjcmlwdG9yLm5hbWUsICpzeW50YXgsIHRva2VuaXplci50b2tlblJhbmdlKCksIGR1bW15
QnVpbGRlci5zdGF0ZSgpLCB7IGRvY3VtZW50IH0pOwogCiAgICAgICAgIGlmICghaW5pdGlhbFZh
bHVlIHx8ICFpbml0aWFsVmFsdWUtPmlzUmVzb2x2ZWQoKSkKICAgICAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBTeW50YXhFcnJvciwgIlRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90
IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LiJfcyB9OwpAQCAtNzksOCArODIsOCBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5OjpyZWdpc3RlclByb3Bl
cnR5KERvY3VtZW50JiBkb2N1bQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRh
eEVycm9yLCAiVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgbXVzdCBiZSBjb21wdXRhdGlvbmFsbHkg
aW5kZXBlbmRlbnQuIl9zIH07CiAgICAgfQogCi0gICAgQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3Bl
cnR5IHByb3BlcnR5IHsgZGVzY3JpcHRvci5uYW1lLCBkZXNjcmlwdG9yLnN5bnRheCwgZGVzY3Jp
cHRvci5pbmhlcml0cywgV1RGTW92ZShpbml0aWFsVmFsdWUpIH07Ci0gICAgaWYgKCFkb2N1bWVu
dC5yZWdpc3RlckNTU1Byb3BlcnR5KFdURk1vdmUocHJvcGVydHkpKSkKKyAgICBDU1NSZWdpc3Rl
cmVkQ3VzdG9tUHJvcGVydHkgcHJvcGVydHkgeyBBdG9tU3RyaW5nIHsgZGVzY3JpcHRvci5uYW1l
IH0sICpzeW50YXgsIGRlc2NyaXB0b3IuaW5oZXJpdHMsIFdURk1vdmUoaW5pdGlhbFZhbHVlKSB9
OworICAgIGlmICghZG9jdW1lbnQucmVnaXN0ZXJDU1NDdXN0b21Qcm9wZXJ0eShXVEZNb3ZlKHBy
b3BlcnR5KSkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkTW9kaWZpY2F0aW9u
RXJyb3IsICJUaGlzIHByb3BlcnR5IGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZC4iX3MgfTsK
IAogICAgIGRvY3VtZW50LnN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VTdHlsZVNoZWV0RW52aXJvbm1l
bnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKaW5kZXggMzYwOTUyOGUy
YzY1Li4xZGIyYTM1OGE1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVBy
b3BlcnRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0
eVBhcnNlci5oIgorI2luY2x1ZGUgIkNTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oIgogI2lu
Y2x1ZGUgIkNTU1Rva2VuaXplci5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNp
bmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKQEAgLTE0MTcsMTEgKzE0MTgsMTAgQEAgYm9vbCBNdXRh
YmxlU3R5bGVQcm9wZXJ0aWVzOjpzZXRDdXN0b21Qcm9wZXJ0eShjb25zdCBEb2N1bWVudCogZG9j
dW1lbnQsIGNvbnN0IFMKIAogICAgIHBhcnNlckNvbnRleHQubW9kZSA9IGNzc1BhcnNlck1vZGUo
KTsKIAotICAgIFN0cmluZyBzeW50YXggPSAiKiJfczsKLSAgICBhdXRvKiByZWdpc3RlcmVkID0g
ZG9jdW1lbnQgPyBkb2N1bWVudC0+Z2V0Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5U2V0KCku
Z2V0KHByb3BlcnR5TmFtZSkgOiBudWxscHRyOworICAgIGF1dG8gcHJvcGVydHlOYW1lQXRvbSA9
IEF0b21TdHJpbmcgeyBwcm9wZXJ0eU5hbWUgfTsKKyAgICBhdXRvKiByZWdpc3RlcmVkID0gZG9j
dW1lbnQgPyBkb2N1bWVudC0+cmVnaXN0ZXJlZENTU0N1c3RvbVByb3BlcnRpZXMoKS5nZXQocHJv
cGVydHlOYW1lQXRvbSkgOiBudWxscHRyOwogCi0gICAgaWYgKHJlZ2lzdGVyZWQpCi0gICAgICAg
IHN5bnRheCA9IHJlZ2lzdGVyZWQtPnN5bnRheDsKKyAgICBhdXRvJiBzeW50YXggPSByZWdpc3Rl
cmVkID8gcmVnaXN0ZXJlZC0+c3ludGF4IDogQ1NTUHJvcGVydHlTeW50YXg6OnVuaXZlcnNhbCgp
OwogCiAgICAgQ1NTVG9rZW5pemVyIHRva2VuaXplcih2YWx1ZSk7CiAgICAgaWYgKCFDU1NQcm9w
ZXJ0eVBhcnNlcjo6Y2FuUGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoc3ludGF4LCB0b2tl
bml6ZXIudG9rZW5SYW5nZSgpLCBwYXJzZXJDb250ZXh0KSkKQEAgLTE0MjksNyArMTQyOSw3IEBA
IGJvb2wgTXV0YWJsZVN0eWxlUHJvcGVydGllczo6c2V0Q3VzdG9tUHJvcGVydHkoY29uc3QgRG9j
dW1lbnQqIGRvY3VtZW50LCBjb25zdCBTCiAKICAgICAvLyBXaGVuIHJlcGxhY2luZyBhbiBleGlz
dGluZyBwcm9wZXJ0eSB2YWx1ZSwgdGhpcyBtb3ZlcyB0aGUgcHJvcGVydHkgdG8gdGhlIGVuZCBv
ZiB0aGUgbGlzdC4KICAgICAvLyBGaXJlZm94IHByZXNlcnZlcyB0aGUgcG9zaXRpb24sIGFuZCBN
U0lFIG1vdmVzIHRoZSBwcm9wZXJ0eSB0byB0aGUgYmVnaW5uaW5nLgotICAgIHJldHVybiBDU1NQ
YXJzZXI6OnBhcnNlQ3VzdG9tUHJvcGVydHlWYWx1ZSgqdGhpcywgQXRvbVN0cmluZyB7IHByb3Bl
cnR5TmFtZSB9LCB2YWx1ZSwgaW1wb3J0YW50LCBwYXJzZXJDb250ZXh0KSA9PSBDU1NQYXJzZXI6
OlBhcnNlUmVzdWx0OjpDaGFuZ2VkOworICAgIHJldHVybiBDU1NQYXJzZXI6OnBhcnNlQ3VzdG9t
UHJvcGVydHlWYWx1ZSgqdGhpcywgcHJvcGVydHlOYW1lQXRvbSwgdmFsdWUsIGltcG9ydGFudCwg
cGFyc2VyQ29udGV4dCkgPT0gQ1NTUGFyc2VyOjpQYXJzZVJlc3VsdDo6Q2hhbmdlZDsKIH0KIAog
dm9pZCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpzZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKaW5kZXggNWQxMmI0NzgyOGZkLi5iYmUx
ZDJmZGJmMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlICJDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NQcm9wZXJ0eVBhcnNlci5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2Vy
SGVscGVycy5oIgorI2luY2x1ZGUgIkNTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eS5oIgogI2lu
Y2x1ZGUgIkNTU1NlbGVjdG9yUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTU3VwcG9ydHNQYXJzZXIu
aCIKICNpbmNsdWRlICJDU1NUb2tlbml6ZXIuaCIKQEAgLTIyNyw4ICsyMjgsOCBAQCBSZWZQdHI8
Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VWYWx1ZVdpdGhWYXJpYWJsZVJlZmVyZW5jZXMoQ1NT
UHJvcGVydHlJRCBwcm9wSQogICAgIGNvbnN0IGF1dG8mIHZhbHVlV2l0aFJlZmVyZW5jZXMgPSBz
dGQ6OmdldDxSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+KGN1c3RvbVByb3BWYWx1ZS52
YWx1ZSgpKS5nZXQoKTsKIAogICAgIGF1dG8mIG5hbWUgPSBkb3duY2FzdDxDU1NDdXN0b21Qcm9w
ZXJ0eVZhbHVlPih2YWx1ZSkubmFtZSgpOwotICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSBidWlsZGVy
U3RhdGUuZG9jdW1lbnQoKS5nZXRDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHlTZXQoKS5nZXQo
bmFtZSk7Ci0gICAgYXV0byYgc3ludGF4ID0gcmVnaXN0ZXJlZCA/IHJlZ2lzdGVyZWQtPnN5bnRh
eCA6ICIqIl9zOworICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSBidWlsZGVyU3RhdGUuZG9jdW1lbnQo
KS5yZWdpc3RlcmVkQ1NTQ3VzdG9tUHJvcGVydGllcygpLmdldChuYW1lKTsKKyAgICBhdXRvJiBz
eW50YXggPSByZWdpc3RlcmVkID8gcmVnaXN0ZXJlZC0+c3ludGF4IDogQ1NTUHJvcGVydHlTeW50
YXg6OnVuaXZlcnNhbCgpOwogICAgIGF1dG8gcmVzb2x2ZWREYXRhID0gdmFsdWVXaXRoUmVmZXJl
bmNlcy5yZXNvbHZlVmFyaWFibGVSZWZlcmVuY2VzKGJ1aWxkZXJTdGF0ZSk7CiAgICAgaWYgKCFy
ZXNvbHZlZERhdGEpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VyLmgKaW5kZXggYjAwZjIzYTkyZDEwLi40NzJmYjk1NmJlZWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuaApAQCAtMjMsNyArMjMsNiBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlICJDU1NQYXJzZXJDb250ZXh0LmgiCi0jaW5jbHVkZSAiQ1NTUmVnaXN0
ZXJlZEN1c3RvbVByb3BlcnR5LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKICNpbmNsdWRlICJD
b2xvclR5cGVzLmgiCiAjaW5jbHVkZSAiV3JpdGluZ01vZGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggODliNWM2ZTU0NDc1Li43
ZTAxNzQzYjBmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwCkBAIC0yNTAsMTMgKzI1MCwxMyBAQCBSZWZQdHI8Q1NTVmFsdWU+IENTU1By
b3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHksIGNv
bgogICAgIHJldHVybiB2YWx1ZTsKIH0KIAotYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6Y2FuUGFy
c2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgU3RyaW5nJiBzeW50YXgsIGNvbnN0IENT
U1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKK2Jvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OmNhblBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZh
bHVlKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4JiBzeW50YXgsIGNvbnN0IENTU1BhcnNlclRva2Vu
UmFuZ2UmIHRva2VucywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBD
U1NQcm9wZXJ0eVBhcnNlciBwYXJzZXIodG9rZW5zLCBjb250ZXh0LCBudWxscHRyKTsKICAgICBy
ZXR1cm4gcGFyc2VyLmNhblBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKHN5bnRheCk7CiB9
CiAKLVJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFy
c2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBzeW50YXgsIGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywgU3R5bGU6
OkJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250
ZXh0KQorUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpw
YXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25z
dCBDU1NQcm9wZXJ0eVN5bnRheCYgc3ludGF4LCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiB0
b2tlbnMsIFN0eWxlOjpCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYgY29udGV4dCkKIHsKICAgICBDU1NQcm9wZXJ0eVBhcnNlciBwYXJzZXIodG9rZW5z
LCBjb250ZXh0LCBudWxscHRyLCBmYWxzZSk7CiAgICAgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5
VmFsdWU+IHZhbHVlID0gcGFyc2VyLnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUs
IHN5bnRheCwgYnVpbGRlclN0YXRlKTsKQEAgLTI2NSw3ICsyNjUsNyBAQCBSZWZQdHI8Q1NTQ3Vz
dG9tUHJvcGVydHlWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9w
ZXJ0eVZhbHVlKAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAotdm9pZCBDU1NQcm9wZXJ0eVBhcnNl
cjo6Y29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5VmFsdWVEZXBlbmRlbmNpZXMoY29uc3QgU3Ry
aW5nJiBzeW50YXgsIGJvb2wgaXNSb290LCBIYXNoU2V0PENTU1Byb3BlcnR5SUQ+JiBkZXBlbmRl
bmNpZXMsIGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYgY29udGV4dCkKK3ZvaWQgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbGxlY3RQYXJzZWRD
dXN0b21Qcm9wZXJ0eVZhbHVlRGVwZW5kZW5jaWVzKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4JiBz
eW50YXgsIGJvb2wgaXNSb290LCBIYXNoU2V0PENTU1Byb3BlcnR5SUQ+JiBkZXBlbmRlbmNpZXMs
IGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywgY29uc3QgQ1NTUGFyc2VyQ29udGV4
dCYgY29udGV4dCkKIHsKICAgICBDU1NQcm9wZXJ0eVBhcnNlciBwYXJzZXIodG9rZW5zLCBjb250
ZXh0LCBudWxscHRyKTsKICAgICBwYXJzZXIuY29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5VmFs
dWVEZXBlbmRlbmNpZXMoc3ludGF4LCBpc1Jvb3QsIGRlcGVuZGVuY2llcyk7CkBAIC0zMjYsOSAr
MzI2LDkgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVW
YWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICByZXR1cm4gQ1NTUHJvcGVydHlQ
YXJzaW5nOjpwYXJzZShtX3JhbmdlLCBwcm9wZXJ0eSwgY3VycmVudFNob3J0aGFuZCwgbV9jb250
ZXh0KTsKIH0KIAotc3RkOjpwYWlyPFJlZlB0cjxDU1NWYWx1ZT4sIENTU1Byb3BlcnR5U3ludGF4
OjpUeXBlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDdXN0b21Qcm9wZXJ0eVZhbHVlV2l0aFN5
bnRheERlZmluaXRpb24oY29uc3QgQ1NTUHJvcGVydHlTeW50YXg6OkRlZmluaXRpb24mIHN5bnRh
eERlZmluaXRpb24pCitzdGQ6OnBhaXI8UmVmUHRyPENTU1ZhbHVlPiwgQ1NTUHJvcGVydHlTeW50
YXg6OlR5cGU+IENTU1Byb3BlcnR5UGFyc2VyOjpjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1ZVdp
dGhTeW50YXgoY29uc3QgQ1NTUHJvcGVydHlTeW50YXgmIHN5bnRheCkKIHsKLSAgICBBU1NFUlQo
IUNTU1Byb3BlcnR5U3ludGF4Ojppc1VuaXZlcnNhbChzeW50YXhEZWZpbml0aW9uKSk7CisgICAg
QVNTRVJUKCFzeW50YXguaXNVbml2ZXJzYWwoKSk7CiAKICAgICBtX3JhbmdlLmNvbnN1bWVXaGl0
ZXNwYWNlKCk7CiAKQEAgLTMzNiw5ICszMzYsNiBAQCBzdGQ6OnBhaXI8UmVmUHRyPENTU1ZhbHVl
PiwgQ1NTUHJvcGVydHlTeW50YXg6OlR5cGU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUN1cwog
CiAgICAgYXV0byB0cnlDb25zdW1lQ29tcG9uZW50ID0gWyZdKGNvbnN0IGF1dG8mIGNvbXBvbmVu
dCkgLT4gUmVmUHRyPENTU1ZhbHVlPiB7CiAgICAgICAgIHN3aXRjaCAoY29tcG9uZW50LnR5cGUp
IHsKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVN5bnRheDo6VHlwZTo6VW5pdmVyc2FsOgotICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVN5bnRheDo6VHlwZTo6TGVuZ3RoOgogICAgICAg
ICAgICAgcmV0dXJuIGNvbnN1bWVMZW5ndGgobV9yYW5nZSwgbV9jb250ZXh0Lm1vZGUsIFZhbHVl
UmFuZ2U6OkFsbCk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTeW50YXg6OlR5cGU6Okxlbmd0
aFBlcmNlbnRhZ2U6CkBAIC0zNzUsNyArMzcyLDcgQEAgc3RkOjpwYWlyPFJlZlB0cjxDU1NWYWx1
ZT4sIENTU1Byb3BlcnR5U3ludGF4OjpUeXBlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VDdXMK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfTsKIAotICAgIGZvciAoYXV0byYgY29tcG9u
ZW50IDogc3ludGF4RGVmaW5pdGlvbikgeworICAgIGZvciAoYXV0byYgY29tcG9uZW50IDogc3lu
dGF4LmRlZmluaXRpb24pIHsKICAgICAgICAgaWYgKGF1dG8gdmFsdWUgPSB0cnlDb25zdW1lQ29t
cG9uZW50KGNvbXBvbmVudCkpIHsKICAgICAgICAgICAgIGlmICghbV9yYW5nZS5hdEVuZCgpKQog
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzg1LDI5ICszODIsMjEgQEAgc3RkOjpwYWlyPFJl
ZlB0cjxDU1NWYWx1ZT4sIENTU1Byb3BlcnR5U3ludGF4OjpUeXBlPiBDU1NQcm9wZXJ0eVBhcnNl
cjo6cGFyc2VDdXMKICAgICByZXR1cm4geyBudWxscHRyLCBDU1NQcm9wZXJ0eVN5bnRheDo6VHlw
ZTo6VW5rbm93biB9OwogfQogCi1ib29sIENTU1Byb3BlcnR5UGFyc2VyOjpjYW5QYXJzZVR5cGVk
Q3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBTdHJpbmcmIHN5bnRheCkKK2Jvb2wgQ1NTUHJvcGVy
dHlQYXJzZXI6OmNhblBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0IENTU1Byb3Bl
cnR5U3ludGF4JiBzeW50YXgpCiB7Ci0gICAgYXV0byBzeW50YXhEZWZpbml0aW9uID0gQ1NTUHJv
cGVydHlTeW50YXg6OnBhcnNlKHN5bnRheCk7Ci0gICAgaWYgKHN5bnRheERlZmluaXRpb24uaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoQ1NTUHJvcGVydHlTeW50
YXg6OmlzVW5pdmVyc2FsKHN5bnRheERlZmluaXRpb24pKQorICAgIGlmIChzeW50YXguaXNVbml2
ZXJzYWwoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBhdXRvIFt2YWx1ZSwgc3ludGF4
VHlwZV0gPSBwYXJzZUN1c3RvbVByb3BlcnR5VmFsdWVXaXRoU3ludGF4RGVmaW5pdGlvbihzeW50
YXhEZWZpbml0aW9uKTsKKyAgICBhdXRvIFt2YWx1ZSwgc3ludGF4VHlwZV0gPSBjb25zdW1lQ3Vz
dG9tUHJvcGVydHlWYWx1ZVdpdGhTeW50YXgoc3ludGF4KTsKICAgICByZXR1cm4gdmFsdWUgJiYg
bV9yYW5nZS5hdEVuZCgpOwogfQogCi12b2lkIENTU1Byb3BlcnR5UGFyc2VyOjpjb2xsZWN0UGFy
c2VkQ3VzdG9tUHJvcGVydHlWYWx1ZURlcGVuZGVuY2llcyhjb25zdCBTdHJpbmcmIHN5bnRheCwg
Ym9vbCBpc1Jvb3QsIEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4mIGRlcGVuZGVuY2llcykKK3ZvaWQg
Q1NTUHJvcGVydHlQYXJzZXI6OmNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0eVZhbHVlRGVwZW5k
ZW5jaWVzKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4JiBzeW50YXgsIGJvb2wgaXNSb290LCBIYXNo
U2V0PENTU1Byb3BlcnR5SUQ+JiBkZXBlbmRlbmNpZXMpCiB7Ci0gICAgYXV0byBzeW50YXhEZWZp
bml0aW9uID0gQ1NTUHJvcGVydHlTeW50YXg6OnBhcnNlKHN5bnRheCk7Ci0gICAgaWYgKHN5bnRh
eERlZmluaXRpb24uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoQ1NTUHJv
cGVydHlTeW50YXg6OmlzVW5pdmVyc2FsKHN5bnRheERlZmluaXRpb24pKQorICAgIGlmIChzeW50
YXguaXNVbml2ZXJzYWwoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBbdmFsdWUsIHN5
bnRheFR5cGVdID0gcGFyc2VDdXN0b21Qcm9wZXJ0eVZhbHVlV2l0aFN5bnRheERlZmluaXRpb24o
c3ludGF4RGVmaW5pdGlvbik7CisgICAgYXV0byBbdmFsdWUsIHN5bnRheFR5cGVdID0gY29uc3Vt
ZUN1c3RvbVByb3BlcnR5VmFsdWVXaXRoU3ludGF4KHN5bnRheCk7CiAKICAgICBpZiAoYXV0byog
cHJpbWl0aXZlVmFsdWUgPSBkeW5hbWljRG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVl
LmdldCgpKSkgewogICAgICAgICBwcmltaXRpdmVWYWx1ZS0+Y29sbGVjdERpcmVjdENvbXB1dGF0
aW9uYWxEZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKTsKQEAgLTQxNiwyOSArNDA1LDIyIEBAIHZv
aWQgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0eVZhbHVlRGVw
ZW5kZW5jaWVzKGNvbnN0IFN0cmluCiAgICAgfQogfQogCi1SZWZQdHI8Q1NTQ3VzdG9tUHJvcGVy
dHlWYWx1ZT4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVl
KGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3ludGF4LCBTdHlsZTo6QnVp
bGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCitSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4g
Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0IEF0
b21TdHJpbmcmIG5hbWUsIGNvbnN0IENTU1Byb3BlcnR5U3ludGF4JiBzeW50YXgsIFN0eWxlOjpC
dWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKIHsKLSAgICBhdXRvIHN5bnRheERlZmluaXRpb24g
PSBDU1NQcm9wZXJ0eVN5bnRheDo6cGFyc2Uoc3ludGF4KTsKLSAgICBpZiAoc3ludGF4RGVmaW5p
dGlvbi5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgaWYgKENTU1By
b3BlcnR5U3ludGF4Ojppc1VuaXZlcnNhbChzeW50YXhEZWZpbml0aW9uKSkgeworICAgIGlmIChz
eW50YXguaXNVbml2ZXJzYWwoKSkgewogICAgICAgICBhdXRvIHByb3BlcnR5VmFsdWUgPSBDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVTeW50YXhBbGwobmFtZSwgQ1NTVmFyaWFibGVEYXRh
OjpjcmVhdGUobV9yYW5nZSkpOwogICAgICAgICB3aGlsZSAoIW1fcmFuZ2UuYXRFbmQoKSkKICAg
ICAgICAgICAgIG1fcmFuZ2UuY29uc3VtZSgpOwogICAgICAgICByZXR1cm4gcHJvcGVydHlWYWx1
ZTsKICAgICB9CiAKLSAgICBhdXRvIFt2YWx1ZSwgc3ludGF4VHlwZV0gPSBwYXJzZUN1c3RvbVBy
b3BlcnR5VmFsdWVXaXRoU3ludGF4RGVmaW5pdGlvbihzeW50YXhEZWZpbml0aW9uKTsKKyAgICBh
dXRvIFt2YWx1ZSwgc3ludGF4VHlwZV0gPSBjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1ZVdpdGhT
eW50YXgoc3ludGF4KTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
IAogICAgIGF1dG8qIHByaW1pdGl2ZVZhbHVlID0gZHluYW1pY0Rvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPih2YWx1ZS5nZXQoKSk7CiAKICAgICBzd2l0Y2ggKHN5bnRheFR5cGUpIHsKLSAgICBj
YXNlIENTU1Byb3BlcnR5U3ludGF4OjpUeXBlOjpVbml2ZXJzYWw6Ci0gICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBjYXNlIENTU1Byb3Bl
cnR5U3ludGF4OjpUeXBlOjpMZW5ndGhQZXJjZW50YWdlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlT
eW50YXg6OlR5cGU6Okxlbmd0aDogewogICAgICAgICBhdXRvIGxlbmd0aCA9IFN0eWxlOjpCdWls
ZGVyQ29udmVydGVyOjpjb252ZXJ0TGVuZ3RoKGJ1aWxkZXJTdGF0ZSwgKnByaW1pdGl2ZVZhbHVl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaAppbmRl
eCA2NDdmZWFlNGI2YzMuLjk3NmE5ZDJmNDBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaApAQCAtNTEsOSArNTEsOSBAQCBwdWJsaWM6CiAKICAg
ICAvLyBQYXJzZXMgYSBub24tc2hvcnRoYW5kIENTUyBwcm9wZXJ0eQogICAgIHN0YXRpYyBSZWZQ
dHI8Q1NTVmFsdWU+IHBhcnNlU2luZ2xlVmFsdWUoQ1NTUHJvcGVydHlJRCwgY29uc3QgQ1NTUGFy
c2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKLSAgICBzdGF0aWMgYm9v
bCBjYW5QYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBTdHJpbmcmIHN5bnRheCwg
Y29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKLSAg
ICBzdGF0aWMgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IHBhcnNlVHlwZWRDdXN0b21Q
cm9wZXJ0eVZhbHVlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3ludGF4
LCBjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiwgU3R5bGU6OkJ1aWxkZXJTdGF0ZSYsIGNvbnN0
IENTU1BhcnNlckNvbnRleHQmKTsKLSAgICBzdGF0aWMgdm9pZCBjb2xsZWN0UGFyc2VkQ3VzdG9t
UHJvcGVydHlWYWx1ZURlcGVuZGVuY2llcyhjb25zdCBTdHJpbmcmIHN5bnRheCwgYm9vbCBpc1Jv
b3QsIEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4mIGRlcGVuZGVuY2llcywgY29uc3QgQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKKyAgICBzdGF0aWMgYm9vbCBj
YW5QYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBDU1NQcm9wZXJ0eVN5bnRheCYs
IGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7Cisg
ICAgc3RhdGljIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBwYXJzZVR5cGVkQ3VzdG9t
UHJvcGVydHlWYWx1ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBDU1NQcm9wZXJ0eVN5
bnRheCYsIGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmLCBTdHlsZTo6QnVpbGRlclN0YXRlJiwg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYpOworICAgIHN0YXRpYyB2b2lkIGNvbGxlY3RQYXJzZWRD
dXN0b21Qcm9wZXJ0eVZhbHVlRGVwZW5kZW5jaWVzKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4Jiwg
Ym9vbCBpc1Jvb3QsIEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4mIGRlcGVuZGVuY2llcywgY29uc3Qg
Q1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKIAogICAgIHN0
YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9w
ZXJ0eUlELCBDU1NQYXJzZXJUb2tlblJhbmdlJiwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYpOwog
CkBAIC02NCwxMCArNjQsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIHBhcnNlVmFsdWVTdGFydChD
U1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBjb25zdW1lQ1NTV2lkZUtl
eXdvcmQoQ1NTUHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIFJlZlB0cjxDU1NWYWx1
ZT4gcGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9wZXJ0eUlELCBDU1NQcm9wZXJ0eUlEID0gQ1NTUHJv
cGVydHlJbnZhbGlkKTsKLSAgICBzdGQ6OnBhaXI8UmVmUHRyPENTU1ZhbHVlPiwgQ1NTUHJvcGVy
dHlTeW50YXg6OlR5cGU+IHBhcnNlQ3VzdG9tUHJvcGVydHlWYWx1ZVdpdGhTeW50YXhEZWZpbml0
aW9uKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4OjpEZWZpbml0aW9uJik7Ci0gICAgYm9vbCBjYW5Q
YXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShjb25zdCBTdHJpbmcmIHN5bnRheCk7Ci0gICAg
UmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IHBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZh
bHVlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3ludGF4LCBTdHlsZTo6
QnVpbGRlclN0YXRlJik7Ci0gICAgdm9pZCBjb2xsZWN0UGFyc2VkQ3VzdG9tUHJvcGVydHlWYWx1
ZURlcGVuZGVuY2llcyhjb25zdCBTdHJpbmcmIHN5bnRheCwgYm9vbCBpc1Jvb3QsIEhhc2hTZXQ8
Q1NTUHJvcGVydHlJRD4mIGRlcGVuZGVuY2llcyk7CisgICAgc3RkOjpwYWlyPFJlZlB0cjxDU1NW
YWx1ZT4sIENTU1Byb3BlcnR5U3ludGF4OjpUeXBlPiBjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1
ZVdpdGhTeW50YXgoY29uc3QgQ1NTUHJvcGVydHlTeW50YXgmKTsKKyAgICBib29sIGNhblBhcnNl
VHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0IENTU1Byb3BlcnR5U3ludGF4Jik7CisgICAg
UmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IHBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZh
bHVlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IENTU1Byb3BlcnR5U3ludGF4JiwgU3R5
bGU6OkJ1aWxkZXJTdGF0ZSYpOworICAgIHZvaWQgY29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5
VmFsdWVEZXBlbmRlbmNpZXMoY29uc3QgQ1NTUHJvcGVydHlTeW50YXgmLCBib29sIGlzUm9vdCwg
SGFzaFNldDxDU1NQcm9wZXJ0eUlEPiYgZGVwZW5kZW5jaWVzKTsKIAogICAgIGJvb2wgaW5RdWly
a3NNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0Lm1vZGUgPT0gSFRNTFF1aXJrc01vZGU7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5
bnRheC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5U3ludGF4LmNw
cAppbmRleCBhOGZjYmUzMGFjMmYuLmY0NTlmNjEzYjc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5bnRheC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5bnRheC5jcHAKQEAgLTEwMCw5ICsxMDAsOSBAQCBh
dXRvIENTU1Byb3BlcnR5U3ludGF4OjpwYXJzZUNvbXBvbmVudChTdHJpbmdQYXJzaW5nQnVmZmVy
PENoYXJhY3RlclR5cGU+IGJ1ZmZlcgogICAgIHJldHVybiBDb21wb25lbnQgeyBUeXBlOjpDdXN0
b21JZGVudCwgTXVsdGlwbGllcjo6U2luZ2xlLCBpZGVudC50b0F0b21TdHJpbmcoKSB9OwogfQog
Ci1hdXRvIENTU1Byb3BlcnR5U3ludGF4OjpwYXJzZShTdHJpbmdWaWV3IHN5bnRheCkgLT4gRGVm
aW5pdGlvbgorc3RkOjpvcHRpb25hbDxDU1NQcm9wZXJ0eVN5bnRheD4gQ1NTUHJvcGVydHlTeW50
YXg6OnBhcnNlKFN0cmluZ1ZpZXcgc3ludGF4KQogewotICAgIHJldHVybiByZWFkQ2hhcmFjdGVy
c0ZvclBhcnNpbmcoc3ludGF4LCBbJl0oYXV0byBidWZmZXIpIC0+IERlZmluaXRpb24geworICAg
IHJldHVybiByZWFkQ2hhcmFjdGVyc0ZvclBhcnNpbmcoc3ludGF4LCBbJl0oYXV0byBidWZmZXIp
IC0+IHN0ZDo6b3B0aW9uYWw8Q1NTUHJvcGVydHlTeW50YXg+IHsKICAgICAgICAgc2tpcFdoaWxl
PGlzQ1NTU3BhY2U+KGJ1ZmZlcik7CiAKICAgICAgICAgaWYgKHNraXBFeGFjdGx5KGJ1ZmZlciwg
JyonKSkgewpAQCAtMTEwLDcgKzExMCw3IEBAIGF1dG8gQ1NTUHJvcGVydHlTeW50YXg6OnBhcnNl
KFN0cmluZ1ZpZXcgc3ludGF4KSAtPiBEZWZpbml0aW9uCiAgICAgICAgICAgICBpZiAoYnVmZmVy
Lmhhc0NoYXJhY3RlcnNSZW1haW5pbmcoKSkKICAgICAgICAgICAgICAgICByZXR1cm4geyB9Owog
Ci0gICAgICAgICAgICByZXR1cm4geyB7IFR5cGU6OlVuaXZlcnNhbCB9IH07CisgICAgICAgICAg
ICByZXR1cm4gdW5pdmVyc2FsKCk7CiAgICAgICAgIH0KIAogICAgICAgICBEZWZpbml0aW9uIGRl
ZmluaXRpb247CkBAIC0xMzAsNyArMTMwLDEwIEBAIGF1dG8gQ1NTUHJvcGVydHlTeW50YXg6OnBh
cnNlKFN0cmluZ1ZpZXcgc3ludGF4KSAtPiBEZWZpbml0aW9uCiAgICAgICAgICAgICBza2lwV2hp
bGU8aXNDU1NTcGFjZT4oYnVmZmVyKTsKICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiBkZWZp
bml0aW9uOworICAgICAgICBpZiAoZGVmaW5pdGlvbi5pc0VtcHR5KCkpCisgICAgICAgICAgICBy
ZXR1cm4geyB9OworCisgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eVN5bnRheCB7IGRlZmluaXRp
b24gfTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVN5bnRheC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVN5bnRheC5oCmluZGV4IGI5YTlkNDE0ZDcyZS4uMGVkY2QyZTI4MjMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5U3ludGF4LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVN5bnRheC5oCkBAIC0yOSwxMCArMjks
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENTU1Byb3BlcnR5U3ludGF4IHsK
LXB1YmxpYzoKK3N0cnVjdCBDU1NQcm9wZXJ0eVN5bnRheCB7CiAgICAgZW51bSBjbGFzcyBUeXBl
IDogdWludDhfdCB7Ci0gICAgICAgIFVuaXZlcnNhbCwKICAgICAgICAgTGVuZ3RoLAogICAgICAg
ICBMZW5ndGhQZXJjZW50YWdlLAogICAgICAgICBQZXJjZW50YWdlLApAQCAtNjIsOCArNjAsMTIg
QEAgcHVibGljOgogCiAgICAgdXNpbmcgRGVmaW5pdGlvbiA9IFZlY3RvcjxDb21wb25lbnQ+Owog
Ci0gICAgc3RhdGljIERlZmluaXRpb24gcGFyc2UoU3RyaW5nVmlldyk7Ci0gICAgc3RhdGljIGJv
b2wgaXNVbml2ZXJzYWwoY29uc3QgRGVmaW5pdGlvbiYgZGVmaW5pdGlvbikgeyByZXR1cm4gZGVm
aW5pdGlvbi5zaXplKCkgPT0gMSAmJiBkZWZpbml0aW9uWzBdLnR5cGUgPT0gVHlwZTo6VW5pdmVy
c2FsOyB9CisgICAgRGVmaW5pdGlvbiBkZWZpbml0aW9uOworCisgICAgYm9vbCBpc1VuaXZlcnNh
bCgpIGNvbnN0IHsgcmV0dXJuIGRlZmluaXRpb24uaXNFbXB0eSgpOyB9CisKKyAgICBzdGF0aWMg
c3RkOjpvcHRpb25hbDxDU1NQcm9wZXJ0eVN5bnRheD4gcGFyc2UoU3RyaW5nVmlldyk7CisgICAg
c3RhdGljIENTU1Byb3BlcnR5U3ludGF4IHVuaXZlcnNhbCgpIHsgcmV0dXJuIHsgfTsgfQogCiBw
cml2YXRlOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBzdGQ6
Om9wdGlvbmFsPENvbXBvbmVudD4gcGFyc2VDb21wb25lbnQoU3RyaW5nUGFyc2luZ0J1ZmZlcjxD
aGFyYWN0ZXJUeXBlPik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBhMTk1NjVjZDFjMDUu
LmUxMjViODQxNjIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiQ1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgi
CiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTUmVnaXN0ZXJlZEN1c3RvbVBy
b3BlcnR5LmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNT
U1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDYWNoZWRDU1NTdHlsZVNoZWV0LmgiCkBAIC05MDA1
LDkgKzkwMDYsOSBAQCB2b2lkIERvY3VtZW50OjpuYXZpZ2F0ZUZyb21TZXJ2aWNlV29ya2VyKGNv
bnN0IFVSTCYgdXJsLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKAogfQogI2VuZGlmCiAKLWJvb2wg
RG9jdW1lbnQ6OnJlZ2lzdGVyQ1NTUHJvcGVydHkoQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5
JiYgcHJvcCkKK2Jvb2wgRG9jdW1lbnQ6OnJlZ2lzdGVyQ1NTQ3VzdG9tUHJvcGVydHkoQ1NTUmVn
aXN0ZXJlZEN1c3RvbVByb3BlcnR5JiYgcHJvcGVydHkpCiB7Ci0gICAgcmV0dXJuIG1fQ1NTUmVn
aXN0ZXJlZFByb3BlcnR5U2V0LmFkZChwcm9wLm5hbWUsIG1ha2VVbmlxdWU8Q1NTUmVnaXN0ZXJl
ZEN1c3RvbVByb3BlcnR5PihXVEZNb3ZlKHByb3ApKSkuaXNOZXdFbnRyeTsKKyAgICByZXR1cm4g
bV9yZWdpc3RlcmVkQ1NTQ3VzdG9tUHJvcGVydGllcy5hZGQocHJvcGVydHkubmFtZSwgbWFrZVVu
aXF1ZTxDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHk+KFdURk1vdmUocHJvcGVydHkpKSkuaXNO
ZXdFbnRyeTsKIH0KIAogY29uc3QgRml4ZWRWZWN0b3I8Q1NTUHJvcGVydHlJRD4mIERvY3VtZW50
OjpleHBvc2VkQ29tcHV0ZWRDU1NQcm9wZXJ0eUlEcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IDM4ZTJkMWM0MDAyOS4uZGRjZWUxOGE1ZWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMjgs
NyArMjgsNiBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
Ci0jaW5jbHVkZSAiQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5LmgiCiAjaW5jbHVkZSAiQ2Fu
dmFzQmFzZS5oIgogI2luY2x1ZGUgIkNsaWVudE9yaWdpbi5oIgogI2luY2x1ZGUgIkNvbnRhaW5l
ck5vZGUuaCIKQEAgLTI2MCw2ICsyNTksNyBAQCBjbGFzcyBHUFVDYW52YXNDb250ZXh0OwogCiBz
dHJ1Y3QgQXBwbGljYXRpb25NYW5pZmVzdDsKIHN0cnVjdCBCb3VuZGFyeVBvaW50Oworc3RydWN0
IENTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eTsKIHN0cnVjdCBIaWdobGlnaHRSYW5nZURhdGE7
CiBzdHJ1Y3QgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhOwogc3RydWN0IFNlY3VyaXR5UG9saWN5
VmlvbGF0aW9uRXZlbnRJbml0OwpAQCAtMTYyNCw4ICsxNjI0LDggQEAgcHVibGljOgogICAgIHZv
aWQgdXBkYXRlTWFpbkFydGljbGVFbGVtZW50QWZ0ZXJMYXlvdXQoKTsKICAgICBib29sIGhhc01h
aW5BcnRpY2xlRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuICEhbV9tYWluQXJ0aWNsZUVsZW1lbnQ7
IH0KIAotICAgIGNvbnN0IENTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eVNldCYgZ2V0Q1NTUmVn
aXN0ZXJlZEN1c3RvbVByb3BlcnR5U2V0KCkgY29uc3QgeyByZXR1cm4gbV9DU1NSZWdpc3RlcmVk
UHJvcGVydHlTZXQ7IH0KLSAgICBib29sIHJlZ2lzdGVyQ1NTUHJvcGVydHkoQ1NTUmVnaXN0ZXJl
ZEN1c3RvbVByb3BlcnR5JiYpOworICAgIGNvbnN0IGF1dG8mIHJlZ2lzdGVyZWRDU1NDdXN0b21Q
cm9wZXJ0aWVzKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpc3RlcmVkQ1NTQ3VzdG9tUHJvcGVydGll
czsgfQorICAgIGJvb2wgcmVnaXN0ZXJDU1NDdXN0b21Qcm9wZXJ0eShDU1NSZWdpc3RlcmVkQ3Vz
dG9tUHJvcGVydHkmJik7CiAKICAgICBjb25zdCBGaXhlZFZlY3RvcjxDU1NQcm9wZXJ0eUlEPiYg
ZXhwb3NlZENvbXB1dGVkQ1NTUHJvcGVydHlJRHMoKTsKIApAQCAtMjI4NCw3ICsyMjg0LDcgQEAg
cHJpdmF0ZToKICAgICBTdHJpbmcgbV9yZWZlcnJlck92ZXJyaWRlOwogI2VuZGlmCiAgICAgCi0g
ICAgQ1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5U2V0IG1fQ1NTUmVnaXN0ZXJlZFByb3BlcnR5
U2V0OworICAgIEhhc2hNYXA8QXRvbVN0cmluZywgc3RkOjp1bmlxdWVfcHRyPENTU1JlZ2lzdGVy
ZWRDdXN0b21Qcm9wZXJ0eT4+IG1fcmVnaXN0ZXJlZENTU0N1c3RvbVByb3BlcnRpZXM7CiAKICAg
ICBzdGQ6Om9wdGlvbmFsPEZpeGVkVmVjdG9yPENTU1Byb3BlcnR5SUQ+PiBtX2V4cG9zZWRDb21w
dXRlZENTU1Byb3BlcnR5SURzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyLmNwcApp
bmRleCBlNDJlNDM1NmUwNzYuLmYzN2Y1YzhlYTQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUJ1aWxkZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRlICJDU1NGb250U2VsZWN0
b3IuaCIKICNpbmNsdWRlICJDU1NQYWludEltYWdlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NSZWdp
c3RlcmVkQ3VzdG9tUHJvcGVydHkuaCIKICNpbmNsdWRlICJDU1NWYWx1ZVBvb2wuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCkBAIC0yODMsNyArMjg0
LDcgQEAgdm9pZCBCdWlsZGVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1Zh
bHVlJiB2YWx1ZSwgU2VsZWN0b3JDaGVja2VyOjoKICAgICAgICAgaWYgKHN0ZDo6aG9sZHNfYWx0
ZXJuYXRpdmU8Q1NTVmFsdWVJRD4oY3VzdG9tUHJvcGVydHlWYWx1ZS0+dmFsdWUoKSkpCiAgICAg
ICAgICAgICBjdXN0b21Qcm9wZXJ0eVZhbHVlSUQgPSBzdGQ6OmdldDxDU1NWYWx1ZUlEPihjdXN0
b21Qcm9wZXJ0eVZhbHVlLT52YWx1ZSgpKTsKICAgICAgICAgYXV0byYgbmFtZSA9IGN1c3RvbVBy
b3BlcnR5VmFsdWUtPm5hbWUoKTsKLSAgICAgICAgY3VzdG9tUHJvcGVydHlSZWdpc3RlcmVkID0g
bV9zdGF0ZS5kb2N1bWVudCgpLmdldENTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eVNldCgpLmdl
dChuYW1lKTsKKyAgICAgICAgY3VzdG9tUHJvcGVydHlSZWdpc3RlcmVkID0gbV9zdGF0ZS5kb2N1
bWVudCgpLnJlZ2lzdGVyZWRDU1NDdXN0b21Qcm9wZXJ0aWVzKCkuZ2V0KG5hbWUpOwogICAgIH0K
IAogICAgIGJvb2wgaXNJbmhlcml0ID0gdmFsdWVUb0FwcGx5LT5pc0luaGVyaXRWYWx1ZSgpIHx8
IGN1c3RvbVByb3BlcnR5VmFsdWVJRCA9PSBDU1NWYWx1ZUluaGVyaXQ7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktc3ludGF4LXBhcnNpbmct
ZXhwZWN0ZWQudHh0CmluZGV4IDc2MjNlMDRiNzdkMC4uMGE4OTQ3NzhlMWNjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1w
YXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtNjUsNyArNjUsNyBAQCBQQVNTIHN5bnRheDonYmFuYW5h
JywgaW5pdGlhbFZhbHVlOidiYW5hblw2MScgaXMgdmFsaWQKIFBBU1Mgc3ludGF4OidiYW5hblw2
MScsIGluaXRpYWxWYWx1ZTonYmFuYW5hJyBpcyB2YWxpZAogUEFTUyBzeW50YXg6JzxjdXN0b20t
aWRlbnQ+JywgaW5pdGlhbFZhbHVlOidiYW5hblw2MScgaXMgdmFsaWQKIFBBU1Mgc3ludGF4Oidi
aWcgfCBiaWdnZXIgfCBCSUdHRVInLCBpbml0aWFsVmFsdWU6J2JpZ2dlcicgaXMgdmFsaWQKLUZB
SUwgc3ludGF4Oidmb28rfGJhcicsIGluaXRpYWxWYWx1ZTonZm9vIGZvbyBmb28nIGlzIHZhbGlk
IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3lu
dGF4LgorRkFJTCBzeW50YXg6J2Zvbyt8YmFyJywgaW5pdGlhbFZhbHVlOidmb28gZm9vIGZvbycg
aXMgdmFsaWQgSW52YWxpZCBwcm9wZXJ0eSBzeW50YXggZGVmaW5pdGlvbi4KIFBBU1Mgc3ludGF4
OidiYW5hbmEJJywgaW5pdGlhbFZhbHVlOidiYW5hbmEnIGlzIHZhbGlkCiBQQVNTIHN5bnRheDon
CiBiYW5hbmFccgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS1leHBlY3RlZC50eHQKaW5kZXggZWMyNWE1
MDcyYzM1Li45MGNlNDE0ZTQwOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRv
bS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLWV4cGVjdGVkLnR4
dApAQCAtMTkzLDggKzE5Myw4IEBAIFBBU1MgQ1NTVW5pdFZhbHVlIHJlamVjdGVkIGJ5IHNldCgp
IGZvciBzeW50YXggPGxlbmd0aD4jIFthdHRyaWJ1dGVTdHlsZU1hcF0KIFBBU1MgQ1NTVW5pdFZh
bHVlIHJlamVjdGVkIGJ5IHNldCgpIGZvciBzeW50YXggPGxlbmd0aD4jIFtzdHlsZU1hcF0KIFBB
U1MgQXBwZW5kaW5nIGEgc3RyaW5nIHRvICogaXMgbm90IGFsbG93ZWQgW2F0dHJpYnV0ZVN0eWxl
TWFwXQogUEFTUyBBcHBlbmRpbmcgYSBzdHJpbmcgdG8gKiBpcyBub3QgYWxsb3dlZCBbc3R5bGVN
YXBdCi1GQUlMIEFwcGVuZGluZyBhIHN0cmluZyB0byBmb28rIGlzIG5vdCBhbGxvd2VkIFthdHRy
aWJ1dGVTdHlsZU1hcF0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIEFwcGVuZGluZyBhIHN0cmluZyB0byBmb28rIGlzIG5v
dCBhbGxvd2VkIFtzdHlsZU1hcF0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFy
c2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIEFwcGVuZGluZyBhIHN0cmluZyB0byBmb28r
IGlzIG5vdCBhbGxvd2VkIFthdHRyaWJ1dGVTdHlsZU1hcF0gSW52YWxpZCBwcm9wZXJ0eSBzeW50
YXggZGVmaW5pdGlvbi4KK0ZBSUwgQXBwZW5kaW5nIGEgc3RyaW5nIHRvIGZvbysgaXMgbm90IGFs
bG93ZWQgW3N0eWxlTWFwXSBJbnZhbGlkIHByb3BlcnR5IHN5bnRheCBkZWZpbml0aW9uLgogUEFT
UyBBcHBlbmRpbmcgYSBzdHJpbmcgdG8gPGFuZ2xlPisgaXMgbm90IGFsbG93ZWQgW2F0dHJpYnV0
ZVN0eWxlTWFwXQogUEFTUyBBcHBlbmRpbmcgYSBzdHJpbmcgdG8gPGFuZ2xlPisgaXMgbm90IGFs
bG93ZWQgW3N0eWxlTWFwXQogUEFTUyBBcHBlbmRpbmcgYSBzdHJpbmcgdG8gPGNvbG9yPisgaXMg
bm90IGFsbG93ZWQgW2F0dHJpYnV0ZVN0eWxlTWFwXQpAQCAtMjI3LDggKzIyNyw4IEBAIFBBU1Mg
QXBwZW5kaW5nIGEgc3RyaW5nIHRvIDxsZW5ndGg+IyBpcyBub3QgYWxsb3dlZCBbYXR0cmlidXRl
U3R5bGVNYXBdCiBQQVNTIEFwcGVuZGluZyBhIHN0cmluZyB0byA8bGVuZ3RoPiMgaXMgbm90IGFs
bG93ZWQgW3N0eWxlTWFwXQogUEFTUyBBcHBlbmRpbmcgYSBDU1NLZXl3b3JkVmFsdWUgdG8gKiBp
cyBub3QgYWxsb3dlZCBbYXR0cmlidXRlU3R5bGVNYXBdCiBQQVNTIEFwcGVuZGluZyBhIENTU0tl
eXdvcmRWYWx1ZSB0byAqIGlzIG5vdCBhbGxvd2VkIFtzdHlsZU1hcF0KLUZBSUwgQXBwZW5kaW5n
IGEgQ1NTS2V5d29yZFZhbHVlIHRvIGZvbysgaXMgbm90IGFsbG93ZWQgW2F0dHJpYnV0ZVN0eWxl
TWFwXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KLUZBSUwgQXBwZW5kaW5nIGEgQ1NTS2V5d29yZFZhbHVlIHRvIGZvbysgaXMgbm90
IGFsbG93ZWQgW3N0eWxlTWFwXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJz
ZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgQXBwZW5kaW5nIGEgQ1NTS2V5d29yZFZhbHVl
IHRvIGZvbysgaXMgbm90IGFsbG93ZWQgW2F0dHJpYnV0ZVN0eWxlTWFwXSBJbnZhbGlkIHByb3Bl
cnR5IHN5bnRheCBkZWZpbml0aW9uLgorRkFJTCBBcHBlbmRpbmcgYSBDU1NLZXl3b3JkVmFsdWUg
dG8gZm9vKyBpcyBub3QgYWxsb3dlZCBbc3R5bGVNYXBdIEludmFsaWQgcHJvcGVydHkgc3ludGF4
IGRlZmluaXRpb24uCiBQQVNTIEFwcGVuZGluZyBhIENTU1VuaXRWYWx1ZSB0byA8YW5nbGU+KyBp
cyBub3QgYWxsb3dlZCBbYXR0cmlidXRlU3R5bGVNYXBdCiBQQVNTIEFwcGVuZGluZyBhIENTU1Vu
aXRWYWx1ZSB0byA8YW5nbGU+KyBpcyBub3QgYWxsb3dlZCBbc3R5bGVNYXBdCiBQQVNTIEFwcGVu
ZGluZyBhIENTU0tleXdvcmRWYWx1ZSB0byA8Y3VzdG9tLWlkZW50PisgaXMgbm90IGFsbG93ZWQg
W2F0dHJpYnV0ZVN0eWxlTWFwXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>