<?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>145963</bug_id>
          
          <creation_ts>2015-06-14 10:27:19 -0700</creation_ts>
          <short_desc>[ES6] Introduce %IteratorPrototype% and drop all XXXIteratorConstructor</short_desc>
          <delta_ts>2015-06-15 19:12:26 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1101858</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-06-14 10:27:19 -0700</bug_when>
    <thetext>[ES6] Introduce %IteratorPrototype% and drop all XXXIteratorConstructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101859</commentid>
    <comment_count>1</comment_count>
      <attachid>254862</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-06-14 11:43:13 -0700</bug_when>
    <thetext>Created attachment 254862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101964</commentid>
    <comment_count>2</comment_count>
      <attachid>254862</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-15 10:47:32 -0700</bug_when>
    <thetext>Comment on attachment 254862
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254862&amp;action=review

&gt; Source/JavaScriptCore/runtime/IteratorPrototype.cpp:38
&gt; +namespace JSC {
&gt; +
&gt; +}

Not sure what this is; but should probably remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101968</commentid>
    <comment_count>3</comment_count>
      <attachid>254862</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-06-15 10:50:27 -0700</bug_when>
    <thetext>Comment on attachment 254862
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254862&amp;action=review

Thanks!

&gt;&gt; Source/JavaScriptCore/runtime/IteratorPrototype.cpp:38
&gt;&gt; +}
&gt; 
&gt; Not sure what this is; but should probably remove it.

OK, dropped :D.
This block is originally introduced for definining forward declaration for XXX.prototype.xxx methods. (like `static EncodedJSValue JSC_HOST_CALL arrayIteratorProtoFuncIterator(ExecState*);`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102129</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-06-15 19:12:26 -0700</bug_when>
    <thetext>Committed r185577: &lt;http://trac.webkit.org/changeset/185577&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254862</attachid>
            <date>2015-06-14 11:43:13 -0700</date>
            <delta_ts>2015-06-15 10:47:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145963-20150615034239.patch</filename>
            <type>text/plain</type>
            <size>80064</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NDNlODQ0OWFhOTM4NWIyODczYzY4OTlhNmFjMTE1ZDRkZThmNWViLi4yZWY1ODBkYmMwNzMxMWFl
ODNhYjQwNzIxMWQyZTU3ZTgyZWMyNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MCBAQAorMjAxNS0wNi0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBJbnRyb2R1Y2UgJUl0ZXJhdG9yUHJvdG90eXBlJSBhbmQg
ZHJvcCBhbGwgWFhYSXRlcmF0b3JDb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1OTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRVM2IGl0ZXJhdG9ycyBpbmhlcml0ICVJdGVyYXRvclBy
b3RvdHlwZSUuCisgICAgICAgIEFuZCB0aGVzZSBwcm90b3R5cGUgb2JqZWN0cyBvZiBkZXJpdmVk
IGl0ZXJhdG9ycyBkb24ndCBoYXZlIEBAaXRlcmF0b3IgbWV0aG9kcy4KKyAgICAgICAgSW5zdGVh
ZCB0aGV5IHVzZSB0aGUgJUl0ZXJhdG9yUHJvdG90eXBlJVtAQGl0ZXJhdG9yXSBtZXRob2QuCisK
KyAgICAgICAgVG8gZW5jb3VyYWdlIGlubGluaW5nIGluIGZvci1vZiBzdGF0ZW1lbnQsIHdlIGRl
ZmluZSB0aGlzIG1ldGhvZCBpbiBKUyBidWlsdGlucy4KKworICAgICAgICBBbmQgdGhlc2UgaXRl
cmF0b3IgcHJvdG90eXBlIG9iamVjdHMgZG9uJ3QgaGF2ZSBhbnkgY29uc3RydWN0b3IgZnVuY3Rp
b24uCisgICAgICAgIFRoaXMgcGF0Y2ggZHJvcHMgdGhlbSAobGlrZSBTdHJpbmdJdGVyYXRvckNv
bnN0cnVjdG9yKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGJ1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qczogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3IuY3BwLgorICAgICAg
ICAoU3ltYm9sSXRlcmF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlJdGVyYXRvckNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6QXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9BcnJheUl0ZXJhdG9yQ29u
c3RydWN0b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKEpTQzo6QXJyYXlJdGVyYXRvckNvbnN0cnVj
dG9yOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpBcnJheUl0ZXJhdG9yQ29uc3Ry
dWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkFycmF5SXRl
cmF0b3JDb25zdHJ1Y3Rvcjo6QXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBydW50aW1lL0FycmF5SXRlcmF0b3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlND
OjpBcnJheUl0ZXJhdG9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6
OmFycmF5SXRlcmF0b3JQcm90b0Z1bmNJdGVyYXRvcik6IERlbGV0ZWQuCisgICAgICAgICogcnVu
dGltZS9JdGVyYXRvclByb3RvdHlwZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwLgorICAgICAgICAoSlND
OjpJdGVyYXRvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
SXRlcmF0b3JQcm90b3R5cGUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NldEl0ZXJhdG9yQ29uc3RydWN0b3IuaC4KKyAgICAgICAgKEpTQzo6SXRlcmF0b3JQ
cm90b3R5cGU6OmNyZWF0ZSk6CisgICAgICAgIChKU0M6Okl0ZXJhdG9yUHJvdG90eXBlOjpjcmVh
dGVTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpJdGVyYXRvclByb3RvdHlwZTo6SXRlcmF0b3JQ
cm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5jcHA6CisgICAgICAgIChK
U0M6OkpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbik6CisgICAgICAgICogcnVudGlt
ZS9KU0Z1bmN0aW9uLmg6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6Cisg
ICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9i
YWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6Oml0ZXJhdG9yUHJvdG90eXBlKToK
KyAgICAgICAgKiBydW50aW1lL01hcEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwOiBSZW1vdmVkLgor
ICAgICAgICAoSlNDOjpNYXBJdGVyYXRvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6IERl
bGV0ZWQuCisgICAgICAgICogcnVudGltZS9NYXBJdGVyYXRvckNvbnN0cnVjdG9yLmg6IFJlbW92
ZWQuCisgICAgICAgIChKU0M6Ok1hcEl0ZXJhdG9yQ29uc3RydWN0b3I6OmNyZWF0ZSk6IERlbGV0
ZWQuCisgICAgICAgIChKU0M6Ok1hcEl0ZXJhdG9yQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVy
ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Ok1hcEl0ZXJhdG9yQ29uc3RydWN0b3I6Ok1hcEl0
ZXJhdG9yQ29uc3RydWN0b3IpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvTWFwSXRlcmF0
b3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpNYXBJdGVyYXRvclByb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpNYXBJdGVyYXRvclByb3RvdHlw
ZUZ1bmNJdGVyYXRvcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9TZXRJdGVyYXRvckNv
bnN0cnVjdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKEpTQzo6U2V0SXRlcmF0b3JDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvU2V0SXRl
cmF0b3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpTZXRJdGVyYXRvckNvbnN0cnVjdG9y
OjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTZXRJdGVyYXRvckNvbnN0cnVjdG9y
OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTZXRJdGVyYXRvckNv
bnN0cnVjdG9yOjpTZXRJdGVyYXRvckNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBy
dW50aW1lL1NldEl0ZXJhdG9yUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6U2V0SXRlcmF0
b3JQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6U2V0
SXRlcmF0b3JQcm90b3R5cGVGdW5jSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRp
bWUvU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ0l0
ZXJhdG9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBy
dW50aW1lL1N0cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKEpT
Qzo6U3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAg
KEpTQzo6U3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKTogRGVsZXRl
ZC4KKyAgICAgICAgKEpTQzo6U3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvcjo6U3RyaW5nSXRlcmF0
b3JDb25zdHJ1Y3Rvcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9TdHJpbmdJdGVyYXRv
clByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OnN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlSXRl
cmF0b3IpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9pdGVyYXRvci1wcm90b3R5
cGUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAoaW5oZXJpdEl0ZXJh
dG9yUHJvdG90eXBlKToKKyAgICAgICAgKHRlc3RDaGFpbik6CisKIDIwMTUtMDYtMTMgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBjb25zb2xlLnRhYmxlKCkgd2l0aCBhIGxpc3Qgb2Ygb2JqZWN0cyBubyBsb25nZXIgd29ya3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxNTI4MGIwODQzNWQxMDU5Zjc4
ZDQxZDY2NTYwMDQ4ODI5OTJjNzMyLi5hZDY4ZDg4ZjU3MzlmMGM4MGNlYzJjY2VlODk5ZDY4ZTA2
ODUyNzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00MjEsNyArNDIx
LDYgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvQXJy
YXlCdWZmZXJOZXV0ZXJpbmdXYXRjaHBvaW50LmNwcAogICAgIHJ1bnRpbWUvQXJyYXlCdWZmZXJW
aWV3LmNwcAogICAgIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKLSAgICBydW50aW1lL0Fy
cmF5SXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAKICAgICBydW50aW1lL0FycmF5SXRlcmF0b3JQcm90
b3R5cGUuY3BwCiAgICAgcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKICAgICBydW50aW1lL0Jh
c2ljQmxvY2tMb2NhdGlvbi5jcHAKQEAgLTQ3NCw2ICs0NzMsNyBAQCBzZXQoSmF2YVNjcmlwdENv
cmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9JbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNw
cAogICAgIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKICAgICBydW50aW1lL0l0ZXJhdG9y
T3BlcmF0aW9ucy5jcHAKKyAgICBydW50aW1lL0l0ZXJhdG9yUHJvdG90eXBlLmNwcAogICAgIHJ1
bnRpbWUvSlNBUElWYWx1ZVdyYXBwZXIuY3BwCiAgICAgcnVudGltZS9KU0FycmF5LmNwcAogICAg
IHJ1bnRpbWUvSlNBcnJheUJ1ZmZlci5jcHAKQEAgLTUzMSw3ICs1MzEsNiBAQCBzZXQoSmF2YVNj
cmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAog
ICAgIHJ1bnRpbWUvTG9va3VwLmNwcAogICAgIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCi0g
ICAgcnVudGltZS9NYXBJdGVyYXRvckNvbnN0cnVjdG9yLmNwcAogICAgIHJ1bnRpbWUvTWFwSXRl
cmF0b3JQcm90b3R5cGUuY3BwCiAgICAgcnVudGltZS9NYXBQcm90b3R5cGUuY3BwCiAgICAgcnVu
dGltZS9NYXRoQ29tbW9uLmNwcApAQCAtNTY1LDcgKzU2NCw2IEBAIHNldChKYXZhU2NyaXB0Q29y
ZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL1Njb3BlZEFyZ3VtZW50cy5jcHAKICAgICBy
dW50aW1lL1Njb3BlZEFyZ3VtZW50c1RhYmxlLmNwcAogICAgIHJ1bnRpbWUvU2V0Q29uc3RydWN0
b3IuY3BwCi0gICAgcnVudGltZS9TZXRJdGVyYXRvckNvbnN0cnVjdG9yLmNwcAogICAgIHJ1bnRp
bWUvU2V0SXRlcmF0b3JQcm90b3R5cGUuY3BwCiAgICAgcnVudGltZS9TZXRQcm90b3R5cGUuY3Bw
CiAgICAgcnVudGltZS9TaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAKQEAgLTU3Myw3ICs1
NzEsNiBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9T
cGFyc2VBcnJheVZhbHVlTWFwLmNwcAogICAgIHJ1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24u
Y3BwCiAgICAgcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKLSAgICBydW50aW1lL1N0cmlu
Z0l0ZXJhdG9yQ29uc3RydWN0b3IuY3BwCiAgICAgcnVudGltZS9TdHJpbmdJdGVyYXRvclByb3Rv
dHlwZS5jcHAKICAgICBydW50aW1lL1N0cmluZ09iamVjdC5jcHAKICAgICBydW50aW1lL1N0cmlu
Z1Byb3RvdHlwZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4
IGZjMTdkMTZlNTI2YjdmYTQ3ZTMzZjMxNmQ4YTQxYzkyOTY4NDI4MTcuLjk1YjY1ZjBhNTMwNTk3
ZjM1YzI3ZmYyMzA4OGFmMGQzOTAxODRiOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvagpAQCAtNjc4LDcgKzY3OCw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0Y2hwb2ludC5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEFycmF5QnVmZmVyVmlldy5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEFycmF5Q29uc3RydWN0b3IuY3BwIiAvPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxBcnJheUl0ZXJhdG9yQ29uc3RydWN0
b3IuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxBcnJheUl0ZXJh
dG9yUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
QXJyYXlQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxCYXNpY0Jsb2NrTG9jYXRpb24uY3BwIiAvPgpAQCAtNzMwLDYgKzcyOSw3IEBACiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxJbnRlcm5hbEZ1bmN0aW9uLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSXRlcmF0b3JPcGVyYXRp
b25zLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSXRlcmF0b3JQ
cm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FQ
SVZhbHVlV3JhcHBlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XEpTTGV4aWNhbEVudmlyb25tZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJheS5jcHAiIC8+CkBAIC03ODYsNyArNzg2LDYgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTGl0ZXJhbFBhcnNlci5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXExvb2t1cC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXE1hcENvbnN0cnVjdG9yLmNwcCIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWFwSXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXE1hcEl0ZXJhdG9yUHJvdG90eXBlLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWFwUHJvdG90eXBlLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWF0aENvbW1vbi5jcHAiIC8+
CkBAIC04MTcsNyArODE2LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
UnVudGltZVR5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxT
YW1wbGluZ0NvdW50ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxTZXRDb25zdHJ1Y3Rvci5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50
aW1lXFNldEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxTZXRJdGVyYXRvclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxydW50aW1lXFNldFByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxydW50aW1lXFNjb3BlT2Zmc2V0LmNwcCIgLz4KQEAgLTgyOSw3ICs4Mjcs
NiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxTdHJpY3RFdmFsQWN0aXZh
dGlvbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXFN0cmluZ0Nv
bnN0cnVjdG9yLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcU3Ry
aW5nT2JqZWN0LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcU3Ry
aW5nSXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcU3RyaW5nUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcU3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5jcHAiIC8+CkBA
IC0xNDYxLDcgKzE0NTgsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxB
cnJheUJ1ZmZlclZpZXcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
QXJyYXlDb25zdHJ1Y3Rvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxBcnJheUNvbnZlbnRpb25zLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXEFycmF5SXRlcmF0b3JDb25zdHJ1Y3Rvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEFycmF5UHJvdG90eXBlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEFycmF5U3RvcmFnZS5oIiAvPgpAQCAtMTUzNiw2ICsxNTMy
LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSW50cmluc2ljLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEl0ZXJhdGlvblN0YXR1cy5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxJdGVyYXRvck9wZXJhdGlvbnMu
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSXRlcmF0b3JQcm90b3R5
cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBUElWYWx1ZVdy
YXBwZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNMZXhpY2Fs
RW52aXJvbm1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNB
cnJheS5oIiAvPgpAQCAtMTYxNyw3ICsxNjE0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcTWFwQ29uc3RydWN0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcTWFwRGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxNYXBEYXRhSW5saW5lcy5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxNYXBJdGVyYXRvckNvbnN0cnVjdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxydW50aW1lXE1hcEl0ZXJhdG9yUHJvdG90eXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxydW50aW1lXE1hcFByb3RvdHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxNYXRjaFJlc3VsdC5oIiAvPgpAQCAtMTY2NSw3ICsxNjYxLDYgQEAK
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcU2NvcGVkQXJndW1lbnRzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFNjb3BlZEFyZ3VtZW50c1RhYmxl
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFNldENvbnN0cnVjdG9y
LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFNldEl0ZXJhdG9yQ29u
c3RydWN0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcU2V0SXRl
cmF0b3JQcm90b3R5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
U2V0UHJvdG90eXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFNp
bXBsZVR5cGVkQXJyYXlDb250cm9sbGVyLmgiIC8+CkBAIC0xNjc0LDcgKzE2NjksNiBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxTdGFja0FsaWdubWVudC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxTdHJpY3RFdmFsQWN0aXZhdGlvbi5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxTdHJpbmdDb25zdHJ1Y3Rvci5o
IiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxTdHJpbmdJdGVyYXRvckNv
bnN0cnVjdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFN0cmlu
Z0l0ZXJhdG9yUHJvdG90eXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXFN0cmluZ09iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxTdHJpbmdQcm90b3R5cGUuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA3ZWM0MjJkMzhjZjIzOTRiNTE0ODBkMWEwNDc4NzY2
NGIzMjYzZTc5Li44MTdiMmQ4MDVhNDkzZDI5ZTNmYjU0ZmI1YjU5NjFmOGMzYTA0Y2ZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCkBAIC02
MjcsNiArNjI3LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSXRlcmF0
b3JPcGVyYXRpb25zLmNwcCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8
L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSXRlcmF0b3JQ
cm90b3R5cGUuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0xleGljYWxFbnZp
cm9ubWVudC5jcHAiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CkBAIC04MTksMTUgKzgyMiw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
dW50aW1lXFNldEl0ZXJhdG9yUHJvdG90eXBlLmNwcCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8
L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcU2V0SXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAiPgotICAgICAgPEZpbHRlcj5ydW50aW1l
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
dW50aW1lXFNldENvbnN0cnVjdG9yLmNwcCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRl
cj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
U2V0SXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAiPgotICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0
ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XFNwYXJzZUFycmF5VmFsdWVNYXAuY3BwIj4KICAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgpAQCAtODM3LDkgKzgzNCw2IEBACiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXFN0cmluZ0NvbnN0cnVjdG9yLmNwcCI+CiAgICAgICA8RmlsdGVy
PnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAiPgotICAgICAgPEZp
bHRlcj5ydW50aW1lPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCI+CiAgICAgICA8
RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTEzNDQsMTUgKzEz
MzgsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxDb21waWxhdGlvblJl
c3VsdC5jcHAiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBp
bGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEFycmF5SXRlcmF0b3JDb25z
dHJ1Y3Rvci5jcHAiPgotICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+Ci0gICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEFycmF5SXRlcmF0b3JQ
cm90b3R5cGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxNYXBJdGVyYXRvckNv
bnN0cnVjdG9yLmNwcCI+Ci0gICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KLSAgICA8L0Ns
Q29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWFwSXRlcmF0b3JQ
cm90b3R5cGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMjY5NCw2ICsyNjgyLDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSXRlcmF0b3JPcGVyYXRpb25zLmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXEl0ZXJhdG9yUHJvdG90eXBlLmgiPgorICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+
CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
TGV4aWNhbEVudmlyb25tZW50LmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CkBAIC0yOTIyLDkgKzI5MTMsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxTdHJpbmdDb25zdHJ1Y3Rvci5oIj4KICAgICAgIDxGaWx0ZXI+cnVu
dGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccnVudGltZVxTdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9yLmgiPgotICAgICAgPEZpbHRlcj5y
dW50aW1lPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxydW50aW1lXFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmgiPgogICAgICAgPEZpbHRlcj5y
dW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0zMzc5LDkgKzMzNjcsNiBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxTZXRDb25zdHJ1Y3Rvci5oIj4KICAg
ICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxTZXRJdGVyYXRvckNvbnN0cnVjdG9yLmgiPgotICAg
ICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHQWJzdHJhY3RIZWFwLmgiPgogICAgICAgPEZpbHRlcj5k
Zmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTM3NTcsMTUgKzM3NDIsOSBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmgi
PgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEFycmF5SXRlcmF0b3JDb25zdHJ1Y3Rvci5o
Ij4KLSAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxNYXBJdGVyYXRvclByb3RvdHlwZS5oIj4K
ICAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxNYXBJdGVyYXRvckNvbnN0cnVjdG9yLmgiPgot
ICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1pY3JvdGFzay5oIj4KICAgICAgIDxGaWx0ZXI+
cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA4M2ZhMjIxY2UyOGY2NzE4YzIxYWZlMzI3ODdiMGNhMGRlOTYzNjBiLi42MzQ5
ZmJhYzQwZmNjYWQ4ZTJjYzI2MGIxY2EzM2M1M2IxMjM2OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTAwMywxMCArMTAwMywxMCBAQAogCQk3MDlGQjg2QjFBRTMzNUM2MDAz
OUQwNjkgLyogV2Vha1NldFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MDlGQjg2NTFBRTMzNUM2MDAzOUQwNjkgLyogV2Vha1NldFBy
b3RvdHlwZS5jcHAgKi87IH07CiAJCTcwOUZCODZDMUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0
UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MDlGQjg2NjFBRTMzNUM2MDAzOUQwNjkgLyogV2Vha1NldFByb3RvdHlwZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcwQjBBOUQxMUE5QjY2
NDYwMDAxMzA2QSAvKiBSdW50aW1lRmxhZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDcwQjBBOUQwMUE5QjY2MjAwMDAxMzA2QSAvKiBSdW50aW1lRmxh
Z3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3
MERDM0UwOTFCMkRGMkM3MDAwNTQyOTkgLyogSXRlcmF0b3JQcm90b3R5cGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBEQzNFMDcxQjJERjJDNzAw
MDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLzsgfTsKKwkJNzBEQzNFMEExQjJERjJD
NzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MERDM0UwODFCMkRGMkM3MDAwNTQyOTkgLyogSXRlcmF0
b3JQcm90b3R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3MEVDMEVDMjFBQTBEN0RBMDBCNkFBRkEgLyogSlNTdHJpbmdJdGVyYXRvci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEVDMEVCQzFB
QTBEN0RBMDBCNkFBRkEgLyogSlNTdHJpbmdJdGVyYXRvci5jcHAgKi87IH07CiAJCTcwRUMwRUMz
MUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MEVDMEVCRDFBQTBEN0RBMDBCNkFBRkEgLyog
SlNTdHJpbmdJdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCTcwRUMwRUM0MUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvckNv
bnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcwRUMwRUJFMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9y
LmNwcCAqLzsgfTsKLQkJNzBFQzBFQzUxQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9y
Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcwRUMwRUJGMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9y
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzBF
QzBFQzYxQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcwRUMwRUMwMUFBMEQ3
REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHAgKi87IH07CiAJCTcwRUMw
RUM3MUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBFQzBFQzExQUEwRDdEQTAw
QjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzBFQ0E2MDUxQUZEQkVBMjAwNDQ5NzM5IC8q
IEpTVGVtcGxhdGVSZWdpc3RyeUtleS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3MEVDQTYwMDFBRkRCRUEyMDA0NDk3MzkgLyogSlNUZW1wbGF0ZVJl
Z2lzdHJ5S2V5LmNwcCAqLzsgfTsKQEAgLTEzNTUsOCArMTM1NSw2IEBACiAJCUE3NDgyQjk0MTE2
NzExNDcwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDgyQjdBMTE2NkNERUEwMDNC
MDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcCAqLzsgfTsKIAkJQTc0ODJFOTMx
MTZBN0NBRDAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ4MkUzNzExNkE2OTdCMDAz
QjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzRERTFEMDEyMEI4NzU2MDBENDBENUIg
LyogQVJNdjdBc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTc0REUxQ0IxMjBCODZENjAwRDQwRDVCIC8qIEFSTXY3QXNzZW1ibGVyLmNw
cCAqLzsgfTsKLQkJQTc0REVGOTExODJEOTkxNDAwNTIyQzIyIC8qIE1hcEl0ZXJhdG9yQ29uc3Ry
dWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc0REVGOEIxODJEOTkxNDAwNTIyQzIyIC8qIE1hcEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwICov
OyB9OwotCQlBNzRERUY5MjE4MkQ5OTE0MDA1MjJDMjIgLyogTWFwSXRlcmF0b3JDb25zdHJ1Y3Rv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0REVG
OEMxODJEOTkxNDAwNTIyQzIyIC8qIE1hcEl0ZXJhdG9yQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJ
QTc0REVGOTMxODJEOTkxNDAwNTIyQzIyIC8qIE1hcEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NERFRjhEMTgyRDk5
MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5jcHAgKi87IH07CiAJCUE3NERFRjk0
MTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0REVGOEUxODJEOTkxNDAwNTIyQzIy
IC8qIE1hcEl0ZXJhdG9yUHJvdG90eXBlLmggKi87IH07CiAJCUE3NERFRjk1MTgyRDk5MTQwMDUy
MkMyMiAvKiBKU01hcEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3NERFRjhGMTgyRDk5MTQwMDUyMkMyMiAvKiBKU01hcEl0ZXJhdG9y
LmNwcCAqLzsgfTsKQEAgLTEzOTYsOCArMTM5NCw2IEBACiAJCUE3OEE5NzdGMTc5NzM4RDUwMDlE
Rjc0NCAvKiBGVExHZW5lcmF0ZWRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4QTk3N0MxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEdlbmVy
YXRlZEZ1bmN0aW9uLmggKi87IH07CiAJCUE3OEE5NzgwMTc5NzM4RDUwMDlERjc0NCAvKiBGVExK
SVRGaW5hbGl6ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTc4QTk3N0QxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5jcHAgKi87
IH07CiAJCUE3OEE5NzgxMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OEE5NzdFMTc5NzM4
RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCAqLzsgfTsKLQkJQTc5MERENkIxODJGNDk5
NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5MERENjUxODJGNDk5NzAwNTg4ODA3IC8q
IFNldEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwICovOyB9OwotCQlBNzkwREQ2QzE4MkY0OTk3MDA1
ODg4MDcgLyogU2V0SXRlcmF0b3JDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5MERENjYxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0
ZXJhdG9yQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJQTc5MERENkQxODJGNDk5NzAwNTg4ODA3IC8q
IFNldEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3OTBERDY3MTgyRjQ5OTcwMDU4ODgwNyAvKiBTZXRJdGVyYXRvclBy
b3RvdHlwZS5jcHAgKi87IH07CiAJCUE3OTBERDZFMTgyRjQ5OTcwMDU4ODgwNyAvKiBTZXRJdGVy
YXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTc5MERENjgxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yUHJvdG90eXBlLmgg
Ki87IH07CiAJCUE3OTBERDZGMTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OTBERDY5MTgy
RjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmNwcCAqLzsgfTsKQEAgLTE0MjEsOCArMTQx
Nyw2IEBACiAJCUE3QjQ4RjQ5MEVFODkzNkYwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9y
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QjQ4
REI2MEVFNzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCAqLzsgfTsKIAkJ
QTdCNEFDQUYxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0I0QUNBRTE0ODRDOUNFMDBCMzhB
MzYgLyogSlNFeHBvcnRNYWNyb3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBN0I2MDE4MjE2MzlGRDJBMDAzNzJCQTMgLyogVW5saW5rZWRDb2Rl
QmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
OUU3ODFGMTVFRUNCQTgwMDQ3Qzg1NSAvKiBVbmxpbmtlZENvZGVCbG9jay5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUE3QkRBRUM2MTdGNEVBMTQw
MEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCREFFQzAxN0Y0RUExNDAwRjYxNDBDIC8q
IEFycmF5SXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAgKi87IH07Ci0JCUE3QkRBRUM3MTdGNEVBMTQw
MEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QkRBRUMxMTdGNEVBMTQwMEY2MTQwQyAvKiBB
cnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJQTdCREFFQzgxN0Y0RUExNDAwRjYx
NDBDIC8qIEFycmF5SXRlcmF0b3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCREFFQzIxN0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5
SXRlcmF0b3JQcm90b3R5cGUuY3BwICovOyB9OwogCQlBN0JEQUVDOTE3RjRFQTE0MDBGNjE0MEMg
LyogQXJyYXlJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTdCREFFQzMxN0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5SXRlcmF0
b3JQcm90b3R5cGUuaCAqLzsgfTsKIAkJQTdCREFFQ0ExN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJy
YXlJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBN0JEQUVDNDE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmNwcCAqLzsg
fTsKQEAgLTI3NDksMTAgKzI3NDMsMTAgQEAKIAkJNzA5RkI4NjUxQUUzMzVDNjAwMzlEMDY5IC8q
IFdlYWtTZXRQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2Vha1NldFByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcw
OUZCODY2MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYWtTZXRQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNzBCMEE5RDAxQTlCNjYyMDAwMDEzMDZBIC8qIFJ1bnRpbWVGbGFncy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSdW50aW1lRmxhZ3MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBEQzNFMDcxQjJERjJDNzAwMDU0Mjk5IC8qIEl0ZXJh
dG9yUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEl0
ZXJhdG9yUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzBEQzNF
MDgxQjJERjJDNzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEl0ZXJhdG9yUHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTcwRUMwRUJDMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmluZ0l0ZXJhdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3RyaW5nSXRlcmF0
b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MEVDMEVCRDFBQTBEN0RBMDBC
NkFBRkEgLyogSlNTdHJpbmdJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1N0cmluZ0l0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTcw
RUMwRUJFMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ0l0ZXJhdG9yQ29uc3Ry
dWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3MEVDMEVCRjFBQTBEN0RB
MDBCNkFBRkEgLyogU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcwRUMwRUMwMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVy
YXRvclByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
dHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTcwRUMwRUMxMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MEVDQTYwMDFBRkRCRUEyMDA0NDk3Mzkg
LyogSlNUZW1wbGF0ZVJlZ2lzdHJ5S2V5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTVGVtcGxhdGVSZWdpc3RyeUtleS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0zMTI2LDggKzMxMjAsNiBAQAogCQlBNzQ4MkI3QTExNjZDREVBMDAzQjA3MTIg
LyogSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODJFMzcxMTZBNjk3QjAwM0IwNzEyIC8qIEpTV2Vha09iamVj
dE1hcFJlZkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2Vh
a09iamVjdE1hcFJlZkludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3
NERFMUNCMTIwQjg2RDYwMEQ0MEQ1QiAvKiBBUk12N0Fzc2VtYmxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUk12N0Fzc2VtYmxlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUE3NERFRjhCMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRv
ckNvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1h
cEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlB
NzRERUY4QzE4MkQ5OTE0MDA1MjJDMjIgLyogTWFwSXRlcmF0b3JDb25zdHJ1Y3Rvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXBJdGVyYXRvckNvbnN0cnVjdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NERFRjhEMTgyRDk5MTQwMDUyMkMyMiAvKiBN
YXBJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBNYXBJdGVyYXRvclByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3NERFRjhFMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXBJdGVyYXRvclByb3RvdHlwZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzRERUY4RjE4MkQ5OTE0MDA1MjJDMjIgLyog
SlNNYXBJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U01hcEl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNjIsOCAr
MzE1NCw2IEBACiAJCUE3OEE5NzdDMTc5NzM4RDUwMDlERjc0NCAvKiBGVExHZW5lcmF0ZWRGdW5j
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExHZW5lcmF0ZWRGdW5j
dGlvbi5oOyBwYXRoID0gZnRsL0ZUTEdlbmVyYXRlZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE3OEE5NzdEMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMSklURmluYWxp
emVyLmNwcDsgcGF0aCA9IGZ0bC9GVExKSVRGaW5hbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNzhBOTc3RTE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxpemVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEpJVEZpbmFsaXplci5oOyBw
YXRoID0gZnRsL0ZUTEpJVEZpbmFsaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlBNzkwREQ2NTE4MkY0OTk3MDA1ODg4MDcgLyogU2V0SXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXRJdGVyYXRvckNvbnN0cnVj
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTc5MERENjYxODJGNDk5NzAw
NTg4ODA3IC8qIFNldEl0ZXJhdG9yQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU2V0SXRlcmF0b3JDb25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNzkwREQ2NzE4MkY0OTk3MDA1ODg4MDcgLyogU2V0SXRlcmF0b3JQcm90b3R5
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2V0SXRlcmF0b3JQ
cm90b3R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzkwREQ2ODE4MkY0
OTk3MDA1ODg4MDcgLyogU2V0SXRlcmF0b3JQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2V0SXRlcmF0b3JQcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTc5MERENjkxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTZXRJdGVyYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTkzLDggKzMxODMsNiBAQAogCQlBN0I0
OERCNTBFRTc0Q0ZDMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBFeGVjdXRhYmxlQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3QjQ4REI2MEVFNzRDRkMwMERDQkRCNiAvKiBFeGVjdXRhYmxl
QWxsb2NhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4ZWN1
dGFibGVBbGxvY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0I0QUNB
RTE0ODRDOUNFMDBCMzhBMzYgLyogSlNFeHBvcnRNYWNyb3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNFeHBvcnRNYWNyb3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJQTdCREFFQzAxN0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5SXRlcmF0b3JDb25zdHJ1Y3Rv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcnJheUl0ZXJhdG9y
Q29uc3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBN0JEQUVDMTE3
RjRFQTE0MDBGNjE0MEMgLyogQXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5SXRlcmF0b3JDb25zdHJ1Y3Rvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBN0JEQUVDMjE3RjRFQTE0MDBGNjE0MEMgLyogQXJyYXlJ
dGVyYXRvclByb3RvdHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVF
bmRpbmcgPSAwOyBwYXRoID0gQXJyYXlJdGVyYXRvclByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxh
bmcuY3BwOyB9OwogCQlBN0JEQUVDMzE3RjRFQTE0MDBGNjE0MEMgLyogQXJyYXlJdGVyYXRvclBy
b3RvdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcnJheUl0ZXJhdG9y
UHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QkRBRUM0MTdGNEVB
MTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IEpTQXJyYXlJdGVyYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcuY3BwOyB9OwpAQCAtNDM1MCw4ICs0MzM4LDYgQEAKIAkJCQlCQzc5NTIwNjBFMTVF
OEE4MDBBODk4QUIgLyogQXJyYXlDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJQkM3OTUyMDcwRTE1
RThBODAwQTg5OEFCIC8qIEFycmF5Q29uc3RydWN0b3IuaCAqLywKIAkJCQkwRkI3RjM4OTE1RUQ4
RTM4MDBGMTY3QjIgLyogQXJyYXlDb252ZW50aW9ucy5oICovLAotCQkJCUE3QkRBRUMwMTdGNEVB
MTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwICovLAotCQkJCUE3QkRB
RUMxMTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuaCAqLywKIAkJ
CQlBN0JEQUVDMjE3RjRFQTE0MDBGNjE0MEMgLyogQXJyYXlJdGVyYXRvclByb3RvdHlwZS5jcHAg
Ki8sCiAJCQkJQTdCREFFQzMxN0Y0RUExNDAwRjYxNDBDIC8qIEFycmF5SXRlcmF0b3JQcm90b3R5
cGUuaCAqLywKIAkJCQlGNjkyQTg0RDAyNTU1OTdEMDFGRjYwRjcgLyogQXJyYXlQcm90b3R5cGUu
Y3BwICovLApAQCAtNDQ4MSw2ICs0NDY3LDggQEAKIAkJCQlGRTRENTVCNzFBRTcxNkNBMDA1MkU0
NTkgLyogSXRlcmF0aW9uU3RhdHVzLmggKi8sCiAJCQkJNzAxMTNENDkxQThEQjA5MzAwMzg0OEM0
IC8qIEl0ZXJhdG9yT3BlcmF0aW9ucy5jcHAgKi8sCiAJCQkJNzAxMTNENEExQThEQjA5MzAwMzg0
OEM0IC8qIEl0ZXJhdG9yT3BlcmF0aW9ucy5oICovLAorCQkJCTcwREMzRTA3MUIyREYyQzcwMDA1
NDI5OSAvKiBJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8sCisJCQkJNzBEQzNFMDgxQjJERjJDNzAw
MDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmggKi8sCiAJCQkJOTNBREZDRTYwQ0NCRDdBQzAw
RDMwQjA4IC8qIEpTQXJyYXkuY3BwICovLAogCQkJCTkzODc3MkU1MDM4QkZFMTkwMDg2MzVDRSAv
KiBKU0FycmF5LmggKi8sCiAJCQkJMEYyQjY2QjQxN0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlC
dWZmZXIuY3BwICovLApAQCAtNDYyMCw4ICs0NjA4LDYgQEAKIAkJCQlBNzAwODczODE3Q0JFODUz
MDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLywKIAkJCQlBNzg1MDdENTE3Q0JDNkZEMDAx
MUY2RTcgLyogTWFwRGF0YS5oICovLAogCQkJCTU5M0Q0M0NDQTBCQkUwNkQ4OUM1OTcwNyAvKiBN
YXBEYXRhSW5saW5lcy5oICovLAotCQkJCUE3NERFRjhCMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJ
dGVyYXRvckNvbnN0cnVjdG9yLmNwcCAqLywKLQkJCQlBNzRERUY4QzE4MkQ5OTE0MDA1MjJDMjIg
LyogTWFwSXRlcmF0b3JDb25zdHJ1Y3Rvci5oICovLAogCQkJCUE3NERFRjhEMTgyRDk5MTQwMDUy
MkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5jcHAgKi8sCiAJCQkJQTc0REVGOEUxODJEOTkx
NDAwNTIyQzIyIC8qIE1hcEl0ZXJhdG9yUHJvdG90eXBlLmggKi8sCiAJCQkJQTcwMDg3M0IxN0NC
RThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgKi8sCkBAIC00NzA0LDggKzQ2OTAsNiBA
QAogCQkJCTBGRTA1MDIyMUFBOTA5NTYwMEQzM0IzMyAvKiBTY29wZU9mZnNldC5oICovLAogCQkJ
CUE3Mjk5REEzMTdEMTI4NTgwMDVGNUZGOSAvKiBTZXRDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJ
QTcyOTlEQTQxN0QxMjg1ODAwNUY1RkY5IC8qIFNldENvbnN0cnVjdG9yLmggKi8sCi0JCQkJQTc5
MERENjUxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwICovLAot
CQkJCUE3OTBERDY2MTgyRjQ5OTcwMDU4ODgwNyAvKiBTZXRJdGVyYXRvckNvbnN0cnVjdG9yLmgg
Ki8sCiAJCQkJQTc5MERENjcxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yUHJvdG90eXBl
LmNwcCAqLywKIAkJCQlBNzkwREQ2ODE4MkY0OTk3MDA1ODg4MDcgLyogU2V0SXRlcmF0b3JQcm90
b3R5cGUuaCAqLywKIAkJCQlBNzI5OUQ5RjE3RDEyODQ4MDA1RjVGRjkgLyogU2V0UHJvdG90eXBl
LmNwcCAqLywKQEAgLTQ3MjEsOCArNDcwNSw2IEBACiAJCQkJQTczMEI2MTAxMjUwMDY4RjAwOUQy
NUIxIC8qIFN0cmljdEV2YWxBY3RpdmF0aW9uLmggKi8sCiAJCQkJQkMxOEMzQzAwRTE2RUUzMzAw
QjM0NDYwIC8qIFN0cmluZ0NvbnN0cnVjdG9yLmNwcCAqLywKIAkJCQlCQzE4QzNDMTBFMTZFRTMz
MDBCMzQ0NjAgLyogU3RyaW5nQ29uc3RydWN0b3IuaCAqLywKLQkJCQk3MEVDMEVCRTFBQTBEN0RB
MDBCNkFBRkEgLyogU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAgKi8sCi0JCQkJNzBFQzBF
QkYxQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3IuaCAqLywKIAkJ
CQk3MEVDMEVDMDFBQTBEN0RBMDBCNkFBRkEgLyogU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUuY3Bw
ICovLAogCQkJCTcwRUMwRUMxMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3Rv
dHlwZS5oICovLAogCQkJCUJDMThDM0MyMEUxNkVFMzMwMEIzNDQ2MCAvKiBTdHJpbmdPYmplY3Qu
Y3BwICovLApAQCAtNTY0OSw2ICs1NjMxLDcgQEAKIAkJCQlBNUVGOUIxODFBMUQ0NDA2MDA3MDJF
OTAgLyogZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weSBpbiBIZWFkZXJzICov
LAogCQkJCUE1RUY5QjE5MUExRDQ0MDcwMDcwMkU5MCAvKiBnZW5lcmF0ZV9jcHBfcHJvdG9jb2xf
dHlwZXNfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLywKIAkJCQlDNEY0QjZGNjFBMDVD
OTg0MDA1Q0FCNzYgLyogb2JqY19nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8s
CisJCQkJNzBEQzNFMEExQjJERjJDNzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNUVGOUIxNzFBMUQ0NDAzMDA3MDJFOTAgLyogZ2VuZXJhdGVfY3Bw
X2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLywKIAkJ
CQkxNDdCODNBQzBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJBMTExMjQ2MTkyRkNFNzkwMDVFRTE4RCAvKiBDdXN0b21H
ZXR0ZXJTZXR0ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNTY5MSw3ICs1Njc0LDYgQEAKIAkJCQlB
N0E4QUYzNzE3QURCNUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzE4QzNFNjBFMTZGNUNEMDBCMzQ0NjAgLyogQXJyYXlDb25zdHJ1Y3Rvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEZCN0YzOTUxNUVEOEU0NjAwRjE2N0IyIC8qIEFycmF5Q29udmVu
dGlvbnMuaCBpbiBIZWFkZXJzICovLAotCQkJCUE3QkRBRUM3MTdGNEVBMTQwMEY2MTQwQyAvKiBB
cnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkRBRUM5MTdG
NEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRjYzOTQ1NTE1RDA3MDU3MDA2QTU5N0MgLyogQXJyYXlQcm9maWxlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzE4QzNFNzBFMTZGNUNEMDBCMzQ0NjAgLyogQXJyYXlQcm90b3R5cGUuaCBp
biBIZWFkZXJzICovLApAQCAtNjMwNSw3ICs2Mjg3LDYgQEAKIAkJCQlBNzAwODczQTE3Q0JFODUz
MDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3ODUwN0Q3
MTdDQkM2RkQwMDExRjZFNyAvKiBNYXBEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQTY0NDE1
MTk0MjBBNkM2MUFEMTg4MkUgLyogTWFwRGF0YUlubGluZXMuaCBpbiBIZWFkZXJzICovLAotCQkJ
CUE3NERFRjkyMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRvckNvbnN0cnVjdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRTRCRkYyQzFBRDQ3NkU3MDAwODhGODcgLyogRnVuY3Rpb25PdmVy
cmlkZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NERFRjk0MTgyRDk5MTQwMDUyMkMyMiAvKiBN
YXBJdGVyYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTcwMDg3M0UxN0NCRThE
MzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkBAIC02NDQ1LDcgKzY0
MjYsNiBAQAogCQkJCUE1NENGMkZBMTg0RUFFREEwMDIzN0YxOSAvKiBTY3JpcHRPYmplY3QuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1NENGMkY2MTg0RUFCMjQwMDIzN0YxOSAvKiBTY3JpcHRWYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTcyOTlEQTYxN0QxMjg1ODAwNUY1RkY5IC8qIFNldENv
bnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQlBNzkwREQ2QzE4MkY0OTk3MDA1ODg4MDcg
LyogU2V0SXRlcmF0b3JDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc5MERENkUx
ODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNzI5OURBMjE3RDEyODQ4MDA1RjVGRjkgLyogU2V0UHJvdG90eXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NkFFNjRBQTEzNUU1RTFDMDA5NjMwMTIgLyogU0g0QXNzZW1ibGVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTY0ODEsNyArNjQ2MSw2IEBACiAJCQkJMEZEMkM5MjQxNkQwMUVFOTAw
Qzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRkUxOEE0
MTZCQUVDNDAwMEFGMzA2MSAvKiBTdHJ1Y3R1cmVSYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzIwQkE5MkQxNkJCMUMxNTAwQjNBRUEyIC8qIFN0cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNzBFQzBFQzUxQUEwRDdEQTAwQjZBQUZBIC8qIFN0cmluZ0l0
ZXJhdG9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI5Q0VCMTlEMEJBN0Qw
MEIxRDFCNSAvKiBERkdQaGlDaGlsZHJlbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5MzMyQTUx
NENBN0RERDAwODVGM0M2IC8qIFN0cnVjdHVyZVNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY3
NjZEMzkxNUFFNEExRjAwOEYzNjNFIC8qIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtNzAzOCw3ICs3MDE3LDYgQEAKIAkJCQlBN0E4QUYzNjE3QURC
NUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXJWaWV3LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
MTJERTBGMTk3OUQ1RkQwMDA2RkY0RSAvKiBFeGNlcHRpb25GdXp6LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTE0N0YzOUJGMTA3RUMzNzYwMDQyN0E0OCAvKiBBcnJheUNvbnN0cnVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCUE3QkRBRUM2MTdGNEVBMTQwMEY2MTQwQyAvKiBBcnJheUl0ZXJh
dG9yQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdCREFFQzgxN0Y0RUExNDAw
RjYxNDBDIC8qIEFycmF5SXRlcmF0b3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY2Mzk0NTQxNUQwNzA1NTAwNkE1OTdDIC8qIEFycmF5UHJvZmlsZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNDdGMzlDMDEwN0VDMzc2MDA0MjdBNDggLyogQXJyYXlQcm90b3R5cGUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC03MTc2LDcgKzcxNTQsNiBAQAogCQkJCTBGQzA5NzkyMTQ2QTZGNzMw
MENGMjQ0MiAvKiBERkdPU1JFeGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZD
MDk3NzYxNDY5NDNCMDAwQ0YyNDQyIC8qIERGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGQzA5NzcyMTQ2OTNBRjkwMENGMjQ0MiAvKiBERkdPU1JFeGl0Q29t
cGlsZXI2NC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk3MEVDMEVDNDFBQTBEN0RBMDBCNkFBRkEg
LyogU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3MEVD
MEVDMjFBQTBEN0RBMDBCNkFBRkEgLyogSlNTdHJpbmdJdGVyYXRvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjcwMjVBOTE3MTRCMEZBMDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29t
bW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUZDOUFBMTY4MUEzQjMwMDU2N0Y1MyAvKiBE
RkdPU1JFeGl0SnVtcFBsYWNlaG9sZGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNzM3Nyw2ICs3
MzU0LDcgQEAKIAkJCQkxNDQwRkNFNDBBNTFFNDZCMDAwNUYwNjEgLyogSlNDbGFzc1JlZi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk4NkUzQzYxNjE2N0JBQkVFMDA2RDc2MEEgLyogSlNDb250ZXh0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRCRDVBMzAwQTNFOTFGNjAwQkFGNTlDIC8qIEpTQ29u
dGV4dFJlZi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3MERDM0UwOTFCMkRGMkM3MDAwNTQyOTkg
LyogSXRlcmF0b3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEOTQ5ODIxQTk3
REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzIw
MjhCNjE3OTc2MDFFMDA5ODAyOEMgLyogSlNDVGVzdFJ1bm5lclV0aWxzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGMkI2NkVCMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3LmNwcCBpbiBT
b3VyY2VzICovLApAQCAtNzQ3OSw3ICs3NDU3LDYgQEAKIAkJCQlBN0E0QUUwODE3OTczQjI2MDA1
NjEyQjEgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTVCNkE3NEQxOEM2REJBNjAwRjExRTkxIC8qIENvbnNvbGVDbGllbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTcwMDg3MzkxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCUE3NERFRjkxMTgyRDk5MTQwMDUyMkMyMiAvKiBNYXBJdGVyYXRv
ckNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NERFRjkzMTgyRDk5MTQwMDUy
MkMyMiAvKiBNYXBJdGVyYXRvclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzAw
ODczRDE3Q0JFOEQzMDBDM0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUMyQjkxNkM1MTREQTA0MEMwMENCQUM4NiAvKiBNYXJrZWRBbGxvY2F0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC03NTcwLDcgKzc1NDcsNiBAQAogCQkJCUE1NENGMkY1MTg0RUFCMjQwMDIz
N0YxOSAvKiBTY3JpcHRWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzI5OURBNTE3RDEy
ODU4MDA1RjVGRjkgLyogU2V0Q29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZE
MTIwMkYxQThBRUQxMjAwMEY1MjgwIC8qIEZUTEpTQ2FsbEJhc2UuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJQTc5MERENkIxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0ZXJhdG9yQ29uc3RydWN0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc5MERENkQxODJGNDk5NzAwNTg4ODA3IC8qIFNldEl0
ZXJhdG9yUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Mjk5REExMTdEMTI4NDgw
MDVGNUZGOSAvKiBTZXRQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyQjY3MDQx
N0I2QjVBQjAwQTdBRTNGIC8qIFNpbXBsZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJh
dG9yLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRv
ci5wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM3MmE2NDA4YjQzNjcwYTkzNjE5ZmM2MWYyYmVj
MzI3NWUzOTVkNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBTeW1ib2xJ
dGVyYXRvcigpCit7CisgICAgJ3VzZSBzdHJpY3QnOworICAgIHJldHVybiB0aGlzOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlJdGVyYXRvckNvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5SXRlcmF0b3JD
b25zdHJ1Y3Rvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MWM1ZjIyYTAx
NzI5MTI1MDM4YWVjN2M0NDlhMGY1MTg2ZDIzMjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlJ
dGVyYXRvckNvbnN0cnVjdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJBcnJheUl0ZXJhdG9yQ29uc3RydWN0b3IuaCIKLQotI2luY2x1
ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCi0jaW5jbHVkZSAiSlNDZWxsSW5saW5lcy5oIgotI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCi0jaW5jbHVkZSAiU3RydWN0dXJlSW5saW5lcy5oIgot
Ci1uYW1lc3BhY2UgSlNDIHsKLQotY29uc3QgQ2xhc3NJbmZvIEFycmF5SXRlcmF0b3JDb25zdHJ1
Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEFycmF5SXRlcmF0b3JDb25zdHJ1Y3RvcikgfTsKLQotdm9pZCBBcnJheUl0ZXJh
dG9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSk7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5SXRlcmF0b3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDQ4OWQ1ZDllOTA0Y2IyYzhiZDMzMTlhMzA2NDM4NzAwMTRkOTQ2YzIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw2MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlLCBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKLSAqLwotCi0jaWZuZGVmIEFycmF5SXRlcmF0b3JDb25zdHJ1Y3Rvcl9oCi0jZGVmaW5lIEFy
cmF5SXRlcmF0b3JDb25zdHJ1Y3Rvcl9oCi0KLSNpbmNsdWRlICJJbnRlcm5hbEZ1bmN0aW9uLmgi
Ci0KLW5hbWVzcGFjZSBKU0MgewotCi1jbGFzcyBBcnJheUl0ZXJhdG9yUHJvdG90eXBlOwotCi1j
bGFzcyBBcnJheUl0ZXJhdG9yQ29uc3RydWN0b3IgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7
Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7Ci0KLSAgICBzdGF0
aWMgQXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgQXJyYXlJdGVyYXRvclByb3RvdHlwZSopCi0gICAgewotICAgICAgICBBcnJheUl0
ZXJhdG9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNl
bGw8QXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yPih2bS5oZWFwKSkgQXJyYXlJdGVyYXRvckNvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRp
b24odm0pOwotICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7Ci0gICAgfQotCi0gICAgREVDTEFS
RV9JTkZPOwotCi0gICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCi0gICAgewot
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7Ci0gICAg
fQotCi1wcml2YXRlOgotICAgIEFycmF5SXRlcmF0b3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQotICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKLSAgICB7Ci0g
ICAgfQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLX07Ci0KLX0KLQotI2VuZGlmIC8v
ICFkZWZpbmVkKEFycmF5SXRlcmF0b3JDb25zdHJ1Y3Rvcl9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlJdGVyYXRvclByb3RvdHlwZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUl0ZXJhdG9yUHJvdG90eXBlLmNwcAppbmRl
eCBiODYyNjc3MDFmNDA5OTA2ODI1NTkzYzNmOWQ2NDViZDFmYTM2ZmJkLi5jMzMwOTEyNTk3ZGMw
Nzc0NmZjNWQ3YzRlZGE1N2U5NmY3YWMwNTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUl0ZXJhdG9yUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUl0ZXJhdG9yUHJvdG90eXBlLmNwcApAQCAtMjgsOCAr
MjgsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlJdGVyYXRvclByb3RvRnVuY0l0ZXJhdG9yKEV4ZWNTdGF0ZSopOwotCiB9
CiAKICNpbmNsdWRlICJBcnJheUl0ZXJhdG9yUHJvdG90eXBlLmx1dC5oIgpAQCAtNTQsMTIgKzUy
LDExIEBACiBAZW5kCiAqLwogCi12b2lkIEFycmF5SXRlcmF0b3JQcm90b3R5cGU6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3ZvaWQgQXJyYXlJ
dGVyYXRvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCop
CiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChpbmhlcml0cyhp
bmZvKCkpKTsKICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKHRoaXMpOwotICAgIEpT
Q19OQVRJVkVfRlVOQ1RJT04odm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wsIGFycmF5
SXRlcmF0b3JQcm90b0Z1bmNJdGVyYXRvciwgRG9udEVudW0sIDApOwogfQogCiBib29sIEFycmF5
SXRlcmF0b3JQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBF
eGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYg
c2xvdCkKQEAgLTY5LDkgKzY2LDQgQEAgYm9vbCBBcnJheUl0ZXJhdG9yUHJvdG90eXBlOjpnZXRP
d25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGUKIAogLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFycmF5IEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiAKLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlJdGVy
YXRvclByb3RvRnVuY0l0ZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYykKLXsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGV4ZWMtPnRoaXNWYWx1ZSgpKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JdGVyYXRvclByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JdGVyYXRvclByb3RvdHlw
ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmNjZGJmMGNmYTIwMWViNTQzZjc3M2JjNGIxYmJiODJkMzkzYmRh
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0l0ZXJh
dG9yUHJvdG90eXBlLmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJJdGVyYXRvclByb3RvdHlwZS5oIgorCisjaW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKKyNp
bmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIK
KyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIk9iamVjdENvbnN0cnVjdG9y
LmgiCisjaW5jbHVkZSAiU3RydWN0dXJlSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlNDIHsKKwor
fQorCituYW1lc3BhY2UgSlNDIHsKKworY29uc3QgQ2xhc3NJbmZvIEl0ZXJhdG9yUHJvdG90eXBl
OjpzX2luZm8gPSB7ICJJdGVyYXRvciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSXRlcmF0b3JQcm90b3R5cGUpIH07CisKK3ZvaWQgSXRlcmF0b3JQcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
K3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGlu
Zm8oKSkpOworICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUodGhpcyk7CisKKyAgICBK
U0Z1bmN0aW9uKiBpdGVyYXRvclByb3RvdHlwZUZ1bmN0aW9uID0gSlNGdW5jdGlvbjo6Y3JlYXRl
QnVpbHRpbkZ1bmN0aW9uKHZtLCBpdGVyYXRvclByb3RvdHlwZVN5bWJvbEl0ZXJhdG9yQ29kZUdl
bmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgIltTeW1ib2wuaXRlcmF0b3JdIik7CisgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLCBpdGVyYXRvclByb3RvdHlwZUZ1bmN0aW9uLCBEb250RW51bSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSXRl
cmF0b3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0l0ZXJhdG9y
UHJvdG90eXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE1OTcxZGFiOWMzMWMxN2IxNDBkZGVkZGVmYTJhNmVm
Nzg2OGNiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0l0ZXJhdG9yUHJvdG90eXBlLmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEl0ZXJhdG9yUHJvdG90
eXBlX2gKKyNkZWZpbmUgSXRlcmF0b3JQcm90b3R5cGVfaAorCisjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEl0ZXJhdG9yUHJvdG90eXBlIDogcHVibGlj
IEpTTm9uRmluYWxPYmplY3QgeworcHVibGljOgorICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVj
dCBCYXNlOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzOworCisgICAgc3RhdGljIEl0ZXJhdG9yUHJvdG90eXBlKiBjcmVhdGUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKKyAgICB7CisgICAgICAgIEl0ZXJhdG9yUHJvdG90eXBlKiBwcm90b3R5cGUgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxJdGVyYXRvclByb3RvdHlwZT4odm0uaGVhcCkpIEl0ZXJhdG9y
UHJvdG90eXBlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBwcm90b3R5cGUtPmZpbmlzaENyZWF0
aW9uKHZtLCBnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gcHJvdG90eXBlOworICAgIH0K
KworICAgIERFQ0xBUkVfSU5GTzsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90
eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBp
bmZvKCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBJdGVyYXRvclByb3RvdHlwZShWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAg
ICB7CisgICAgfQorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCop
OworfTsKKworfQorCisjZW5kaWYgLy8gIWRlZmluZWQoSXRlcmF0b3JQcm90b3R5cGVfaCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKaW5kZXggZGI2NTMy
OTc1ZjkwNDkzZjA2OTAwNTg2NGM2ZDhhNzI0MzI0NTc4Yy4uOWFhOWQ2MTY5ZDc3MzU4MmJkMjRm
ZmRjNzJiYzNmZDFhYjY0NzQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5jcHAKQEAgLTEzNyw2ICsxMzcsMTQgQEAgSlNGdW5jdGlvbiogSlNGdW5jdGlv
bjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVj
dXQKICAgICByZXR1cm4gZnVuY3Rpb247CiB9CiAKK0pTRnVuY3Rpb24qIEpTRnVuY3Rpb246OmNy
ZWF0ZUJ1aWx0aW5GdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJs
ZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBuYW1lKQorewor
ICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0gY3JlYXRlKHZtLCBleGVjdXRhYmxlLCBnbG9iYWxP
YmplY3QpOworICAgIGZ1bmN0aW9uLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIGpzU3RyaW5nKCZ2bSwgbmFtZSksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVt
KTsKKyAgICBmdW5jdGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgs
IGpzTnVtYmVyKGV4ZWN1dGFibGUtPnBhcmFtZXRlckNvdW50KCkpLCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkgfCBEb250RW51bSk7CisgICAgcmV0dXJuIGZ1bmN0aW9uOworfQorCiBGdW5jdGlvblJh
cmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3Rh
dGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURh
dGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IGI2
YmNjMGQ1YzY2MDVjNDM5NTk1ZDJkZWE5OWFiMzEyNjA4ZWNmOGQuLjBiODdkNzVjOTE0NTBjNWFm
MWFhZWQyN2E2MWE3NDhlZjgwZjA5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKQEAgLTc1LDYgKzc1LDcgQEAgY2xhc3MgSlNGdW5jdGlvbiA6IHB1Ymxp
YyBKU0NhbGxlZSB7CiAgICAgc3RhdGljIEpTRnVuY3Rpb24qIGNyZWF0ZShWTSYsIEZ1bmN0aW9u
RXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKIAogICAgIHN0YXRpYyBKU0Z1bmN0aW9uKiBjcmVhdGVC
dWlsdGluRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCop
OworICAgIHN0YXRpYyBKU0Z1bmN0aW9uKiBjcmVhdGVCdWlsdGluRnVuY3Rpb24oVk0mLCBGdW5j
dGlvbkV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAK
ICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgbmFtZShFeGVjU3RhdGUqKTsKICAgICBKU19F
WFBPUlRfUFJJVkFURSBTdHJpbmcgZGlzcGxheU5hbWUoRXhlY1N0YXRlKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTRhMGMx
Y2ZhNmVjMmFjZDM5M2U1NDNmNDI2MGMyYzMyNmJhMTkzNy4uYzE0ZDAzYTNjY2IxMTQ5MTRiNmQ2
ZGI3N2ExNjY1MDI5YWE5YTZlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgIkpTR2xv
YmFsT2JqZWN0LmgiCiAKICNpbmNsdWRlICJBcnJheUNvbnN0cnVjdG9yLmgiCi0jaW5jbHVkZSAi
QXJyYXlJdGVyYXRvckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiQXJyYXlJdGVyYXRvclByb3Rv
dHlwZS5oIgogI2luY2x1ZGUgIkFycmF5UHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiQm9vbGVhbkNv
bnN0cnVjdG9yLmgiCkBAIC01NCw2ICs1Myw3IEBACiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgi
CiAjaW5jbHVkZSAiSGVhcEl0ZXJhdGlvblNjb3BlLmgiCiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIu
aCIKKyNpbmNsdWRlICJJdGVyYXRvclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQVBJV3JhcHBl
ck9iamVjdC5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
QnVmZmVyQ29uc3RydWN0b3IuaCIKQEAgLTk0LDcgKzk0LDYgQEAKICNpbmNsdWRlICJMZWdhY3lQ
cm9maWxlci5oIgogI2luY2x1ZGUgIkxvb2t1cC5oIgogI2luY2x1ZGUgIk1hcENvbnN0cnVjdG9y
LmgiCi0jaW5jbHVkZSAiTWFwSXRlcmF0b3JDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIk1hcEl0
ZXJhdG9yUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiTWFwUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAi
TWF0aE9iamVjdC5oIgpAQCAtMTE1LDEyICsxMTQsMTAgQEAKICNpbmNsdWRlICJSZWdFeHBQcm90
b3R5cGUuaCIKICNpbmNsdWRlICJTY29wZWRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJTZXRDb25z
dHJ1Y3Rvci5oIgotI2luY2x1ZGUgIlNldEl0ZXJhdG9yQ29uc3RydWN0b3IuaCIKICNpbmNsdWRl
ICJTZXRJdGVyYXRvclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIlNldFByb3RvdHlwZS5oIgogI2lu
Y2x1ZGUgIlN0cmljdEV2YWxBY3RpdmF0aW9uLmgiCiAjaW5jbHVkZSAiU3RyaW5nQ29uc3RydWN0
b3IuaCIKLSNpbmNsdWRlICJTdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
U3RyaW5nSXRlcmF0b3JQcm90b3R5cGUuaCIKICNpbmNsdWRlICJTdHJpbmdQcm90b3R5cGUuaCIK
ICNpbmNsdWRlICJTeW1ib2wuaCIKQEAgLTMzNSw3ICszMzIsMTcgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6aW5pdChWTSYgdm0pCiAgICAgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShDUkVB
VEVfUFJPVE9UWVBFX0ZPUl9TSU1QTEVfVFlQRSkKICAgICAKICN1bmRlZiBDUkVBVEVfUFJPVE9U
WVBFX0ZPUl9TSU1QTEVfVFlQRQorCisgICAgbV9pdGVyYXRvclByb3RvdHlwZS5zZXQodm0sIHRo
aXMsIEl0ZXJhdG9yUHJvdG90eXBlOjpjcmVhdGUodm0sIHRoaXMsIEl0ZXJhdG9yUHJvdG90eXBl
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSkpOwor
CisjZGVmaW5lIENSRUFURV9QUk9UT1RZUEVfRk9SX0RFUklWRURfSVRFUkFUT1JfVFlQRShjYXBp
dGFsTmFtZSwgbG93ZXJOYW1lLCBwcm9wZXJOYW1lLCBpbnN0YW5jZVR5cGUsIGpzTmFtZSkgXAor
bV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5zZXQodm0sIHRoaXMsIGNhcGl0YWxOYW1lIyNQ
cm90b3R5cGU6OmNyZWF0ZSh2bSwgdGhpcywgY2FwaXRhbE5hbWUjI1Byb3RvdHlwZTo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aGlzLCBtX2l0ZXJhdG9yUHJvdG90eXBlLmdldCgpKSkpOyBcCittXyAj
IyBwcm9wZXJOYW1lICMjIFN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIGluc3RhbmNlVHlwZTo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLmdldCgp
KSk7CiAgICAgCisgICAgRk9SX0VBQ0hfQlVJTFRJTl9ERVJJVkVEX0lURVJBVE9SX1RZUEUoQ1JF
QVRFX1BST1RPVFlQRV9GT1JfREVSSVZFRF9JVEVSQVRPUl9UWVBFKQorICAgIAorI3VuZGVmIENS
RUFURV9QUk9UT1RZUEVfRk9SX0RFUklWRURfSVRFUkFUT1JfVFlQRQorCiAgICAgLy8gQ29uc3Ry
dWN0b3JzCiAgICAgCiAgICAgT2JqZWN0Q29uc3RydWN0b3IqIG9iamVjdENvbnN0cnVjdG9yID0g
T2JqZWN0Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgT2JqZWN0Q29uc3RydWN0b3I6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fb2Jq
ZWN0UHJvdG90eXBlLmdldCgpKTsKQEAgLTczNyw2ICs3NDQsNyBAQCB2b2lkIEpTR2xvYmFsT2Jq
ZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAg
ICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rpb25Qcm90b3R5cGUpOwogICAg
IHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5UHJvdG90eXBlKTsKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9lcnJvclByb3RvdHlwZSk7CisgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1faXRlcmF0b3JQcm90b3R5cGUpOwogI2lmIEVOQUJMRShQUk9N
SVNFUykKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9wcm9taXNlUHJvdG90eXBl
KTsKICNlbmRpZgpAQCAtNzgzLDYgKzc5MSw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV8gIyMgcHJvcGVyTmFtZSAjIyBTdHJ1Y3R1cmUpOyBcCiAK
ICAgICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBFKFZJU0lUX1NJTVBMRV9UWVBFKQorICAg
IEZPUl9FQUNIX0JVSUxUSU5fREVSSVZFRF9JVEVSQVRPUl9UWVBFKFZJU0lUX1NJTVBMRV9UWVBF
KQogCiAjdW5kZWYgVklTSVRfU0lNUExFX1RZUEUKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggYWUxMTM4N2U0OTRlYTU0MWY5NTU5NDAx
NmEyNjRiMmE4MDU4Y2ZhNS4uZDdjYmU4ZDc4MjIyYjMzZjhmZjQzMzAyZTVmZmNmYTM3YTJjNmVj
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
CkBAIC0xMDUsMjEgKzEwNSwyOCBAQAogICAgIERFRklORV9TVEFOREFSRF9CVUlMVElOKG1hY3Jv
LCBXZWFrTWFwLCB3ZWFrTWFwKSBcCiAgICAgREVGSU5FX1NUQU5EQVJEX0JVSUxUSU4obWFjcm8s
IFdlYWtTZXQsIHdlYWtTZXQpIFwKIAotI2RlZmluZSBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9U
WVBFKG1hY3JvKSBcCi0gICAgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRV9XSVRIX0NPTlNU
UlVDVE9SKG1hY3JvKSBcCi0gICAgRk9SX0VBQ0hfRVhQRVJJTUVOVEFMX0JVSUxUSU5fVFlQRV9X
SVRIX0NPTlNUUlVDVE9SKG1hY3JvKSBcCisjZGVmaW5lIEZPUl9FQUNIX0JVSUxUSU5fREVSSVZF
RF9JVEVSQVRPUl9UWVBFKG1hY3JvKSBcCiAgICAgREVGSU5FX1NUQU5EQVJEX0JVSUxUSU4obWFj
cm8sIEFycmF5SXRlcmF0b3IsIGFycmF5SXRlcmF0b3IpIFwKICAgICBERUZJTkVfU1RBTkRBUkRf
QlVJTFRJTihtYWNybywgTWFwSXRlcmF0b3IsIG1hcEl0ZXJhdG9yKSBcCiAgICAgREVGSU5FX1NU
QU5EQVJEX0JVSUxUSU4obWFjcm8sIFNldEl0ZXJhdG9yLCBzZXRJdGVyYXRvcikgXAogICAgIERF
RklORV9TVEFOREFSRF9CVUlMVElOKG1hY3JvLCBTdHJpbmdJdGVyYXRvciwgc3RyaW5nSXRlcmF0
b3IpIFwKIAorI2RlZmluZSBGT1JfRUFDSF9CVUlMVElOX0lURVJBVE9SX1RZUEUobWFjcm8pIFwK
KyAgICBERUZJTkVfU1RBTkRBUkRfQlVJTFRJTihtYWNybywgSXRlcmF0b3IsIGl0ZXJhdG9yKSBc
CisgICAgRk9SX0VBQ0hfQlVJTFRJTl9ERVJJVkVEX0lURVJBVE9SX1RZUEUobWFjcm8pIFwKKwor
I2RlZmluZSBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBFKG1hY3JvKSBcCisgICAgRk9SX0VB
Q0hfU0lNUExFX0JVSUxUSU5fVFlQRV9XSVRIX0NPTlNUUlVDVE9SKG1hY3JvKSBcCisgICAgRk9S
X0VBQ0hfRVhQRVJJTUVOVEFMX0JVSUxUSU5fVFlQRV9XSVRIX0NPTlNUUlVDVE9SKG1hY3JvKSBc
CiAKICNkZWZpbmUgREVDTEFSRV9TSU1QTEVfQlVJTFRJTl9UWVBFKGNhcGl0YWxOYW1lLCBsb3dl
ck5hbWUsIHByb3Blck5hbWUsIGluc3RhbmNlVHlwZSwganNOYW1lKSBcCiAgICAgY2xhc3MgSlMg
IyMgY2FwaXRhbE5hbWU7IFwKICAgICBjbGFzcyBjYXBpdGFsTmFtZSAjIyBQcm90b3R5cGU7IFwK
ICAgICBjbGFzcyBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3RvcjsKIAorY2xhc3MgSXRlcmF0b3JQ
cm90b3R5cGU7CiBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBFKERFQ0xBUkVfU0lNUExFX0JV
SUxUSU5fVFlQRSkKK0ZPUl9FQUNIX0JVSUxUSU5fREVSSVZFRF9JVEVSQVRPUl9UWVBFKERFQ0xB
UkVfU0lNUExFX0JVSUxUSU5fVFlQRSkKIAogI3VuZGVmIERFQ0xBUkVfU0lNUExFX0JVSUxUSU5f
VFlQRQogCkBAIC0yMDAsNiArMjA3LDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEZ1bmN0aW9uUHJv
dG90eXBlPiBtX2Z1bmN0aW9uUHJvdG90eXBlOwogICAgIFdyaXRlQmFycmllcjxBcnJheVByb3Rv
dHlwZT4gbV9hcnJheVByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8UmVnRXhwUHJvdG90eXBl
PiBtX3JlZ0V4cFByb3RvdHlwZTsKKyAgICBXcml0ZUJhcnJpZXI8SXRlcmF0b3JQcm90b3R5cGU+
IG1faXRlcmF0b3JQcm90b3R5cGU7CiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgIFdyaXRlQmFy
cmllcjxKU1Byb21pc2VQcm90b3R5cGU+IG1fcHJvbWlzZVByb3RvdHlwZTsKICNlbmRpZgpAQCAt
MjQ5LDYgKzI1Nyw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVk
VmFyaWFibGVPYmplY3QgewogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fICMjIHByb3Bl
ck5hbWUgIyMgU3RydWN0dXJlOwogCiAgICAgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShE
RUZJTkVfU1RPUkFHRV9GT1JfU0lNUExFX1RZUEUpCisgICAgRk9SX0VBQ0hfQlVJTFRJTl9ERVJJ
VkVEX0lURVJBVE9SX1RZUEUoREVGSU5FX1NUT1JBR0VfRk9SX1NJTVBMRV9UWVBFKQogCiAjdW5k
ZWYgREVGSU5FX1NUT1JBR0VfRk9SX1NJTVBMRV9UWVBFCiAKQEAgLTQxOSw2ICs0MjgsNyBAQCBj
bGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsK
ICAgICBEYXRlUHJvdG90eXBlKiBkYXRlUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9kYXRl
UHJvdG90eXBlLmdldCgpOyB9CiAgICAgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUo
KSBjb25zdCB7IHJldHVybiBtX3JlZ0V4cFByb3RvdHlwZS5nZXQoKTsgfQogICAgIEVycm9yUHJv
dG90eXBlKiBlcnJvclByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JQcm90b3R5cGUu
Z2V0KCk7IH0KKyAgICBJdGVyYXRvclByb3RvdHlwZSogaXRlcmF0b3JQcm90b3R5cGUoKSBjb25z
dCB7IHJldHVybiBtX2l0ZXJhdG9yUHJvdG90eXBlLmdldCgpOyB9CiAjaWYgRU5BQkxFKFBST01J
U0VTKQogICAgIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcHJvbWlzZVByb3RvdHlwZS5nZXQoKTsgfQogI2VuZGlmCkBAIC01MDgsNiArNTE4
LDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdCB7CiAgICAgU3RydWN0dXJlKiBwcm9wZXJOYW1lICMjIFN0cnVjdHVyZSgpIHsgcmV0dXJu
IG1fICMjIHByb3Blck5hbWUgIyMgU3RydWN0dXJlLmdldCgpOyB9CiAKICAgICBGT1JfRUFDSF9T
SU1QTEVfQlVJTFRJTl9UWVBFKERFRklORV9BQ0NFU1NPUlNfRk9SX1NJTVBMRV9UWVBFKQorICAg
IEZPUl9FQUNIX0JVSUxUSU5fREVSSVZFRF9JVEVSQVRPUl9UWVBFKERFRklORV9BQ0NFU1NPUlNf
Rk9SX1NJTVBMRV9UWVBFKQogCiAjdW5kZWYgREVGSU5FX0FDQ0VTU09SU19GT1JfU0lNUExFX1RZ
UEUKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwSXRlcmF0
b3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBJdGVy
YXRvckNvbnN0cnVjdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGY5M2Rj
MDRiYTYwZjVmODI3NTU0Y2UxMGFiNzQ4MjUwZWE4NjE2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXBJdGVyYXRvckNvbnN0cnVjdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLSNpbmNsdWRlICJNYXBJdGVyYXRvckNvbnN0cnVjdG9yLmgiCi0KLSNpbmNs
dWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgotI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIKLSNp
bmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgotI2luY2x1ZGUgIkpTTWFwSXRlcmF0b3IuaCIKLSNp
bmNsdWRlICJNYXBJdGVyYXRvclByb3RvdHlwZS5oIgotI2luY2x1ZGUgIlN0cnVjdHVyZUlubGlu
ZXMuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLWNvbnN0IENsYXNzSW5mbyBNYXBJdGVyYXRvckNv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJNYXBJdGVyYXRvciBJdGVyYXRvciIsICZCYXNlOjpzX2lu
Zm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoTWFwSXRlcmF0b3JDb25zdHJ1Y3RvcikgfTsKLQot
dm9pZCBNYXBJdGVyYXRvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIE1hcEl0
ZXJhdG9yUHJvdG90eXBlKiBwcm90b3R5cGUpCi17Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsIHByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
OwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBJ
dGVyYXRvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBJ
dGVyYXRvckNvbnN0cnVjdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1YmE1
YjdmZjRkODFhMWExZGNmNjI5NTc0MTc3MDgzNjM3Y2JjNzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TWFwSXRlcmF0b3JDb25zdHJ1Y3Rvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBN
YXBJdGVyYXRvckNvbnN0cnVjdG9yX2gKLSNkZWZpbmUgTWFwSXRlcmF0b3JDb25zdHJ1Y3Rvcl9o
Ci0KLSNpbmNsdWRlICJKU09iamVjdC5oIgotCi1uYW1lc3BhY2UgSlNDIHsKLQotY2xhc3MgTWFw
SXRlcmF0b3JQcm90b3R5cGU7Ci0KLWNsYXNzIE1hcEl0ZXJhdG9yQ29uc3RydWN0b3IgOiBwdWJs
aWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2Jq
ZWN0IEJhc2U7Ci0KLSAgICBzdGF0aWMgTWFwSXRlcmF0b3JDb25zdHJ1Y3RvciogY3JlYXRlKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE1hcEl0ZXJhdG9yUHJvdG90eXBlKiBwcm90b3R5
cGUpCi0gICAgewotICAgICAgICBNYXBJdGVyYXRvckNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE1hcEl0ZXJhdG9yQ29uc3RydWN0b3I+KHZtLmhl
YXApKSBNYXBJdGVyYXRvckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25z
dHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7Ci0gICAgICAgIHJldHVybiBj
b25zdHJ1Y3RvcjsKLSAgICB9Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgTWFwSXRl
cmF0b3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgICAgICA6
IEJhc2Uodm0sIHN0cnVjdHVyZSkKLSAgICB7Ci0gICAgfQotICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBNYXBJdGVyYXRvclByb3RvdHlwZSopOwotfTsKLQotfQotCi0jZW5kaWYgLy8gIWRl
ZmluZWQoTWFwQ29uc3RydWN0b3JfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcEl0ZXJhdG9yUHJvdG90eXBlLmNwcAppbmRleCBmYjAzYmI4ZjZmMDQ4MTQ1
YmJjZmU1ZjJjNWE5ODRmMzY3MTEyNzhlLi41ZTdlYzMzZjlkNTJiYzcxNDdlZDA2MmM0OTRiNmIw
MDg4MDI4NjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBJ
dGVyYXRvclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TWFwSXRlcmF0b3JQcm90b3R5cGUuY3BwCkBAIC0zNiwyNSArMzYsMTcgQEAKIAogY29uc3QgQ2xh
c3NJbmZvIE1hcEl0ZXJhdG9yUHJvdG90eXBlOjpzX2luZm8gPSB7ICJNYXAgSXRlcmF0b3IiLCAm
QmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hcEl0ZXJhdG9yUHJvdG90eXBl
KSB9OwogCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBNYXBJdGVyYXRvclBy
b3RvdHlwZUZ1bmNJdGVyYXRvcihFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIE1hcEl0ZXJhdG9yUHJvdG90eXBlRnVuY05leHQoRXhlY1N0YXRlKik7CiAK
LQogdm9pZCBNYXBJdGVyYXRvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CiAgICAgdm0ucHJvdG90eXBlTWFwLmFk
ZFByb3RvdHlwZSh0aGlzKTsKIAotICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04odm0ucHJvcGVydHlO
YW1lcy0+aXRlcmF0b3JTeW1ib2wsIE1hcEl0ZXJhdG9yUHJvdG90eXBlRnVuY0l0ZXJhdG9yLCBE
b250RW51bSwgMCk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5u
ZXh0LCBNYXBJdGVyYXRvclByb3RvdHlwZUZ1bmNOZXh0LCBEb250RW51bSwgMCk7CiB9CiAKLUVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgTWFwSXRlcmF0b3JQcm90b3R5cGVGdW5jSXRlcmF0
b3IoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCi17Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShj
YWxsRnJhbWUtPnRoaXNWYWx1ZSgpKTsKLX0KLQogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBNYXBJdGVyYXRvclByb3RvdHlwZUZ1bmNOZXh0KENhbGxGcmFtZSogY2FsbEZyYW1lKQogewog
ICAgIEpTTWFwSXRlcmF0b3IqIGl0ZXJhdG9yID0ganNEeW5hbWljQ2FzdDxKU01hcEl0ZXJhdG9y
Kj4oY2FsbEZyYW1lLT50aGlzVmFsdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TZXRJdGVyYXRvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NldEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjYjE2ZmYzMzAwNGU4Zjc5YzhhM2MzNTJiYWEyZWNlMWJjMWJlYTIz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldEl0ZXJhdG9yQ29uc3RydWN0b3IuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSwg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlNldEl0ZXJhdG9y
Q29uc3RydWN0b3IuaCIKLQotI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCi0jaW5jbHVk
ZSAiSlNDZWxsSW5saW5lcy5oIgotI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCi0jaW5jbHVk
ZSAiSlNTZXRJdGVyYXRvci5oIgotI2luY2x1ZGUgIlNldEl0ZXJhdG9yUHJvdG90eXBlLmgiCi0j
aW5jbHVkZSAiU3RydWN0dXJlSW5saW5lcy5oIgotCi1uYW1lc3BhY2UgSlNDIHsKLQotY29uc3Qg
Q2xhc3NJbmZvIFNldEl0ZXJhdG9yQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlNldCBJdGVyYXRv
ciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU2V0SXRlcmF0b3JDb25z
dHJ1Y3RvcikgfTsKLQotdm9pZCBTZXRJdGVyYXRvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIFNldEl0ZXJhdG9yUHJvdG90eXBlKiBwcm90b3R5cGUpCi17Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TZXRJdGVyYXRvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TZXRJdGVyYXRvckNvbnN0cnVjdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGNmZDk1NGVlN2JkYjY4ZDM3Y2U5OWMxMWRlNzUxMDgyODkzZGI1MmYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU2V0SXRlcmF0b3JDb25zdHJ1Y3Rvci5oCisrKyAvZGV2L251bGwKQEAg
LTEsNjMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSwgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLQotI2lmbmRlZiBTZXRJdGVyYXRvckNvbnN0cnVjdG9yX2gKLSNkZWZpbmUgU2V0SXRlcmF0
b3JDb25zdHJ1Y3Rvcl9oCi0KLSNpbmNsdWRlICJKU09iamVjdC5oIgotCi1uYW1lc3BhY2UgSlND
IHsKLQotY2xhc3MgU2V0SXRlcmF0b3JQcm90b3R5cGU7Ci0KLWNsYXNzIFNldEl0ZXJhdG9yQ29u
c3RydWN0b3IgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRl
ZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7Ci0KLSAgICBzdGF0aWMgU2V0SXRlcmF0b3JDb25zdHJ1
Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFNldEl0ZXJhdG9yUHJv
dG90eXBlKiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBTZXRJdGVyYXRvckNvbnN0cnVjdG9y
KiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFNldEl0ZXJhdG9yQ29u
c3RydWN0b3I+KHZtLmhlYXApKSBTZXRJdGVyYXRvckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUp
OwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7Ci0g
ICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKLSAgICB9Ci0KLSAgICBERUNMQVJFX0lORk87Ci0K
LSAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKLSAgICB9Ci0KLXByaXZh
dGU6Ci0gICAgU2V0SXRlcmF0b3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQotICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKLSAgICB7Ci0gICAgfQotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBTZXRJdGVyYXRvclByb3RvdHlwZSopOwotfTsKLQotfQot
Ci0jZW5kaWYgLy8gIWRlZmluZWQoU2V0Q29uc3RydWN0b3JfaCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldEl0ZXJhdG9yUHJvdG90eXBlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldEl0ZXJhdG9yUHJvdG90eXBlLmNwcAppbmRleCA1
N2VmMzg0NDQzNmQ0MjM1YmM3ZWFkNDFhZDZkNzU2ZWMwNTY1MzMxLi5hYjhkZjQ0NDc1ZDEwMjNk
YWNlMDNmYWFlZTUwM2QwODE0YTg3MzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TZXRJdGVyYXRvclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU2V0SXRlcmF0b3JQcm90b3R5cGUuY3BwCkBAIC0zNiwyNSArMzYsMTcg
QEAKIAogY29uc3QgQ2xhc3NJbmZvIFNldEl0ZXJhdG9yUHJvdG90eXBlOjpzX2luZm8gPSB7ICJT
ZXQgSXRlcmF0b3IiLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFNldEl0
ZXJhdG9yUHJvdG90eXBlKSB9OwogCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBTZXRJdGVyYXRvclByb3RvdHlwZUZ1bmNJdGVyYXRvcihFeGVjU3RhdGUqKTsKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIFNldEl0ZXJhdG9yUHJvdG90eXBlRnVuY05leHQo
RXhlY1N0YXRlKik7CiAKLQogdm9pZCBTZXRJdGVyYXRvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CiAgICAgdm0u
cHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZSh0aGlzKTsKIAotICAgIEpTQ19OQVRJVkVfRlVOQ1RJ
T04odm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wsIFNldEl0ZXJhdG9yUHJvdG90eXBl
RnVuY0l0ZXJhdG9yLCBEb250RW51bSwgMCk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTih2bS5w
cm9wZXJ0eU5hbWVzLT5uZXh0LCBTZXRJdGVyYXRvclByb3RvdHlwZUZ1bmNOZXh0LCBEb250RW51
bSwgMCk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgU2V0SXRlcmF0b3JQcm90
b3R5cGVGdW5jSXRlcmF0b3IoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCi17Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShjYWxsRnJhbWUtPnRoaXNWYWx1ZSgpKTsKLX0KLQogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBTZXRJdGVyYXRvclByb3RvdHlwZUZ1bmNOZXh0KENhbGxGcmFtZSog
Y2FsbEZyYW1lKQogewogICAgIEpTVmFsdWUgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9yLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDlhYjcwNjUzZTczZWRiOWZjMGU2NzVhMTM2
MDBhNWE5NTM2ZTJlNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdJdGVyYXRvckNvbnN0cnVj
dG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIlN0cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3IuaCIKLQotI2luY2x1ZGUgIkpTQ0pTVmFsdWVJ
bmxpbmVzLmgiCi0jaW5jbHVkZSAiSlNDZWxsSW5saW5lcy5oIgotI2luY2x1ZGUgIkpTR2xvYmFs
T2JqZWN0LmgiCi0jaW5jbHVkZSAiU3RydWN0dXJlSW5saW5lcy5oIgotCi1uYW1lc3BhY2UgSlND
IHsKLQotY29uc3QgQ2xhc3NJbmZvIFN0cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3I6OnNfaW5mbyA9
IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShTdHJp
bmdJdGVyYXRvckNvbnN0cnVjdG9yKSB9OwotCi12b2lkIFN0cmluZ0l0ZXJhdG9yQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjI0MTM2MWI2NzZlMjkxNWRmMGY1ZDIxN2FhNDg3OTYwNDIyOWU2MC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdJdGVyYXRvckNvbnN0cnVjdG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2
MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlLCBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpZm5kZWYgU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvcl9oCi0jZGVmaW5lIFN0cmluZ0l0ZXJh
dG9yQ29uc3RydWN0b3JfaAotCi0jaW5jbHVkZSAiSW50ZXJuYWxGdW5jdGlvbi5oIgotCi1uYW1l
c3BhY2UgSlNDIHsKLQotY2xhc3MgU3RyaW5nSXRlcmF0b3JQcm90b3R5cGU7Ci0KLWNsYXNzIFN0
cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3IgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wdWJs
aWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7Ci0KLSAgICBzdGF0aWMgU3Ry
aW5nSXRlcmF0b3JDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlKikKLSAgICB7Ci0gICAgICAgIFN0cmluZ0l0ZXJh
dG9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
U3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFN0cmluZ0l0ZXJhdG9yQ29uc3Ry
dWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlv
bih2bSk7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKLSAgICB9Ci0KLSAgICBERUNMQVJF
X0lORk87Ci0KLSAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKLSAgICB9
Ci0KLXByaXZhdGU6Ci0gICAgU3RyaW5nSXRlcmF0b3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQotICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKLSAgICB7Ci0g
ICAgfQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLX07Ci0KLX0KLQotI2VuZGlmIC8v
ICFkZWZpbmVkKFN0cmluZ0l0ZXJhdG9yQ29uc3RydWN0b3JfaCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0l0ZXJhdG9yUHJvdG90eXBlLmNwcApp
bmRleCA0NjhiNzJkMGZjYTc0ZjkyNDc1MjExYmM0MWQ5YWVmMGM1OWY3NmMwLi5iNThkMGRkZmIx
YzQwZmFjMTNiOTE0YmNkMGU0YjYwMmQ3NTIxM2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdJdGVyYXRvclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUuY3BwCkBAIC0z
Niw4ICszNiw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBzdHJpbmdJdGVyYXRvclByb3RvdHlwZUl0ZXJhdG9yKEV4ZWNTdGF0ZSop
OwotCiB9CiAKICNpbmNsdWRlICJTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5sdXQuaCIKQEAgLTUy
LDEzICs1MCwxMSBAQAogQGVuZAogKi8KIAotdm9pZCBTdHJpbmdJdGVyYXRvclByb3RvdHlwZTo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQordm9p
ZCBTdHJpbmdJdGVyYXRvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCopCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChp
bmhlcml0cyhpbmZvKCkpKTsKICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKHRoaXMp
OwotCi0gICAgSlNDX05BVElWRV9GVU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5
bWJvbCwgc3RyaW5nSXRlcmF0b3JQcm90b3R5cGVJdGVyYXRvciwgRG9udEVudW0sIDApOwogfQog
CiBib29sIFN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmIHNsb3QpCkBAIC02Niw5ICs2Miw0IEBAIGJvb2wgU3RyaW5nSXRlcmF0b3JQ
cm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUq
IGV4CiAgICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxCYXNlPihleGVjLCBzdHJpbmdJ
dGVyYXRvclByb3RvdHlwZVRhYmxlLCBqc0Nhc3Q8U3RyaW5nSXRlcmF0b3JQcm90b3R5cGUqPihv
YmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIHN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlSXRlcmF0b3IoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUpCi17Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsRnJhbWUtPnRoaXNWYWx1ZSgp
KTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2l0ZXJhdG9yLXByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvaXRlcmF0b3ItcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1
ZjkzOWJjNTExOTI4YTFmMzNlZjQzNmJiOWFjMjkyNTdlMjc4MjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2l0ZXJhdG9yLXByb3RvdHlwZS5q
cwpAQCAtMCwwICsxLDUzIEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKQor
eworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK3ZhciBpdGVyYXRvclByb3RvdHlwZSA9ICJD
b2NvYSJbU3ltYm9sLml0ZXJhdG9yXSgpLl9fcHJvdG9fXy5fX3Byb3RvX187CisKK3Nob3VsZEJl
KGl0ZXJhdG9yUHJvdG90eXBlICE9PSBPYmplY3QucHJvdG90eXBlLCB0cnVlKTsKK3Nob3VsZEJl
KGl0ZXJhdG9yUHJvdG90eXBlLl9fcHJvdG9fXywgT2JqZWN0LnByb3RvdHlwZSk7CitzaG91bGRC
ZShKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhpdGVyYXRvclByb3Rv
dHlwZSkpLCAnW10nKTsKK3Nob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoaXRl
cmF0b3JQcm90b3R5cGUpLmxlbmd0aCwgMSk7CitzaG91bGRCZShPYmplY3QuZ2V0T3duUHJvcGVy
dHlTeW1ib2xzKGl0ZXJhdG9yUHJvdG90eXBlKVswXSwgU3ltYm9sLml0ZXJhdG9yKTsKK3Nob3Vs
ZEJlKGl0ZXJhdG9yUHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0oKSwgaXRlcmF0b3JQcm90b3R5
cGUpOwordmFyIHN0cmluZ0l0ZXJhdG9yID0gIkhlbGxvIltTeW1ib2wuaXRlcmF0b3JdKCk7Citz
aG91bGRCZShpdGVyYXRvclByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdLmNhbGwoc3RyaW5nSXRl
cmF0b3IpLCBzdHJpbmdJdGVyYXRvcik7CisKK2Z1bmN0aW9uIGluaGVyaXRJdGVyYXRvclByb3Rv
dHlwZShpdGVyYXRvcikKK3sKKyAgICB2YXIgcHJvdG90eXBlID0gaXRlcmF0b3IuX19wcm90b19f
OworICAgIHNob3VsZEJlKHByb3RvdHlwZSAhPT0gaXRlcmF0b3JQcm90b3R5cGUsIHRydWUpOwor
ICAgIHNob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG90eXBlLCAn
Y29uc3RydWN0b3InKSwgdW5kZWZpbmVkKTsKKyAgICBzaG91bGRCZShwcm90b3R5cGUuX19wcm90
b19fLCBpdGVyYXRvclByb3RvdHlwZSk7CisgICAgc2hvdWxkQmUoaXRlcmF0b3JQcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXS5uYW1lLCAnW1N5bWJvbC5pdGVyYXRvcl0nKTsKKyAgICBzaG91bGRC
ZShpdGVyYXRvclByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShTeW1ib2wuaXRlcmF0b3IpLCB0cnVl
KTsKK30KKworaW5oZXJpdEl0ZXJhdG9yUHJvdG90eXBlKCJDYXBwdWNjaW5vIltTeW1ib2wuaXRl
cmF0b3JdKCkpOworaW5oZXJpdEl0ZXJhdG9yUHJvdG90eXBlKG5ldyBNYXAoKVtTeW1ib2wuaXRl
cmF0b3JdKCkpOworaW5oZXJpdEl0ZXJhdG9yUHJvdG90eXBlKG5ldyBTZXQoKVtTeW1ib2wuaXRl
cmF0b3JdKCkpOworaW5oZXJpdEl0ZXJhdG9yUHJvdG90eXBlKG5ldyBBcnJheSgpW1N5bWJvbC5p
dGVyYXRvcl0oKSk7Citpbmhlcml0SXRlcmF0b3JQcm90b3R5cGUoKGZ1bmN0aW9uIChhLCBiLCBj
KSB7IHJldHVybiBhcmd1bWVudHM7IH0oMCwgMSwgMikpW1N5bWJvbC5pdGVyYXRvcl0oKSk7Citp
bmhlcml0SXRlcmF0b3JQcm90b3R5cGUoKGZ1bmN0aW9uIChhLCBiLCBjKSB7ICd1c2Ugc3RyaWN0
JzsgcmV0dXJuIGFyZ3VtZW50czsgfSgwLCAxLCAyKSlbU3ltYm9sLml0ZXJhdG9yXSgpKTsKKwor
ZnVuY3Rpb24gdGVzdENoYWluKGl0ZXJhYmxlKQoreworICAgIC8vIEl0ZXJhdG9yIGluc3RhbmNl
CisgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmFibGVbU3ltYm9sLml0ZXJhdG9yXSgpOworICAgIC8v
ICVNYXBJdGVyYXRvclByb3RvdHlwZSUKKyAgICB2YXIgcHJvdG8xID0gT2JqZWN0LmdldFByb3Rv
dHlwZU9mKGl0ZXJhdG9yKTsKKyAgICAvLyAlSXRlcmF0b3JQcm90b3R5cGUlCisgICAgdmFyIHBy
b3RvMiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90bzEpOworCisgICAgc2hvdWxkQmUocHJv
dG8yLmhhc093blByb3BlcnR5KFN5bWJvbC5pdGVyYXRvciksIHRydWUpOworICAgIHNob3VsZEJl
KHByb3RvMS5oYXNPd25Qcm9wZXJ0eShTeW1ib2wuaXRlcmF0b3IpLCBmYWxzZSk7CisgICAgc2hv
dWxkQmUoaXRlcmF0b3IuaGFzT3duUHJvcGVydHkoU3ltYm9sLml0ZXJhdG9yKSwgZmFsc2UpOwor
ICAgIHNob3VsZEJlKGl0ZXJhdG9yW1N5bWJvbC5pdGVyYXRvcl0oKSwgaXRlcmF0b3IpOworfQor
Cit0ZXN0Q2hhaW4oIkNvY29hIik7Cit0ZXN0Q2hhaW4obmV3IE1hcCgpKTsKK3Rlc3RDaGFpbihu
ZXcgU2V0KCkpOwordGVzdENoYWluKG5ldyBBcnJheSgpKTsK
</data>
<flag name="review"
          id="279878"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>