<?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>132434</bug_id>
          
          <creation_ts>2014-05-01 10:50:56 -0700</creation_ts>
          <short_desc>Add remainder of ANGLE source</short_desc>
          <delta_ts>2014-05-01 12:25:45 -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>ANGLE</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rakuco</cc>
    
    <cc>roger_fong</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005781</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-05-01 10:50:56 -0700</bug_when>
    <thetext>I didn&apos;t add some of libGLESv2 in https://bugs.webkit.org/show_bug.cgi?id=132367 and there are a few unused files that are no longer in ANGLE that I forgot to remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005782</commentid>
    <comment_count>1</comment_count>
      <attachid>230595</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-05-01 11:06:31 -0700</bug_when>
    <thetext>Created attachment 230595
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005783</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-01 11:09:10 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005808</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-05-01 12:25:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/168115</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230595</attachid>
            <date>2014-05-01 11:06:31 -0700</date>
            <delta_ts>2014-05-01 12:04:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1030129</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTY4MTAzKQorKysgU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMTMxLDcgKzEzMSw2IEBACiAJCTVDOUZGRjRGMTkxMDJBMDAwMDI1QjhGQSAvKiBGbGFnU3Rk
MTQwU3RydWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUM5RkZGNEQxOTEwMkEwMDAwMjVCOEZBIC8qIEZsYWdTdGQxNDBTdHJ1Y3RzLmggKi87IH07
CiAJCTVDQzdENDUyMTkxMDI0RTQwMDBCOEMxRiAvKiBMb29wSW5mby5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0M3RDQ0QjE5MTAyNEUzMDAwQjhD
MUYgLyogTG9vcEluZm8uY3BwICovOyB9OwogCQk1Q0M3RDQ1MzE5MTAyNEU0MDAwQjhDMUYgLyog
TG9vcEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVDQzdENDRDMTkxMDI0RTQwMDBCOEMxRiAvKiBMb29wSW5mby5oICovOyB9OwotCQk1Q0M3RDQ1
NjE5MTAyNEU0MDAwQjhDMUYgLyogVW5pZm9ybS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0M3RDQ0RjE5MTAyNEU0MDAwQjhDMUYgLyogVW5pZm9y
bS5jcHAgKi87IH07CiAJCTVDQzdENDU3MTkxMDI0RTQwMDBCOEMxRiAvKiBWYWxpZGF0ZU91dHB1
dHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUND
N0Q0NTAxOTEwMjRFNDAwMEI4QzFGIC8qIFZhbGlkYXRlT3V0cHV0cy5jcHAgKi87IH07CiAJCTVD
QzdENDU4MTkxMDI0RTQwMDBCOEMxRiAvKiBWYWxpZGF0ZU91dHB1dHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQzdENDUxMTkxMDI0RTQwMDBCOEMx
RiAvKiBWYWxpZGF0ZU91dHB1dHMuaCAqLzsgfTsKIAkJNUNDN0Q0NkIxOTEwMjYyMDAwMEI4QzFG
IC8qIGFuZ2xldXRpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDVDQzdENDVBMTkxMDI2MjAwMDBCOEMxRiAvKiBhbmdsZXV0aWxzLmggKi87IH07CkBA
IC0zMjcsNyArMzI2LDYgQEAKIAkJNUM5RkZGNEQxOTEwMkEwMDAwMjVCOEZBIC8qIEZsYWdTdGQx
NDBTdHJ1Y3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsYWdTdGQxNDBT
dHJ1Y3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDQzdENDRCMTkxMDI0RTMw
MDBCOEMxRiAvKiBMb29wSW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMb29wSW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDQzdENDRD
MTkxMDI0RTQwMDBCOEMxRiAvKiBMb29wSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMb29wSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1Q0M3RDQ0
RjE5MTAyNEU0MDAwQjhDMUYgLyogVW5pZm9ybS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBVbmlmb3JtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NUNDN0Q0NTAxOTEwMjRFNDAwMEI4QzFGIC8qIFZhbGlkYXRlT3V0cHV0cy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWYWxpZGF0ZU91dHB1dHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0M3RDQ1MTE5MTAyNEU0MDAwQjhDMUYgLyogVmFsaWRh
dGVPdXRwdXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZhbGlkYXRlT3V0
cHV0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0M3RDQ1QTE5MTAyNjIwMDAw
QjhDMUYgLyogYW5nbGV1dGlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBh
bmdsZXV0aWxzLmg7IHBhdGggPSBzcmMvY29tbW9uL2FuZ2xldXRpbHMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTQwMCw3ICszOTgsNiBAQAogCQkJCTVDOUZGRjREMTkxMDJBMDAw
MDI1QjhGQSAvKiBGbGFnU3RkMTQwU3RydWN0cy5oICovLAogCQkJCTVDQzdENDRCMTkxMDI0RTMw
MDBCOEMxRiAvKiBMb29wSW5mby5jcHAgKi8sCiAJCQkJNUNDN0Q0NEMxOTEwMjRFNDAwMEI4QzFG
IC8qIExvb3BJbmZvLmggKi8sCi0JCQkJNUNDN0Q0NEYxOTEwMjRFNDAwMEI4QzFGIC8qIFVuaWZv
cm0uY3BwICovLAogCQkJCTVDQzdENDUwMTkxMDI0RTQwMDBCOEMxRiAvKiBWYWxpZGF0ZU91dHB1
dHMuY3BwICovLAogCQkJCTVDQzdENDUxMTkxMDI0RTQwMDBCOEMxRiAvKiBWYWxpZGF0ZU91dHB1
dHMuaCAqLywKIAkJCQkzMTAxMkRBOTE4Qjk3QjlCMDAzOTA2MkYgLyogZGVwZ3JhcGggKi8sCkBA
IC04ODQsNyArODgxLDYgQEAKIAkJCQkzMTAxMkU1OTE4Qjk3QjlCMDAzOTA2MkYgLyogUXVhbGlm
aWVyQWxpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEwMTJFNzExOEI5N0I5QjAwMzkwNjJG
IC8qIFVuZm9sZFNob3J0Q2lyY3VpdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTAxMkU2NDE4
Qjk3QjlCMDAzOTA2MkYgLyogU3ltYm9sVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNUND
N0Q0NTYxOTEwMjRFNDAwMEI4QzFGIC8qIFVuaWZvcm0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTI2NEY4QjQxNjk3NERFRDAwNkZBQTVBIC8qIElucHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTVDQzdENDc5MTkxMDI2MjEwMDBCOEMxRiAvKiB1dGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTI2NEY4QjYxNjk3NERFRDAwNkZBQTVBIC8qIExleGVyLmNwcCBpbiBTb3VyY2VzICov
LApJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ09OVFJJQlVUT1JTCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NPTlRSSUJVVE9SUwkocmV2aXNpb24gMTY4MTAz
KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ09OVFJJQlVUT1JTCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDc3ICsxLDc3IEBACi0jIFRoaXMgaXMgdGhlIG9mZmljaWFsIGxpc3Qgb2YgcGVvcGxl
IHdobyBjYW4gY29udHJpYnV0ZQotIyAoYW5kIHdobyBoYXZlIGNvbnRyaWJ1dGVkKSBjb2RlIHRv
IHRoZSBBTkdMRSBwcm9qZWN0Ci0jIHJlcG9zaXRvcnkuCi0jIFRoZSBBVVRIT1JTIGZpbGUgbGlz
dHMgdGhlIGNvcHlyaWdodCBob2xkZXJzOyB0aGlzIGZpbGUKLSMgbGlzdHMgcGVvcGxlLiAgRm9y
IGV4YW1wbGUsIEdvb2dsZSBlbXBsb3llZXMgYXJlIGxpc3RlZCBoZXJlCi0jIGJ1dCBub3QgaW4g
QVVUSE9SUywgYmVjYXVzZSBHb29nbGUgaG9sZHMgdGhlIGNvcHlyaWdodC4KLSMKLQotVHJhbnNH
YW1pbmcgSW5jLgotIE5pY29sYXMgQ2FwZW5zCi0gRGFuaWVsIEtvY2gKLSBHZW9mZiBMYW5nCi0g
QW5kcmV3IExld3lja3kKLSBKYW1pZSBNYWRpbGwKLSBHYXZyaWVsIFN0YXRlCi0gU2hhbm5vbiBX
b29kcwotCi1Hb29nbGUgSW5jLgotIEJyZW50IEF1c3RpbgotIE1pY2hhZWwgQmFpCi0gSm9obiBC
YXVtYW4KLSBQZXRlciBCZXZlcmxvbwotIFN0ZXZlIEJsb2NrCi0gUmFjaGVsIEJsdW0KLSBFcmlj
IEJvcmVuCi0gSGVucnkgQnJpZGdlCi0gTmF0IER1Y2EKLSBQZXRlciBLYXN0aW5nCi0gVmFuZ2Vs
aXMgS29ra2V2aXMKLSBaaGVueWFvIE1vCi0gRGFuaWVsIE5pY29hcmEKLSBBbGFzdGFpciBQYXRy
aWNrCi0gQWxvayBQcml5YWRhcnNoaQotIEtlbm5ldGggUnVzc2VsbAotIEJyaWFuIFNhbG9tb24K
LSBHcmVnZyBUYXZhcmVzCi0gSmVmZiBUaW1hbnVzCi0gQmVuIFZhbmlrCi0gQWRyaWVubmUgV2Fs
a2VyCi0gdGhlc3RpZ0BjaHJvbWl1bS5vcmcKLSBKdXN0aW4gU2NodWgKLSBTY290dCBHcmFoYW0K
LQotQWRvYmUgU3lzdGVtcyBJbmMuCi0gQWxleGFuZHJ1IENoaWN1bGl0YQotIFN0ZXZlIE1pbm5z
Ci0gTWF4IFZ1am92aWMKLQotQXV0b2Rlc2ssIEluYy4KLSBSYW5nZXIgSGFya2UKLQotQ2xvdWQg
UGFydHksIEluYy4KLSBDb25vciBEaWNraW5zb24KLQotSW50ZWwgQ29ycG9yYXRpb24KLSBKaW4g
WWFuZwotIEFuZHkgQ2hlbgotIEpvc2ggVHJpcGxldHQKLQotS2xhcsOkbHZkYWxlbnMgRGF0YWtv
bnN1bHQgQUIKLSBNaWxpYW4gV29sZmYKLQotTW96aWxsYSBDb3JwLgotIEVoc2FuIEFraGdhcmkK
LSBKZWZmIEdpbGJlcnQKLSBNaWtlIEhvbW1leQotIEJlbm9pdCBKYWNvYgotIE1ha290byBLYXRv
Ci0gVmxhZGltaXIgVnVraWNldmljCi0KLVR1cmJ1bGVuegotIE1pY2hhZWwgQnJhaXRod2FpdGUK
LQotVWxyaWsgUGVyc3NvbiAoZGRlZnJvc3R0KQotTWFyayBCYW5uZXIgKHN0YW5kYXJkOG1icCkK
LURhdmlkIEtpbHplcgotCisjIFRoaXMgaXMgdGhlIG9mZmljaWFsIGxpc3Qgb2YgcGVvcGxlIHdo
byBjYW4gY29udHJpYnV0ZQorIyAoYW5kIHdobyBoYXZlIGNvbnRyaWJ1dGVkKSBjb2RlIHRvIHRo
ZSBBTkdMRSBwcm9qZWN0CisjIHJlcG9zaXRvcnkuCisjIFRoZSBBVVRIT1JTIGZpbGUgbGlzdHMg
dGhlIGNvcHlyaWdodCBob2xkZXJzOyB0aGlzIGZpbGUKKyMgbGlzdHMgcGVvcGxlLiAgRm9yIGV4
YW1wbGUsIEdvb2dsZSBlbXBsb3llZXMgYXJlIGxpc3RlZCBoZXJlCisjIGJ1dCBub3QgaW4gQVVU
SE9SUywgYmVjYXVzZSBHb29nbGUgaG9sZHMgdGhlIGNvcHlyaWdodC4KKyMKKworVHJhbnNHYW1p
bmcgSW5jLgorIE5pY29sYXMgQ2FwZW5zCisgRGFuaWVsIEtvY2gKKyBHZW9mZiBMYW5nCisgQW5k
cmV3IExld3lja3kKKyBKYW1pZSBNYWRpbGwKKyBHYXZyaWVsIFN0YXRlCisgU2hhbm5vbiBXb29k
cworCitHb29nbGUgSW5jLgorIEJyZW50IEF1c3RpbgorIE1pY2hhZWwgQmFpCisgSm9obiBCYXVt
YW4KKyBQZXRlciBCZXZlcmxvbworIFN0ZXZlIEJsb2NrCisgUmFjaGVsIEJsdW0KKyBFcmljIEJv
cmVuCisgSGVucnkgQnJpZGdlCisgTmF0IER1Y2EKKyBQZXRlciBLYXN0aW5nCisgVmFuZ2VsaXMg
S29ra2V2aXMKKyBaaGVueWFvIE1vCisgRGFuaWVsIE5pY29hcmEKKyBBbGFzdGFpciBQYXRyaWNr
CisgQWxvayBQcml5YWRhcnNoaQorIEtlbm5ldGggUnVzc2VsbAorIEJyaWFuIFNhbG9tb24KKyBH
cmVnZyBUYXZhcmVzCisgSmVmZiBUaW1hbnVzCisgQmVuIFZhbmlrCisgQWRyaWVubmUgV2Fsa2Vy
CisgdGhlc3RpZ0BjaHJvbWl1bS5vcmcKKyBKdXN0aW4gU2NodWgKKyBTY290dCBHcmFoYW0KKwor
QWRvYmUgU3lzdGVtcyBJbmMuCisgQWxleGFuZHJ1IENoaWN1bGl0YQorIFN0ZXZlIE1pbm5zCisg
TWF4IFZ1am92aWMKKworQXV0b2Rlc2ssIEluYy4KKyBSYW5nZXIgSGFya2UKKworQ2xvdWQgUGFy
dHksIEluYy4KKyBDb25vciBEaWNraW5zb24KKworSW50ZWwgQ29ycG9yYXRpb24KKyBKaW4gWWFu
ZworIEFuZHkgQ2hlbgorIEpvc2ggVHJpcGxldHQKKworS2xhcsOkbHZkYWxlbnMgRGF0YWtvbnN1
bHQgQUIKKyBNaWxpYW4gV29sZmYKKworTW96aWxsYSBDb3JwLgorIEVoc2FuIEFraGdhcmkKKyBK
ZWZmIEdpbGJlcnQKKyBNaWtlIEhvbW1leQorIEJlbm9pdCBKYWNvYgorIE1ha290byBLYXRvCisg
VmxhZGltaXIgVnVraWNldmljCisKK1R1cmJ1bGVuegorIE1pY2hhZWwgQnJhaXRod2FpdGUKKwor
VWxyaWsgUGVyc3NvbiAoZGRlZnJvc3R0KQorTWFyayBCYW5uZXIgKHN0YW5kYXJkOG1icCkKK0Rh
dmlkIEtpbHplcgorCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NjgxMDgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0wNS0wMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEZpbmlzaCB1cGRhdGluZyBBTkdMRS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjQzNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQU5HTEUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgUmVtb3ZlZCBVbmlmb3JtLmNwcCB3aGlj
aCBpcyBubyBsb25nZXIgaW4gQU5HTEUuCisgICAgICAgICogY2hhbmdlcy5kaWZmOgorICAgICAg
ICBBZGRlZCBtb3JlIGNoYW5nZXMgZnJvbSBBTkdMRSB3aGljaCBhcmUgYWxyZWFkeSBpbmNsdWRl
ZCBpbiBXZWJLaXQuCisKKyAgICAgICAgVXBkYXRlZCBBTkdMRSBzb3VyY2UgZmlsZXMgdG8gZTdh
NDUzYTViZDc2NzA1Y2NiMTUxMTE3ZmE4NDQ4NDZkNGFhOTBhZi4gIExvbmcgbGlzdCBvZiBjaGFu
Z2VzIG9taXR0ZWQuCisKIDIwMTQtMDQtMzAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGVkIEFOR0xFLgpJbmRleDogU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvY2hhbmdlcy5kaWZmCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL2NoYW5nZXMuZGlmZgkocmV2aXNpb24gMTY4MTAzKQorKysgU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvY2hhbmdlcy5kaWZmCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
ZGlmZiAtLWdpdCBhL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJMYW5nLmggYi9pbmNsdWRlL0dMU0xB
TkcvU2hhZGVyTGFuZy5oCi1pbmRleCA3OTcwYmZhLi45Y2RjYzI0IDEwMDY0NAoraW5kZXggNzk3
MGJmYS4uYjcxNmM2ZiAxMDA2NDQKIC0tLSBhL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJMYW5nLmgK
ICsrKyBiL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJMYW5nLmgKIEBAIC0yMyw3ICsyMyw3IEBACkBA
IC0xMSw2ICsxMSwxNyBAQAogICNpbmNsdWRlIDxzdGRkZWYuaD4KICAKICAvLworQEAgLTQyMyw4
ICs0MjMsOCBAQCBDT01QSUxFUl9FWFBPUlQgdm9pZCBTaEdldEluZm9Mb2coY29uc3QgU2hIYW5k
bGUgaGFuZGxlLCBjaGFyKiBpbmZvTG9nKTsKKyAvLyBSZXR1cm5zIG51bGwtdGVybWluYXRlZCBv
YmplY3QgY29kZSBmb3IgYSBjb21waWxlZCBzaGFkZXIuCisgLy8gUGFyYW1ldGVyczoKKyAvLyBo
YW5kbGU6IFNwZWNpZmllcyB0aGUgY29tcGlsZXIKKy0vLyBpbmZvTG9nOiBTcGVjaWZpZXMgYW4g
YXJyYXkgb2YgY2hhcmFjdGVycyB0aGF0IGlzIHVzZWQgdG8gcmV0dXJuCistLy8gICAgICAgICAg
dGhlIG9iamVjdCBjb2RlLiBJdCBpcyBhc3N1bWVkIHRoYXQgaW5mb0xvZyBoYXMgZW5vdWdoIG1l
bW9yeSB0bworKy8vIG9iakNvZGU6IFNwZWNpZmllcyBhbiBhcnJheSBvZiBjaGFyYWN0ZXJzIHRo
YXQgaXMgdXNlZCB0byByZXR1cm4KKysvLyAgICAgICAgICB0aGUgb2JqZWN0IGNvZGUuIEl0IGlz
IGFzc3VtZWQgdGhhdCBvYmpDb2RlIGhhcyBlbm91Z2ggbWVtb3J5IHRvCisgLy8gICAgICAgICAg
YWNjb21vZGF0ZSB0aGUgb2JqZWN0IGNvZGUuIFRoZSBzaXplIG9mIHRoZSBidWZmZXIgcmVxdWly
ZWQgdG8KKyAvLyAgICAgICAgICBzdG9yZSB0aGUgcmV0dXJuZWQgb2JqZWN0IGNvZGUgY2FuIGJl
IG9idGFpbmVkIGJ5IGNhbGxpbmcKKyAvLyAgICAgICAgICBTaEdldEluZm8gd2l0aCBTSF9PQkpF
Q1RfQ09ERV9MRU5HVEguCiBkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9tYXRodXRpbC5oIGIvc3Jj
L2NvbW1vbi9tYXRodXRpbC5oCiBpbmRleCA5MDYxYmJkLi4wYjRmMzg0IDEwMDY0NAogLS0tIGEv
c3JjL2NvbW1vbi9tYXRodXRpbC5oCkBAIC0xNDUsNiArMTU2LDExNyBAQAogIG5hbWVzcGFjZSBw
cCB7CiAgCiAgVG9rZW5pemVyOjpUb2tlbml6ZXIoRGlhZ25vc3RpY3MqIGRpYWdub3N0aWNzKSA6
IG1IYW5kbGUoMCkKK2RpZmYgLS1naXQgYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9Db21waWxl
ci5jcHAgYi9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9Db21waWxlci5jcHAKK2luZGV4IDE4NjRj
ZDguLmMzMTExYzEgMTAwNjQ0CistLS0gYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9Db21waWxl
ci5jcHAKKysrKyBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0NvbXBpbGVyLmNwcAorQEAgLTk2
LDYgKzk2LDcgQEAgVENvbXBpbGVyOjpUQ29tcGlsZXIoU2hTaGFkZXJUeXBlIHR5cGUsIFNoU2hh
ZGVyU3BlYyBzcGVjKQorICAgICA6IHNoYWRlclR5cGUodHlwZSksCisgICAgICAgc2hhZGVyU3Bl
YyhzcGVjKSwKKyAgICAgICBtYXhVbmlmb3JtVmVjdG9ycygwKSwKKysgICAgICBtYXhWYXJ5aW5n
VmVjdG9ycygwKSwKKyAgICAgICBtYXhFeHByZXNzaW9uQ29tcGxleGl0eSgwKSwKKyAgICAgICBt
YXhDYWxsU3RhY2tEZXB0aCgwKSwKKyAgICAgICBmcmFnbWVudFByZWNpc2lvbkhpZ2goZmFsc2Up
LAorQEAgLTExNCw2ICsxMTUsNyBAQCBib29sIFRDb21waWxlcjo6SW5pdChjb25zdCBTaEJ1aWx0
SW5SZXNvdXJjZXMmIHJlc291cmNlcykKKyAgICAgbWF4VW5pZm9ybVZlY3RvcnMgPSAoc2hhZGVy
VHlwZSA9PSBTSF9WRVJURVhfU0hBREVSKSA/CisgICAgICAgICByZXNvdXJjZXMuTWF4VmVydGV4
VW5pZm9ybVZlY3RvcnMgOgorICAgICAgICAgcmVzb3VyY2VzLk1heEZyYWdtZW50VW5pZm9ybVZl
Y3RvcnM7CisrICAgIG1heFZhcnlpbmdWZWN0b3JzID0gcmVzb3VyY2VzLk1heFZhcnlpbmdWZWN0
b3JzOworICAgICBtYXhFeHByZXNzaW9uQ29tcGxleGl0eSA9IHJlc291cmNlcy5NYXhFeHByZXNz
aW9uQ29tcGxleGl0eTsKKyAgICAgbWF4Q2FsbFN0YWNrRGVwdGggPSByZXNvdXJjZXMuTWF4Q2Fs
bFN0YWNrRGVwdGg7CisgCitAQCAtMjM4LDE0ICsyNDAsNyBAQCBib29sIFRDb21waWxlcjo6Y29t
cGlsZShjb25zdCBjaGFyKiBjb25zdCBzaGFkZXJTdHJpbmdzW10sCisgICAgICAgICB7CisgICAg
ICAgICAgICAgY29sbGVjdFZhcmlhYmxlcyhyb290KTsKKyAgICAgICAgICAgICBpZiAoY29tcGls
ZU9wdGlvbnMgJiBTSF9FTkZPUkNFX1BBQ0tJTkdfUkVTVFJJQ1RJT05TKQorLSAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IGVuZm9yY2VQYWNraW5nUmVzdHJpY3Rpb25z
KCk7CistICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykKKy0gICAgICAgICAgICAgICAgewor
LSAgICAgICAgICAgICAgICAgICAgaW5mb1NpbmsuaW5mby5wcmVmaXgoRVByZWZpeEVycm9yKTsK
Ky0gICAgICAgICAgICAgICAgICAgIGluZm9TaW5rLmluZm8gPDwgInRvbyBtYW55IHVuaWZvcm1z
IjsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBpZiAo
c3VjY2VzcyAmJiBzaGFkZXJUeXBlID09IFNIX1ZFUlRFWF9TSEFERVIgJiYKKyAgICAgICAgICAg
ICAgICAgKGNvbXBpbGVPcHRpb25zICYgU0hfSU5JVF9WQVJZSU5HU19XSVRIT1VUX1NUQVRJQ19V
U0UpKQorICAgICAgICAgICAgICAgICBpbml0aWFsaXplVmFyeWluZ3NXaXRob3V0U3RhdGljVXNl
KHJvb3QpOworQEAgLTQ1OCw3ICs0NTMsMjEgQEAgdm9pZCBUQ29tcGlsZXI6OmNvbGxlY3RWYXJp
YWJsZXMoVEludGVybU5vZGUqIHJvb3QpCisgYm9vbCBUQ29tcGlsZXI6OmVuZm9yY2VQYWNraW5n
UmVzdHJpY3Rpb25zKCkKKyB7CisgICAgIFZhcmlhYmxlUGFja2VyIHBhY2tlcjsKKy0gICAgcmV0
dXJuIHBhY2tlci5DaGVja1ZhcmlhYmxlc1dpdGhpblBhY2tpbmdMaW1pdHMobWF4VW5pZm9ybVZl
Y3RvcnMsIHVuaWZvcm1zKTsKKysgICAgYm9vbCBzdWNjZXNzID0gcGFja2VyLkNoZWNrVmFyaWFi
bGVzV2l0aGluUGFja2luZ0xpbWl0cyhtYXhVbmlmb3JtVmVjdG9ycywgdW5pZm9ybXMpOworKyAg
ICBpZiAoIXN1Y2Nlc3MpIHsKKysgICAgICAgIGluZm9TaW5rLmluZm8ucHJlZml4KEVQcmVmaXhF
cnJvcik7CisrICAgICAgICBpbmZvU2luay5pbmZvIDw8ICJ0b28gbWFueSB1bmlmb3JtcyI7Cisr
ICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgIH0KKysKKysgICAgc3VjY2VzcyA9IHBhY2tlci5D
aGVja1ZhcmlhYmxlc1dpdGhpblBhY2tpbmdMaW1pdHMobWF4VmFyeWluZ1ZlY3RvcnMsIHZhcnlp
bmdzKTsKKysKKysgICAgaWYgKCFzdWNjZXNzKSB7CisrICAgICAgICBpbmZvU2luay5pbmZvLnBy
ZWZpeChFUHJlZml4RXJyb3IpOworKyAgICAgICAgaW5mb1NpbmsuaW5mbyA8PCAidG9vIG1hbnkg
dmFyeWluZ3MiOworKyAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9CisrICAgIHJldHVybiB0
cnVlOworIH0KKyAKKyB2b2lkIFRDb21waWxlcjo6aW5pdGlhbGl6ZUdMUG9zaXRpb24oVEludGVy
bU5vZGUqIHJvb3QpCitkaWZmIC0tZ2l0IGEvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU2hIYW5k
bGUuaCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1NoSGFuZGxlLmgKK2luZGV4IDUwYThkNTgu
LjY4N2ZmNjMgMTAwNjQ0CistLS0gYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaEhhbmRsZS5o
CisrKysgYi9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaEhhbmRsZS5oCitAQCAtOTUsNyArOTUs
NyBAQCBwcm90ZWN0ZWQ6CisgICAgIC8vIFRyYW5zbGF0ZSB0byBvYmplY3QgY29kZS4KKyAgICAg
dmlydHVhbCB2b2lkIHRyYW5zbGF0ZShUSW50ZXJtTm9kZSogcm9vdCkgPSAwOworICAgICAvLyBS
ZXR1cm5zIHRydWUgaWYsIGFmdGVyIGFwcGx5aW5nIHRoZSBwYWNraW5nIHJ1bGVzIGluIHRoZSBH
TFNMIDEuMDE3IHNwZWMKKy0gICAgLy8gQXBwZW5kaXggQSwgc2VjdGlvbiA3LCB0aGUgc2hhZGVy
IGRvZXMgbm90IHVzZSB0b28gbWFueSB1bmlmb3Jtcy4KKysgICAgLy8gQXBwZW5kaXggQSwgc2Vj
dGlvbiA3LCB0aGUgc2hhZGVyIGRvZXMgbm90IHVzZSB0b28gbWFueSB1bmlmb3JtcyBvciB2YXJ5
aW5ncy4KKyAgICAgYm9vbCBlbmZvcmNlUGFja2luZ1Jlc3RyaWN0aW9ucygpOworICAgICAvLyBJ
bnNlcnQgc3RhdGVtZW50cyB0byBpbml0aWFsaXplIHZhcnlpbmdzIHdpdGhvdXQgc3RhdGljIHVz
ZSBpbiB0aGUgYmVnaW5uaW5nCisgICAgIC8vIG9mIG1haW4oKS4gSXQgaXMgdG8gd29yayBhcm91
bmQgYSBNYWMgZHJpdmVyIHdoZXJlIHN1Y2ggdmFyeWluZ3MgaW4gYSB2ZXJ0ZXgKK0BAIC0xMzAs
NiArMTMwLDcgQEAgcHJpdmF0ZToKKyAgICAgU2hTaGFkZXJTcGVjIHNoYWRlclNwZWM7CisgCisg
ICAgIGludCBtYXhVbmlmb3JtVmVjdG9yczsKKysgICAgaW50IG1heFZhcnlpbmdWZWN0b3JzOwor
ICAgICBpbnQgbWF4RXhwcmVzc2lvbkNvbXBsZXhpdHk7CisgICAgIGludCBtYXhDYWxsU3RhY2tE
ZXB0aDsKKyAKK2RpZmYgLS1naXQgYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5n
LmNwcCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1NoYWRlckxhbmcuY3BwCitpbmRleCBiOThj
MzcxLi5kZDI2ODczIDEwMDY0NAorLS0tIGEvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvU2hhZGVy
TGFuZy5jcHAKKysrKyBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1NoYWRlckxhbmcuY3BwCitA
QCAtMjQyLDggKzI0MiwxMiBAQCB2b2lkIFNoR2V0SW5mb0xvZyhjb25zdCBTaEhhbmRsZSBoYW5k
bGUsIGNoYXIqIGluZm9Mb2cpCisgICAgIFRDb21waWxlciogY29tcGlsZXIgPSBiYXNlLT5nZXRB
c0NvbXBpbGVyKCk7CisgICAgIGlmICghY29tcGlsZXIpIHJldHVybjsKKyAKKysgICAgc2l6ZV90
IGluZm9Mb2dMZW5ndGggPSAwOworKyAgICBTaEdldEluZm8oY29tcGlsZXIsIFNIX0lORk9fTE9H
X0xFTkdUSCwgJmluZm9Mb2dMZW5ndGgpOworKworICAgICBUSW5mb1NpbmsmIGluZm9TaW5rID0g
Y29tcGlsZXItPmdldEluZm9TaW5rKCk7CistICAgIHN0cmNweShpbmZvTG9nLCBpbmZvU2luay5p
bmZvLmNfc3RyKCkpOworKyAgICBzdHJuY3B5KGluZm9Mb2csIGluZm9TaW5rLmluZm8uY19zdHIo
KSwgaW5mb0xvZ0xlbmd0aCk7CisrICAgIGluZm9Mb2dbaW5mb0xvZ0xlbmd0aCAtIDFdID0gJ1ww
JzsKKyB9CisgCisgLy8KK0BAIC0yNTgsOCArMjYyLDEyIEBAIHZvaWQgU2hHZXRPYmplY3RDb2Rl
KGNvbnN0IFNoSGFuZGxlIGhhbmRsZSwgY2hhciogb2JqQ29kZSkKKyAgICAgVENvbXBpbGVyKiBj
b21waWxlciA9IGJhc2UtPmdldEFzQ29tcGlsZXIoKTsKKyAgICAgaWYgKCFjb21waWxlcikgcmV0
dXJuOworIAorKyAgICBzaXplX3Qgb2JqQ29kZUxlbmd0aCA9IDA7CisrICAgIFNoR2V0SW5mbyho
YW5kbGUsIFNIX09CSkVDVF9DT0RFX0xFTkdUSCwgJm9iakNvZGVMZW5ndGgpOworKworICAgICBU
SW5mb1NpbmsmIGluZm9TaW5rID0gY29tcGlsZXItPmdldEluZm9TaW5rKCk7CistICAgIHN0cmNw
eShvYmpDb2RlLCBpbmZvU2luay5vYmouY19zdHIoKSk7CisrICAgIHN0cm5jcHkob2JqQ29kZSwg
aW5mb1Npbmsub2JqLmNfc3RyKCksIG9iakNvZGVMZW5ndGgpOworKyAgICBvYmpDb2RlW29iakNv
ZGVMZW5ndGggLSAxXSA9ICdcMCc7CisgfQorIAorIHZvaWQgU2hHZXRWYXJpYWJsZUluZm8oY29u
c3QgU2hIYW5kbGUgaGFuZGxlLAogZGlmZiAtLWdpdCBhL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L2dsc2xhbmcubCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmcubAogaW5kZXggNTE4
Yjc4ZC4uYzhmZjg1NSAxMDA2NDQKIC0tLSBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xh
bmcubApAQCAtMjI1LDMgKzM0Nyw0NyBAQAogIC8qIEJpc29uIGludGVyZmFjZSBmb3IgWWFjYy1s
aWtlIHBhcnNlcnMgaW4gQwogICAgIAogICAgICAgIENvcHlyaWdodCAoQykgMTk4NCwgMTk4OS0x
OTkwLCAyMDAwLTIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitkaWZmIC0tZ2l0
IGEvc3JjL2xpYkdMRVN2Mi9Qcm9ncmFtLmNwcCBiL3NyYy9saWJHTEVTdjIvUHJvZ3JhbS5jcHAK
K2luZGV4IDhhOWZiMDQuLjQ2ZGI3ODggMTAwNjQ0CistLS0gYS9zcmMvbGliR0xFU3YyL1Byb2dy
YW0uY3BwCisrKysgYi9zcmMvbGliR0xFU3YyL1Byb2dyYW0uY3BwCitAQCAtMTAxLDIyICsxMDEs
MjcgQEAgdm9pZCBJbmZvTG9nOjphcHBlbmQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisgICAg
IHZhX2VuZCh2YXJhcmcpOworIAorICAgICBjaGFyICpsb2dQb2ludGVyID0gTlVMTDsKKysgICAg
c2l6ZV90IGxvZ0xlbmd0aCA9IDA7CisgCisgICAgIGlmICghbUluZm9Mb2cpCisgICAgIHsKKyAg
ICAgICAgIG1JbmZvTG9nID0gbmV3IGNoYXJbaW5mb0xlbmd0aCArIDJdOworICAgICAgICAgbG9n
UG9pbnRlciA9IG1JbmZvTG9nOworKyAgICAgICAgbG9nTGVuZ3RoID0gaW5mb0xlbmZ0aCArIDI7
CisgICAgIH0KKyAgICAgZWxzZQorICAgICB7CisgICAgICAgICBzaXplX3QgY3VycmVudGxvZ0xl
bmd0aCA9IHN0cmxlbihtSW5mb0xvZyk7CistICAgICAgICBjaGFyICpuZXdMb2cgPSBuZXcgY2hh
cltjdXJyZW50bG9nTGVuZ3RoICsgaW5mb0xlbmd0aCArIDJdOworLSAgICAgICAgc3RyY3B5KG5l
d0xvZywgbUluZm9Mb2cpOworKyAgICAgICAgc2l6ZV90IG5ld0luZm9Mb2dMZW5ndGggPSBjdXJy
ZW50bG9nTGVuZ3RoICsgaW5mb0xlbmd0aCArIDI7CisrICAgICAgICBjaGFyICpuZXdMb2cgPSBu
ZXcgY2hhcltuZXdJbmZvTG9nTGVuZ3RoXTsKKysgICAgICAgIHN0cm5jcHkobmV3TG9nLCBtSW5m
b0xvZywgbmV3SW5mb0xvZ0xlbmd0aCk7CisrICAgICAgICBuZXdMb2dbbmV3SW5mb0xvZ0xlbmd0
aCAtIDFdID0gJ1wwJzsKKyAKKyAgICAgICAgIGRlbGV0ZVtdIG1JbmZvTG9nOworICAgICAgICAg
bUluZm9Mb2cgPSBuZXdMb2c7CisgCisgICAgICAgICBsb2dQb2ludGVyID0gbUluZm9Mb2cgKyBj
dXJyZW50bG9nTGVuZ3RoOworKyAgICAgICAgbG9nTGVuZ3RoID0gbmV3SW5mb0xvZ0xlbmd0aCAt
IGN1cnJlbnRsb2dMZW5ndGg7CisgICAgIH0KKyAKKyAgICAgdmFfc3RhcnQodmFyYXJnLCBmb3Jt
YXQpOworQEAgLTEyNCw3ICsxMjksOCBAQCB2b2lkIEluZm9Mb2c6OmFwcGVuZChjb25zdCBjaGFy
ICpmb3JtYXQsIC4uLikKKyAgICAgdmFfZW5kKHZhcmFyZyk7CisgCisgICAgIGxvZ1BvaW50ZXJb
aW5mb0xlbmd0aF0gPSAwOworLSAgICBzdHJjcHkobG9nUG9pbnRlciArIGluZm9MZW5ndGgsICJc
biIpOworKyAgICBzdHJuY3B5KGxvZ1BvaW50ZXIgKyBpbmZvTGVuZ3RoLCAiXG4iLCBsb2dMZW5n
dGggLSBpbmZvTGVuZ3RoKTsKKysgICAgbG9nUG9pbnRlcltsb2dMZW5ndGggLSAxXSA9ICdcMCc7
CisgfQorIAorIHZvaWQgSW5mb0xvZzo6cmVzZXQoKQpJbmRleDogU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvY29kZXJldmlldy5zZXR0aW5ncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9jb2RlcmV2aWV3LnNldHRpbmdzCShyZXZpc2lvbiAxNjgxMDMpCisrKyBTb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9jb2RlcmV2aWV3LnNldHRpbmdzCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNCBAQAotIyBUaGlzIGZpbGUgaXMgdXNlZCBieSBnY2wgdG8gZ2V0IHJlcG9zaXRvcnkg
c3BlY2lmaWMgaW5mb3JtYXRpb24uCi1HRVJSSVRfSE9TVDogY2hyb21pdW0tcmV2aWV3Lmdvb2ds
ZXNvdXJjZS5jb20KLUdFUlJJVF9QT1JUOiAyOTQxOAotQ09ERV9SRVZJRVdfU0VSVkVSOiBjaHJv
bWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbQorIyBUaGlzIGZpbGUgaXMgdXNlZCBieSBnY2wg
dG8gZ2V0IHJlcG9zaXRvcnkgc3BlY2lmaWMgaW5mb3JtYXRpb24uCitHRVJSSVRfSE9TVDogY2hy
b21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20KK0dFUlJJVF9QT1JUOiAyOTQxOAorQ09ERV9S
RVZJRVdfU0VSVkVSOiBjaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbQpJbmRleDogU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2J1aWxkX2FuZ2xlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2J1aWxkX2FuZ2xlLmd5cGkJKHJldmlzaW9uIDE2
ODEwMykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9idWlsZF9hbmdsZS5neXBpCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQyMyArMCwwIEBACi0jIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
QU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCi0jIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLXsKLSAgJ3ZhcmlhYmxlcyc6IHsK
LSAgICAnYW5nbGVfY29kZSc6IDEsCi0gICAgJ3RyYW5zbGF0b3Jfc291cmNlcyc6IFsKLSAgICAg
ICAgJ2NvbXBpbGVyL0Jhc2VUeXBlcy5oJywKLSAgICAgICAgJ2NvbXBpbGVyL0J1aWx0SW5GdW5j
dGlvbkVtdWxhdG9yLmNwcCcsCi0gICAgICAgICdjb21waWxlci9CdWlsdEluRnVuY3Rpb25FbXVs
YXRvci5oJywKLSAgICAgICAgJ2NvbXBpbGVyL0NvZGVHZW4uY3BwJywKLSAgICAgICAgJ2NvbXBp
bGVyL0NvbW1vbi5oJywKLSAgICAgICAgJ2NvbXBpbGVyL0NvbXBpbGVyLmNwcCcsCi0gICAgICAg
ICdjb21waWxlci9Db25zdGFudFVuaW9uLmgnLAotICAgICAgICAnY29tcGlsZXIvZGVidWcuY3Bw
JywKLSAgICAgICAgJ2NvbXBpbGVyL2RlYnVnLmgnLAotICAgICAgICAnY29tcGlsZXIvRGV0ZWN0
Q2FsbERlcHRoLmNwcCcsCi0gICAgICAgICdjb21waWxlci9EZXRlY3RDYWxsRGVwdGguaCcsCi0g
ICAgICAgICdjb21waWxlci9EZXRlY3REaXNjb250aW51aXR5LmNwcCcsCi0gICAgICAgICdjb21w
aWxlci9EZXRlY3REaXNjb250aW51aXR5LmgnLAotICAgICAgICAnY29tcGlsZXIvRGlhZ25vc3Rp
Y3MuaCcsCi0gICAgICAgICdjb21waWxlci9EaWFnbm9zdGljcy5jcHAnLAotICAgICAgICAnY29t
cGlsZXIvRGlyZWN0aXZlSGFuZGxlci5oJywKLSAgICAgICAgJ2NvbXBpbGVyL0RpcmVjdGl2ZUhh
bmRsZXIuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL0V4dGVuc2lvbkJlaGF2aW9yLmgnLAotICAg
ICAgICAnY29tcGlsZXIvRm9yTG9vcFVucm9sbC5jcHAnLAotICAgICAgICAnY29tcGlsZXIvRm9y
TG9vcFVucm9sbC5oJywKLSAgICAgICAgJ2NvbXBpbGVyL2dsc2xhbmcuaCcsCi0gICAgICAgICdj
b21waWxlci9nbHNsYW5nX2xleC5jcHAnLAotICAgICAgICAnY29tcGlsZXIvZ2xzbGFuZ190YWIu
Y3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL2dsc2xhbmdfdGFiLmgnLAotICAgICAgICAnY29tcGls
ZXIvSGFzaE5hbWVzLmgnLAotICAgICAgICAnY29tcGlsZXIvSW5mb1NpbmsuY3BwJywKLSAgICAg
ICAgJ2NvbXBpbGVyL0luZm9TaW5rLmgnLAotICAgICAgICAnY29tcGlsZXIvSW5pdGlhbGl6ZS5j
cHAnLAotICAgICAgICAnY29tcGlsZXIvSW5pdGlhbGl6ZS5oJywKLSAgICAgICAgJ2NvbXBpbGVy
L0luaXRpYWxpemVEbGwuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL0luaXRpYWxpemVEbGwuaCcs
Ci0gICAgICAgICdjb21waWxlci9Jbml0aWFsaXplR2xvYmFscy5oJywKLSAgICAgICAgJ2NvbXBp
bGVyL0luaXRpYWxpemVHTFBvc2l0aW9uLmNwcCcsCi0gICAgICAgICdjb21waWxlci9Jbml0aWFs
aXplR0xQb3NpdGlvbi5oJywKLSAgICAgICAgJ2NvbXBpbGVyL0luaXRpYWxpemVQYXJzZUNvbnRl
eHQuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL0luaXRpYWxpemVQYXJzZUNvbnRleHQuaCcsCi0g
ICAgICAgICdjb21waWxlci9JbnRlcm1lZGlhdGUuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL2lu
dGVybWVkaWF0ZS5oJywKLSAgICAgICAgJ2NvbXBpbGVyL2ludGVybU91dC5jcHAnLAotICAgICAg
ICAnY29tcGlsZXIvSW50ZXJtVHJhdmVyc2UuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL2xvY2Fs
aW50ZXJtZWRpYXRlLmgnLAotICAgICAgICAnY29tcGlsZXIvTWFwTG9uZ1ZhcmlhYmxlTmFtZXMu
Y3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL01hcExvbmdWYXJpYWJsZU5hbWVzLmgnLAotICAgICAg
ICAnY29tcGlsZXIvTU1hcC5oJywKLSAgICAgICAgJ2NvbXBpbGVyL29zaW5jbHVkZS5oJywKLSAg
ICAgICAgJ2NvbXBpbGVyL091dHB1dEVTU0wuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL091dHB1
dEVTU0wuaCcsCi0gICAgICAgICdjb21waWxlci9PdXRwdXRHTFNMQmFzZS5jcHAnLAotICAgICAg
ICAnY29tcGlsZXIvT3V0cHV0R0xTTEJhc2UuaCcsCi0gICAgICAgICdjb21waWxlci9PdXRwdXRH
TFNMLmNwcCcsCi0gICAgICAgICdjb21waWxlci9PdXRwdXRHTFNMLmgnLAotICAgICAgICAnY29t
cGlsZXIvT3V0cHV0SExTTC5jcHAnLAotICAgICAgICAnY29tcGlsZXIvT3V0cHV0SExTTC5oJywK
LSAgICAgICAgJ2NvbXBpbGVyL3BhcnNlQ29uc3QuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL1Bh
cnNlQ29udGV4dC5jcHAnLAotICAgICAgICAnY29tcGlsZXIvUGFyc2VDb250ZXh0LmgnLAotICAg
ICAgICAnY29tcGlsZXIvUG9vbEFsbG9jLmNwcCcsCi0gICAgICAgICdjb21waWxlci9Qb29sQWxs
b2MuaCcsCi0gICAgICAgICdjb21waWxlci9RdWFsaWZpZXJBbGl2ZS5jcHAnLAotICAgICAgICAn
Y29tcGlsZXIvUXVhbGlmaWVyQWxpdmUuaCcsCi0gICAgICAgICdjb21waWxlci9SZW1vdmVUcmVl
LmNwcCcsCi0gICAgICAgICdjb21waWxlci9SZW1vdmVUcmVlLmgnLAotICAgICAgICAnY29tcGls
ZXIvUmVuYW1lRnVuY3Rpb24uaCcsCi0gICAgICAgICdjb21waWxlci9TZWFyY2hTeW1ib2wuY3Bw
JywKLSAgICAgICAgJ2NvbXBpbGVyL1NlYXJjaFN5bWJvbC5oJywKLSAgICAgICAgJ2NvbXBpbGVy
L1NoYWRlckxhbmcuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL1NoSGFuZGxlLmgnLAotICAgICAg
ICAnY29tcGlsZXIvU3ltYm9sVGFibGUuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL1N5bWJvbFRh
YmxlLmgnLAotICAgICAgICAnY29tcGlsZXIvVHJhbnNsYXRvckVTU0wuY3BwJywKLSAgICAgICAg
J2NvbXBpbGVyL1RyYW5zbGF0b3JFU1NMLmgnLAotICAgICAgICAnY29tcGlsZXIvVHJhbnNsYXRv
ckdMU0wuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL1RyYW5zbGF0b3JHTFNMLmgnLAotICAgICAg
ICAnY29tcGlsZXIvVHJhbnNsYXRvckhMU0wuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL1RyYW5z
bGF0b3JITFNMLmgnLAotICAgICAgICAnY29tcGlsZXIvVHlwZXMuaCcsCi0gICAgICAgICdjb21w
aWxlci9VbmZvbGRTaG9ydENpcmN1aXRBU1QuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL1VuZm9s
ZFNob3J0Q2lyY3VpdEFTVC5oJywKLSAgICAgICAgJ2NvbXBpbGVyL1VuZm9sZFNob3J0Q2lyY3Vp
dC5jcHAnLAotICAgICAgICAnY29tcGlsZXIvVW5mb2xkU2hvcnRDaXJjdWl0LmgnLAotICAgICAg
ICAnY29tcGlsZXIvVW5pZm9ybS5jcHAnLAotICAgICAgICAnY29tcGlsZXIvVW5pZm9ybS5oJywK
LSAgICAgICAgJ2NvbXBpbGVyL3V0aWwuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL3V0aWwuaCcs
Ci0gICAgICAgICdjb21waWxlci9WYWxpZGF0ZUxpbWl0YXRpb25zLmNwcCcsCi0gICAgICAgICdj
b21waWxlci9WYWxpZGF0ZUxpbWl0YXRpb25zLmgnLAotICAgICAgICAnY29tcGlsZXIvVmFyaWFi
bGVJbmZvLmNwcCcsCi0gICAgICAgICdjb21waWxlci9WYXJpYWJsZUluZm8uaCcsCi0gICAgICAg
ICdjb21waWxlci9WYXJpYWJsZVBhY2tlci5jcHAnLAotICAgICAgICAnY29tcGlsZXIvVmFyaWFi
bGVQYWNrZXIuaCcsCi0gICAgICAgICdjb21waWxlci9WZXJzaW9uR0xTTC5jcHAnLAotICAgICAg
ICAnY29tcGlsZXIvVmVyc2lvbkdMU0wuaCcsCi0gICAgICAgICMgRGVwZW5kZW5jeSBncmFwaAot
ICAgICAgICAnY29tcGlsZXIvZGVwZ3JhcGgvRGVwZW5kZW5jeUdyYXBoLmNwcCcsCi0gICAgICAg
ICdjb21waWxlci9kZXBncmFwaC9EZXBlbmRlbmN5R3JhcGguaCcsCi0gICAgICAgICdjb21waWxl
ci9kZXBncmFwaC9EZXBlbmRlbmN5R3JhcGhCdWlsZGVyLmNwcCcsCi0gICAgICAgICdjb21waWxl
ci9kZXBncmFwaC9EZXBlbmRlbmN5R3JhcGhCdWlsZGVyLmgnLAotICAgICAgICAnY29tcGlsZXIv
ZGVwZ3JhcGgvRGVwZW5kZW5jeUdyYXBoT3V0cHV0LmNwcCcsCi0gICAgICAgICdjb21waWxlci9k
ZXBncmFwaC9EZXBlbmRlbmN5R3JhcGhPdXRwdXQuaCcsCi0gICAgICAgICdjb21waWxlci9kZXBn
cmFwaC9EZXBlbmRlbmN5R3JhcGhUcmF2ZXJzZS5jcHAnLAotICAgICAgICAjIFRpbWluZyByZXN0
cmljdGlvbnMKLSAgICAgICAgJ2NvbXBpbGVyL3RpbWluZy9SZXN0cmljdEZyYWdtZW50U2hhZGVy
VGltaW5nLmNwcCcsCi0gICAgICAgICdjb21waWxlci90aW1pbmcvUmVzdHJpY3RGcmFnbWVudFNo
YWRlclRpbWluZy5oJywKLSAgICAgICAgJ2NvbXBpbGVyL3RpbWluZy9SZXN0cmljdFZlcnRleFNo
YWRlclRpbWluZy5jcHAnLAotICAgICAgICAnY29tcGlsZXIvdGltaW5nL1Jlc3RyaWN0VmVydGV4
U2hhZGVyVGltaW5nLmgnLAotICAgICAgICAndGhpcmRfcGFydHkvY29tcGlsZXIvQXJyYXlCb3Vu
ZHNDbGFtcGVyLmNwcCcsCi0gICAgICAgICd0aGlyZF9wYXJ0eS9jb21waWxlci9BcnJheUJvdW5k
c0NsYW1wZXIuaCcsCi0gICAgICBdLAotICB9LAotICAndGFyZ2V0X2RlZmF1bHRzJzogewotICAg
ICdkZWZpbmVzJzogWwotICAgICAgJ0FOR0xFX0RJU0FCTEVfVFJBQ0UnLAotICAgICAgJ0FOR0xF
X0NPTVBJTEVfT1BUSU1JWkFUSU9OX0xFVkVMPUQzRENPTVBJTEVfT1BUSU1JWkFUSU9OX0xFVkVM
MScsCi0gICAgICAnQU5HTEVfUFJFTE9BREVEX0QzRENPTVBJTEVSX01PRFVMRV9OQU1FUz17IFRF
WFQoImQzZGNvbXBpbGVyXzQ2LmRsbCIpLCBURVhUKCJkM2Rjb21waWxlcl80My5kbGwiKSB9JywK
LSAgICBdLAotICB9LAotICAndGFyZ2V0cyc6IFsKLSAgICB7Ci0gICAgICAndGFyZ2V0X25hbWUn
OiAncHJlcHJvY2Vzc29yJywKLSAgICAgICd0eXBlJzogJ3N0YXRpY19saWJyYXJ5JywKLSAgICAg
ICdpbmNsdWRlX2RpcnMnOiBbCi0gICAgICBdLAotICAgICAgJ3NvdXJjZXMnOiBbCi0gICAgICAg
ICdjb21waWxlci9wcmVwcm9jZXNzb3IvRGlhZ25vc3RpY3NCYXNlLmNwcCcsCi0gICAgICAgICdj
b21waWxlci9wcmVwcm9jZXNzb3IvRGlhZ25vc3RpY3NCYXNlLmgnLAotICAgICAgICAnY29tcGls
ZXIvcHJlcHJvY2Vzc29yL0RpcmVjdGl2ZUhhbmRsZXJCYXNlLmNwcCcsCi0gICAgICAgICdjb21w
aWxlci9wcmVwcm9jZXNzb3IvRGlyZWN0aXZlSGFuZGxlckJhc2UuaCcsCi0gICAgICAgICdjb21w
aWxlci9wcmVwcm9jZXNzb3IvRGlyZWN0aXZlUGFyc2VyLmNwcCcsCi0gICAgICAgICdjb21waWxl
ci9wcmVwcm9jZXNzb3IvRGlyZWN0aXZlUGFyc2VyLmgnLAotICAgICAgICAnY29tcGlsZXIvcHJl
cHJvY2Vzc29yL0V4cHJlc3Npb25QYXJzZXIuY3BwJywKLSAgICAgICAgJ2NvbXBpbGVyL3ByZXBy
b2Nlc3Nvci9FeHByZXNzaW9uUGFyc2VyLmgnLAotICAgICAgICAnY29tcGlsZXIvcHJlcHJvY2Vz
c29yL0lucHV0LmNwcCcsCi0gICAgICAgICdjb21waWxlci9wcmVwcm9jZXNzb3IvSW5wdXQuaCcs
Ci0gICAgICAgICdjb21waWxlci9wcmVwcm9jZXNzb3IvbGVuZ3RoX2xpbWl0cy5oJywKLSAgICAg
ICAgJ2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9MZXhlci5jcHAnLAotICAgICAgICAnY29tcGlsZXIv
cHJlcHJvY2Vzc29yL0xleGVyLmgnLAotICAgICAgICAnY29tcGlsZXIvcHJlcHJvY2Vzc29yL01h
Y3JvLmNwcCcsCi0gICAgICAgICdjb21waWxlci9wcmVwcm9jZXNzb3IvTWFjcm8uaCcsCi0gICAg
ICAgICdjb21waWxlci9wcmVwcm9jZXNzb3IvTWFjcm9FeHBhbmRlci5jcHAnLAotICAgICAgICAn
Y29tcGlsZXIvcHJlcHJvY2Vzc29yL01hY3JvRXhwYW5kZXIuaCcsCi0gICAgICAgICdjb21waWxl
ci9wcmVwcm9jZXNzb3IvbnVtZXJpY19sZXguaCcsCi0gICAgICAgICdjb21waWxlci9wcmVwcm9j
ZXNzb3IvcHBfdXRpbHMuaCcsCi0gICAgICAgICdjb21waWxlci9wcmVwcm9jZXNzb3IvUHJlcHJv
Y2Vzc29yLmNwcCcsCi0gICAgICAgICdjb21waWxlci9wcmVwcm9jZXNzb3IvUHJlcHJvY2Vzc29y
LmgnLAotICAgICAgICAnY29tcGlsZXIvcHJlcHJvY2Vzc29yL1NvdXJjZUxvY2F0aW9uLmgnLAot
ICAgICAgICAnY29tcGlsZXIvcHJlcHJvY2Vzc29yL1Rva2VuLmNwcCcsCi0gICAgICAgICdjb21w
aWxlci9wcmVwcm9jZXNzb3IvVG9rZW4uaCcsCi0gICAgICAgICdjb21waWxlci9wcmVwcm9jZXNz
b3IvVG9rZW5pemVyLmNwcCcsCi0gICAgICAgICdjb21waWxlci9wcmVwcm9jZXNzb3IvVG9rZW5p
emVyLmgnLAotICAgICAgXSwKLSAgICAgICMgVE9ETyhqc2NodWgpOiBodHRwOi8vY3JidWcuY29t
LzE2NzE4NwotICAgICAgJ21zdnNfZGlzYWJsZWRfd2FybmluZ3MnOiBbCi0gICAgICAgIDQyNjcs
Ci0gICAgICBdLAotICAgIH0sCi0gICAgewotICAgICAgJ3RhcmdldF9uYW1lJzogJ3RyYW5zbGF0
b3InLAotICAgICAgJ3R5cGUnOiAnPChjb21wb25lbnQpJywKLSAgICAgICdkZXBlbmRlbmNpZXMn
OiBbJ3ByZXByb2Nlc3NvciddLAotICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAgJy4n
LAotICAgICAgICAnLi4vaW5jbHVkZScsCi0gICAgICBdLAotICAgICAgJ2RlZmluZXMnOiBbCi0g
ICAgICAgICdBTkdMRV9UUkFOU0xBVE9SX0lNUExFTUVOVEFUSU9OJywKLSAgICAgIF0sCi0gICAg
ICAnc291cmNlcyc6IFsnPEAodHJhbnNsYXRvcl9zb3VyY2VzKSddLAotICAgICAgIyBUT0RPKGpz
Y2h1aCk6IGh0dHA6Ly9jcmJ1Zy5jb20vMTY3MTg3IHNpemVfdCAtPiBpbnQKLSAgICAgICdtc3Zz
X2Rpc2FibGVkX3dhcm5pbmdzJzogWyA0MjY3IF0sCi0gICAgICAnY29uZGl0aW9ucyc6IFsKLSAg
ICAgICAgWydPUz09IndpbiInLCB7Ci0gICAgICAgICAgJ3NvdXJjZXMnOiBbJ2NvbXBpbGVyL29z
c291cmNlX3dpbi5jcHAnXSwKLSAgICAgICAgfSwgeyAjIGVsc2U6IHBvc2l4Ci0gICAgICAgICAg
J3NvdXJjZXMnOiBbJ2NvbXBpbGVyL29zc291cmNlX3Bvc2l4LmNwcCddLAotICAgICAgICB9XSwK
LSAgICAgIF0sCi0gICAgfSwKLSAgICB7Ci0gICAgICAndGFyZ2V0X25hbWUnOiAndHJhbnNsYXRv
cl9zdGF0aWMnLAotICAgICAgJ3R5cGUnOiAnc3RhdGljX2xpYnJhcnknLAotICAgICAgJ2RlcGVu
ZGVuY2llcyc6IFsncHJlcHJvY2Vzc29yJ10sCi0gICAgICAnaW5jbHVkZV9kaXJzJzogWwotICAg
ICAgICAnLicsCi0gICAgICAgICcuLi9pbmNsdWRlJywKLSAgICAgIF0sCi0gICAgICAnZGlyZWN0
X2RlcGVuZGVudF9zZXR0aW5ncyc6IHsKLSAgICAgICAgJ2RlZmluZXMnOiBbCi0gICAgICAgICAg
J0FOR0xFX1RSQU5TTEFUT1JfU1RBVElDJywKLSAgICAgICAgXSwKLSAgICAgIH0sCi0gICAgICAn
ZGVmaW5lcyc6IFsKLSAgICAgICAgJ0FOR0xFX1RSQU5TTEFUT1JfU1RBVElDJywKLSAgICAgIF0s
Ci0gICAgICAnc291cmNlcyc6IFsnPEAodHJhbnNsYXRvcl9zb3VyY2VzKSddLAotICAgICAgIyBU
T0RPKGpzY2h1aCk6IGh0dHA6Ly9jcmJ1Zy5jb20vMTY3MTg3IHNpemVfdCAtPiBpbnQKLSAgICAg
ICdtc3ZzX2Rpc2FibGVkX3dhcm5pbmdzJzogWyA0MjY3IF0sCi0gICAgICAnY29uZGl0aW9ucyc6
IFsKLSAgICAgICAgWydPUz09IndpbiInLCB7Ci0gICAgICAgICAgJ3NvdXJjZXMnOiBbJ2NvbXBp
bGVyL29zc291cmNlX3dpbi5jcHAnXSwKLSAgICAgICAgfSwgeyAjIGVsc2U6IHBvc2l4Ci0gICAg
ICAgICAgJ3NvdXJjZXMnOiBbJ2NvbXBpbGVyL29zc291cmNlX3Bvc2l4LmNwcCddLAotICAgICAg
ICB9XSwKLSAgICAgIF0sCi0gICAgfSwKLSAgXSwKLSAgJ2NvbmRpdGlvbnMnOiBbCi0gICAgWydP
Uz09IndpbiInLCB7Ci0gICAgICAndGFyZ2V0cyc6IFsKLSAgICAgICAgewotICAgICAgICAgICd0
YXJnZXRfbmFtZSc6ICdsaWJHTEVTdjInLAotICAgICAgICAgICd0eXBlJzogJ3NoYXJlZF9saWJy
YXJ5JywKLSAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWyd0cmFuc2xhdG9yJ10sCi0gICAgICAg
ICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAgICAgICcuJywKLSAgICAgICAgICAgICcuLi9p
bmNsdWRlJywKLSAgICAgICAgICAgICdsaWJHTEVTdjInLAotICAgICAgICAgIF0sCi0gICAgICAg
ICAgJ3NvdXJjZXMnOiBbCi0gICAgICAgICAgICAndGhpcmRfcGFydHkvbXVybXVyaGFzaC9NdXJt
dXJIYXNoMy5oJywKLSAgICAgICAgICAgICd0aGlyZF9wYXJ0eS9tdXJtdXJoYXNoL011cm11ckhh
c2gzLmNwcCcsCi0gICAgICAgICAgICAndGhpcmRfcGFydHkvdHJhY2VfZXZlbnQvdHJhY2VfZXZl
bnQuaCcsCi0gICAgICAgICAgICAnY29tbW9uL2FuZ2xldXRpbHMuaCcsCi0gICAgICAgICAgICAn
Y29tbW9uL2RlYnVnLmNwcCcsCi0gICAgICAgICAgICAnY29tbW9uL2RlYnVnLmgnLAotICAgICAg
ICAgICAgJ2NvbW1vbi9ldmVudF90cmFjZXIuY3BwJywKLSAgICAgICAgICAgICdjb21tb24vZXZl
bnRfdHJhY2VyLmgnLAotICAgICAgICAgICAgJ2NvbW1vbi9SZWZDb3VudE9iamVjdC5jcHAnLAot
ICAgICAgICAgICAgJ2NvbW1vbi9SZWZDb3VudE9iamVjdC5oJywKLSAgICAgICAgICAgICdjb21t
b24vdmVyc2lvbi5oJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcHJlY29tcGlsZWQuaCcsCi0g
ICAgICAgICAgICAnbGliR0xFU3YyL3ByZWNvbXBpbGVkLmNwcCcsCi0gICAgICAgICAgICAnbGli
R0xFU3YyL0JpbmFyeVN0cmVhbS5oJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvQnVmZmVyLmNw
cCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL0J1ZmZlci5oJywKLSAgICAgICAgICAgICdsaWJH
TEVTdjIvY29uc3RhbnRzLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9Db250ZXh0LmNwcCcs
Ci0gICAgICAgICAgICAnbGliR0xFU3YyL0NvbnRleHQuaCcsCi0gICAgICAgICAgICAnbGliR0xF
U3YyL2FuZ2xldHlwZXMuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL0ZlbmNlLmNwcCcsCi0g
ICAgICAgICAgICAnbGliR0xFU3YyL0ZlbmNlLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9G
bG9hdDE2VG9GbG9hdDMyLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL0ZyYW1lYnVmZmVy
LmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL0ZyYW1lYnVmZmVyLmgnLAotICAgICAgICAg
ICAgJ2xpYkdMRVN2Mi9IYW5kbGVBbGxvY2F0b3IuY3BwJywKLSAgICAgICAgICAgICdsaWJHTEVT
djIvSGFuZGxlQWxsb2NhdG9yLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9saWJHTEVTdjIu
Y3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvbGliR0xFU3YyLmRlZicsCi0gICAgICAgICAg
ICAnbGliR0xFU3YyL2xpYkdMRVN2Mi5yYycsCi0gICAgICAgICAgICAnbGliR0xFU3YyL21haW4u
Y3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvbWFpbi5oJywKLSAgICAgICAgICAgICdsaWJH
TEVTdjIvbWF0aHV0aWwuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL1Byb2dyYW0uY3BwJywK
LSAgICAgICAgICAgICdsaWJHTEVTdjIvUHJvZ3JhbS5oJywKLSAgICAgICAgICAgICdsaWJHTEVT
djIvUHJvZ3JhbUJpbmFyeS5jcHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9Qcm9ncmFtQmlu
YXJ5LmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9RdWVyeS5oJywKLSAgICAgICAgICAgICds
aWJHTEVTdjIvUXVlcnkuY3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvUmVuZGVyYnVmZmVy
LmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL1JlbmRlcmJ1ZmZlci5oJywKLSAgICAgICAg
ICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvQmxpdC5jcHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2
Mi9yZW5kZXJlci9CbGl0LmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9CdWZm
ZXJTdG9yYWdlLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9CdWZmZXJTdG9y
YWdlLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL0J1ZmZlclN0b3JhZ2U5
LmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL0J1ZmZlclN0b3JhZ2U5Lmgn
LAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9CdWZmZXJTdG9yYWdlMTEuY3BwJywK
LSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvQnVmZmVyU3RvcmFnZTExLmgnLAotICAg
ICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9GZW5jZUltcGwuaCcsCi0gICAgICAgICAgICAn
bGliR0xFU3YyL3JlbmRlcmVyL0ZlbmNlOS5jcHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9y
ZW5kZXJlci9GZW5jZTkuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL0ZlbmNl
MTEuY3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvRmVuY2UxMS5oJywKLSAg
ICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvZ2VuZXJhdGVtaXAuaCcsCi0gICAgICAgICAg
ICAnbGliR0xFU3YyL3JlbmRlcmVyL0ltYWdlLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3Yy
L3JlbmRlcmVyL0ltYWdlLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9JbWFn
ZTExLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL0ltYWdlMTEuaCcsCi0g
ICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL0ltYWdlOS5jcHAnLAotICAgICAgICAgICAg
J2xpYkdMRVN2Mi9yZW5kZXJlci9JbWFnZTkuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3Jl
bmRlcmVyL0ltYWdlU1NFMi5jcHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9J
bmRleEJ1ZmZlci5jcHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9JbmRleEJ1
ZmZlci5oJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvSW5kZXhCdWZmZXI5LmNw
cCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL0luZGV4QnVmZmVyOS5oJywKLSAg
ICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvSW5kZXhCdWZmZXIxMS5jcHAnLAotICAgICAg
ICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9JbmRleEJ1ZmZlcjExLmgnLAotICAgICAgICAgICAg
J2xpYkdMRVN2Mi9yZW5kZXJlci9JbmRleERhdGFNYW5hZ2VyLmNwcCcsCi0gICAgICAgICAgICAn
bGliR0xFU3YyL3JlbmRlcmVyL0luZGV4RGF0YU1hbmFnZXIuaCcsCi0gICAgICAgICAgICAnbGli
R0xFU3YyL3JlbmRlcmVyL0luZGV4UmFuZ2VDYWNoZS5jcHAnLAotICAgICAgICAgICAgJ2xpYkdM
RVN2Mi9yZW5kZXJlci9JbmRleFJhbmdlQ2FjaGUuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3Yy
L3JlbmRlcmVyL0lucHV0TGF5b3V0Q2FjaGUuY3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIv
cmVuZGVyZXIvSW5wdXRMYXlvdXRDYWNoZS5oJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVu
ZGVyZXIvUXVlcnlJbXBsLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9RdWVy
eTkuY3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvUXVlcnk5LmgnLAotICAg
ICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9RdWVyeTExLmNwcCcsCi0gICAgICAgICAgICAn
bGliR0xFU3YyL3JlbmRlcmVyL1F1ZXJ5MTEuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3Jl
bmRlcmVyL1JlbmRlcmVyLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1Jl
bmRlcmVyLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9SZW5kZXJlcjExLmNw
cCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1JlbmRlcmVyMTEuaCcsCi0gICAg
ICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL3JlbmRlcmVyMTFfdXRpbHMuY3BwJywKLSAgICAg
ICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvcmVuZGVyZXIxMV91dGlscy5oJywKLSAgICAgICAg
ICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvUmVuZGVyZXI5LmNwcCcsCi0gICAgICAgICAgICAnbGli
R0xFU3YyL3JlbmRlcmVyL1JlbmRlcmVyOS5oJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVu
ZGVyZXIvcmVuZGVyZXI5X3V0aWxzLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRl
cmVyL3JlbmRlcmVyOV91dGlscy5oJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIv
UmVuZGVyU3RhdGVDYWNoZS5jcHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9S
ZW5kZXJTdGF0ZUNhY2hlLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9SZW5k
ZXJUYXJnZXQuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1JlbmRlclRhcmdl
dDExLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9SZW5kZXJUYXJnZXQxMS5j
cHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9SZW5kZXJUYXJnZXQ5LmgnLAot
ICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9SZW5kZXJUYXJnZXQ5LmNwcCcsCi0gICAg
ICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1NoYWRlckNhY2hlLmgnLAotICAgICAgICAgICAg
J2xpYkdMRVN2Mi9yZW5kZXJlci9TaGFkZXJFeGVjdXRhYmxlLmgnLAotICAgICAgICAgICAgJ2xp
YkdMRVN2Mi9yZW5kZXJlci9TaGFkZXJFeGVjdXRhYmxlOS5jcHAnLAotICAgICAgICAgICAgJ2xp
YkdMRVN2Mi9yZW5kZXJlci9TaGFkZXJFeGVjdXRhYmxlOS5oJywKLSAgICAgICAgICAgICdsaWJH
TEVTdjIvcmVuZGVyZXIvU2hhZGVyRXhlY3V0YWJsZTExLmNwcCcsCi0gICAgICAgICAgICAnbGli
R0xFU3YyL3JlbmRlcmVyL1NoYWRlckV4ZWN1dGFibGUxMS5oJywKLSAgICAgICAgICAgICdsaWJH
TEVTdjIvcmVuZGVyZXIvU3dhcENoYWluLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5k
ZXJlci9Td2FwQ2hhaW45LmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1N3
YXBDaGFpbjkuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1N3YXBDaGFpbjEx
LmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1N3YXBDaGFpbjExLmgnLAot
ICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9UZXh0dXJlU3RvcmFnZS5jcHAnLAotICAg
ICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9UZXh0dXJlU3RvcmFnZS5oJywKLSAgICAgICAg
ICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvVGV4dHVyZVN0b3JhZ2UxMS5jcHAnLAotICAgICAgICAg
ICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9UZXh0dXJlU3RvcmFnZTExLmgnLAotICAgICAgICAgICAg
J2xpYkdMRVN2Mi9yZW5kZXJlci9UZXh0dXJlU3RvcmFnZTkuY3BwJywKLSAgICAgICAgICAgICds
aWJHTEVTdjIvcmVuZGVyZXIvVGV4dHVyZVN0b3JhZ2U5LmgnLAotICAgICAgICAgICAgJ2xpYkdM
RVN2Mi9yZW5kZXJlci9WZXJ0ZXhCdWZmZXIuY3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIv
cmVuZGVyZXIvVmVydGV4QnVmZmVyLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJl
ci9WZXJ0ZXhCdWZmZXI5LmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1Zl
cnRleEJ1ZmZlcjkuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1ZlcnRleEJ1
ZmZlcjExLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3JlbmRlcmVyL1ZlcnRleEJ1ZmZl
cjExLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci92ZXJ0ZXhjb252ZXJzaW9u
LmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9WZXJ0ZXhEYXRhTWFuYWdlci5j
cHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9WZXJ0ZXhEYXRhTWFuYWdlci5o
JywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvcmVuZGVyZXIvVmVydGV4RGVjbGFyYXRpb25DYWNo
ZS5jcHAnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9yZW5kZXJlci9WZXJ0ZXhEZWNsYXJhdGlv
bkNhY2hlLmgnLAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9SZXNvdXJjZU1hbmFnZXIuY3BwJywK
LSAgICAgICAgICAgICdsaWJHTEVTdjIvUmVzb3VyY2VNYW5hZ2VyLmgnLAotICAgICAgICAgICAg
J2xpYkdMRVN2Mi9TaGFkZXIuY3BwJywKLSAgICAgICAgICAgICdsaWJHTEVTdjIvU2hhZGVyLmgn
LAotICAgICAgICAgICAgJ2xpYkdMRVN2Mi9UZXh0dXJlLmNwcCcsCi0gICAgICAgICAgICAnbGli
R0xFU3YyL1RleHR1cmUuaCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL1VuaWZvcm0uY3BwJywK
LSAgICAgICAgICAgICdsaWJHTEVTdjIvVW5pZm9ybS5oJywKLSAgICAgICAgICAgICdsaWJHTEVT
djIvdXRpbGl0aWVzLmNwcCcsCi0gICAgICAgICAgICAnbGliR0xFU3YyL3V0aWxpdGllcy5oJywK
LSAgICAgICAgICBdLAotICAgICAgICAgICMgVE9ETyhqc2NodWgpOiBodHRwOi8vY3JidWcuY29t
LzE2NzE4NyBzaXplX3QgLT4gaW50Ci0gICAgICAgICAgJ21zdnNfZGlzYWJsZWRfd2FybmluZ3Mn
OiBbIDQyNjcgXSwKLSAgICAgICAgICAnbXN2c19zZXR0aW5ncyc6IHsKLSAgICAgICAgICAgICdW
Q0xpbmtlclRvb2wnOiB7Ci0gICAgICAgICAgICAgICdBZGRpdGlvbmFsRGVwZW5kZW5jaWVzJzog
WwotICAgICAgICAgICAgICAgICdkM2Q5LmxpYicsCi0gICAgICAgICAgICAgICAgJ2R4Z3VpZC5s
aWInLAotICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfQotICAgICAgICAgIH0sCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAndGFyZ2V0X25hbWUnOiAnbGliRUdMJywKLSAg
ICAgICAgICAndHlwZSc6ICdzaGFyZWRfbGlicmFyeScsCi0gICAgICAgICAgJ2RlcGVuZGVuY2ll
cyc6IFsnbGliR0xFU3YyJ10sCi0gICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAg
ICAgICcuJywKLSAgICAgICAgICAgICcuLi9pbmNsdWRlJywKLSAgICAgICAgICAgICdsaWJHTEVT
djInLAotICAgICAgICAgIF0sCi0gICAgICAgICAgJ3NvdXJjZXMnOiBbCi0gICAgICAgICAgICAn
Y29tbW9uL2FuZ2xldXRpbHMuaCcsCi0gICAgICAgICAgICAnY29tbW9uL2RlYnVnLmNwcCcsCi0g
ICAgICAgICAgICAnY29tbW9uL2RlYnVnLmgnLAotICAgICAgICAgICAgJ2NvbW1vbi9SZWZDb3Vu
dE9iamVjdC5jcHAnLAotICAgICAgICAgICAgJ2NvbW1vbi9SZWZDb3VudE9iamVjdC5oJywKLSAg
ICAgICAgICAgICdjb21tb24vdmVyc2lvbi5oJywKLSAgICAgICAgICAgICdsaWJFR0wvQ29uZmln
LmNwcCcsCi0gICAgICAgICAgICAnbGliRUdML0NvbmZpZy5oJywKLSAgICAgICAgICAgICdsaWJF
R0wvRGlzcGxheS5jcHAnLAotICAgICAgICAgICAgJ2xpYkVHTC9EaXNwbGF5LmgnLAotICAgICAg
ICAgICAgJ2xpYkVHTC9saWJFR0wuY3BwJywKLSAgICAgICAgICAgICdsaWJFR0wvbGliRUdMLmRl
ZicsCi0gICAgICAgICAgICAnbGliRUdML2xpYkVHTC5yYycsCi0gICAgICAgICAgICAnbGliRUdM
L21haW4uY3BwJywKLSAgICAgICAgICAgICdsaWJFR0wvbWFpbi5oJywKLSAgICAgICAgICAgICds
aWJFR0wvU3VyZmFjZS5jcHAnLAotICAgICAgICAgICAgJ2xpYkVHTC9TdXJmYWNlLmgnLAotICAg
ICAgICAgIF0sCi0gICAgICAgICAgIyBUT0RPKGpzY2h1aCk6IGh0dHA6Ly9jcmJ1Zy5jb20vMTY3
MTg3IHNpemVfdCAtPiBpbnQKLSAgICAgICAgICAnbXN2c19kaXNhYmxlZF93YXJuaW5ncyc6IFsg
NDI2NyBdLAotICAgICAgICAgICdtc3ZzX3NldHRpbmdzJzogewotICAgICAgICAgICAgJ1ZDTGlu
a2VyVG9vbCc6IHsKLSAgICAgICAgICAgICAgJ0FkZGl0aW9uYWxEZXBlbmRlbmNpZXMnOiBbCi0g
ICAgICAgICAgICAgICAgJ2QzZDkubGliJywKLSAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICB9LAotICAgICAgICB9LAotICAgICAgXSwKLSAgICB9XSwKLSAgXSwKLX0K
LQotIyBMb2NhbCBWYXJpYWJsZXM6Ci0jIHRhYi13aWR0aDoyCi0jIGluZGVudC10YWJzLW1vZGU6
bmlsCi0jIEVuZDoKLSMgdmltOiBzZXQgZXhwYW5kdGFiIHRhYnN0b3A9MiBzaGlmdHdpZHRoPTI6
Ci0jIENvcHlyaWdodCAoYykgMjAxMiBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0jIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL3N5c3RlbS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vc3lzdGVtLmgJ
KHJldmlzaW9uIDE2ODEwMykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24v
c3lzdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMjYgKzAsMCBAQAotLy8KLS8vIENvcHlyaWdo
dCAoYykgMjAwMi0yMDEyIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1z
dHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgot
Ly8KLQotLy8gc3lzdGVtLmg6IEluY2x1ZGVzIFdpbmRvd3Mgc3lzdGVtIGhlYWRlcnMgYW5kIHVu
ZGVmaW5lcyBtYWNyb3MgdGhhdCBjb25mbGljdC4KLQotI2lmbmRlZiBDT01NT05fU1lTVEVNX0gK
LSNkZWZpbmUgQ09NTU9OX1NZU1RFTV9ICi0KLSNpZiAhZGVmaW5lZChXSU4zMl9MRUFOX0FORF9N
RUFOKQotI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCi0jZW5kaWYKLQotI2luY2x1ZGUgPHdp
bmRvd3MuaD4KLQotI2lmIGRlZmluZWQobWluKQotI3VuZGVmIG1pbgotI2VuZGlmCi0KLSNpZiBk
ZWZpbmVkKG1heCkKLSN1bmRlZiBtYXgKLSNlbmRpZgotCi0jZW5kaWYgICAvLyBDT01NT05fU1lT
VEVNX0gKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9j
ZXNzb3IvbGVuZ3RoX2xpbWl0cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvbGVuZ3RoX2xpbWl0cy5oCShyZXZpc2lvbiAx
NjgxMDMpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vz
c29yL2xlbmd0aF9saW1pdHMuaAkod29ya2luZyBjb3B5KQpAQCAtMSwyMSArMCwwIEBACi0vLwot
Ly8gQ29weXJpZ2h0IChjKSAyMDExIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgotLy8KLQotLy8KLS8vIGxlbmd0aF9saW1pdHMuaAotLy8KLQotI2lmICFkZWZpbmVkKF9f
TEVOR1RIX0xJTUlUU19IKQotI2RlZmluZSBfX0xFTkdUSF9MSU1JVFNfSCAxCi0KLS8vIFRoZXNl
IGNvbnN0YW50cyBhcmUgZmFjdG9yZWQgb3V0IGZyb20gdGhlIHJlc3Qgb2YgdGhlIGhlYWRlcnMg
dG8KLS8vIG1ha2UgaXQgZWFzaWVyIHRvIHJlZmVyZW5jZSB0aGVtIGZyb20gdGhlIGNvbXBpbGVy
IHNvdXJjZXMuCi0KLS8vIFRoZXNlIGxlbmd0aHMgZG8gbm90IGluY2x1ZGUgdGhlIE5VTEwgdGVy
bWluYXRvci4KLSNkZWZpbmUgTUFYX1NZTUJPTF9OQU1FX0xFTiAyNTYKLSNkZWZpbmUgTUFYX1NU
UklOR19MRU4gNTExCi0KLSNlbmRpZiAvLyAhKGRlZmluZWQoX19MRU5HVEhfTElNSVRTX0gpCklu
ZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9Vbmlm
b3JtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9Vbmlmb3JtLmNwcAkocmV2aXNpb24gMTY4MTAzKQorKysgU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVW5pZm9ybS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEsMjEgKzAsMCBAQAotLy8KLS8vIENvcHlyaWdodCAoYykgMjAxMyBUaGUg
QU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8vCi0KLSNpbmNsdWRlICJjb21w
aWxlci90cmFuc2xhdG9yL1VuaWZvcm0uaCIKLQotbmFtZXNwYWNlIHNoCi17Ci0KLVVuaWZvcm06
OlVuaWZvcm0oR0xlbnVtIHR5cGUsIEdMZW51bSBwcmVjaXNpb24sIGNvbnN0IGNoYXIgKm5hbWUs
IGludCBhcnJheVNpemUsIGludCByZWdpc3RlckluZGV4KQotewotICAgIHRoaXMtPnR5cGUgPSB0
eXBlOwotICAgIHRoaXMtPnByZWNpc2lvbiA9IHByZWNpc2lvbjsKLSAgICB0aGlzLT5uYW1lID0g
bmFtZTsKLSAgICB0aGlzLT5hcnJheVNpemUgPSBhcnJheVNpemU7Ci0gICAgdGhpcy0+cmVnaXN0
ZXJJbmRleCA9IHJlZ2lzdGVySW5kZXg7Ci19Ci0KLX0KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1VuaWZvcm0uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9Vbmlmb3JtLmgJ
KHJldmlzaW9uIDE2ODEwMykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci90cmFuc2xhdG9yL1VuaWZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMSwzNSArMCwwIEBACi0v
LwotLy8gQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi
eSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgotLy8KLQotI2lmbmRlZiBDT01QSUxFUl9VTklGT1JNX0hfCi0jZGVmaW5lIENPTVBJ
TEVSX1VOSUZPUk1fSF8KLQotI2luY2x1ZGUgPHN0cmluZz4KLSNpbmNsdWRlIDx2ZWN0b3I+Ci0K
LSNkZWZpbmUgR0xfQVBJQ0FMTAotI2luY2x1ZGUgPEdMRVMyL2dsMi5oPgotCi1uYW1lc3BhY2Ug
c2gKLXsKLQotc3RydWN0IFVuaWZvcm0KLXsKLSAgICBVbmlmb3JtKEdMZW51bSB0eXBlLCBHTGVu
dW0gcHJlY2lzaW9uLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgYXJyYXlTaXplLCBpbnQgcmVnaXN0
ZXJJbmRleCk7Ci0KLSAgICBHTGVudW0gdHlwZTsKLSAgICBHTGVudW0gcHJlY2lzaW9uOwotICAg
IHN0ZDo6c3RyaW5nIG5hbWU7Ci0gICAgdW5zaWduZWQgaW50IGFycmF5U2l6ZTsKLSAgICAKLSAg
ICBpbnQgcmVnaXN0ZXJJbmRleDsKLX07Ci0KLXR5cGVkZWYgc3RkOjp2ZWN0b3I8VW5pZm9ybT4g
QWN0aXZlVW5pZm9ybXM7Ci0KLX0KLQotI2VuZGlmICAgLy8gQ09NUElMRVJfVU5JRk9STV9IXwpJ
bmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkVHTC9saWJFR0wudmN4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliRUdML2xpYkVHTC52
Y3hwcm9qCShyZXZpc2lvbiAxNjgxMDMpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliRUdML2xpYkVHTC52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1OCArMCwwIEBACi3v
u788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVs
dFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFz
Lm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXAgTGFi
ZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIElu
Y2x1ZGU9IkRlYnVnfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1
cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RD
b25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4
NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8
UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAg
IDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAgIDxD
b25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2lu
MzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RD
b25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9u
PlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4K
LSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57RTc0NkZDQTktNjRDMy00
MzNFLTg1RTgtOUE1QTY3QUI3RUQ2fTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+
bGliRUdMPC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClc
TWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJl
bD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5
PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3Rl
clNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9w
dGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwv
Q29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJT
ZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1
cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3Vy
YXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAg
IDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9u
PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRp
b24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlv
blR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJv
cGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29m
dC5DcHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3Mi
PgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hl
ZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIp
XE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBE
YXRhUGxhdGZvcm0iIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9
IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1p
Y3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQo
VXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJl
bD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRH
cm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNl
clJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9u
PSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5w
cm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gIDwvSW1wb3J0R3JvdXA+
Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9q
ZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMi
IENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZv
cm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICA8L0lt
cG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFBy
b3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIxOS4xPC9fUHJv
amVjdEZpbGVWZXJzaW9uPgotICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoU29sdXRpb25EaXIpJChDb25maWd1cmF0
aW9uKVw8L091dERpcj4KLSAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4kKENvbmZpZ3VyYXRpb24pXDwvSW50RGlyPgot
ICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KLSAgICA8T3V0RGly
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4z
MiciPiQoU29sdXRpb25EaXIpJChDb25maWd1cmF0aW9uKVw8L091dERpcj4KLSAgICA8SW50RGly
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4z
MiciPiQoQ29uZmlndXJhdGlvbilcPC9JbnREaXI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5m
YWxzZTwvTGlua0luY3JlbWVudGFsPgotICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKFNvbHV0aW9uRGlyKSQoUGxhdGZv
cm0pXCQoQ29uZmlndXJhdGlvbilcPC9PdXREaXI+Ci0gICAgPEludERpciBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoUGxhdGZvcm0pXCQo
Q29uZmlndXJhdGlvbilcPC9JbnREaXI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0xpbmtJ
bmNyZW1lbnRhbD4KLSAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm0pXCQoQ29u
ZmlndXJhdGlvbilcPC9PdXREaXI+Ci0gICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChQbGF0Zm9ybSlcJChDb25maWd1
cmF0aW9uKVw8L0ludERpcj4KLSAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5mYWxzZTwvTGlua0luY3Jl
bWVudGFsPgotICAgIDxMaWJyYXJ5UGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKExpYnJhcnlQYXRoKTwvTGlicmFyeVBhdGg+
Ci0gICAgPExpYnJhcnlQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8V2luMzInIj4kKERYU0RLX0RJUilcbGliXHg4NjskKExpYnJhcnlQYXRoKTwv
TGlicmFyeVBhdGg+Ci0gICAgPExpYnJhcnlQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChMaWJyYXJ5UGF0aCk8L0xpYnJhcnlQYXRo
PgotICAgIDxMaWJyYXJ5UGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2V8eDY0JyI+JChMaWJyYXJ5UGF0aCk8L0xpYnJhcnlQYXRoPgotICAgIDxJ
bmNsdWRlUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnfFdpbjMyJyI+JChEWFNES19ESVIpXGluY2x1ZGU7JChWQ0luc3RhbGxEaXIpaW5jbHVkZTsk
KFZDSW5zdGFsbERpcilhdGxtZmNcaW5jbHVkZTskKFdpbmRvd3NTZGtEaXIpaW5jbHVkZTskKEZy
YW1ld29ya1NES0RpcilcaW5jbHVkZTs8L0luY2x1ZGVQYXRoPgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGlt
aXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRl
RGlyZWN0b3JpZXM+JChQcm9qZWN0RGlyKS8uLjsgJChQcm9qZWN0RGlyKS8uLi8uLi9pbmNsdWRl
OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0RFQlVHO19XSU5E
T1dTO19VU1JETEw7TElCRUdMX0VYUE9SVFM7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO05PTUlO
TUFYOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4K
LSAgICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KLSAgICAgIDxCYXNp
Y1J1bnRpbWVDaGVja3M+RW5hYmxlRmFzdENoZWNrczwvQmFzaWNSdW50aW1lQ2hlY2tzPgotICAg
ICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+Ci0g
ICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAg
ICAgPFdhcm5pbmdMZXZlbD5MZXZlbDQ8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxUcmVhdFdhcm5p
bmdBc0Vycm9yPnRydWU8L1RyZWF0V2FybmluZ0FzRXJyb3I+Ci0gICAgICA8RGVidWdJbmZvcm1h
dGlvbkZvcm1hdD5FZGl0QW5kQ29udGludWU8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+Ci0gICAg
ICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDEwMDs0MTI3OzQxODk7NDIzOTs0MjQ0OzQyNDU7
NDUxMjs0NzAyOzQ5OTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9u
YWxEZXBlbmRlbmNpZXM+ZDNkOS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRp
b25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT5saWJFR0wuZGVm
PC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KLSAgICAgIDxEZWxheUxvYWRETExzPiUoRGVsYXlMb2Fk
RExMcyk8L0RlbGF5TG9hZERMTHM+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRy
dWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwv
U3ViU3lzdGVtPgotICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgotICAgICAgPC9EYXRh
RXhlY3V0aW9uUHJldmVudGlvbj4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1Rh
cmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxD
b21tYW5kPiU0MGVjaG8gb24KLW1rZGlyICIkKFByb2plY3REaXIpLi5cLi5cbGliXCQoQ29uZmln
dXJhdGlvbilcIgotY29weSAiJChPdXREaXIpbGliRUdMLmRsbCIgIiQoUHJvamVjdERpcikuLlwu
LlxsaWJcJChDb25maWd1cmF0aW9uKVwiCi1jb3B5ICIkKE91dERpcilsaWJFR0wubGliIiAiJChQ
cm9qZWN0RGlyKS4uXC4uXGxpYlwkKENvbmZpZ3VyYXRpb24pXCIKLSU0MGVjaG8gb2ZmCi08L0Nv
bW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgot
ICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGlt
aXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhw
YW5zaW9uPkFueVN1aXRhYmxlPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHJvamVjdERpcikvLi47ICQoUHJvamVjdERpcikv
Li4vLi4vaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPkFOR0xF
X0RJU0FCTEVfVFJBQ0U7V0lOMzI7TkRFQlVHO19XSU5ET1dTO19VU1JETEw7TElCRUdMX0VYUE9S
VFM7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO05PTUlOTUFYO19TRUNVUkVfU0NMPTA7JShQcmVw
cm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1
bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPFByZWNv
bXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxXYXJuaW5n
TGV2ZWw+TGV2ZWw0PC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8VHJlYXRXYXJuaW5nQXNFcnJvcj50
cnVlPC9UcmVhdFdhcm5pbmdBc0Vycm9yPgotICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+
UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgotICAgICAgPERpc2FibGVT
cGVjaWZpY1dhcm5pbmdzPjQxMDA7NDEyNzs0MTg5OzQyMzk7NDI0NDs0MjQ1OzQ1MTI7NDcwMjs0
OTk2OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4K
LSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5j
aWVzPmQzZDkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRl
bmNpZXM+Ci0gICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+bGliRUdMLmRlZjwvTW9kdWxlRGVm
aW5pdGlvbkZpbGU+Ci0gICAgICA8RGVsYXlMb2FkRExMcz4lKERlbGF5TG9hZERMTHMpPC9EZWxh
eUxvYWRETExzPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0
ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4K
LSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAg
ICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAg
IDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KLSAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRp
b24+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgotICAg
IDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4lNDBlY2hvIG9u
Ci1ta2RpciAiJChQcm9qZWN0RGlyKS4uXC4uXGxpYlwkKENvbmZpZ3VyYXRpb24pXCIKLWNvcHkg
IiQoT3V0RGlyKWxpYkVHTC5kbGwiICIkKFByb2plY3REaXIpLi5cLi5cbGliXCQoQ29uZmlndXJh
dGlvbilcIgotY29weSAiJChPdXREaXIpbGliRUdMLmxpYiIgIiQoUHJvamVjdERpcikuLlwuLlxs
aWJcJChDb25maWd1cmF0aW9uKVwiCi0lNDBlY2hvIG9mZgotPC9Db21tYW5kPgotICAgIDwvUG9z
dEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9u
R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4
NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVu
dmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXph
dGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM+JChQcm9qZWN0RGlyKS8uLjsgJChQcm9qZWN0RGlyKS8uLi8uLi9pbmNsdWRlOyUo
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0RFQlVHO19XSU5ET1dT
O19VU1JETEw7TElCRUdMX0VYUE9SVFM7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO05PTUlOTUFY
OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAg
ICAgIDxNaW5pbWFsUmVidWlsZD50cnVlPC9NaW5pbWFsUmVidWlsZD4KLSAgICAgIDxCYXNpY1J1
bnRpbWVDaGVja3M+RW5hYmxlRmFzdENoZWNrczwvQmFzaWNSdW50aW1lQ2hlY2tzPgotICAgICAg
PFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+Ci0gICAg
ICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAg
PFdhcm5pbmdMZXZlbD5MZXZlbDQ8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncz40MTAwOzQxMjc7NDE4OTs0MjM5OzQyNDQ7NDI0NTs0NTEyOzQ3MDI7NDk5Njsl
KERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+Ci0gICAg
ICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRp
b25Gb3JtYXQ+Ci0gICAgICA8VHJlYXRXYXJuaW5nQXNFcnJvcj50cnVlPC9UcmVhdFdhcm5pbmdB
c0Vycm9yPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxE
ZXBlbmRlbmNpZXM+ZDNkOS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25h
bERlcGVuZGVuY2llcz4KLSAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT5saWJFR0wuZGVmPC9N
b2R1bGVEZWZpbml0aW9uRmlsZT4KLSAgICAgIDxEZWxheUxvYWRETExzPiUoRGVsYXlMb2FkRExM
cyk8L0RlbGF5TG9hZERMTHM+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8
L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3Vi
U3lzdGVtPgotICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgotICAgICAgPC9EYXRhRXhl
Y3V0aW9uUHJldmVudGlvbj4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1Rhcmdl
dE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21t
YW5kPiU0MGVjaG8gb24KLW1rZGlyICIkKFByb2plY3REaXIpLi5cLi5cbGliXCQoQ29uZmlndXJh
dGlvbilcIgotY29weSAiJChPdXREaXIpbGliRUdMLmRsbCIgIiQoUHJvamVjdERpcikuLlwuLlxs
aWJcJChDb25maWd1cmF0aW9uKVwiCi1jb3B5ICIkKE91dERpcilsaWJFR0wubGliIiAiJChQcm9q
ZWN0RGlyKS4uXC4uXGxpYlwkKENvbmZpZ3VyYXRpb24pXCIKLSU0MGVjaG8gb2ZmCi08L0NvbW1h
bmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8
SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1l
bnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4K
LSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxp
bmVGdW5jdGlvbkV4cGFuc2lvbj5BbnlTdWl0YWJsZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+
Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFByb2plY3REaXIpLy4uOyAk
KFByb2plY3REaXIpLy4uLy4uL2luY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVz
KTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz5XSU4zMjtOREVCVUc7X1dJTkRPV1M7X1VTUkRMTDtMSUJFR0xfRVhQT1JUUztfQ1JU
X1NFQ1VSRV9OT19ERVBSRUNBVEU7Tk9NSU5NQVg7X1NFQ1VSRV9TQ0w9MDslKFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxp
YnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8UHJlY29tcGlsZWRI
ZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPFdhcm5pbmdMZXZlbD5M
ZXZlbDQ8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTAw
OzQxMjc7NDE4OTs0MjM5OzQyNDQ7NDI0NTs0NTEyOzQ3MDI7NDk5NjslKERpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+Ci0gICAgICA8RGVidWdJbmZvcm1h
dGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+Ci0gICAg
ICA8VHJlYXRXYXJuaW5nQXNFcnJvcj50cnVlPC9UcmVhdFdhcm5pbmdBc0Vycm9yPgotICAgIDwv
Q2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZDNk
OS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4K
LSAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT5saWJFR0wuZGVmPC9Nb2R1bGVEZWZpbml0aW9u
RmlsZT4KLSAgICAgIDxEZWxheUxvYWRETExzPiUoRGVsYXlMb2FkRExMcyk8L0RlbGF5TG9hZERM
THM+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJ
bmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgICAg
PE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8RW5h
YmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPERhdGFF
eGVjdXRpb25QcmV2ZW50aW9uPgotICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KLSAg
ICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5r
PgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiU0MGVjaG8gb24KLW1rZGly
ICIkKFByb2plY3REaXIpLi5cLi5cbGliXCQoQ29uZmlndXJhdGlvbilcIgotY29weSAiJChPdXRE
aXIpbGliRUdMLmRsbCIgIiQoUHJvamVjdERpcikuLlwuLlxsaWJcJChDb25maWd1cmF0aW9uKVwi
Ci1jb3B5ICIkKE91dERpcilsaWJFR0wubGliIiAiJChQcm9qZWN0RGlyKS4uXC4uXGxpYlwkKENv
bmZpZ3VyYXRpb24pXCIKLSU0MGVjaG8gb2ZmCi08L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRF
dmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iQ29uZmlnLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XENvbW1vblxkZWJ1Zy5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSJEaXNwbGF5LmNw
cCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9ImxpYkVHTC5jcHAiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSJtYWluLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9IlN1cmZh
Y2UuY3BwIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9IkNvbmZpZy5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iRGlzcGxheS5o
IiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5caW5jbHVkZVxFR0xcZWdsLmgiIC8+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxpbmNsdWRlXEVHTFxlZ2xleHQuaCIgLz4K
LSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXGluY2x1ZGVcRUdMXGVnbHBsYXRmb3JtLmgi
IC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSJtYWluLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSJyZXNvdXJjZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iU3VyZmFjZS5o
IiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY29tbW9uXHZlcnNpb24uaCIgLz4KLSAg
PC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0ibGliRUdMLmRl
ZiIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFJlc291cmNlQ29tcGls
ZSBJbmNsdWRlPSJsaWJFR0wucmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgot
ICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXGxpYkdMRVN2MlxsaWJHTEVTdjIudmN4
cHJvaiI+Ci0gICAgICA8UHJvamVjdD57YjU4NzFhN2EtOTY4Yy00MmUzLWEzM2ItOTgxZTZmNDQ4
ZTc4fTwvUHJvamVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gIDwvSXRlbUdyb3VwPgot
ICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRz
IiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgotICA8L0ltcG9y
dEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJFR0wvbGliRUdMLnZjeHByb2ouZmlsdGVycwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliRUdML2xpYkVHTC52
Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE2ODEwMykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJFR0wvbGliRUdMLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAt
MSw2OCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgot
PFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv
ZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWx0
ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPns0RkM3
MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9PC9VbmlxdWVJZGVudGlmaWVyPgotICAg
ICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXg8
L0V4dGVuc2lvbnM+Ci0gICAgPC9GaWx0ZXI+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJIZWFkZXIg
RmlsZXMiPgotICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezkzOTk1MzgwLTg5QkQtNGIwNC04OEVC
LTYyNUZCRTUyRUJGQn08L1VuaXF1ZUlkZW50aWZpZXI+Ci0gICAgICA8RXh0ZW5zaW9ucz5oO2hw
cDtoeHg7aG07aW5sO2luYzt4c2Q8L0V4dGVuc2lvbnM+Ci0gICAgPC9GaWx0ZXI+Ci0gIDwvSXRl
bUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iQ29uZmlnLmNw
cCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxl
PgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cQ29tbW9uXGRlYnVnLmNwcCI+Ci0gICAgICA8
RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iRGlzcGxheS5jcHAiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8
L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9ImxpYkVH
TC5jcHAiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29t
cGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Im1haW4uY3BwIj4KLSAgICAgIDxGaWx0ZXI+
U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSJTdXJmYWNlLmNwcCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVy
PgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9IkNvbmZpZy5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVz
PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSJEaXNw
bGF5LmgiPgotICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5j
bHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXGluY2x1ZGVcRUdMXGVnbC5oIj4K
LSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0g
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxpbmNsdWRlXEVHTFxlZ2xleHQuaCI+Ci0gICAg
ICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5caW5jbHVkZVxFR0xcZWdscGxhdGZvcm0uaCI+Ci0gICAg
ICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0ibWFpbi5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9G
aWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSJyZXNvdXJj
ZS5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1
ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSJTdXJmYWNlLmgiPgotICAgICAgPEZpbHRlcj5I
ZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGNvbW1vblx2ZXJzaW9uLmgiPgotICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8
L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+
Ci0gICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSJsaWJFR0wucmMiIC8+Ci0gIDwvSXRlbUdy
b3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9ImxpYkVHTC5kZWYiIC8+Ci0g
IDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvUHJvZ3JhbS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9Qcm9ncmFt
LmNwcAkocmV2aXNpb24gMTY4MTAzKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkdMRVN2Mi9Qcm9ncmFtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDcgKzExMiw3IEBACiAg
ICAgZWxzZQogICAgIHsKICAgICAgICAgc2l6ZV90IGN1cnJlbnRsb2dMZW5ndGggPSBzdHJsZW4o
bUluZm9Mb2cpOwotICAgICAgICBzaXplX3QgbmV3SW5mb0xvZ0xlbmd0aCA9IGN1cnJlbnRsb2dM
ZW5ndGggKyBpbmZvTGVuZ3RoICsgMjsgCisgICAgICAgIHNpemVfdCBuZXdJbmZvTG9nTGVuZ3Ro
ID0gY3VycmVudGxvZ0xlbmd0aCArIGluZm9MZW5ndGggKyAyOwogICAgICAgICBjaGFyICpuZXdM
b2cgPSBuZXcgY2hhcltuZXdJbmZvTG9nTGVuZ3RoXTsKICAgICAgICAgc3RybmNweShuZXdMb2cs
IG1JbmZvTG9nLCBuZXdJbmZvTG9nTGVuZ3RoKTsKICAgICAgICAgbmV3TG9nW25ld0luZm9Mb2dM
ZW5ndGggLSAxXSA9ICdcMCc7CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL2NvbnN0YW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvY29uc3RhbnRzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL2NvbnN0YW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDEgQEAKKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEFOR0xFIFByb2plY3Qg
QXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl
IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisvLyBDb250YW50cy5oOiBEZWZpbmVzIHNvbWUg
aW1wbGVtZW50YXRpb24gc3BlY2lmaWMgYW5kIGdsIGNvbnN0YW50cworCisjaWZuZGVmIExJQkdM
RVNWMl9DT05TVEFOVFNfSF8KKyNkZWZpbmUgTElCR0xFU1YyX0NPTlNUQU5UU19IXworCituYW1l
c3BhY2UgZ2wKK3sKKworZW51bQoreworICAgIE1BWF9WRVJURVhfQVRUUklCUyA9IDE2LAorICAg
IE1BWF9URVhUVVJFX0lNQUdFX1VOSVRTID0gMTYsCisKKyAgICAvLyBJbXBsZW1lbnRhdGlvbiB1
cHBlciBsaW1pdHMsIHJlYWwgbWF4aW11bXMgZGVwZW5kIG9uIHRoZSBoYXJkd2FyZQorICAgIElN
UExFTUVOVEFUSU9OX01BWF9WRVJURVhfVEVYVFVSRV9JTUFHRV9VTklUUyA9IDE2LAorICAgIElN
UExFTUVOVEFUSU9OX01BWF9DT01CSU5FRF9URVhUVVJFX0lNQUdFX1VOSVRTID0gTUFYX1RFWFRV
UkVfSU1BR0VfVU5JVFMgKyBJTVBMRU1FTlRBVElPTl9NQVhfVkVSVEVYX1RFWFRVUkVfSU1BR0Vf
VU5JVFMsICAgIAorCisgICAgSU1QTEVNRU5UQVRJT05fTUFYX1ZBUllJTkdfVkVDVE9SUyA9IDMy
LAorICAgIElNUExFTUVOVEFUSU9OX01BWF9EUkFXX0JVRkZFUlMgPSA4LAorCisgICAgSU1QTEVN
RU5UQVRJT05fTUFYX1ZFUlRFWF9TSEFERVJfVU5JRk9STV9CVUZGRVJTID0gMTYsCisgICAgSU1Q
TEVNRU5UQVRJT05fTUFYX0ZSQUdNRU5UX1NIQURFUl9VTklGT1JNX0JVRkZFUlMgPSAxNiwKKyAg
ICBJTVBMRU1FTlRBVElPTl9NQVhfQ09NQklORURfU0hBREVSX1VOSUZPUk1fQlVGRkVSUyA9IElN
UExFTUVOVEFUSU9OX01BWF9WRVJURVhfU0hBREVSX1VOSUZPUk1fQlVGRkVSUyArCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTVBMRU1F
TlRBVElPTl9NQVhfRlJBR01FTlRfU0hBREVSX1VOSUZPUk1fQlVGRkVSUywKKworICAgIElNUExF
TUVOVEFUSU9OX01BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSUyA9IDQsCit9OworCitjb25z
dCBmbG9hdCBBTElBU0VEX0xJTkVfV0lEVEhfUkFOR0VfTUlOID0gMS4wZjsKK2NvbnN0IGZsb2F0
IEFMSUFTRURfTElORV9XSURUSF9SQU5HRV9NQVggPSAxLjBmOworY29uc3QgZmxvYXQgQUxJQVNF
RF9QT0lOVF9TSVpFX1JBTkdFX01JTiA9IDEuMGY7CisKK30KKworI2VuZGlmIC8vIExJQkdMRVNW
Ml9DT05TVEFOVFNfSF8KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVT
djIvbWF0aHV0aWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliR0xFU3YyL21hdGh1dGlsLmgJKHJldmlzaW9uIDE2ODEwMykKKysrIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvbWF0aHV0aWwuaAkod29ya2luZyBjb3B5KQpAQCAtMSwx
NjAgKzAsMCBAQAotLy8KLS8vIENvcHlyaWdodCAoYykgMjAwMi0yMDEyIFRoZSBBTkdMRSBQcm9q
ZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLy8KLQotLy8gbWF0aHV0aWwuaDogTWF0aCBhbmQg
Yml0IG1hbmlwdWxhdGlvbiBmdW5jdGlvbnMuCi0KLSNpZm5kZWYgTElCR0xFU1YyX01BVEhVVElM
X0hfCi0jZGVmaW5lIExJQkdMRVNWMl9NQVRIVVRJTF9IXwotCi0jaW5jbHVkZSA8aW50cmluLmg+
Ci0KLSNpbmNsdWRlICJjb21tb24vZGVidWcuaCIKLQotbmFtZXNwYWNlIGdsCi17Ci1zdHJ1Y3Qg
VmVjdG9yNAotewotICAgIFZlY3RvcjQoKSB7fQotICAgIFZlY3RvcjQoZmxvYXQgeCwgZmxvYXQg
eSwgZmxvYXQgeiwgZmxvYXQgdykgOiB4KHgpLCB5KHkpLCB6KHopLCB3KHcpIHt9Ci0KLSAgICBm
bG9hdCB4OwotICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLSAgICBmbG9hdCB3OwotfTsKLQot
aW5saW5lIGJvb2wgaXNQb3cyKGludCB4KQotewotICAgIHJldHVybiAoeCAmICh4IC0gMSkpID09
IDAgJiYgKHggIT0gMCk7Ci19Ci0KLWlubGluZSBpbnQgbG9nMihpbnQgeCkKLXsKLSAgICBpbnQg
ciA9IDA7Ci0gICAgd2hpbGUgKCh4ID4+IHIpID4gMSkgcisrOwotICAgIHJldHVybiByOwotfQot
Ci1pbmxpbmUgdW5zaWduZWQgaW50IGNlaWxQb3cyKHVuc2lnbmVkIGludCB4KQotewotICAgIGlm
ICh4ICE9IDApIHgtLTsKLSAgICB4IHw9IHggPj4gMTsKLSAgICB4IHw9IHggPj4gMjsKLSAgICB4
IHw9IHggPj4gNDsKLSAgICB4IHw9IHggPj4gODsKLSAgICB4IHw9IHggPj4gMTY7Ci0gICAgeCsr
OwotCi0gICAgcmV0dXJuIHg7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1J
TiwgdHlwZW5hbWUgTUFYPgotaW5saW5lIFQgY2xhbXAoVCB4LCBNSU4gbWluLCBNQVggbWF4KQot
ewotICAgIC8vIFNpbmNlIE5hTnMgZmFpbCBhbGwgY29tcGFyaXNvbiB0ZXN0cywgYSBOYU4gdmFs
dWUgd2lsbCBkZWZhdWx0IHRvIG1pbgotICAgIHJldHVybiB4ID4gbWluID8gKHggPiBtYXggPyBt
YXggOiB4KSA6IG1pbjsKLX0KLQotaW5saW5lIGZsb2F0IGNsYW1wMDEoZmxvYXQgeCkKLXsKLSAg
ICByZXR1cm4gY2xhbXAoeCwgMC4wZiwgMS4wZik7Ci19Ci0KLXRlbXBsYXRlPGNvbnN0IGludCBu
PgotaW5saW5lIHVuc2lnbmVkIGludCB1bm9ybShmbG9hdCB4KQotewotICAgIGNvbnN0IHVuc2ln
bmVkIGludCBtYXggPSAweEZGRkZGRkZGID4+ICgzMiAtIG4pOwotCi0gICAgaWYgKHggPiAxKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1heDsKLSAgICB9Ci0gICAgZWxzZSBpZiAoeCA8IDApCi0g
ICAgewotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAg
cmV0dXJuICh1bnNpZ25lZCBpbnQpKG1heCAqIHggKyAwLjVmKTsKLSAgICB9Ci19Ci0KLWlubGlu
ZSBib29sIHN1cHBvcnRzU1NFMigpCi17Ci0gICAgc3RhdGljIGJvb2wgY2hlY2tlZCA9IGZhbHNl
OwotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzID0gZmFsc2U7Ci0KLSAgICBpZiAoY2hlY2tlZCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBzdXBwb3J0czsKLSAgICB9Ci0KLSAgICBpbnQgaW5mb1s0
XTsKLSAgICBfX2NwdWlkKGluZm8sIDApOwotICAgIAotICAgIGlmIChpbmZvWzBdID49IDEpCi0g
ICAgewotICAgICAgICBfX2NwdWlkKGluZm8sIDEpOwotCi0gICAgICAgIHN1cHBvcnRzID0gKGlu
Zm9bM10gPj4gMjYpICYgMTsKLSAgICB9Ci0KLSAgICBjaGVja2VkID0gdHJ1ZTsKLQotICAgIHJl
dHVybiBzdXBwb3J0czsKLX0KLQotaW5saW5lIHVuc2lnbmVkIHNob3J0IGZsb2F0MzJUb0Zsb2F0
MTYoZmxvYXQgZnAzMikKLXsKLSAgICB1bnNpZ25lZCBpbnQgZnAzMmkgPSAodW5zaWduZWQgaW50
JilmcDMyOwotICAgIHVuc2lnbmVkIGludCBzaWduID0gKGZwMzJpICYgMHg4MDAwMDAwMCkgPj4g
MTY7Ci0gICAgdW5zaWduZWQgaW50IGFicyA9IGZwMzJpICYgMHg3RkZGRkZGRjsKLQotICAgIGlm
KGFicyA+IDB4NDdGRkVGRkYpICAgLy8gSW5maW5pdHkKLSAgICB7Ci0gICAgICAgIHJldHVybiBz
aWduIHwgMHg3RkZGOwotICAgIH0KLSAgICBlbHNlIGlmKGFicyA8IDB4Mzg4MDAwMDApICAgLy8g
RGVub3JtYWwKLSAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGludCBtYW50aXNzYSA9IChhYnMgJiAw
eDAwN0ZGRkZGKSB8IDB4MDA4MDAwMDA7ICAgCi0gICAgICAgIGludCBlID0gMTEzIC0gKGFicyA+
PiAyMyk7Ci0KLSAgICAgICAgaWYoZSA8IDI0KQotICAgICAgICB7Ci0gICAgICAgICAgICBhYnMg
PSBtYW50aXNzYSA+PiBlOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgewotICAg
ICAgICAgICAgYWJzID0gMDsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBzaWduIHwgKGFi
cyArIDB4MDAwMDBGRkYgKyAoKGFicyA+PiAxMykgJiAxKSkgPj4gMTM7Ci0gICAgfQotICAgIGVs
c2UKLSAgICB7Ci0gICAgICAgIHJldHVybiBzaWduIHwgKGFicyArIDB4QzgwMDAwMDAgKyAweDAw
MDAwRkZGICsgKChhYnMgPj4gMTMpICYgMSkpID4+IDEzOwotICAgIH0KLX0KLQotZmxvYXQgZmxv
YXQxNlRvRmxvYXQzMih1bnNpZ25lZCBzaG9ydCBoKTsKLQotfQotCi1uYW1lc3BhY2UgcngKLXsK
LQotc3RydWN0IFJhbmdlCi17Ci0gICAgUmFuZ2UoKSB7fQotICAgIFJhbmdlKGludCBsbywgaW50
IGhpKSA6IHN0YXJ0KGxvKSwgZW5kKGhpKSB7IEFTU0VSVChsbyA8PSBoaSk7IH0KLQotICAgIGlu
dCBzdGFydDsKLSAgICBpbnQgZW5kOwotfTsKLQotfQotCi0jZW5kaWYgICAvLyBMSUJHTEVTVjJf
TUFUSFVUSUxfSF8KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
cmVuZGVyZXIvSW1hZ2VTU0UyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL0ltYWdlU1NFMi5jcHAJKHJldmlzaW9uIDE2ODEw
MykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvSW1h
Z2VTU0UyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxMDAgKzAsMCBAQAotI2luY2x1ZGUgInBy
ZWNvbXBpbGVkLmgiCi0vLwotLy8gQ29weXJpZ2h0IChjKSAyMDAyLTIwMTIgVGhlIEFOR0xFIFBy
b2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8v
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vLwotCi0vLyBJbWFnZVNTRTIuY3BwOiBJbXBs
ZW1lbnRzIFNTRTItYmFzZWQgZnVuY3Rpb25zIG9mIHJ4OjpJbWFnZSBjbGFzcy4gSXQncwotLy8g
aW4gYSBzZXBhcmF0ZWQgZmlsZSBmb3IgR0NDLCB3aGljaCBjYW4gZW5hYmxlIFNTRSB1c2FnZSBv
bmx5IHBlci1maWxlLAotLy8gbm90IGZvciBjb2RlIGJsb2NrcyB0aGF0IHVzZSBTU0UyIGV4cGxp
Y2l0bHkuCi0KLSNpbmNsdWRlICJsaWJHTEVTdjIvVGV4dHVyZS5oIgotI2luY2x1ZGUgImxpYkdM
RVN2Mi9yZW5kZXJlci9JbWFnZS5oIgotCi1uYW1lc3BhY2UgcngKLXsKLQotdm9pZCBJbWFnZTo6
bG9hZFJHQkFVQnl0ZURhdGFUb0JHUkFTU0UyKEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnB1dFBpdGNo
LCBjb25zdCB2b2lkICppbnB1dCwgc2l6ZV90IG91dHB1dFBpdGNoLCB2b2lkICpvdXRwdXQpCi17
Ci0gICAgY29uc3QgdW5zaWduZWQgaW50ICpzb3VyY2UgPSBOVUxMOwotICAgIHVuc2lnbmVkIGlu
dCAqZGVzdCA9IE5VTEw7Ci0gICAgX19tMTI4aSBick1hc2sgPSBfbW1fc2V0MV9lcGkzMigweDAw
ZmYwMGZmKTsKLQotICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCi0gICAgewot
ICAgICAgICBzb3VyY2UgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGludCo+KHN0
YXRpY19jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPihpbnB1dCkgKyB5ICogaW5wdXRQaXRjaCk7
Ci0gICAgICAgIGRlc3QgPSByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGludCo+KHN0YXRpY19j
YXN0PHVuc2lnbmVkIGNoYXIqPihvdXRwdXQpICsgeSAqIG91dHB1dFBpdGNoKTsKLSAgICAgICAg
aW50IHggPSAwOwotCi0gICAgICAgIC8vIE1ha2Ugb3V0cHV0IHdyaXRlcyBhbGlnbmVkCi0gICAg
ICAgIGZvciAoeCA9IDA7ICgocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oJmRlc3RbeF0pICYg
MTUpICE9IDApICYmIHggPCB3aWR0aDsgeCsrKQotICAgICAgICB7Ci0gICAgICAgICAgICB1bnNp
Z25lZCBpbnQgcmdiYSA9IHNvdXJjZVt4XTsKLSAgICAgICAgICAgIGRlc3RbeF0gPSAoX3JvdGwo
cmdiYSwgMTYpICYgMHgwMGZmMDBmZikgfCAocmdiYSAmIDB4ZmYwMGZmMDApOwotICAgICAgICB9
Ci0KLSAgICAgICAgZm9yICg7IHggKyAzIDwgd2lkdGg7IHggKz0gNCkKLSAgICAgICAgewotICAg
ICAgICAgICAgX19tMTI4aSBzb3VyY2VEYXRhID0gX21tX2xvYWR1X3NpMTI4KHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgX19tMTI4aSo+KCZzb3VyY2VbeF0pKTsKLSAgICAgICAgICAgIC8vIE1hc2sg
b3V0IGcgYW5kIGEsIHdoaWNoIGRvbid0IGNoYW5nZQotICAgICAgICAgICAgX19tMTI4aSBnYUNv
bXBvbmVudHMgPSBfbW1fYW5kbm90X3NpMTI4KGJyTWFzaywgc291cmNlRGF0YSk7Ci0gICAgICAg
ICAgICAvLyBNYXNrIG91dCBiIGFuZCByCi0gICAgICAgICAgICBfX20xMjhpIGJyQ29tcG9uZW50
cyA9IF9tbV9hbmRfc2kxMjgoc291cmNlRGF0YSwgYnJNYXNrKTsKLSAgICAgICAgICAgIC8vIFN3
YXAgYiBhbmQgcgotICAgICAgICAgICAgX19tMTI4aSBiclN3YXBwZWQgPSBfbW1fc2h1ZmZsZWhp
X2VwaTE2KF9tbV9zaHVmZmxlbG9fZXBpMTYoYnJDb21wb25lbnRzLCBfTU1fU0hVRkZMRSgyLCAz
LCAwLCAxKSksIF9NTV9TSFVGRkxFKDIsIDMsIDAsIDEpKTsKLSAgICAgICAgICAgIF9fbTEyOGkg
cmVzdWx0ID0gX21tX29yX3NpMTI4KGdhQ29tcG9uZW50cywgYnJTd2FwcGVkKTsKLSAgICAgICAg
ICAgIF9tbV9zdG9yZV9zaTEyOChyZWludGVycHJldF9jYXN0PF9fbTEyOGkqPigmZGVzdFt4XSks
IHJlc3VsdCk7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBQZXJmb3JtIGxlZnRvdmVyIHdyaXRl
cwotICAgICAgICBmb3IgKDsgeCA8IHdpZHRoOyB4KyspCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHVuc2lnbmVkIGludCByZ2JhID0gc291cmNlW3hdOwotICAgICAgICAgICAgZGVzdFt4XSA9IChf
cm90bChyZ2JhLCAxNikgJiAweDAwZmYwMGZmKSB8IChyZ2JhICYgMHhmZjAwZmYwMCk7Ci0gICAg
ICAgIH0KLSAgICB9Ci19Ci0KLXZvaWQgSW1hZ2U6OmxvYWRBbHBoYURhdGFUb0JHUkFTU0UyKEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGlucHV0UGl0Y2gsIGNvbnN0IHZvaWQgKmlucHV0LCBzaXplX3Qgb3V0cHV0
UGl0Y2gsIHZvaWQgKm91dHB1dCkKLXsKLSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzb3VyY2Ug
PSBOVUxMOwotICAgIHVuc2lnbmVkIGludCAqZGVzdCA9IE5VTEw7Ci0gICAgX19tMTI4aSB6ZXJv
V2lkZSA9IF9tbV9zZXR6ZXJvX3NpMTI4KCk7Ci0KLSAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhl
aWdodDsgeSsrKQotICAgIHsKLSAgICAgICAgc291cmNlID0gc3RhdGljX2Nhc3Q8Y29uc3QgdW5z
aWduZWQgY2hhcio+KGlucHV0KSArIHkgKiBpbnB1dFBpdGNoOwotICAgICAgICBkZXN0ID0gcmVp
bnRlcnByZXRfY2FzdDx1bnNpZ25lZCBpbnQqPihzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyKj4o
b3V0cHV0KSArIHkgKiBvdXRwdXRQaXRjaCk7Ci0KLSAgICAgICAgaW50IHg7Ci0gICAgICAgIC8v
IE1ha2Ugb3V0cHV0IHdyaXRlcyBhbGlnbmVkCi0gICAgICAgIGZvciAoeCA9IDA7ICgocmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4oJmRlc3RbeF0pICYgMHhGKSAhPSAwICYmIHggPCB3aWR0aCk7
IHgrKykKLSAgICAgICAgewotICAgICAgICAgICAgZGVzdFt4XSA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkIGludD4oc291cmNlW3hdKSA8PCAyNDsKLSAgICAgICAgfQotCi0gICAgICAgIGZvciAoOyB4
ICsgNyA8IHdpZHRoOyB4ICs9IDgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIF9fbTEyOGkgc291
cmNlRGF0YSA9IF9tbV9sb2FkbF9lcGk2NChyZWludGVycHJldF9jYXN0PGNvbnN0IF9fbTEyOGkq
Pigmc291cmNlW3hdKSk7Ci0gICAgICAgICAgICAvLyBJbnRlcmxlYXZlIGVhY2ggYnl0ZSB0byAx
NmJpdCwgbWFrZSB0aGUgbG93ZXIgYnl0ZSB0byB6ZXJvCi0gICAgICAgICAgICBzb3VyY2VEYXRh
ID0gX21tX3VucGFja2xvX2VwaTgoemVyb1dpZGUsIHNvdXJjZURhdGEpOwotICAgICAgICAgICAg
Ly8gSW50ZXJsZWF2ZSBlYWNoIDE2Yml0IHRvIDMyYml0LCBtYWtlIHRoZSBsb3dlciAxNmJpdCB0
byB6ZXJvCi0gICAgICAgICAgICBfX20xMjhpIGxvID0gX21tX3VucGFja2xvX2VwaTE2KHplcm9X
aWRlLCBzb3VyY2VEYXRhKTsKLSAgICAgICAgICAgIF9fbTEyOGkgaGkgPSBfbW1fdW5wYWNraGlf
ZXBpMTYoemVyb1dpZGUsIHNvdXJjZURhdGEpOwotCi0gICAgICAgICAgICBfbW1fc3RvcmVfc2kx
MjgocmVpbnRlcnByZXRfY2FzdDxfX20xMjhpKj4oJmRlc3RbeF0pLCBsbyk7Ci0gICAgICAgICAg
ICBfbW1fc3RvcmVfc2kxMjgocmVpbnRlcnByZXRfY2FzdDxfX20xMjhpKj4oJmRlc3RbeCArIDRd
KSwgaGkpOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gSGFuZGxlIHRoZSByZW1haW5kZXIKLSAg
ICAgICAgZm9yICg7IHggPCB3aWR0aDsgeCsrKQotICAgICAgICB7Ci0gICAgICAgICAgICBkZXN0
W3hdID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50Pihzb3VyY2VbeF0pIDw8IDI0OwotICAgICAg
ICB9Ci0gICAgfQotfQotCi19CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL3JlbmRlcmVyL1NoYWRlckNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9TaGFkZXJDYWNoZS5oCShyZXZpc2lv
biAxNjgxMDMpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL1NoYWRlckNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEwICswLDAgQEAKLS8vCi0v
LyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCi0vLwotCi0vLyBTaGFkZXJDYWNoZTogRGVmaW5lcyByeDo6U2hhZGVyQ2FjaGUsIGEgY2Fj
aGUgb2YgRGlyZWN0M0Qgc2hhZGVyIG9iamVjdHMKLS8vIGtleWVkIGJ5IHRoZWlyIGJ5dGUgY29k
ZS4KLQotI2lmbmRlZiBMSUJHTEVTVjJfUkVOREVSRVJfU0hBREVSX0NBQ0hFX0hfCi0jZGVmaW5l
IExJQkdMRVNWMl9SRU5ERVJFUl9TSEFERVJfQ0FDSEVfSF8KLQotI2luY2x1ZGUgImNvbW1vbi9k
ZWJ1Zy5oIgotCi1uYW1lc3BhY2UgcngKLXsKLXRlbXBsYXRlIDx0eXBlbmFtZSBTaGFkZXJPYmpl
Y3Q+Ci1jbGFzcyBTaGFkZXJDYWNoZQotewotICBwdWJsaWM6Ci0gICAgU2hhZGVyQ2FjaGUoKSA6
IG1EZXZpY2UoTlVMTCkKLSAgICB7Ci0gICAgfQotCi0gICAgflNoYWRlckNhY2hlKCkKLSAgICB7
Ci0gICAgICAgIC8vIENhbGwgY2xlYXIgd2hpbGUgdGhlIGRldmljZSBpcyBzdGlsbCB2YWxpZC4K
LSAgICAgICAgQVNTRVJUKG1NYXAuZW1wdHkoKSk7Ci0gICAgfQotCi0gICAgdm9pZCBpbml0aWFs
aXplKElEaXJlY3QzRERldmljZTkqIGRldmljZSkKLSAgICB7Ci0gICAgICAgIG1EZXZpY2UgPSBk
ZXZpY2U7Ci0gICAgfQotCi0gICAgU2hhZGVyT2JqZWN0ICpjcmVhdGUoY29uc3QgRFdPUkQgKmZ1
bmN0aW9uLCBzaXplX3QgbGVuZ3RoKQotICAgIHsKLSAgICAgICAgc3RkOjpzdHJpbmcga2V5KHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGZ1bmN0aW9uKSwgbGVuZ3RoKTsKLSAgICAgICAg
dHlwZW5hbWUgTWFwOjppdGVyYXRvciBpdCA9IG1NYXAuZmluZChrZXkpOwotICAgICAgICBpZiAo
aXQgIT0gbU1hcC5lbmQoKSkKLSAgICAgICAgewotICAgICAgICAgICAgaXQtPnNlY29uZC0+QWRk
UmVmKCk7Ci0gICAgICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKLSAgICAgICAgfQotCi0gICAg
ICAgIFNoYWRlck9iamVjdCAqc2hhZGVyOwotICAgICAgICBIUkVTVUxUIHJlc3VsdCA9IGNyZWF0
ZVNoYWRlcihmdW5jdGlvbiwgJnNoYWRlcik7Ci0gICAgICAgIGlmIChGQUlMRUQocmVzdWx0KSkK
LSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLQotICAgICAg
ICAvLyBSYW5kb20gZXZpY3Rpb24gcG9saWN5LgotICAgICAgICBpZiAobU1hcC5zaXplKCkgPj0g
a01heE1hcFNpemUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIG1NYXAuYmVnaW4oKS0+c2Vjb25k
LT5SZWxlYXNlKCk7Ci0gICAgICAgICAgICBtTWFwLmVyYXNlKG1NYXAuYmVnaW4oKSk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBzaGFkZXItPkFkZFJlZigpOwotICAgICAgICBtTWFwW2tleV0gPSBz
aGFkZXI7Ci0KLSAgICAgICAgcmV0dXJuIHNoYWRlcjsKLSAgICB9Ci0KLSAgICB2b2lkIGNsZWFy
KCkKLSAgICB7Ci0gICAgICAgIGZvciAodHlwZW5hbWUgTWFwOjppdGVyYXRvciBpdCA9IG1NYXAu
YmVnaW4oKTsgaXQgIT0gbU1hcC5lbmQoKTsgKytpdCkKLSAgICAgICAgewotICAgICAgICAgICAg
aXQtPnNlY29uZC0+UmVsZWFzZSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgbU1hcC5jbGVhcigp
OwotICAgIH0KLQotICBwcml2YXRlOgotICAgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTaGFk
ZXJDYWNoZSk7Ci0KLSAgICBjb25zdCBzdGF0aWMgc2l6ZV90IGtNYXhNYXBTaXplID0gMTAwOwot
Ci0gICAgSFJFU1VMVCBjcmVhdGVTaGFkZXIoY29uc3QgRFdPUkQgKmZ1bmN0aW9uLCBJRGlyZWN0
M0RWZXJ0ZXhTaGFkZXI5ICoqc2hhZGVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1EZXZpY2Ut
PkNyZWF0ZVZlcnRleFNoYWRlcihmdW5jdGlvbiwgc2hhZGVyKTsKLSAgICB9Ci0KLSAgICBIUkVT
VUxUIGNyZWF0ZVNoYWRlcihjb25zdCBEV09SRCAqZnVuY3Rpb24sIElEaXJlY3QzRFBpeGVsU2hh
ZGVyOSAqKnNoYWRlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBtRGV2aWNlLT5DcmVhdGVQaXhl
bFNoYWRlcihmdW5jdGlvbiwgc2hhZGVyKTsKLSAgICB9Ci0KLSNpZm5kZWYgSEFTSF9NQVAKLSMg
aWZkZWYgX01TQ19WRVIKLSMgIGRlZmluZSBIQVNIX01BUCBzdGRleHQ6Omhhc2hfbWFwCi0jIGVs
c2UKLSMgIGRlZmluZSBIQVNIX01BUCBzdGQ6OnVub3JkZXJlZF9tYXAKLSMgZW5kaWYKLSNlbmRp
ZgotCi0gICAgdHlwZWRlZiBIQVNIX01BUDxzdGQ6OnN0cmluZywgU2hhZGVyT2JqZWN0Kj4gTWFw
OwotICAgIE1hcCBtTWFwOwotCi0gICAgSURpcmVjdDNERGV2aWNlOSAqbURldmljZTsKLX07Ci0K
LXR5cGVkZWYgU2hhZGVyQ2FjaGU8SURpcmVjdDNEVmVydGV4U2hhZGVyOT4gVmVydGV4U2hhZGVy
Q2FjaGU7Ci10eXBlZGVmIFNoYWRlckNhY2hlPElEaXJlY3QzRFBpeGVsU2hhZGVyOT4gUGl4ZWxT
aGFkZXJDYWNoZTsKLQotfQotCi0jZW5kaWYgICAvLyBMSUJHTEVTVjJfUkVOREVSRVJfU0hBREVS
X0NBQ0hFX0hfCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL0JsaXQxMS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9CbGl0MTEuY3BwCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2Qx
MS9CbGl0MTEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA0MCBAQAorI2luY2x1ZGUg
InByZWNvbXBpbGVkLmgiCisvLworLy8gQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBBTkdMRSBQcm9q
ZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKworLy8gQmxpdDExLmNwcDogVGV4dHVyZSBj
b3B5IHV0aWxpdHkgY2xhc3MuCisKKyNpbmNsdWRlICJsaWJHTEVTdjIvbWFpbi5oIgorI2luY2x1
ZGUgImxpYkdMRVN2Mi9mb3JtYXR1dGlscy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJl
ci9kM2QxMS9CbGl0MTEuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvUmVu
ZGVyZXIxMS5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9yZW5kZXJlcjEx
X3V0aWxzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL2Zvcm1hdHV0aWxz
MTEuaCIKKworI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBp
bGVkL3Bhc3N0aHJvdWdoMmQxMXZzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hkZXB0aDJkMTFwcy5oIgorI2luY2x1ZGUg
ImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdi
YTJkMTFwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2Nv
bXBpbGVkL3Bhc3N0aHJvdWdocmdiYTJkdWkxMXBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2JhMmRpMTFwcy5oIgor
I2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0
aHJvdWdocmdiMmQxMXBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3No
YWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2IyZHVpMTFwcy5oIgorI2luY2x1ZGUgImxpYkdM
RVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiMmRpMTFw
cy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVk
L3Bhc3N0aHJvdWdocmcyZDExcHMuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNk
MTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnMmR1aTExcHMuaCIKKyNpbmNsdWRlICJs
aWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnMmRp
MTFwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBp
bGVkL3Bhc3N0aHJvdWdocjJkMTFwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9k
M2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocjJkdWkxMXBzLmgiCisjaW5jbHVkZSAi
bGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyMmRp
MTFwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBp
bGVkL3Bhc3N0aHJvdWdobHVtMmQxMXBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVy
L2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hsdW1hbHBoYTJkMTFwcy5oIgorCisj
aW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Ro
cm91Z2gzZDExdnMuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9jb21waWxlZC9wYXNzdGhyb3VnaDNkMTFncy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5k
ZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiYTNkMTFwcy5oIgorI2lu
Y2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJv
dWdocmdiYTNkdWkxMXBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3No
YWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2JhM2RpMTFwcy5oIgorI2luY2x1ZGUgImxpYkdM
RVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiM2QxMXBz
LmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQv
cGFzc3Rocm91Z2hyZ2IzZHVpMTFwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9k
M2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiM2RpMTFwcy5oIgorI2luY2x1ZGUg
ImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmcz
ZDExcHMuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21w
aWxlZC9wYXNzdGhyb3VnaHJnM2R1aTExcHMuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVy
ZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnM2RpMTFwcy5oIgorI2luY2x1
ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdo
cjNkMTFwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2Nv
bXBpbGVkL3Bhc3N0aHJvdWdocjNkdWkxMXBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyM2RpMTFwcy5oIgorI2luY2x1
ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdo
bHVtM2QxMXBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMv
Y29tcGlsZWQvcGFzc3Rocm91Z2hsdW1hbHBoYTNkMTFwcy5oIgorCisjaW5jbHVkZSAibGliR0xF
U3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWYyZHBzLmgiCisjaW5j
bHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWky
ZHBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGls
ZWQvc3dpenpsZXVpMmRwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9z
aGFkZXJzL2NvbXBpbGVkL3N3aXp6bGVmM2Rwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5k
ZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGVpM2Rwcy5oIgorI2luY2x1ZGUgImxp
YkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGV1aTNkcHMuaCIK
KyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9zd2l6
emxlZjJkYXJyYXlwcy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFk
ZXJzL2NvbXBpbGVkL3N3aXp6bGVpMmRhcnJheXBzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZXVpMmRhcnJheXBzLmgiCisKK25h
bWVzcGFjZSByeAoreworCitzdGF0aWMgRFhHSV9GT1JNQVQgR2V0VGV4dHVyZUZvcm1hdChJRDNE
MTFSZXNvdXJjZSAqcmVzb3VyY2UpCit7CisgICAgSUQzRDExVGV4dHVyZTJEICp0ZXh0dXJlID0g
ZDNkMTE6OkR5bmFtaWNDYXN0Q29tT2JqZWN0PElEM0QxMVRleHR1cmUyRD4ocmVzb3VyY2UpOwor
ICAgIGlmICghdGV4dHVyZSkKKyAgICB7CisgICAgICAgIHJldHVybiBEWEdJX0ZPUk1BVF9VTktO
T1dOOworICAgIH0KKworICAgIEQzRDExX1RFWFRVUkUyRF9ERVNDIGRlc2M7CisgICAgdGV4dHVy
ZS0+R2V0RGVzYygmZGVzYyk7CisKKyAgICBTYWZlUmVsZWFzZSh0ZXh0dXJlKTsKKworICAgIHJl
dHVybiBkZXNjLkZvcm1hdDsKK30KKworc3RhdGljIElEM0QxMVJlc291cmNlICpDcmVhdGVTdGFn
aW5nVGV4dHVyZShJRDNEMTFEZXZpY2UgKmRldmljZSwgSUQzRDExRGV2aWNlQ29udGV4dCAqY29u
dGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUQzRDEx
UmVzb3VyY2UgKnNvdXJjZSwgdW5zaWduZWQgaW50IHN1YnJlc291cmNlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6RXh0ZW50cyAmc2l6ZSwg
dW5zaWduZWQgaW50IGNwdUFjY2Vzc0ZsYWdzKQoreworICAgIEQzRDExX1RFWFRVUkUyRF9ERVND
IHN0YWdpbmdEZXNjOworICAgIHN0YWdpbmdEZXNjLldpZHRoID0gc2l6ZS53aWR0aDsKKyAgICBz
dGFnaW5nRGVzYy5IZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICBzdGFnaW5nRGVzYy5NaXBMZXZl
bHMgPSAxOworICAgIHN0YWdpbmdEZXNjLkFycmF5U2l6ZSA9IDE7CisgICAgc3RhZ2luZ0Rlc2Mu
Rm9ybWF0ID0gR2V0VGV4dHVyZUZvcm1hdChzb3VyY2UpOworICAgIHN0YWdpbmdEZXNjLlNhbXBs
ZURlc2MuQ291bnQgPSAxOworICAgIHN0YWdpbmdEZXNjLlNhbXBsZURlc2MuUXVhbGl0eSA9IDA7
CisgICAgc3RhZ2luZ0Rlc2MuVXNhZ2UgPSBEM0QxMV9VU0FHRV9TVEFHSU5HOworICAgIHN0YWdp
bmdEZXNjLkNQVUFjY2Vzc0ZsYWdzID0gY3B1QWNjZXNzRmxhZ3M7CisgICAgc3RhZ2luZ0Rlc2Mu
TWlzY0ZsYWdzID0gMDsKKyAgICBzdGFnaW5nRGVzYy5CaW5kRmxhZ3MgPSAwOworCisgICAgSUQz
RDExVGV4dHVyZTJEICpzdGFnaW5nVGV4dHVyZSA9IE5VTEw7CisgICAgSFJFU1VMVCByZXN1bHQg
PSBkZXZpY2UtPkNyZWF0ZVRleHR1cmUyRCgmc3RhZ2luZ0Rlc2MsIE5VTEwsICZzdGFnaW5nVGV4
dHVyZSk7CisgICAgaWYgKEZBSUxFRChyZXN1bHQpKQorICAgIHsKKyAgICAgICAgRVJSKCJGYWls
ZWQgdG8gY3JlYXRlIHN0YWdpbmcgdGV4dHVyZSBmb3IgZGVwdGggc3RlbmNpbCBibGl0LiBIUkVT
VUxUOiAweCVYLiIsIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAg
IGNvbnRleHQtPkNvcHlTdWJyZXNvdXJjZVJlZ2lvbihzdGFnaW5nVGV4dHVyZSwgMCwgMCwgMCwg
MCwgc291cmNlLCBzdWJyZXNvdXJjZSwgTlVMTCk7CisKKyAgICByZXR1cm4gc3RhZ2luZ1RleHR1
cmU7Cit9CisKK2lubGluZSBzdGF0aWMgdm9pZCBHZW5lcmF0ZVZlcnRleENvb3Jkcyhjb25zdCBn
bDo6Qm94ICZzb3VyY2VBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmc291cmNlU2l6ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6Qm94ICZkZXN0QXJl
YSwgY29uc3QgZ2w6OkV4dGVudHMgJmRlc3RTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZsb2F0ICp4MSwgZmxvYXQgKnkxLCBmbG9hdCAqeDIsIGZsb2F0ICp5
MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCAqdTEsIGZs
b2F0ICp2MSwgZmxvYXQgKnUyLCBmbG9hdCAqdjIpCit7CisgICAgKngxID0gKGRlc3RBcmVhLngg
LyBmbG9hdChkZXN0U2l6ZS53aWR0aCkpICogMi4wZiAtIDEuMGY7CisgICAgKnkxID0gKChkZXN0
U2l6ZS5oZWlnaHQgLSBkZXN0QXJlYS55IC0gZGVzdEFyZWEuaGVpZ2h0KSAvIGZsb2F0KGRlc3RT
aXplLmhlaWdodCkpICogMi4wZiAtIDEuMGY7CisgICAgKngyID0gKChkZXN0QXJlYS54ICsgZGVz
dEFyZWEud2lkdGgpIC8gZmxvYXQoZGVzdFNpemUud2lkdGgpKSAqIDIuMGYgLSAxLjBmOworICAg
ICp5MiA9ICgoZGVzdFNpemUuaGVpZ2h0IC0gZGVzdEFyZWEueSkgLyBmbG9hdChkZXN0U2l6ZS5o
ZWlnaHQpKSAqIDIuMGYgLSAxLjBmOworCisgICAgKnUxID0gc291cmNlQXJlYS54IC8gZmxvYXQo
c291cmNlU2l6ZS53aWR0aCk7CisgICAgKnYxID0gc291cmNlQXJlYS55IC8gZmxvYXQoc291cmNl
U2l6ZS5oZWlnaHQpOworICAgICp1MiA9IChzb3VyY2VBcmVhLnggKyBzb3VyY2VBcmVhLndpZHRo
KSAvIGZsb2F0KHNvdXJjZVNpemUud2lkdGgpOworICAgICp2MiA9IChzb3VyY2VBcmVhLnkgKyBz
b3VyY2VBcmVhLmhlaWdodCkgLyBmbG9hdChzb3VyY2VTaXplLmhlaWdodCk7Cit9CisKK3N0YXRp
YyB2b2lkIFdyaXRlMkRWZXJ0aWNlcyhjb25zdCBnbDo6Qm94ICZzb3VyY2VBcmVhLCBjb25zdCBn
bDo6RXh0ZW50cyAmc291cmNlU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnbDo6Qm94ICZkZXN0QXJlYSwgY29uc3QgZ2w6OkV4dGVudHMgJmRlc3RTaXplLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dFZlcnRpY2VzLCB1bnNpZ25lZCBpbnQgKm91
dFN0cmlkZSwgdW5zaWduZWQgaW50ICpvdXRWZXJ0ZXhDb3VudCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBEM0QxMV9QUklNSVRJVkVfVE9QT0xPR1kgKm91dFRvcG9sb2d5KQoreworICAg
IGZsb2F0IHgxLCB5MSwgeDIsIHkyLCB1MSwgdjEsIHUyLCB2MjsKKyAgICBHZW5lcmF0ZVZlcnRl
eENvb3Jkcyhzb3VyY2VBcmVhLCBzb3VyY2VTaXplLCBkZXN0QXJlYSwgZGVzdFNpemUsICZ4MSwg
JnkxLCAmeDIsICZ5MiwgJnUxLCAmdjEsICZ1MiwgJnYyKTsKKworICAgIGQzZDExOjpQb3NpdGlv
blRleENvb3JkVmVydGV4ICp2ZXJ0aWNlcyA9IHN0YXRpY19jYXN0PGQzZDExOjpQb3NpdGlvblRl
eENvb3JkVmVydGV4Kj4ob3V0VmVydGljZXMpOworCisgICAgZDNkMTE6OlNldFBvc2l0aW9uVGV4
Q29vcmRWZXJ0ZXgoJnZlcnRpY2VzWzBdLCB4MSwgeTEsIHUxLCB2Mik7CisgICAgZDNkMTE6OlNl
dFBvc2l0aW9uVGV4Q29vcmRWZXJ0ZXgoJnZlcnRpY2VzWzFdLCB4MSwgeTIsIHUxLCB2MSk7Cisg
ICAgZDNkMTE6OlNldFBvc2l0aW9uVGV4Q29vcmRWZXJ0ZXgoJnZlcnRpY2VzWzJdLCB4MiwgeTEs
IHUyLCB2Mik7CisgICAgZDNkMTE6OlNldFBvc2l0aW9uVGV4Q29vcmRWZXJ0ZXgoJnZlcnRpY2Vz
WzNdLCB4MiwgeTIsIHUyLCB2MSk7CisKKyAgICAqb3V0U3RyaWRlID0gc2l6ZW9mKGQzZDExOjpQ
b3NpdGlvblRleENvb3JkVmVydGV4KTsKKyAgICAqb3V0VmVydGV4Q291bnQgPSA0OworICAgICpv
dXRUb3BvbG9neSA9IEQzRF9QUklNSVRJVkVfVE9QT0xPR1lfVFJJQU5HTEVTVFJJUDsKK30KKwor
c3RhdGljIHZvaWQgV3JpdGUzRFZlcnRpY2VzKGNvbnN0IGdsOjpCb3ggJnNvdXJjZUFyZWEsIGNv
bnN0IGdsOjpFeHRlbnRzICZzb3VyY2VTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdsOjpCb3ggJmRlc3RBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmZGVzdFNpemUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0VmVydGljZXMsIHVuc2lnbmVkIGlu
dCAqb3V0U3RyaWRlLCB1bnNpZ25lZCBpbnQgKm91dFZlcnRleENvdW50LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEQzRDExX1BSSU1JVElWRV9UT1BPTE9HWSAqb3V0VG9wb2xvZ3kpCit7
CisgICAgQVNTRVJUKHNvdXJjZVNpemUuZGVwdGggPiAwICYmIGRlc3RTaXplLmRlcHRoID4gMCk7
CisKKyAgICBmbG9hdCB4MSwgeTEsIHgyLCB5MiwgdTEsIHYxLCB1MiwgdjI7CisgICAgR2VuZXJh
dGVWZXJ0ZXhDb29yZHMoc291cmNlQXJlYSwgc291cmNlU2l6ZSwgZGVzdEFyZWEsIGRlc3RTaXpl
LCAmeDEsICZ5MSwgJngyLCAmeTIsICZ1MSwgJnYxLCAmdTIsICZ2Mik7CisKKyAgICBkM2QxMTo6
UG9zaXRpb25MYXllclRleENvb3JkM0RWZXJ0ZXggKnZlcnRpY2VzID0gc3RhdGljX2Nhc3Q8ZDNk
MTE6OlBvc2l0aW9uTGF5ZXJUZXhDb29yZDNEVmVydGV4Kj4ob3V0VmVydGljZXMpOworCisgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBkZXN0U2l6ZS5kZXB0aDsgaSsrKQorICAgIHsKKyAgICAgICAg
ZmxvYXQgcmVhZERlcHRoID0gKGZsb2F0KWkgLyBzdGQ6Om1heChkZXN0U2l6ZS5kZXB0aCAtIDEs
IDEpOworCisgICAgICAgIGQzZDExOjpTZXRQb3NpdGlvbkxheWVyVGV4Q29vcmQzRFZlcnRleCgm
dmVydGljZXNbaSAqIDYgKyAwXSwgeDEsIHkxLCBpLCB1MSwgdjIsIHJlYWREZXB0aCk7CisgICAg
ICAgIGQzZDExOjpTZXRQb3NpdGlvbkxheWVyVGV4Q29vcmQzRFZlcnRleCgmdmVydGljZXNbaSAq
IDYgKyAxXSwgeDEsIHkyLCBpLCB1MSwgdjEsIHJlYWREZXB0aCk7CisgICAgICAgIGQzZDExOjpT
ZXRQb3NpdGlvbkxheWVyVGV4Q29vcmQzRFZlcnRleCgmdmVydGljZXNbaSAqIDYgKyAyXSwgeDIs
IHkxLCBpLCB1MiwgdjIsIHJlYWREZXB0aCk7CisKKyAgICAgICAgZDNkMTE6OlNldFBvc2l0aW9u
TGF5ZXJUZXhDb29yZDNEVmVydGV4KCZ2ZXJ0aWNlc1tpICogNiArIDNdLCB4MSwgeTIsIGksIHUx
LCB2MSwgcmVhZERlcHRoKTsKKyAgICAgICAgZDNkMTE6OlNldFBvc2l0aW9uTGF5ZXJUZXhDb29y
ZDNEVmVydGV4KCZ2ZXJ0aWNlc1tpICogNiArIDRdLCB4MiwgeTIsIGksIHUyLCB2MSwgcmVhZERl
cHRoKTsKKyAgICAgICAgZDNkMTE6OlNldFBvc2l0aW9uTGF5ZXJUZXhDb29yZDNEVmVydGV4KCZ2
ZXJ0aWNlc1tpICogNiArIDVdLCB4MiwgeTEsIGksIHUyLCB2MiwgcmVhZERlcHRoKTsKKyAgICB9
CisKKyAgICAqb3V0U3RyaWRlID0gc2l6ZW9mKGQzZDExOjpQb3NpdGlvbkxheWVyVGV4Q29vcmQz
RFZlcnRleCk7CisgICAgKm91dFZlcnRleENvdW50ID0gZGVzdFNpemUuZGVwdGggKiA2OworICAg
ICpvdXRUb3BvbG9neSA9IEQzRF9QUklNSVRJVkVfVE9QT0xPR1lfVFJJQU5HTEVMSVNUOworfQor
CitCbGl0MTE6OkJsaXQxMShyeDo6UmVuZGVyZXIxMSAqcmVuZGVyZXIpCisgICAgOiBtUmVuZGVy
ZXIocmVuZGVyZXIpLCBtQmxpdFNoYWRlck1hcChjb21wYXJlQmxpdFBhcmFtZXRlcnMpLCBtU3dp
enpsZVNoYWRlck1hcChjb21wYXJlU3dpenpsZVBhcmFtZXRlcnMpLAorICAgICAgbVZlcnRleEJ1
ZmZlcihOVUxMKSwgbVBvaW50U2FtcGxlcihOVUxMKSwgbUxpbmVhclNhbXBsZXIoTlVMTCksIG1T
Y2lzc29yRW5hYmxlZFJhc3Rlcml6ZXJTdGF0ZShOVUxMKSwKKyAgICAgIG1TY2lzc29yRGlzYWJs
ZWRSYXN0ZXJpemVyU3RhdGUoTlVMTCksIG1EZXB0aFN0ZW5jaWxTdGF0ZShOVUxMKSwKKyAgICAg
IG1RdWFkMkRJTChOVUxMKSwgbVF1YWQyRFZTKE5VTEwpLCBtRGVwdGhQUyhOVUxMKSwKKyAgICAg
IG1RdWFkM0RJTChOVUxMKSwgbVF1YWQzRFZTKE5VTEwpLCBtUXVhZDNER1MoTlVMTCksCisgICAg
ICBtU3dpenpsZUNCKE5VTEwpCit7CisgICAgSFJFU1VMVCByZXN1bHQ7CisgICAgSUQzRDExRGV2
aWNlICpkZXZpY2UgPSBtUmVuZGVyZXItPmdldERldmljZSgpOworCisgICAgRDNEMTFfQlVGRkVS
X0RFU0MgdmJEZXNjOworICAgIHZiRGVzYy5CeXRlV2lkdGggPSBzdGQ6Om1heChzaXplb2YoZDNk
MTE6OlBvc2l0aW9uTGF5ZXJUZXhDb29yZDNEVmVydGV4KSwgc2l6ZW9mKGQzZDExOjpQb3NpdGlv
blRleENvb3JkVmVydGV4KSkgKgorICAgICAgICAgICAgICAgICAgICAgICA2ICogcmVuZGVyZXIt
PmdldE1heFRleHR1cmVEZXB0aCgpOworICAgIHZiRGVzYy5Vc2FnZSA9IEQzRDExX1VTQUdFX0RZ
TkFNSUM7CisgICAgdmJEZXNjLkJpbmRGbGFncyA9IEQzRDExX0JJTkRfVkVSVEVYX0JVRkZFUjsK
KyAgICB2YkRlc2MuQ1BVQWNjZXNzRmxhZ3MgPSBEM0QxMV9DUFVfQUNDRVNTX1dSSVRFOworICAg
IHZiRGVzYy5NaXNjRmxhZ3MgPSAwOworICAgIHZiRGVzYy5TdHJ1Y3R1cmVCeXRlU3RyaWRlID0g
MDsKKworICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlQnVmZmVyKCZ2YkRlc2MsIE5VTEwsICZt
VmVydGV4QnVmZmVyKTsKKyAgICBBU1NFUlQoU1VDQ0VFREVEKHJlc3VsdCkpOworICAgIGQzZDEx
OjpTZXREZWJ1Z05hbWUobVZlcnRleEJ1ZmZlciwgIkJsaXQxMSB2ZXJ0ZXggYnVmZmVyIik7CisK
KyAgICBEM0QxMV9TQU1QTEVSX0RFU0MgcG9pbnRTYW1wbGVyRGVzYzsKKyAgICBwb2ludFNhbXBs
ZXJEZXNjLkZpbHRlciA9IEQzRDExX0ZJTFRFUl9NSU5fTUFHX1BPSU5UX01JUF9MSU5FQVI7Cisg
ICAgcG9pbnRTYW1wbGVyRGVzYy5BZGRyZXNzVSA9IEQzRDExX1RFWFRVUkVfQUREUkVTU19DTEFN
UDsKKyAgICBwb2ludFNhbXBsZXJEZXNjLkFkZHJlc3NWID0gRDNEMTFfVEVYVFVSRV9BRERSRVNT
X0NMQU1QOworICAgIHBvaW50U2FtcGxlckRlc2MuQWRkcmVzc1cgPSBEM0QxMV9URVhUVVJFX0FE
RFJFU1NfQ0xBTVA7CisgICAgcG9pbnRTYW1wbGVyRGVzYy5NaXBMT0RCaWFzID0gMC4wZjsKKyAg
ICBwb2ludFNhbXBsZXJEZXNjLk1heEFuaXNvdHJvcHkgPSAwOworICAgIHBvaW50U2FtcGxlckRl
c2MuQ29tcGFyaXNvbkZ1bmMgPSBEM0QxMV9DT01QQVJJU09OX05FVkVSOworICAgIHBvaW50U2Ft
cGxlckRlc2MuQm9yZGVyQ29sb3JbMF0gPSAwLjBmOworICAgIHBvaW50U2FtcGxlckRlc2MuQm9y
ZGVyQ29sb3JbMV0gPSAwLjBmOworICAgIHBvaW50U2FtcGxlckRlc2MuQm9yZGVyQ29sb3JbMl0g
PSAwLjBmOworICAgIHBvaW50U2FtcGxlckRlc2MuQm9yZGVyQ29sb3JbM10gPSAwLjBmOworICAg
IHBvaW50U2FtcGxlckRlc2MuTWluTE9EID0gMC4wZjsKKyAgICBwb2ludFNhbXBsZXJEZXNjLk1h
eExPRCA9IDAuMGY7CisKKyAgICByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZVNhbXBsZXJTdGF0ZSgm
cG9pbnRTYW1wbGVyRGVzYywgJm1Qb2ludFNhbXBsZXIpOworICAgIEFTU0VSVChTVUNDRUVERUQo
cmVzdWx0KSk7CisgICAgZDNkMTE6OlNldERlYnVnTmFtZShtUG9pbnRTYW1wbGVyLCAiQmxpdDEx
IHBvaW50IHNhbXBsZXIiKTsKKworICAgIEQzRDExX1NBTVBMRVJfREVTQyBsaW5lYXJTYW1wbGVy
RGVzYzsKKyAgICBsaW5lYXJTYW1wbGVyRGVzYy5GaWx0ZXIgPSBEM0QxMV9GSUxURVJfTUlOX01B
R19NSVBfTElORUFSOworICAgIGxpbmVhclNhbXBsZXJEZXNjLkFkZHJlc3NVID0gRDNEMTFfVEVY
VFVSRV9BRERSRVNTX0NMQU1QOworICAgIGxpbmVhclNhbXBsZXJEZXNjLkFkZHJlc3NWID0gRDNE
MTFfVEVYVFVSRV9BRERSRVNTX0NMQU1QOworICAgIGxpbmVhclNhbXBsZXJEZXNjLkFkZHJlc3NX
ID0gRDNEMTFfVEVYVFVSRV9BRERSRVNTX0NMQU1QOworICAgIGxpbmVhclNhbXBsZXJEZXNjLk1p
cExPREJpYXMgPSAwLjBmOworICAgIGxpbmVhclNhbXBsZXJEZXNjLk1heEFuaXNvdHJvcHkgPSAw
OworICAgIGxpbmVhclNhbXBsZXJEZXNjLkNvbXBhcmlzb25GdW5jID0gRDNEMTFfQ09NUEFSSVNP
Tl9ORVZFUjsKKyAgICBsaW5lYXJTYW1wbGVyRGVzYy5Cb3JkZXJDb2xvclswXSA9IDAuMGY7Cisg
ICAgbGluZWFyU2FtcGxlckRlc2MuQm9yZGVyQ29sb3JbMV0gPSAwLjBmOworICAgIGxpbmVhclNh
bXBsZXJEZXNjLkJvcmRlckNvbG9yWzJdID0gMC4wZjsKKyAgICBsaW5lYXJTYW1wbGVyRGVzYy5C
b3JkZXJDb2xvclszXSA9IDAuMGY7CisgICAgbGluZWFyU2FtcGxlckRlc2MuTWluTE9EID0gMC4w
ZjsKKyAgICBsaW5lYXJTYW1wbGVyRGVzYy5NYXhMT0QgPSAwLjBmOworCisgICAgcmVzdWx0ID0g
ZGV2aWNlLT5DcmVhdGVTYW1wbGVyU3RhdGUoJmxpbmVhclNhbXBsZXJEZXNjLCAmbUxpbmVhclNh
bXBsZXIpOworICAgIEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisgICAgZDNkMTE6OlNldERl
YnVnTmFtZShtTGluZWFyU2FtcGxlciwgIkJsaXQxMSBsaW5lYXIgc2FtcGxlciIpOworCisgICAg
Ly8gVXNlIGEgcmFzdGVyaXplciBzdGF0ZSB0aGF0IHdpbGwgbm90IGN1bGwgc28gdGhhdCBpbnZl
cnRlZCBxdWFkcyB3aWxsIG5vdCBiZSBjdWxsZWQKKyAgICBEM0QxMV9SQVNURVJJWkVSX0RFU0Mg
cmFzdGVyRGVzYzsKKyAgICByYXN0ZXJEZXNjLkZpbGxNb2RlID0gRDNEMTFfRklMTF9TT0xJRDsK
KyAgICByYXN0ZXJEZXNjLkN1bGxNb2RlID0gRDNEMTFfQ1VMTF9OT05FOworICAgIHJhc3RlckRl
c2MuRnJvbnRDb3VudGVyQ2xvY2t3aXNlID0gRkFMU0U7CisgICAgcmFzdGVyRGVzYy5EZXB0aEJp
YXMgPSAwOworICAgIHJhc3RlckRlc2MuU2xvcGVTY2FsZWREZXB0aEJpYXMgPSAwLjBmOworICAg
IHJhc3RlckRlc2MuRGVwdGhCaWFzQ2xhbXAgPSAwLjBmOworICAgIHJhc3RlckRlc2MuRGVwdGhD
bGlwRW5hYmxlID0gVFJVRTsKKyAgICByYXN0ZXJEZXNjLk11bHRpc2FtcGxlRW5hYmxlID0gRkFM
U0U7CisgICAgcmFzdGVyRGVzYy5BbnRpYWxpYXNlZExpbmVFbmFibGUgPSBGQUxTRTsKKworICAg
IHJhc3RlckRlc2MuU2Npc3NvckVuYWJsZSA9IFRSVUU7CisgICAgcmVzdWx0ID0gZGV2aWNlLT5D
cmVhdGVSYXN0ZXJpemVyU3RhdGUoJnJhc3RlckRlc2MsICZtU2Npc3NvckVuYWJsZWRSYXN0ZXJp
emVyU3RhdGUpOworICAgIEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisgICAgZDNkMTE6OlNl
dERlYnVnTmFtZShtU2Npc3NvckVuYWJsZWRSYXN0ZXJpemVyU3RhdGUsICJCbGl0MTEgc2Npc3Nv
cmluZyByYXN0ZXJpemVyIHN0YXRlIik7CisKKyAgICByYXN0ZXJEZXNjLlNjaXNzb3JFbmFibGUg
PSBGQUxTRTsKKyAgICByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZVJhc3Rlcml6ZXJTdGF0ZSgmcmFz
dGVyRGVzYywgJm1TY2lzc29yRGlzYWJsZWRSYXN0ZXJpemVyU3RhdGUpOworICAgIEFTU0VSVChT
VUNDRUVERUQocmVzdWx0KSk7CisgICAgZDNkMTE6OlNldERlYnVnTmFtZShtU2Npc3NvckRpc2Fi
bGVkUmFzdGVyaXplclN0YXRlLCAiQmxpdDExIG5vIHNjaXNzb3JpbmcgcmFzdGVyaXplciBzdGF0
ZSIpOworCisgICAgRDNEMTFfREVQVEhfU1RFTkNJTF9ERVNDIGRlcHRoU3RlbmNpbERlc2M7Cisg
ICAgZGVwdGhTdGVuY2lsRGVzYy5EZXB0aEVuYWJsZSA9IHRydWU7CisgICAgZGVwdGhTdGVuY2ls
RGVzYy5EZXB0aFdyaXRlTWFzayA9IEQzRDExX0RFUFRIX1dSSVRFX01BU0tfQUxMOworICAgIGRl
cHRoU3RlbmNpbERlc2MuRGVwdGhGdW5jID0gRDNEMTFfQ09NUEFSSVNPTl9BTFdBWVM7CisgICAg
ZGVwdGhTdGVuY2lsRGVzYy5TdGVuY2lsRW5hYmxlID0gRkFMU0U7CisgICAgZGVwdGhTdGVuY2ls
RGVzYy5TdGVuY2lsUmVhZE1hc2sgPSBEM0QxMV9ERUZBVUxUX1NURU5DSUxfUkVBRF9NQVNLOwor
ICAgIGRlcHRoU3RlbmNpbERlc2MuU3RlbmNpbFdyaXRlTWFzayA9IEQzRDExX0RFRkFVTFRfU1RF
TkNJTF9XUklURV9NQVNLOworICAgIGRlcHRoU3RlbmNpbERlc2MuRnJvbnRGYWNlLlN0ZW5jaWxG
YWlsT3AgPSBEM0QxMV9TVEVOQ0lMX09QX0tFRVA7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5Gcm9u
dEZhY2UuU3RlbmNpbERlcHRoRmFpbE9wID0gRDNEMTFfU1RFTkNJTF9PUF9LRUVQOworICAgIGRl
cHRoU3RlbmNpbERlc2MuRnJvbnRGYWNlLlN0ZW5jaWxQYXNzT3AgPSBEM0QxMV9TVEVOQ0lMX09Q
X0tFRVA7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5Gcm9udEZhY2UuU3RlbmNpbEZ1bmMgPSBEM0Qx
MV9DT01QQVJJU09OX0FMV0FZUzsKKyAgICBkZXB0aFN0ZW5jaWxEZXNjLkJhY2tGYWNlLlN0ZW5j
aWxGYWlsT3AgPSBEM0QxMV9TVEVOQ0lMX09QX0tFRVA7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5C
YWNrRmFjZS5TdGVuY2lsRGVwdGhGYWlsT3AgPSBEM0QxMV9TVEVOQ0lMX09QX0tFRVA7CisgICAg
ZGVwdGhTdGVuY2lsRGVzYy5CYWNrRmFjZS5TdGVuY2lsUGFzc09wID0gRDNEMTFfU1RFTkNJTF9P
UF9LRUVQOworICAgIGRlcHRoU3RlbmNpbERlc2MuQmFja0ZhY2UuU3RlbmNpbEZ1bmMgPSBEM0Qx
MV9DT01QQVJJU09OX0FMV0FZUzsKKworICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlRGVwdGhT
dGVuY2lsU3RhdGUoJmRlcHRoU3RlbmNpbERlc2MsICZtRGVwdGhTdGVuY2lsU3RhdGUpOworICAg
IEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisgICAgZDNkMTE6OlNldERlYnVnTmFtZShtRGVw
dGhTdGVuY2lsU3RhdGUsICJCbGl0MTEgZGVwdGggc3RlbmNpbCBzdGF0ZSIpOworCisgICAgRDNE
MTFfSU5QVVRfRUxFTUVOVF9ERVNDIHF1YWQyRExheW91dFtdID0KKyAgICB7CisgICAgICAgIHsg
IlBPU0lUSU9OIiwgMCwgRFhHSV9GT1JNQVRfUjMyRzMyX0ZMT0FULCAwLCAwLCBEM0QxMV9JTlBV
VF9QRVJfVkVSVEVYX0RBVEEsIDAgfSwKKyAgICAgICAgeyAiVEVYQ09PUkQiLCAwLCBEWEdJX0ZP
Uk1BVF9SMzJHMzJfRkxPQVQsIDAsIDgsIEQzRDExX0lOUFVUX1BFUl9WRVJURVhfREFUQSwgMCB9
LAorICAgIH07CisKKyAgICByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZUlucHV0TGF5b3V0KHF1YWQy
RExheW91dCwgQXJyYXlTaXplKHF1YWQyRExheW91dCksIGdfVlNfUGFzc3Rocm91Z2gyRCwgQXJy
YXlTaXplKGdfVlNfUGFzc3Rocm91Z2gyRCksICZtUXVhZDJESUwpOworICAgIEFTU0VSVChTVUND
RUVERUQocmVzdWx0KSk7CisgICAgZDNkMTE6OlNldERlYnVnTmFtZShtUXVhZDJESUwsICJCbGl0
MTEgMkQgaW5wdXQgbGF5b3V0Iik7CisKKyAgICByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZVZlcnRl
eFNoYWRlcihnX1ZTX1Bhc3N0aHJvdWdoMkQsIEFycmF5U2l6ZShnX1ZTX1Bhc3N0aHJvdWdoMkQp
LCBOVUxMLCAmbVF1YWQyRFZTKTsKKyAgICBBU1NFUlQoU1VDQ0VFREVEKHJlc3VsdCkpOworICAg
IGQzZDExOjpTZXREZWJ1Z05hbWUobVF1YWQyRFZTLCAiQmxpdDExIDJEIHZlcnRleCBzaGFkZXIi
KTsKKworICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlUGl4ZWxTaGFkZXIoZ19QU19QYXNzdGhy
b3VnaERlcHRoMkQsIEFycmF5U2l6ZShnX1BTX1Bhc3N0aHJvdWdoRGVwdGgyRCksIE5VTEwsICZt
RGVwdGhQUyk7CisgICAgQVNTRVJUKFNVQ0NFRURFRChyZXN1bHQpKTsKKyAgICBkM2QxMTo6U2V0
RGVidWdOYW1lKG1EZXB0aFBTLCAiQmxpdDExIDJEIGRlcHRoIHBpeGVsIHNoYWRlciIpOworCisg
ICAgRDNEMTFfSU5QVVRfRUxFTUVOVF9ERVNDIHF1YWQzRExheW91dFtdID0KKyAgICB7CisgICAg
ICAgIHsgIlBPU0lUSU9OIiwgMCwgRFhHSV9GT1JNQVRfUjMyRzMyX0ZMT0FULCAgICAwLCAgMCwg
RDNEMTFfSU5QVVRfUEVSX1ZFUlRFWF9EQVRBLCAwIH0sCisgICAgICAgIHsgIkxBWUVSIiwgICAg
MCwgRFhHSV9GT1JNQVRfUjMyX1VJTlQsICAgICAgICAwLCAgOCwgRDNEMTFfSU5QVVRfUEVSX1ZF
UlRFWF9EQVRBLCAwIH0sCisgICAgICAgIHsgIlRFWENPT1JEIiwgMCwgRFhHSV9GT1JNQVRfUjMy
RzMyQjMyX0ZMT0FULCAwLCAxMiwgRDNEMTFfSU5QVVRfUEVSX1ZFUlRFWF9EQVRBLCAwIH0sCisg
ICAgfTsKKworICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlSW5wdXRMYXlvdXQocXVhZDNETGF5
b3V0LCBBcnJheVNpemUocXVhZDNETGF5b3V0KSwgZ19WU19QYXNzdGhyb3VnaDNELCBBcnJheVNp
emUoZ19WU19QYXNzdGhyb3VnaDNEKSwgJm1RdWFkM0RJTCk7CisgICAgQVNTRVJUKFNVQ0NFRURF
RChyZXN1bHQpKTsKKyAgICBkM2QxMTo6U2V0RGVidWdOYW1lKG1RdWFkM0RJTCwgIkJsaXQxMSAz
RCBpbnB1dCBsYXlvdXQiKTsKKworICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlVmVydGV4U2hh
ZGVyKGdfVlNfUGFzc3Rocm91Z2gzRCwgQXJyYXlTaXplKGdfVlNfUGFzc3Rocm91Z2gzRCksIE5V
TEwsICZtUXVhZDNEVlMpOworICAgIEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisgICAgZDNk
MTE6OlNldERlYnVnTmFtZShtUXVhZDNEVlMsICJCbGl0MTEgM0QgdmVydGV4IHNoYWRlciIpOwor
CisgICAgcmVzdWx0ID0gZGV2aWNlLT5DcmVhdGVHZW9tZXRyeVNoYWRlcihnX0dTX1Bhc3N0aHJv
dWdoM0QsIEFycmF5U2l6ZShnX0dTX1Bhc3N0aHJvdWdoM0QpLCBOVUxMLCAmbVF1YWQzREdTKTsK
KyAgICBBU1NFUlQoU1VDQ0VFREVEKHJlc3VsdCkpOworICAgIGQzZDExOjpTZXREZWJ1Z05hbWUo
bVF1YWQzREdTLCAiUmVuZGVyZXIxMSBjb3B5IDNEIHRleHR1cmUgZ2VvbWV0cnkgc2hhZGVyIik7
CisKKyAgICBidWlsZFNoYWRlck1hcCgpOworCisgICAgRDNEMTFfQlVGRkVSX0RFU0Mgc3dpenps
ZUJ1ZmZlckRlc2M7CisgICAgc3dpenpsZUJ1ZmZlckRlc2MuQnl0ZVdpZHRoID0gc2l6ZW9mKHVu
c2lnbmVkIGludCkgKiA0OworICAgIHN3aXp6bGVCdWZmZXJEZXNjLlVzYWdlID0gRDNEMTFfVVNB
R0VfRFlOQU1JQzsKKyAgICBzd2l6emxlQnVmZmVyRGVzYy5CaW5kRmxhZ3MgPSBEM0QxMV9CSU5E
X0NPTlNUQU5UX0JVRkZFUjsKKyAgICBzd2l6emxlQnVmZmVyRGVzYy5DUFVBY2Nlc3NGbGFncyA9
IEQzRDExX0NQVV9BQ0NFU1NfV1JJVEU7CisgICAgc3dpenpsZUJ1ZmZlckRlc2MuTWlzY0ZsYWdz
ID0gMDsKKyAgICBzd2l6emxlQnVmZmVyRGVzYy5TdHJ1Y3R1cmVCeXRlU3RyaWRlID0gMDsKKwor
ICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlQnVmZmVyKCZzd2l6emxlQnVmZmVyRGVzYywgTlVM
TCwgJm1Td2l6emxlQ0IpOworICAgIEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisgICAgZDNk
MTE6OlNldERlYnVnTmFtZShtU3dpenpsZUNCLCAiQmxpdDExIHN3aXp6bGUgY29uc3RhbnQgYnVm
ZmVyIik7Cit9CisKK0JsaXQxMTo6fkJsaXQxMSgpCit7CisgICAgU2FmZVJlbGVhc2UobVZlcnRl
eEJ1ZmZlcik7CisgICAgU2FmZVJlbGVhc2UobVBvaW50U2FtcGxlcik7CisgICAgU2FmZVJlbGVh
c2UobUxpbmVhclNhbXBsZXIpOworICAgIFNhZmVSZWxlYXNlKG1TY2lzc29yRW5hYmxlZFJhc3Rl
cml6ZXJTdGF0ZSk7CisgICAgU2FmZVJlbGVhc2UobVNjaXNzb3JEaXNhYmxlZFJhc3Rlcml6ZXJT
dGF0ZSk7CisgICAgU2FmZVJlbGVhc2UobURlcHRoU3RlbmNpbFN0YXRlKTsKKworICAgIFNhZmVS
ZWxlYXNlKG1RdWFkMkRJTCk7CisgICAgU2FmZVJlbGVhc2UobVF1YWQyRFZTKTsKKyAgICBTYWZl
UmVsZWFzZShtRGVwdGhQUyk7CisKKyAgICBTYWZlUmVsZWFzZShtUXVhZDNESUwpOworICAgIFNh
ZmVSZWxlYXNlKG1RdWFkM0RWUyk7CisgICAgU2FmZVJlbGVhc2UobVF1YWQzREdTKTsKKworICAg
IFNhZmVSZWxlYXNlKG1Td2l6emxlQ0IpOworCisgICAgY2xlYXJTaGFkZXJNYXAoKTsKK30KKwor
c3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgR2V0U3dpenpsZUluZGV4KEdMZW51bSBzd2l6emxl
KQoreworICAgIHVuc2lnbmVkIGludCBjb2xvckluZGV4ID0gMDsKKworICAgIHN3aXRjaCAoc3dp
enpsZSkKKyAgICB7CisgICAgICBjYXNlIEdMX1JFRDogICBjb2xvckluZGV4ID0gMDsgYnJlYWs7
CisgICAgICBjYXNlIEdMX0dSRUVOOiBjb2xvckluZGV4ID0gMTsgYnJlYWs7CisgICAgICBjYXNl
IEdMX0JMVUU6ICBjb2xvckluZGV4ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIEdMX0FMUEhBOiBj
b2xvckluZGV4ID0gMzsgYnJlYWs7CisgICAgICBjYXNlIEdMX1pFUk86ICBjb2xvckluZGV4ID0g
NDsgYnJlYWs7CisgICAgICBjYXNlIEdMX09ORTogICBjb2xvckluZGV4ID0gNTsgYnJlYWs7Cisg
ICAgICBkZWZhdWx0OiAgICAgICBVTlJFQUNIQUJMRSgpOyAgYnJlYWs7CisgICAgfQorCisgICAg
cmV0dXJuIGNvbG9ySW5kZXg7Cit9CisKK2Jvb2wgQmxpdDExOjpzd2l6emxlVGV4dHVyZShJRDNE
MTFTaGFkZXJSZXNvdXJjZVZpZXcgKnNvdXJjZSwgSUQzRDExUmVuZGVyVGFyZ2V0VmlldyAqZGVz
dCwgY29uc3QgZ2w6OkV4dGVudHMgJnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xlbnVtIHN3aXp6bGVSZWQsIEdMZW51bSBzd2l6emxlR3JlZW4sIEdMZW51bSBzd2l6emxlQmx1
ZSwgR0xlbnVtIHN3aXp6bGVBbHBoYSkKK3sKKyAgICBIUkVTVUxUIHJlc3VsdDsKKyAgICBJRDNE
MTFEZXZpY2VDb250ZXh0ICpkZXZpY2VDb250ZXh0ID0gbVJlbmRlcmVyLT5nZXREZXZpY2VDb250
ZXh0KCk7CisKKyAgICBEM0QxMV9TSEFERVJfUkVTT1VSQ0VfVklFV19ERVNDIHNvdXJjZVNSVkRl
c2M7CisgICAgc291cmNlLT5HZXREZXNjKCZzb3VyY2VTUlZEZXNjKTsKKyAgICBHTGVudW0gc291
cmNlSW50ZXJuYWxGb3JtYXQgPSBkM2QxMV9nbDo6R2V0SW50ZXJuYWxGb3JtYXQoc291cmNlU1JW
RGVzYy5Gb3JtYXQsIG1SZW5kZXJlci0+Z2V0Q3VycmVudENsaWVudFZlcnNpb24oKSk7CisKKyAg
ICBHTGVudW0gc2hhZGVyVHlwZSA9IEdMX05PTkU7CisgICAgc3dpdGNoIChnbDo6R2V0Q29tcG9u
ZW50VHlwZShzb3VyY2VJbnRlcm5hbEZvcm1hdCwgbVJlbmRlcmVyLT5nZXRDdXJyZW50Q2xpZW50
VmVyc2lvbigpKSkKKyAgICB7CisgICAgICBjYXNlIEdMX1VOU0lHTkVEX05PUk1BTElaRUQ6Cisg
ICAgICBjYXNlIEdMX1NJR05FRF9OT1JNQUxJWkVEOgorICAgICAgY2FzZSBHTF9GTE9BVDoKKyAg
ICAgICAgc2hhZGVyVHlwZSA9IEdMX0ZMT0FUOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2Ug
R0xfSU5UOgorICAgICAgICBzaGFkZXJUeXBlID0gR0xfSU5UOworICAgICAgICBicmVhazsKKyAg
ICAgIGNhc2UgR0xfVU5TSUdORURfSU5UOgorICAgICAgICBzaGFkZXJUeXBlID0gR0xfVU5TSUdO
RURfSU5UOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIFVOUkVBQ0hB
QkxFKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIFN3aXp6bGVQYXJhbWV0ZXJzIHBh
cmFtZXRlcnMgPSB7IDAgfTsKKyAgICBwYXJhbWV0ZXJzLm1EZXN0aW5hdGlvblR5cGUgPSBzaGFk
ZXJUeXBlOworICAgIHBhcmFtZXRlcnMubVZpZXdEaW1lbnNpb24gPSBzb3VyY2VTUlZEZXNjLlZp
ZXdEaW1lbnNpb247CisKKyAgICBTd2l6emxlU2hhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBpID0g
bVN3aXp6bGVTaGFkZXJNYXAuZmluZChwYXJhbWV0ZXJzKTsKKyAgICBpZiAoaSA9PSBtU3dpenps
ZVNoYWRlck1hcC5lbmQoKSkKKyAgICB7CisgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBjb25zdCBTaGFkZXIgJnNoYWRlciA9IGktPnNl
Y29uZDsKKworICAgIC8vIFNldCB2ZXJ0aWNlcworICAgIEQzRDExX01BUFBFRF9TVUJSRVNPVVJD
RSBtYXBwZWRSZXNvdXJjZTsKKyAgICByZXN1bHQgPSBkZXZpY2VDb250ZXh0LT5NYXAobVZlcnRl
eEJ1ZmZlciwgMCwgRDNEMTFfTUFQX1dSSVRFX0RJU0NBUkQsIDAsICZtYXBwZWRSZXNvdXJjZSk7
CisgICAgaWYgKEZBSUxFRChyZXN1bHQpKQorICAgIHsKKyAgICAgICAgRVJSKCJGYWlsZWQgdG8g
bWFwIHZlcnRleCBidWZmZXIgZm9yIHRleHR1cmUgc3dpenpsZSwgSFJFU1VMVDogMHglWC4iLCBy
ZXN1bHQpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgVUlOVCBzdHJpZGUg
PSAwOworICAgIFVJTlQgc3RhcnRJZHggPSAwOworICAgIFVJTlQgZHJhd0NvdW50ID0gMDsKKyAg
ICBEM0QxMV9QUklNSVRJVkVfVE9QT0xPR1kgdG9wb2xvZ3k7CisKKyAgICBnbDo6Qm94IGFyZWEo
MCwgMCwgMCwgc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQsIHNpemUuZGVwdGgpOworICAgIHNoYWRl
ci5tVmVydGV4V3JpdGVGdW5jdGlvbihhcmVhLCBzaXplLCBhcmVhLCBzaXplLCBtYXBwZWRSZXNv
dXJjZS5wRGF0YSwgJnN0cmlkZSwgJmRyYXdDb3VudCwgJnRvcG9sb2d5KTsKKworICAgIGRldmlj
ZUNvbnRleHQtPlVubWFwKG1WZXJ0ZXhCdWZmZXIsIDApOworCisgICAgLy8gU2V0IGNvbnN0YW50
IGJ1ZmZlcgorICAgIHJlc3VsdCA9IGRldmljZUNvbnRleHQtPk1hcChtU3dpenpsZUNCLCAwLCBE
M0QxMV9NQVBfV1JJVEVfRElTQ0FSRCwgMCwgJm1hcHBlZFJlc291cmNlKTsKKyAgICBpZiAoRkFJ
TEVEKHJlc3VsdCkpCisgICAgeworICAgICAgICBFUlIoIkZhaWxlZCB0byBtYXAgY29uc3RhbnQg
YnVmZmVyIGZvciB0ZXh0dXJlIHN3aXp6bGUsIEhSRVNVTFQ6IDB4JVguIiwgcmVzdWx0KTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHVuc2lnbmVkIGludCAqc3dpenpsZUlu
ZGljZXMgPSByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGludCo+KG1hcHBlZFJlc291cmNlLnBE
YXRhKTsKKyAgICBzd2l6emxlSW5kaWNlc1swXSA9IEdldFN3aXp6bGVJbmRleChzd2l6emxlUmVk
KTsKKyAgICBzd2l6emxlSW5kaWNlc1sxXSA9IEdldFN3aXp6bGVJbmRleChzd2l6emxlR3JlZW4p
OworICAgIHN3aXp6bGVJbmRpY2VzWzJdID0gR2V0U3dpenpsZUluZGV4KHN3aXp6bGVCbHVlKTsK
KyAgICBzd2l6emxlSW5kaWNlc1szXSA9IEdldFN3aXp6bGVJbmRleChzd2l6emxlQWxwaGEpOwor
CisgICAgZGV2aWNlQ29udGV4dC0+VW5tYXAobVN3aXp6bGVDQiwgMCk7CisKKyAgICAvLyBBcHBs
eSB2ZXJ0ZXggYnVmZmVyCisgICAgZGV2aWNlQ29udGV4dC0+SUFTZXRWZXJ0ZXhCdWZmZXJzKDAs
IDEsICZtVmVydGV4QnVmZmVyLCAmc3RyaWRlLCAmc3RhcnRJZHgpOworCisgICAgLy8gQXBwbHkg
Y29uc3RhbnQgYnVmZmVyCisgICAgZGV2aWNlQ29udGV4dC0+UFNTZXRDb25zdGFudEJ1ZmZlcnMo
MCwgMSwgJm1Td2l6emxlQ0IpOworCisgICAgLy8gQXBwbHkgc3RhdGUKKyAgICBkZXZpY2VDb250
ZXh0LT5PTVNldEJsZW5kU3RhdGUoTlVMTCwgTlVMTCwgMHhGRkZGRkZGKTsKKyAgICBkZXZpY2VD
b250ZXh0LT5PTVNldERlcHRoU3RlbmNpbFN0YXRlKE5VTEwsIDB4RkZGRkZGRkYpOworICAgIGRl
dmljZUNvbnRleHQtPlJTU2V0U3RhdGUobVNjaXNzb3JEaXNhYmxlZFJhc3Rlcml6ZXJTdGF0ZSk7
CisKKyAgICAvLyBBcHBseSBzaGFkZXJzCisgICAgZGV2aWNlQ29udGV4dC0+SUFTZXRJbnB1dExh
eW91dChzaGFkZXIubUlucHV0TGF5b3V0KTsKKyAgICBkZXZpY2VDb250ZXh0LT5JQVNldFByaW1p
dGl2ZVRvcG9sb2d5KHRvcG9sb2d5KTsKKyAgICBkZXZpY2VDb250ZXh0LT5WU1NldFNoYWRlcihz
aGFkZXIubVZlcnRleFNoYWRlciwgTlVMTCwgMCk7CisKKyAgICBkZXZpY2VDb250ZXh0LT5QU1Nl
dFNoYWRlcihzaGFkZXIubVBpeGVsU2hhZGVyLCBOVUxMLCAwKTsKKyAgICBkZXZpY2VDb250ZXh0
LT5HU1NldFNoYWRlcihzaGFkZXIubUdlb21ldHJ5U2hhZGVyLCBOVUxMLCAwKTsKKworICAgIC8v
IFVuc2V0IHRoZSBjdXJyZW50bHkgYm91bmQgc2hhZGVyIHJlc291cmNlIHRvIGF2b2lkIGNvbmZs
aWN0cworICAgIElEM0QxMVNoYWRlclJlc291cmNlVmlldyAqY29uc3QgbnVsbFNSViA9IE5VTEw7
CisgICAgZGV2aWNlQ29udGV4dC0+UFNTZXRTaGFkZXJSZXNvdXJjZXMoMCwgMSwgJm51bGxTUlYp
OworCisgICAgLy8gQXBwbHkgcmVuZGVyIHRhcmdldAorICAgIG1SZW5kZXJlci0+c2V0T25lVGlt
ZVJlbmRlclRhcmdldChkZXN0KTsKKworICAgIC8vIFNldCB0aGUgdmlld3BvcnQKKyAgICBEM0Qx
MV9WSUVXUE9SVCB2aWV3cG9ydDsKKyAgICB2aWV3cG9ydC5Ub3BMZWZ0WCA9IDA7CisgICAgdmll
d3BvcnQuVG9wTGVmdFkgPSAwOworICAgIHZpZXdwb3J0LldpZHRoID0gc2l6ZS53aWR0aDsKKyAg
ICB2aWV3cG9ydC5IZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICB2aWV3cG9ydC5NaW5EZXB0aCA9
IDAuMGY7CisgICAgdmlld3BvcnQuTWF4RGVwdGggPSAxLjBmOworICAgIGRldmljZUNvbnRleHQt
PlJTU2V0Vmlld3BvcnRzKDEsICZ2aWV3cG9ydCk7CisKKyAgICAvLyBBcHBseSB0ZXh0dXJlcwor
ICAgIGRldmljZUNvbnRleHQtPlBTU2V0U2hhZGVyUmVzb3VyY2VzKDAsIDEsICZzb3VyY2UpOwor
CisgICAgLy8gQXBwbHkgc2FtcGxlcnMKKyAgICBkZXZpY2VDb250ZXh0LT5QU1NldFNhbXBsZXJz
KDAsIDEsICZtUG9pbnRTYW1wbGVyKTsKKworICAgIC8vIERyYXcgdGhlIHF1YWQKKyAgICBkZXZp
Y2VDb250ZXh0LT5EcmF3KGRyYXdDb3VudCwgMCk7CisKKyAgICAvLyBVbmJpbmQgdGV4dHVyZXMg
YW5kIHJlbmRlciB0YXJnZXRzIGFuZCB2ZXJ0ZXggYnVmZmVyCisgICAgZGV2aWNlQ29udGV4dC0+
UFNTZXRTaGFkZXJSZXNvdXJjZXMoMCwgMSwgJm51bGxTUlYpOworCisgICAgbVJlbmRlcmVyLT51
bmFwcGx5UmVuZGVyVGFyZ2V0cygpOworCisgICAgVUlOVCB6ZXJvID0gMDsKKyAgICBJRDNEMTFC
dWZmZXIgKmNvbnN0IG51bGxCdWZmZXIgPSBOVUxMOworICAgIGRldmljZUNvbnRleHQtPklBU2V0
VmVydGV4QnVmZmVycygwLCAxLCAmbnVsbEJ1ZmZlciwgJnplcm8sICZ6ZXJvKTsKKworICAgIG1S
ZW5kZXJlci0+bWFya0FsbFN0YXRlRGlydHkoKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiti
b29sIEJsaXQxMTo6Y29weVRleHR1cmUoSUQzRDExU2hhZGVyUmVzb3VyY2VWaWV3ICpzb3VyY2Us
IGNvbnN0IGdsOjpCb3ggJnNvdXJjZUFyZWEsIGNvbnN0IGdsOjpFeHRlbnRzICZzb3VyY2VTaXpl
LAorICAgICAgICAgICAgICAgICAgICAgICAgIElEM0QxMVJlbmRlclRhcmdldFZpZXcgKmRlc3Qs
IGNvbnN0IGdsOjpCb3ggJmRlc3RBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmZGVzdFNpemUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAqc2Npc3NvciwgR0xl
bnVtIGRlc3RGb3JtYXQsIEdMZW51bSBmaWx0ZXIpCit7CisgICAgSFJFU1VMVCByZXN1bHQ7Cisg
ICAgSUQzRDExRGV2aWNlQ29udGV4dCAqZGV2aWNlQ29udGV4dCA9IG1SZW5kZXJlci0+Z2V0RGV2
aWNlQ29udGV4dCgpOworCisgICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBzb3VyY2UgZm9ybWF0IGlz
IGEgc2lnbmVkIGludGVnZXIgZm9ybWF0LCB0aGUgZGVzdEZvcm1hdCB3aWxsIGFscmVhZHkKKyAg
ICAvLyBiZSBHTF9YWFhYX0lOVEVHRVIgYnV0IGl0IGRvZXMgbm90IHRlbGwgdXMgaWYgaXQgaXMg
c2lnbmVkIG9yIHVuc2lnbmVkLgorICAgIEQzRDExX1NIQURFUl9SRVNPVVJDRV9WSUVXX0RFU0Mg
c291cmNlU1JWRGVzYzsKKyAgICBzb3VyY2UtPkdldERlc2MoJnNvdXJjZVNSVkRlc2MpOworICAg
IEdMZW51bSBzb3VyY2VJbnRlcm5hbEZvcm1hdCA9IGQzZDExX2dsOjpHZXRJbnRlcm5hbEZvcm1h
dChzb3VyY2VTUlZEZXNjLkZvcm1hdCwgbVJlbmRlcmVyLT5nZXRDdXJyZW50Q2xpZW50VmVyc2lv
bigpKTsKKworICAgIEJsaXRQYXJhbWV0ZXJzIHBhcmFtZXRlcnMgPSB7IDAgfTsKKyAgICBwYXJh
bWV0ZXJzLm1EZXN0aW5hdGlvbkZvcm1hdCA9IGRlc3RGb3JtYXQ7CisgICAgcGFyYW1ldGVycy5t
U2lnbmVkSW50ZWdlciA9IGdsOjpHZXRDb21wb25lbnRUeXBlKHNvdXJjZUludGVybmFsRm9ybWF0
LCBtUmVuZGVyZXItPmdldEN1cnJlbnRDbGllbnRWZXJzaW9uKCkpID09IEdMX0lOVDsKKyAgICBw
YXJhbWV0ZXJzLm0zREJsaXQgPSBzb3VyY2VBcmVhLmRlcHRoID4gMTsKKworICAgIEJsaXRTaGFk
ZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtQmxpdFNoYWRlck1hcC5maW5kKHBhcmFtZXRlcnMp
OworICAgIGlmIChpID09IG1CbGl0U2hhZGVyTWFwLmVuZCgpKQorICAgIHsKKyAgICAgICAgVU5S
RUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGNvbnN0IFNo
YWRlciYgc2hhZGVyID0gaS0+c2Vjb25kOworCisgICAgLy8gU2V0IHZlcnRpY2VzCisgICAgRDNE
MTFfTUFQUEVEX1NVQlJFU09VUkNFIG1hcHBlZFJlc291cmNlOworICAgIHJlc3VsdCA9IGRldmlj
ZUNvbnRleHQtPk1hcChtVmVydGV4QnVmZmVyLCAwLCBEM0QxMV9NQVBfV1JJVEVfRElTQ0FSRCwg
MCwgJm1hcHBlZFJlc291cmNlKTsKKyAgICBpZiAoRkFJTEVEKHJlc3VsdCkpCisgICAgeworICAg
ICAgICBFUlIoIkZhaWxlZCB0byBtYXAgdmVydGV4IGJ1ZmZlciBmb3IgdGV4dHVyZSBjb3B5LCBI
UkVTVUxUOiAweCVYLiIsIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICBVSU5UIHN0cmlkZSA9IDA7CisgICAgVUlOVCBzdGFydElkeCA9IDA7CisgICAgVUlOVCBk
cmF3Q291bnQgPSAwOworICAgIEQzRDExX1BSSU1JVElWRV9UT1BPTE9HWSB0b3BvbG9neTsKKwor
ICAgIHNoYWRlci5tVmVydGV4V3JpdGVGdW5jdGlvbihzb3VyY2VBcmVhLCBzb3VyY2VTaXplLCBk
ZXN0QXJlYSwgZGVzdFNpemUsIG1hcHBlZFJlc291cmNlLnBEYXRhLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmc3RyaWRlLCAmZHJhd0NvdW50LCAmdG9wb2xvZ3kpOworCisgICAg
ZGV2aWNlQ29udGV4dC0+VW5tYXAobVZlcnRleEJ1ZmZlciwgMCk7CisKKyAgICAvLyBBcHBseSB2
ZXJ0ZXggYnVmZmVyCisgICAgZGV2aWNlQ29udGV4dC0+SUFTZXRWZXJ0ZXhCdWZmZXJzKDAsIDEs
ICZtVmVydGV4QnVmZmVyLCAmc3RyaWRlLCAmc3RhcnRJZHgpOworCisgICAgLy8gQXBwbHkgc3Rh
dGUKKyAgICBkZXZpY2VDb250ZXh0LT5PTVNldEJsZW5kU3RhdGUoTlVMTCwgTlVMTCwgMHhGRkZG
RkZGKTsKKyAgICBkZXZpY2VDb250ZXh0LT5PTVNldERlcHRoU3RlbmNpbFN0YXRlKE5VTEwsIDB4
RkZGRkZGRkYpOworCisgICAgaWYgKHNjaXNzb3IpCisgICAgeworICAgICAgICBEM0QxMV9SRUNU
IHNjaXNzb3JSZWN0OworICAgICAgICBzY2lzc29yUmVjdC5sZWZ0ID0gc2Npc3Nvci0+eDsKKyAg
ICAgICAgc2Npc3NvclJlY3QucmlnaHQgPSBzY2lzc29yLT54ICsgc2Npc3Nvci0+d2lkdGg7Cisg
ICAgICAgIHNjaXNzb3JSZWN0LnRvcCA9IHNjaXNzb3ItPnk7CisgICAgICAgIHNjaXNzb3JSZWN0
LmJvdHRvbSA9IHNjaXNzb3ItPnkgKyBzY2lzc29yLT5oZWlnaHQ7CisKKyAgICAgICAgZGV2aWNl
Q29udGV4dC0+UlNTZXRTY2lzc29yUmVjdHMoMSwgJnNjaXNzb3JSZWN0KTsKKyAgICAgICAgZGV2
aWNlQ29udGV4dC0+UlNTZXRTdGF0ZShtU2Npc3NvckVuYWJsZWRSYXN0ZXJpemVyU3RhdGUpOwor
ICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBkZXZpY2VDb250ZXh0LT5SU1NldFN0YXRl
KG1TY2lzc29yRGlzYWJsZWRSYXN0ZXJpemVyU3RhdGUpOworICAgIH0KKworICAgIC8vIEFwcGx5
IHNoYWRlcnMKKyAgICBkZXZpY2VDb250ZXh0LT5JQVNldElucHV0TGF5b3V0KHNoYWRlci5tSW5w
dXRMYXlvdXQpOworICAgIGRldmljZUNvbnRleHQtPklBU2V0UHJpbWl0aXZlVG9wb2xvZ3kodG9w
b2xvZ3kpOworICAgIGRldmljZUNvbnRleHQtPlZTU2V0U2hhZGVyKHNoYWRlci5tVmVydGV4U2hh
ZGVyLCBOVUxMLCAwKTsKKworICAgIGRldmljZUNvbnRleHQtPlBTU2V0U2hhZGVyKHNoYWRlci5t
UGl4ZWxTaGFkZXIsIE5VTEwsIDApOworICAgIGRldmljZUNvbnRleHQtPkdTU2V0U2hhZGVyKHNo
YWRlci5tR2VvbWV0cnlTaGFkZXIsIE5VTEwsIDApOworCisgICAgLy8gVW5zZXQgdGhlIGN1cnJl
bnRseSBib3VuZCBzaGFkZXIgcmVzb3VyY2UgdG8gYXZvaWQgY29uZmxpY3RzCisgICAgSUQzRDEx
U2hhZGVyUmVzb3VyY2VWaWV3ICpjb25zdCBudWxsU1JWID0gTlVMTDsKKyAgICBkZXZpY2VDb250
ZXh0LT5QU1NldFNoYWRlclJlc291cmNlcygwLCAxLCAmbnVsbFNSVik7CisKKyAgICAvLyBBcHBs
eSByZW5kZXIgdGFyZ2V0CisgICAgbVJlbmRlcmVyLT5zZXRPbmVUaW1lUmVuZGVyVGFyZ2V0KGRl
c3QpOworCisgICAgLy8gU2V0IHRoZSB2aWV3cG9ydAorICAgIEQzRDExX1ZJRVdQT1JUIHZpZXdw
b3J0OworICAgIHZpZXdwb3J0LlRvcExlZnRYID0gMDsKKyAgICB2aWV3cG9ydC5Ub3BMZWZ0WSA9
IDA7CisgICAgdmlld3BvcnQuV2lkdGggPSBkZXN0U2l6ZS53aWR0aDsKKyAgICB2aWV3cG9ydC5I
ZWlnaHQgPSBkZXN0U2l6ZS5oZWlnaHQ7CisgICAgdmlld3BvcnQuTWluRGVwdGggPSAwLjBmOwor
ICAgIHZpZXdwb3J0Lk1heERlcHRoID0gMS4wZjsKKyAgICBkZXZpY2VDb250ZXh0LT5SU1NldFZp
ZXdwb3J0cygxLCAmdmlld3BvcnQpOworCisgICAgLy8gQXBwbHkgdGV4dHVyZXMKKyAgICBkZXZp
Y2VDb250ZXh0LT5QU1NldFNoYWRlclJlc291cmNlcygwLCAxLCAmc291cmNlKTsKKworICAgIC8v
IEFwcGx5IHNhbXBsZXJzCisgICAgSUQzRDExU2FtcGxlclN0YXRlICpzYW1wbGVyID0gTlVMTDsK
KyAgICBzd2l0Y2ggKGZpbHRlcikKKyAgICB7CisgICAgICBjYXNlIEdMX05FQVJFU1Q6IHNhbXBs
ZXIgPSBtUG9pbnRTYW1wbGVyOyAgYnJlYWs7CisgICAgICBjYXNlIEdMX0xJTkVBUjogIHNhbXBs
ZXIgPSBtTGluZWFyU2FtcGxlcjsgYnJlYWs7CisgICAgICBkZWZhdWx0OiAgICAgICAgIFVOUkVB
Q0hBQkxFKCk7IHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgZGV2aWNlQ29udGV4dC0+UFNTZXRT
YW1wbGVycygwLCAxLCAmc2FtcGxlcik7CisKKyAgICAvLyBEcmF3IHRoZSBxdWFkCisgICAgZGV2
aWNlQ29udGV4dC0+RHJhdyhkcmF3Q291bnQsIDApOworCisgICAgLy8gVW5iaW5kIHRleHR1cmVz
IGFuZCByZW5kZXIgdGFyZ2V0cyBhbmQgdmVydGV4IGJ1ZmZlcgorICAgIGRldmljZUNvbnRleHQt
PlBTU2V0U2hhZGVyUmVzb3VyY2VzKDAsIDEsICZudWxsU1JWKTsKKworICAgIG1SZW5kZXJlci0+
dW5hcHBseVJlbmRlclRhcmdldHMoKTsKKworICAgIFVJTlQgemVybyA9IDA7CisgICAgSUQzRDEx
QnVmZmVyICpjb25zdCBudWxsQnVmZmVyID0gTlVMTDsKKyAgICBkZXZpY2VDb250ZXh0LT5JQVNl
dFZlcnRleEJ1ZmZlcnMoMCwgMSwgJm51bGxCdWZmZXIsICZ6ZXJvLCAmemVybyk7CisKKyAgICBt
UmVuZGVyZXItPm1hcmtBbGxTdGF0ZURpcnR5KCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
Ym9vbCBCbGl0MTE6OmNvcHlTdGVuY2lsKElEM0QxMVJlc291cmNlICpzb3VyY2UsIHVuc2lnbmVk
IGludCBzb3VyY2VTdWJyZXNvdXJjZSwgY29uc3QgZ2w6OkJveCAmc291cmNlQXJlYSwgY29uc3Qg
Z2w6OkV4dGVudHMgJnNvdXJjZVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgSUQzRDEx
UmVzb3VyY2UgKmRlc3QsIHVuc2lnbmVkIGludCBkZXN0U3VicmVzb3VyY2UsIGNvbnN0IGdsOjpC
b3ggJmRlc3RBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmZGVzdFNpemUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAqc2Npc3NvcikKK3sKKyAgICByZXR1cm4g
Y29weURlcHRoU3RlbmNpbChzb3VyY2UsIHNvdXJjZVN1YnJlc291cmNlLCBzb3VyY2VBcmVhLCBz
b3VyY2VTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RTdWJyZXNv
dXJjZSwgZGVzdEFyZWEsIGRlc3RTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj
aXNzb3IsIHRydWUpOworfQorCitib29sIEJsaXQxMTo6Y29weURlcHRoKElEM0QxMVNoYWRlclJl
c291cmNlVmlldyAqc291cmNlLCBjb25zdCBnbDo6Qm94ICZzb3VyY2VBcmVhLCBjb25zdCBnbDo6
RXh0ZW50cyAmc291cmNlU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgSUQzRDExRGVwdGhT
dGVuY2lsVmlldyAqZGVzdCwgY29uc3QgZ2w6OkJveCAmZGVzdEFyZWEsIGNvbnN0IGdsOjpFeHRl
bnRzICZkZXN0U2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3Rhbmds
ZSAqc2Npc3NvcikKK3sKKyAgICBIUkVTVUxUIHJlc3VsdDsKKyAgICBJRDNEMTFEZXZpY2VDb250
ZXh0ICpkZXZpY2VDb250ZXh0ID0gbVJlbmRlcmVyLT5nZXREZXZpY2VDb250ZXh0KCk7CisKKyAg
ICAvLyBTZXQgdmVydGljZXMKKyAgICBEM0QxMV9NQVBQRURfU1VCUkVTT1VSQ0UgbWFwcGVkUmVz
b3VyY2U7CisgICAgcmVzdWx0ID0gZGV2aWNlQ29udGV4dC0+TWFwKG1WZXJ0ZXhCdWZmZXIsIDAs
IEQzRDExX01BUF9XUklURV9ESVNDQVJELCAwLCAmbWFwcGVkUmVzb3VyY2UpOworICAgIGlmIChG
QUlMRUQocmVzdWx0KSkKKyAgICB7CisgICAgICAgIEVSUigiRmFpbGVkIHRvIG1hcCB2ZXJ0ZXgg
YnVmZmVyIGZvciB0ZXh0dXJlIGNvcHksIEhSRVNVTFQ6IDB4JVguIiwgcmVzdWx0KTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIFVJTlQgc3RyaWRlID0gMDsKKyAgICBVSU5U
IHN0YXJ0SWR4ID0gMDsKKyAgICBVSU5UIGRyYXdDb3VudCA9IDA7CisgICAgRDNEMTFfUFJJTUlU
SVZFX1RPUE9MT0dZIHRvcG9sb2d5OworCisgICAgV3JpdGUyRFZlcnRpY2VzKHNvdXJjZUFyZWEs
IHNvdXJjZVNpemUsIGRlc3RBcmVhLCBkZXN0U2l6ZSwgbWFwcGVkUmVzb3VyY2UucERhdGEsCisg
ICAgICAgICAgICAgICAgICAgICZzdHJpZGUsICZkcmF3Q291bnQsICZ0b3BvbG9neSk7CisKKyAg
ICBkZXZpY2VDb250ZXh0LT5Vbm1hcChtVmVydGV4QnVmZmVyLCAwKTsKKworICAgIC8vIEFwcGx5
IHZlcnRleCBidWZmZXIKKyAgICBkZXZpY2VDb250ZXh0LT5JQVNldFZlcnRleEJ1ZmZlcnMoMCwg
MSwgJm1WZXJ0ZXhCdWZmZXIsICZzdHJpZGUsICZzdGFydElkeCk7CisKKyAgICAvLyBBcHBseSBz
dGF0ZQorICAgIGRldmljZUNvbnRleHQtPk9NU2V0QmxlbmRTdGF0ZShOVUxMLCBOVUxMLCAweEZG
RkZGRkYpOworICAgIGRldmljZUNvbnRleHQtPk9NU2V0RGVwdGhTdGVuY2lsU3RhdGUobURlcHRo
U3RlbmNpbFN0YXRlLCAweEZGRkZGRkZGKTsKKworICAgIGlmIChzY2lzc29yKQorICAgIHsKKyAg
ICAgICAgRDNEMTFfUkVDVCBzY2lzc29yUmVjdDsKKyAgICAgICAgc2Npc3NvclJlY3QubGVmdCA9
IHNjaXNzb3ItPng7CisgICAgICAgIHNjaXNzb3JSZWN0LnJpZ2h0ID0gc2Npc3Nvci0+eCArIHNj
aXNzb3ItPndpZHRoOworICAgICAgICBzY2lzc29yUmVjdC50b3AgPSBzY2lzc29yLT55OworICAg
ICAgICBzY2lzc29yUmVjdC5ib3R0b20gPSBzY2lzc29yLT55ICsgc2Npc3Nvci0+aGVpZ2h0Owor
CisgICAgICAgIGRldmljZUNvbnRleHQtPlJTU2V0U2Npc3NvclJlY3RzKDEsICZzY2lzc29yUmVj
dCk7CisgICAgICAgIGRldmljZUNvbnRleHQtPlJTU2V0U3RhdGUobVNjaXNzb3JFbmFibGVkUmFz
dGVyaXplclN0YXRlKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgZGV2aWNlQ29u
dGV4dC0+UlNTZXRTdGF0ZShtU2Npc3NvckRpc2FibGVkUmFzdGVyaXplclN0YXRlKTsKKyAgICB9
CisKKyAgICAvLyBBcHBseSBzaGFkZXJzCisgICAgZGV2aWNlQ29udGV4dC0+SUFTZXRJbnB1dExh
eW91dChtUXVhZDJESUwpOworICAgIGRldmljZUNvbnRleHQtPklBU2V0UHJpbWl0aXZlVG9wb2xv
Z3kodG9wb2xvZ3kpOworICAgIGRldmljZUNvbnRleHQtPlZTU2V0U2hhZGVyKG1RdWFkMkRWUywg
TlVMTCwgMCk7CisKKyAgICBkZXZpY2VDb250ZXh0LT5QU1NldFNoYWRlcihtRGVwdGhQUywgTlVM
TCwgMCk7CisgICAgZGV2aWNlQ29udGV4dC0+R1NTZXRTaGFkZXIoTlVMTCwgTlVMTCwgMCk7CisK
KyAgICAvLyBVbnNldCB0aGUgY3VycmVudGx5IGJvdW5kIHNoYWRlciByZXNvdXJjZSB0byBhdm9p
ZCBjb25mbGljdHMKKyAgICBJRDNEMTFTaGFkZXJSZXNvdXJjZVZpZXcgKmNvbnN0IG51bGxTUlYg
PSBOVUxMOworICAgIGRldmljZUNvbnRleHQtPlBTU2V0U2hhZGVyUmVzb3VyY2VzKDAsIDEsICZu
dWxsU1JWKTsKKworICAgIC8vIEFwcGx5IHJlbmRlciB0YXJnZXQKKyAgICBkZXZpY2VDb250ZXh0
LT5PTVNldFJlbmRlclRhcmdldHMoMCwgTlVMTCwgZGVzdCk7CisKKyAgICAvLyBTZXQgdGhlIHZp
ZXdwb3J0CisgICAgRDNEMTFfVklFV1BPUlQgdmlld3BvcnQ7CisgICAgdmlld3BvcnQuVG9wTGVm
dFggPSAwOworICAgIHZpZXdwb3J0LlRvcExlZnRZID0gMDsKKyAgICB2aWV3cG9ydC5XaWR0aCA9
IGRlc3RTaXplLndpZHRoOworICAgIHZpZXdwb3J0LkhlaWdodCA9IGRlc3RTaXplLmhlaWdodDsK
KyAgICB2aWV3cG9ydC5NaW5EZXB0aCA9IDAuMGY7CisgICAgdmlld3BvcnQuTWF4RGVwdGggPSAx
LjBmOworICAgIGRldmljZUNvbnRleHQtPlJTU2V0Vmlld3BvcnRzKDEsICZ2aWV3cG9ydCk7CisK
KyAgICAvLyBBcHBseSB0ZXh0dXJlcworICAgIGRldmljZUNvbnRleHQtPlBTU2V0U2hhZGVyUmVz
b3VyY2VzKDAsIDEsICZzb3VyY2UpOworCisgICAgLy8gQXBwbHkgc2FtcGxlcnMKKyAgICBkZXZp
Y2VDb250ZXh0LT5QU1NldFNhbXBsZXJzKDAsIDEsICZtUG9pbnRTYW1wbGVyKTsKKworICAgIC8v
IERyYXcgdGhlIHF1YWQKKyAgICBkZXZpY2VDb250ZXh0LT5EcmF3KGRyYXdDb3VudCwgMCk7CisK
KyAgICAvLyBVbmJpbmQgdGV4dHVyZXMgYW5kIHJlbmRlciB0YXJnZXRzIGFuZCB2ZXJ0ZXggYnVm
ZmVyCisgICAgZGV2aWNlQ29udGV4dC0+UFNTZXRTaGFkZXJSZXNvdXJjZXMoMCwgMSwgJm51bGxT
UlYpOworCisgICAgbVJlbmRlcmVyLT51bmFwcGx5UmVuZGVyVGFyZ2V0cygpOworCisgICAgVUlO
VCB6ZXJvID0gMDsKKyAgICBJRDNEMTFCdWZmZXIgKmNvbnN0IG51bGxCdWZmZXIgPSBOVUxMOwor
ICAgIGRldmljZUNvbnRleHQtPklBU2V0VmVydGV4QnVmZmVycygwLCAxLCAmbnVsbEJ1ZmZlciwg
Jnplcm8sICZ6ZXJvKTsKKworICAgIG1SZW5kZXJlci0+bWFya0FsbFN0YXRlRGlydHkoKTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCitib29sIEJsaXQxMTo6Y29weURlcHRoU3RlbmNpbChJRDNE
MTFSZXNvdXJjZSAqc291cmNlLCB1bnNpZ25lZCBpbnQgc291cmNlU3VicmVzb3VyY2UsIGNvbnN0
IGdsOjpCb3ggJnNvdXJjZUFyZWEsIGNvbnN0IGdsOjpFeHRlbnRzICZzb3VyY2VTaXplLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSUQzRDExUmVzb3VyY2UgKmRlc3QsIHVuc2lnbmVk
IGludCBkZXN0U3VicmVzb3VyY2UsIGNvbnN0IGdsOjpCb3ggJmRlc3RBcmVhLCBjb25zdCBnbDo6
RXh0ZW50cyAmZGVzdFNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn
bDo6UmVjdGFuZ2xlICpzY2lzc29yKQoreworICAgIHJldHVybiBjb3B5RGVwdGhTdGVuY2lsKHNv
dXJjZSwgc291cmNlU3VicmVzb3VyY2UsIHNvdXJjZUFyZWEsIHNvdXJjZVNpemUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdFN1YnJlc291cmNlLCBkZXN0QXJlYSwgZGVz
dFNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Npc3NvciwgZmFsc2UpOworfQor
Citib29sIEJsaXQxMTo6Y29weURlcHRoU3RlbmNpbChJRDNEMTFSZXNvdXJjZSAqc291cmNlLCB1
bnNpZ25lZCBpbnQgc291cmNlU3VicmVzb3VyY2UsIGNvbnN0IGdsOjpCb3ggJnNvdXJjZUFyZWEs
IGNvbnN0IGdsOjpFeHRlbnRzICZzb3VyY2VTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSUQzRDExUmVzb3VyY2UgKmRlc3QsIHVuc2lnbmVkIGludCBkZXN0U3VicmVzb3VyY2Us
IGNvbnN0IGdsOjpCb3ggJmRlc3RBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmZGVzdFNpemUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICpzY2lzc29y
LCBib29sIHN0ZW5jaWxPbmx5KQoreworICAgIElEM0QxMURldmljZSAqZGV2aWNlID0gbVJlbmRl
cmVyLT5nZXREZXZpY2UoKTsKKyAgICBJRDNEMTFEZXZpY2VDb250ZXh0ICpkZXZpY2VDb250ZXh0
ID0gbVJlbmRlcmVyLT5nZXREZXZpY2VDb250ZXh0KCk7CisKKyAgICBJRDNEMTFSZXNvdXJjZSAq
c291cmNlU3RhZ2luZyA9IENyZWF0ZVN0YWdpbmdUZXh0dXJlKGRldmljZSwgZGV2aWNlQ29udGV4
dCwgc291cmNlLCBzb3VyY2VTdWJyZXNvdXJjZSwgc291cmNlU2l6ZSwgRDNEMTFfQ1BVX0FDQ0VT
U19SRUFEKTsKKyAgICAvLyBIQUNLOiBDcmVhdGUgdGhlIGRlc3RpbmF0aW9uIHN0YWdpbmcgYnVm
ZmVyIGFzIGEgcmVhZC93cml0ZSB0ZXh0dXJlIHNvIElEM0QxMURldmljQ29udGV4dDo6VXBkYXRl
U3VicmVzb3VyY2UgY2FuIGJlIGNhbGxlZAorICAgIC8vICAgICAgIHVzaW5nIGl0J3MgbWFwcGVk
IGRhdGEgYXMgYSBzb3VyY2UKKyAgICBJRDNEMTFSZXNvdXJjZSAqZGVzdFN0YWdpbmcgPSBDcmVh
dGVTdGFnaW5nVGV4dHVyZShkZXZpY2UsIGRldmljZUNvbnRleHQsIGRlc3QsIGRlc3RTdWJyZXNv
dXJjZSwgZGVzdFNpemUsIEQzRDExX0NQVV9BQ0NFU1NfUkVBRCB8IEQzRDExX0NQVV9BQ0NFU1Nf
V1JJVEUpOworCisgICAgaWYgKCFzb3VyY2VTdGFnaW5nIHx8ICFkZXN0U3RhZ2luZykKKyAgICB7
CisgICAgICAgIFNhZmVSZWxlYXNlKHNvdXJjZVN0YWdpbmcpOworICAgICAgICBTYWZlUmVsZWFz
ZShkZXN0U3RhZ2luZyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBEWEdJ
X0ZPUk1BVCBmb3JtYXQgPSBHZXRUZXh0dXJlRm9ybWF0KHNvdXJjZSk7CisgICAgQVNTRVJUKGZv
cm1hdCA9PSBHZXRUZXh0dXJlRm9ybWF0KGRlc3QpKTsKKworICAgIHVuc2lnbmVkIGludCBwaXhl
bFNpemUgPSBkM2QxMTo6R2V0Rm9ybWF0UGl4ZWxCeXRlcyhmb3JtYXQpOworICAgIHVuc2lnbmVk
IGludCBjb3B5T2Zmc2V0ID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgY29weVNpemUgPSBwaXhlbFNp
emU7CisgICAgaWYgKHN0ZW5jaWxPbmx5KQorICAgIHsKKyAgICAgICAgY29weU9mZnNldCA9IGQz
ZDExOjpHZXRTdGVuY2lsT2Zmc2V0KGZvcm1hdCkgLyA4OworICAgICAgICBjb3B5U2l6ZSA9IGQz
ZDExOjpHZXRTdGVuY2lsQml0cyhmb3JtYXQpIC8gODsKKworICAgICAgICAvLyBJdCB3b3VsZCBi
ZSBleHBlbnNpdmUgdG8gaGF2ZSBub24tYnl0ZSBzaXplZCBzdGVuY2lsIHNpemVzIHNpbmNlIGl0
IHdvdWxkCisgICAgICAgIC8vIHJlcXVpcmUgcmVhZGluZyBmcm9tIHRoZSBkZXN0aW5hdGlvbiwg
Y3VycmVudGx5IHRoZXJlIGFyZW4ndCBhbnkgdGhvdWdoLgorICAgICAgICBBU1NFUlQoZDNkMTE6
OkdldFN0ZW5jaWxCaXRzKGZvcm1hdCkgICAlIDggPT0gMCAmJgorICAgICAgICAgICAgICAgZDNk
MTE6OkdldFN0ZW5jaWxPZmZzZXQoZm9ybWF0KSAlIDggPT0gMCk7CisgICAgfQorCisgICAgRDNE
MTFfTUFQUEVEX1NVQlJFU09VUkNFIHNvdXJjZU1hcHBpbmcsIGRlc3RNYXBwaW5nOworICAgIGRl
dmljZUNvbnRleHQtPk1hcChzb3VyY2VTdGFnaW5nLCAwLCBEM0QxMV9NQVBfUkVBRCwgMCwgJnNv
dXJjZU1hcHBpbmcpOworICAgIGRldmljZUNvbnRleHQtPk1hcChkZXN0U3RhZ2luZywgMCwgRDNE
MTFfTUFQX1dSSVRFLCAwLCAmZGVzdE1hcHBpbmcpOworCisgICAgaWYgKCFzb3VyY2VNYXBwaW5n
LnBEYXRhIHx8ICFkZXN0TWFwcGluZy5wRGF0YSkKKyAgICB7CisgICAgICAgIGlmICghc291cmNl
TWFwcGluZy5wRGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgZGV2aWNlQ29udGV4dC0+VW5t
YXAoc291cmNlU3RhZ2luZywgMCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFkZXN0TWFwcGlu
Zy5wRGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgZGV2aWNlQ29udGV4dC0+VW5tYXAoZGVz
dFN0YWdpbmcsIDApOworICAgICAgICB9CisgICAgICAgIFNhZmVSZWxlYXNlKHNvdXJjZVN0YWdp
bmcpOworICAgICAgICBTYWZlUmVsZWFzZShkZXN0U3RhZ2luZyk7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBnbDo6UmVjdGFuZ2xlIGNsaXBwZWREZXN0QXJlYShkZXN0QXJl
YS54LCBkZXN0QXJlYS55LCBkZXN0QXJlYS53aWR0aCwgZGVzdEFyZWEuaGVpZ2h0KTsKKworICAg
IC8vIENsaXAgZGVzdCBhcmVhIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplCisgICAgZ2w6OkNsaXBS
ZWN0YW5nbGUoY2xpcHBlZERlc3RBcmVhLCBnbDo6UmVjdGFuZ2xlKDAsIDAsIGRlc3RTaXplLndp
ZHRoLCBkZXN0U2l6ZS5oZWlnaHQpLCAmY2xpcHBlZERlc3RBcmVhKTsKKworICAgIC8vIENsaXAg
ZGVzdCBhcmVhIHRvIHRoZSBzY2lzc29yCisgICAgaWYgKHNjaXNzb3IpCisgICAgeworICAgICAg
ICBnbDo6Q2xpcFJlY3RhbmdsZShjbGlwcGVkRGVzdEFyZWEsICpzY2lzc29yLCAmY2xpcHBlZERl
c3RBcmVhKTsKKyAgICB9CisKKyAgICAvLyBEZXRlcm1pbmUgaWYgZW50aXJlIHJvd3MgY2FuIGJl
IGNvcGllZCBhdCBvbmNlIGluc3RlYWQgb2YgZWFjaCBpbmRpdmlkdWFsIHBpeGVsLCByZXF1aXJl
cyB0aGF0IHRoZXJlIGlzCisgICAgLy8gbm8gb3V0IG9mIGJvdW5kcyBsb29rdXBzIHJlcXVpcmVk
LCB0aGUgZW50aXJlIHBpeGVsIGlzIGNvcGllZCBhbmQgbm8gc3RyZXRjaGluZworICAgIGJvb2wg
d2hvbGVSb3dDb3B5ID0gc291cmNlQXJlYS53aWR0aCA9PSBjbGlwcGVkRGVzdEFyZWEud2lkdGgg
JiYKKyAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUFyZWEueCA+PSAwICYmIHNvdXJjZUFy
ZWEueCArIHNvdXJjZUFyZWEud2lkdGggPD0gc291cmNlU2l6ZS53aWR0aCAmJgorICAgICAgICAg
ICAgICAgICAgICAgICAgY29weVNpemUgPT0gcGl4ZWxTaXplOworCisgICAgZm9yIChpbnQgeSA9
IGNsaXBwZWREZXN0QXJlYS55OyB5IDwgY2xpcHBlZERlc3RBcmVhLnkgKyBjbGlwcGVkRGVzdEFy
ZWEuaGVpZ2h0OyB5KyspCisgICAgeworICAgICAgICBmbG9hdCB5UGVyYyA9IHN0YXRpY19jYXN0
PGZsb2F0Pih5IC0gZGVzdEFyZWEueSkgLyAoZGVzdEFyZWEuaGVpZ2h0IC0gMSk7CisKKyAgICAg
ICAgLy8gSW50ZXJwb2xhdGUgdXNpbmcgdGhlIG9yaWdpbmFsIHNvdXJjZSByZWN0YW5nbGUgdG8g
ZGV0ZXJtaW5lIHdoaWNoIHJvdyB0byBzYW1wbGUgZnJvbSB3aGlsZSBjbGFtcGluZyB0byB0aGUg
ZWRnZXMKKyAgICAgICAgdW5zaWduZWQgaW50IHJlYWRSb3cgPSBnbDo6Y2xhbXAoc291cmNlQXJl
YS55ICsgZmxvb3IoeVBlcmMgKiAoc291cmNlQXJlYS5oZWlnaHQgLSAxKSArIDAuNWYpLCAwLCBz
b3VyY2VTaXplLmhlaWdodCAtIDEpOworICAgICAgICB1bnNpZ25lZCBpbnQgd3JpdGVSb3cgPSB5
OworCisgICAgICAgIGlmICh3aG9sZVJvd0NvcHkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZv
aWQgKnNvdXJjZVJvdyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHNvdXJjZU1hcHBpbmcucERh
dGEpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRSb3cgKiBzb3VyY2VNYXBw
aW5nLlJvd1BpdGNoICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUFyZWEu
eCAqIHBpeGVsU2l6ZTsKKworICAgICAgICAgICAgdm9pZCAqZGVzdFJvdyA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KGRlc3RNYXBwaW5nLnBEYXRhKSArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgd3JpdGVSb3cgKiBkZXN0TWFwcGluZy5Sb3dQaXRjaCArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGVzdEFyZWEueCAqIHBpeGVsU2l6ZTsKKworICAgICAgICAgICAgbWVtY3B5
KGRlc3RSb3csIHNvdXJjZVJvdywgcGl4ZWxTaXplICogZGVzdEFyZWEud2lkdGgpOworICAgICAg
ICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgZm9yIChpbnQgeCA9IGNs
aXBwZWREZXN0QXJlYS54OyB4IDwgY2xpcHBlZERlc3RBcmVhLnggKyBjbGlwcGVkRGVzdEFyZWEu
d2lkdGg7IHgrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmbG9hdCB4UGVyYyA9
IHN0YXRpY19jYXN0PGZsb2F0Pih4IC0gZGVzdEFyZWEueCkgLyAoZGVzdEFyZWEud2lkdGggLSAx
KTsKKworICAgICAgICAgICAgICAgIC8vIEludGVycG9sYXRlIHRoZSBvcmlnaW5hbCBzb3VyY2Ug
cmVjdGFuZ2xlIHRvIGRldGVybWluZSB3aGljaCBjb2x1bW4gdG8gc2FtcGxlIGZyb20gd2hpbGUg
Y2xhbXBpbmcgdG8gdGhlIGVkZ2VzCisgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHJlYWRD
b2x1bW4gPSBnbDo6Y2xhbXAoc291cmNlQXJlYS54ICsgZmxvb3IoeFBlcmMgKiAoc291cmNlQXJl
YS53aWR0aCAtIDEpICsgMC41ZiksIDAsIHNvdXJjZVNpemUud2lkdGggLSAxKTsKKyAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgd3JpdGVDb2x1bW4gPSB4OworCisgICAgICAgICAgICAgICAg
dm9pZCAqc291cmNlUGl4ZWwgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihzb3VyY2VNYXBwaW5n
LnBEYXRhKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkUm93ICog
c291cmNlTWFwcGluZy5Sb3dQaXRjaCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZWFkQ29sdW1uICogcGl4ZWxTaXplICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvcHlPZmZzZXQ7CisKKyAgICAgICAgICAgICAgICB2b2lkICpkZXN0UGl4ZWwg
PSByZWludGVycHJldF9jYXN0PGNoYXIqPihkZXN0TWFwcGluZy5wRGF0YSkgKworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlUm93ICogZGVzdE1hcHBpbmcuUm93UGl0Y2gg
KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlQ29sdW1uICogcGl4ZWxT
aXplICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5T2Zmc2V0OworCisg
ICAgICAgICAgICAgICAgbWVtY3B5KGRlc3RQaXhlbCwgc291cmNlUGl4ZWwsIGNvcHlTaXplKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIEhBQ0s6IFVzZSBJRDNE
MTFEZXZpY0NvbnRleHQ6OlVwZGF0ZVN1YnJlc291cmNlIHdoaWNoIGNhdXNlcyBhbiBleHRyYSBj
b3B5IGNvbXBhcmVkIHRvIElEM0QxMURldmljQ29udGV4dDo6Q29weVN1YnJlc291cmNlUmVnaW9u
CisgICAgLy8gICAgICAgYWNjb3JkaW5nIHRvIE1TRE4uCisgICAgZGV2aWNlQ29udGV4dC0+VXBk
YXRlU3VicmVzb3VyY2UoZGVzdCwgZGVzdFN1YnJlc291cmNlLCBOVUxMLCBkZXN0TWFwcGluZy5w
RGF0YSwgZGVzdE1hcHBpbmcuUm93UGl0Y2gsIGRlc3RNYXBwaW5nLkRlcHRoUGl0Y2gpOworCisg
ICAgZGV2aWNlQ29udGV4dC0+VW5tYXAoc291cmNlU3RhZ2luZywgMCk7CisgICAgZGV2aWNlQ29u
dGV4dC0+VW5tYXAoZGVzdFN0YWdpbmcsIDApOworCisgICAgLy8gVE9ETzogRGV0ZXJtaW5lIHdo
eSB0aGlzIGNhbGwgdG8gSUQzRDExRGV2aWNDb250ZXh0OjpDb3B5U3VicmVzb3VyY2VSZWdpb24g
Y2F1c2VzIGEgVERSIHRpbWVvdXQgb24gc29tZQorICAgIC8vICAgICAgIHN5c3RlbXMgd2hlbiBj
YWxsZWQgcmVwZWF0ZWRseS4KKyAgICAvLyBkZXZpY2VDb250ZXh0LT5Db3B5U3VicmVzb3VyY2VS
ZWdpb24oZGVzdCwgZGVzdFN1YnJlc291cmNlLCAwLCAwLCAwLCBkZXN0U3RhZ2luZywgMCwgTlVM
TCk7CisKKyAgICBTYWZlUmVsZWFzZShzb3VyY2VTdGFnaW5nKTsKKyAgICBTYWZlUmVsZWFzZShk
ZXN0U3RhZ2luZyk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBCbGl0MTE6OmNvbXBh
cmVCbGl0UGFyYW1ldGVycyhjb25zdCBCbGl0MTE6OkJsaXRQYXJhbWV0ZXJzICZhLCBjb25zdCBC
bGl0MTE6OkJsaXRQYXJhbWV0ZXJzICZiKQoreworICAgIHJldHVybiBtZW1jbXAoJmEsICZiLCBz
aXplb2YoQmxpdDExOjpCbGl0UGFyYW1ldGVycykpIDwgMDsKK30KKworYm9vbCBCbGl0MTE6OmNv
bXBhcmVTd2l6emxlUGFyYW1ldGVycyhjb25zdCBTd2l6emxlUGFyYW1ldGVycyAmYSwgY29uc3Qg
U3dpenpsZVBhcmFtZXRlcnMgJmIpCit7CisgICAgcmV0dXJuIG1lbWNtcCgmYSwgJmIsIHNpemVv
ZihCbGl0MTE6OlN3aXp6bGVQYXJhbWV0ZXJzKSkgPCAwOworfQorCit2b2lkIEJsaXQxMTo6YWRk
MkRCbGl0U2hhZGVyVG9NYXAoR0xlbnVtIGRlc3RGb3JtYXQsIGJvb2wgc2lnbmVkSW50ZWdlciwg
SUQzRDExUGl4ZWxTaGFkZXIgKnBzKQoreworICAgIEJsaXRQYXJhbWV0ZXJzIHBhcmFtcyA9IHsg
MCB9OworICAgIHBhcmFtcy5tRGVzdGluYXRpb25Gb3JtYXQgPSBkZXN0Rm9ybWF0OworICAgIHBh
cmFtcy5tU2lnbmVkSW50ZWdlciA9IHNpZ25lZEludGVnZXI7CisgICAgcGFyYW1zLm0zREJsaXQg
PSBmYWxzZTsKKworICAgIEFTU0VSVChtQmxpdFNoYWRlck1hcC5maW5kKHBhcmFtcykgPT0gbUJs
aXRTaGFkZXJNYXAuZW5kKCkpOworICAgIEFTU0VSVChwcyk7CisKKyAgICBTaGFkZXIgc2hhZGVy
OworICAgIHNoYWRlci5tVmVydGV4V3JpdGVGdW5jdGlvbiA9IFdyaXRlMkRWZXJ0aWNlczsKKyAg
ICBzaGFkZXIubUlucHV0TGF5b3V0ID0gbVF1YWQyRElMOworICAgIHNoYWRlci5tVmVydGV4U2hh
ZGVyID0gbVF1YWQyRFZTOworICAgIHNoYWRlci5tR2VvbWV0cnlTaGFkZXIgPSBOVUxMOworICAg
IHNoYWRlci5tUGl4ZWxTaGFkZXIgPSBwczsKKworICAgIG1CbGl0U2hhZGVyTWFwW3BhcmFtc10g
PSBzaGFkZXI7Cit9CisKK3ZvaWQgQmxpdDExOjphZGQzREJsaXRTaGFkZXJUb01hcChHTGVudW0g
ZGVzdEZvcm1hdCwgYm9vbCBzaWduZWRJbnRlZ2VyLCBJRDNEMTFQaXhlbFNoYWRlciAqcHMpCit7
CisgICAgQmxpdFBhcmFtZXRlcnMgcGFyYW1zID0geyAwIH07CisgICAgcGFyYW1zLm1EZXN0aW5h
dGlvbkZvcm1hdCA9IGRlc3RGb3JtYXQ7CisgICAgcGFyYW1zLm1TaWduZWRJbnRlZ2VyID0gc2ln
bmVkSW50ZWdlcjsKKyAgICBwYXJhbXMubTNEQmxpdCA9IHRydWU7CisKKyAgICBBU1NFUlQobUJs
aXRTaGFkZXJNYXAuZmluZChwYXJhbXMpID09IG1CbGl0U2hhZGVyTWFwLmVuZCgpKTsKKyAgICBB
U1NFUlQocHMpOworCisgICAgU2hhZGVyIHNoYWRlcjsKKyAgICBzaGFkZXIubVZlcnRleFdyaXRl
RnVuY3Rpb24gPSBXcml0ZTNEVmVydGljZXM7CisgICAgc2hhZGVyLm1JbnB1dExheW91dCA9IG1R
dWFkM0RJTDsKKyAgICBzaGFkZXIubVZlcnRleFNoYWRlciA9IG1RdWFkM0RWUzsKKyAgICBzaGFk
ZXIubUdlb21ldHJ5U2hhZGVyID0gbVF1YWQzREdTOworICAgIHNoYWRlci5tUGl4ZWxTaGFkZXIg
PSBwczsKKworICAgIG1CbGl0U2hhZGVyTWFwW3BhcmFtc10gPSBzaGFkZXI7Cit9CisKK3ZvaWQg
QmxpdDExOjphZGRTd2l6emxlU2hhZGVyVG9NYXAoR0xlbnVtIGRlc3RUeXBlLCBEM0QxMV9TUlZf
RElNRU5TSU9OIHZpZXdEaW1lbnNpb24sIElEM0QxMVBpeGVsU2hhZGVyICpwcykKK3sKKyAgICBT
d2l6emxlUGFyYW1ldGVycyBwYXJhbXMgPSB7IDAgfTsKKyAgICBwYXJhbXMubURlc3RpbmF0aW9u
VHlwZSA9IGRlc3RUeXBlOworICAgIHBhcmFtcy5tVmlld0RpbWVuc2lvbiA9IHZpZXdEaW1lbnNp
b247CisKKyAgICBBU1NFUlQobVN3aXp6bGVTaGFkZXJNYXAuZmluZChwYXJhbXMpID09IG1Td2l6
emxlU2hhZGVyTWFwLmVuZCgpKTsKKyAgICBBU1NFUlQocHMpOworCisgICAgU2hhZGVyIHNoYWRl
cjsKKyAgICBzd2l0Y2ggKHZpZXdEaW1lbnNpb24pCisgICAgeworICAgICAgY2FzZSBEM0RfU1JW
X0RJTUVOU0lPTl9URVhUVVJFMkQ6CisgICAgICAgIHNoYWRlci5tVmVydGV4V3JpdGVGdW5jdGlv
biA9IFdyaXRlMkRWZXJ0aWNlczsKKyAgICAgICAgc2hhZGVyLm1JbnB1dExheW91dCA9IG1RdWFk
MkRJTDsKKyAgICAgICAgc2hhZGVyLm1WZXJ0ZXhTaGFkZXIgPSBtUXVhZDJEVlM7CisgICAgICAg
IHNoYWRlci5tR2VvbWV0cnlTaGFkZXIgPSBOVUxMOworICAgICAgICBicmVhazsKKworICAgICAg
Y2FzZSBEM0RfU1JWX0RJTUVOU0lPTl9URVhUVVJFM0Q6CisgICAgICBjYXNlIEQzRF9TUlZfRElN
RU5TSU9OX1RFWFRVUkUyREFSUkFZOgorICAgICAgY2FzZSBEM0RfU1JWX0RJTUVOU0lPTl9URVhU
VVJFQ1VCRToKKyAgICAgICAgc2hhZGVyLm1WZXJ0ZXhXcml0ZUZ1bmN0aW9uID0gV3JpdGUzRFZl
cnRpY2VzOworICAgICAgICBzaGFkZXIubUlucHV0TGF5b3V0ID0gbVF1YWQzRElMOworICAgICAg
ICBzaGFkZXIubVZlcnRleFNoYWRlciA9IG1RdWFkM0RWUzsKKyAgICAgICAgc2hhZGVyLm1HZW9t
ZXRyeVNoYWRlciA9IG1RdWFkM0RHUzsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGRlZmF1bHQ6
CisgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBzaGFk
ZXIubVBpeGVsU2hhZGVyID0gcHM7CisKKyAgICBtU3dpenpsZVNoYWRlck1hcFtwYXJhbXNdID0g
c2hhZGVyOworfQorCit2b2lkIEJsaXQxMTo6YnVpbGRTaGFkZXJNYXAoKQoreworICAgIElEM0Qx
MURldmljZSAqZGV2aWNlID0gbVJlbmRlcmVyLT5nZXREZXZpY2UoKTsKKworICAgIGFkZDJEQmxp
dFNoYWRlclRvTWFwKEdMX1JHQkEsICAgICAgICAgICAgZmFsc2UsIGQzZDExOjpDb21waWxlUFMo
ZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUkdCQTJELCAgICAgIkJsaXQxMSAyRCBSR0JBIHBpeGVs
IHNoYWRlciIgICAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JHQkFf
SU5URUdFUiwgICAgZmFsc2UsIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJv
dWdoUkdCQTJEVUksICAgIkJsaXQxMSAyRCBSR0JBIFVJIHBpeGVsIHNoYWRlciIgICAgICAgICkp
OworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JHQkFfSU5URUdFUiwgICAgdHJ1ZSwgIGQz
ZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUkdCQTJESSwgICAgIkJsaXQx
MSAyRCBSR0JBIEkgcGl4ZWwgc2hhZGVyIiAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRl
clRvTWFwKEdMX0JHUkFfRVhULCAgICAgICAgZmFsc2UsIGQzZDExOjpDb21waWxlUFMoZGV2aWNl
LCBnX1BTX1Bhc3N0aHJvdWdoUkdCQTJELCAgICAgIkJsaXQxMSAyRCBCR1JBIHBpeGVsIHNoYWRl
ciIgICAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JHQiwgICAgICAg
ICAgICAgZmFsc2UsIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUkdC
MkQsICAgICAgIkJsaXQxMSAyRCBSR0IgcGl4ZWwgc2hhZGVyIiAgICAgICAgICAgICkpOworICAg
IGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JHQl9JTlRFR0VSLCAgICAgZmFsc2UsIGQzZDExOjpD
b21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUkdCMkRVSSwgICAgIkJsaXQxMSAyRCBS
R0IgVUkgcGl4ZWwgc2hhZGVyIiAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFw
KEdMX1JHQl9JTlRFR0VSLCAgICAgdHJ1ZSwgIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BT
X1Bhc3N0aHJvdWdoUkdCMkRJLCAgICAgIkJsaXQxMSAyRCBSR0IgSSBwaXhlbCBzaGFkZXIiICAg
ICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JHLCAgICAgICAgICAgICAg
ZmFsc2UsIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUkcyRCwgICAg
ICAgIkJsaXQxMSAyRCBSRyBwaXhlbCBzaGFkZXIiICAgICAgICAgICAgICkpOworICAgIGFkZDJE
QmxpdFNoYWRlclRvTWFwKEdMX1JHX0lOVEVHRVIsICAgICAgZmFsc2UsIGQzZDExOjpDb21waWxl
UFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUkcyRFVJLCAgICAgIkJsaXQxMSAyRCBSRyBVSSBw
aXhlbCBzaGFkZXIiICAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JH
X0lOVEVHRVIsICAgICAgdHJ1ZSwgIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0
aHJvdWdoUkcyREksICAgICAgIkJsaXQxMSAyRCBSRyBJIHBpeGVsIHNoYWRlciIgICAgICAgICAg
ICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JFRCwgICAgICAgICAgICAgZmFsc2Us
IGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUjJELCAgICAgICAgIkJs
aXQxMSAyRCBSIHBpeGVsIHNoYWRlciIgICAgICAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNo
YWRlclRvTWFwKEdMX1JFRF9JTlRFR0VSLCAgICAgZmFsc2UsIGQzZDExOjpDb21waWxlUFMoZGV2
aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUjJEVUksICAgICAgIkJsaXQxMSAyRCBSIFVJIHBpeGVsIHNo
YWRlciIgICAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX1JFRF9JTlRF
R0VSLCAgICAgdHJ1ZSwgIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdo
UjJESSwgICAgICAgIkJsaXQxMSAyRCBSIEkgcGl4ZWwgc2hhZGVyIiAgICAgICAgICAgICkpOwor
ICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX0FMUEhBLCAgICAgICAgICAgZmFsc2UsIGQzZDEx
OjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoUkdCQTJELCAgICAgIkJsaXQxMSAy
RCBhbHBoYSBwaXhlbCBzaGFkZXIiICAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRv
TWFwKEdMX0xVTUlOQU5DRSwgICAgICAgZmFsc2UsIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBn
X1BTX1Bhc3N0aHJvdWdoTHVtMkQsICAgICAgIkJsaXQxMSAyRCBsdW0gcGl4ZWwgc2hhZGVyIiAg
ICAgICAgICAgICkpOworICAgIGFkZDJEQmxpdFNoYWRlclRvTWFwKEdMX0xVTUlOQU5DRV9BTFBI
QSwgZmFsc2UsIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1Bhc3N0aHJvdWdoTHVtQWxw
aGEyRCwgIkJsaXQxMSAyRCBsdW1pbmFuY2UgYWxwaGEgcGl4ZWwgc2hhZGVyIikpOworCisgICAg
YWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfUkdCQSwgICAgICAgICAgICBmYWxzZSwgZDNkMTE6OkNv
bXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSR0JBM0QsICAgICAiQmxpdDExIDNEIFJH
QkEgcGl4ZWwgc2hhZGVyIiAgICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAo
R0xfUkdCQV9JTlRFR0VSLCAgICBmYWxzZSwgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNf
UGFzc3Rocm91Z2hSR0JBM0RVSSwgICAiQmxpdDExIDNEIFVJIFJHQkEgcGl4ZWwgc2hhZGVyIiAg
ICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfUkdCQV9JTlRFR0VSLCAgICB0
cnVlLCAgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSR0JBM0RJLCAg
ICAiQmxpdDExIDNEIEkgUkdCQSBwaXhlbCBzaGFkZXIiICAgICAgICAgKSk7CisgICAgYWRkM0RC
bGl0U2hhZGVyVG9NYXAoR0xfQkdSQV9FWFQsICAgICAgICBmYWxzZSwgZDNkMTE6OkNvbXBpbGVQ
UyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSR0JBM0QsICAgICAiQmxpdDExIDNEIEJHUkEgcGl4
ZWwgc2hhZGVyIiAgICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfUkdC
LCAgICAgICAgICAgICBmYWxzZSwgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Ro
cm91Z2hSR0IzRCwgICAgICAiQmxpdDExIDNEIFJHQiBwaXhlbCBzaGFkZXIiICAgICAgICAgICAg
KSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfUkdCX0lOVEVHRVIsICAgICBmYWxzZSwg
ZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSR0IzRFVJLCAgICAiQmxp
dDExIDNEIFJHQiBVSSBwaXhlbCBzaGFkZXIiICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hh
ZGVyVG9NYXAoR0xfUkdCX0lOVEVHRVIsICAgICB0cnVlLCAgZDNkMTE6OkNvbXBpbGVQUyhkZXZp
Y2UsIGdfUFNfUGFzc3Rocm91Z2hSR0IzREksICAgICAiQmxpdDExIDNEIFJHQiBJIHBpeGVsIHNo
YWRlciIgICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfUkcsICAgICAg
ICAgICAgICBmYWxzZSwgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hS
RzNELCAgICAgICAiQmxpdDExIDNEIFJHIHBpeGVsIHNoYWRlciIgICAgICAgICAgICAgKSk7Cisg
ICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfUkdfSU5URUdFUiwgICAgICBmYWxzZSwgZDNkMTE6
OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSRzNEVUksICAgICAiQmxpdDExIDNE
IFJHIFVJIHBpeGVsIHNoYWRlciIgICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9N
YXAoR0xfUkdfSU5URUdFUiwgICAgICB0cnVlLCAgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdf
UFNfUGFzc3Rocm91Z2hSRzNESSwgICAgICAiQmxpdDExIDNEIFJHIEkgcGl4ZWwgc2hhZGVyIiAg
ICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfUkVELCAgICAgICAgICAg
ICBmYWxzZSwgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSM0QsICAg
ICAgICAiQmxpdDExIDNEIFIgcGl4ZWwgc2hhZGVyIiAgICAgICAgICAgICAgKSk7CisgICAgYWRk
M0RCbGl0U2hhZGVyVG9NYXAoR0xfUkVEX0lOVEVHRVIsICAgICBmYWxzZSwgZDNkMTE6OkNvbXBp
bGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSM0RVSSwgICAgICAiQmxpdDExIDNEIFIgVUkg
cGl4ZWwgc2hhZGVyIiAgICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xf
UkVEX0lOVEVHRVIsICAgICB0cnVlLCAgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFz
c3Rocm91Z2hSM0RJLCAgICAgICAiQmxpdDExIDNEIFIgSSBwaXhlbCBzaGFkZXIiICAgICAgICAg
ICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfQUxQSEEsICAgICAgICAgICBmYWxz
ZSwgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hSR0JBM0QsICAgICAi
QmxpdDExIDNEIGFscGhhIHBpeGVsIHNoYWRlciIgICAgICAgICAgKSk7CisgICAgYWRkM0RCbGl0
U2hhZGVyVG9NYXAoR0xfTFVNSU5BTkNFLCAgICAgICBmYWxzZSwgZDNkMTE6OkNvbXBpbGVQUyhk
ZXZpY2UsIGdfUFNfUGFzc3Rocm91Z2hMdW0zRCwgICAgICAiQmxpdDExIDNEIGx1bWluYW5jZSBw
aXhlbCBzaGFkZXIiICAgICAgKSk7CisgICAgYWRkM0RCbGl0U2hhZGVyVG9NYXAoR0xfTFVNSU5B
TkNFX0FMUEhBLCBmYWxzZSwgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfUGFzc3Rocm91
Z2hMdW1BbHBoYTNELCAiQmxpdDExIDNEIGx1bWluYW5jZSBhbHBoYSBwaXhlbCBzaGFkZXIiKSk7
CisKKyAgICBhZGRTd2l6emxlU2hhZGVyVG9NYXAoR0xfRkxPQVQsICAgICAgICBEM0RfU1JWX0RJ
TUVOU0lPTl9URVhUVVJFMkQsICAgICAgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfU3dp
enpsZUYyRCwgICAgICAgIkJsaXQxMSAyRCBGIHN3aXp6bGUgcGl4ZWwgc2hhZGVyIiApKTsKKyAg
ICBhZGRTd2l6emxlU2hhZGVyVG9NYXAoR0xfVU5TSUdORURfSU5ULCBEM0RfU1JWX0RJTUVOU0lP
Tl9URVhUVVJFMkQsICAgICAgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfU3dpenpsZVVJ
MkQsICAgICAgIkJsaXQxMSAyRCBVSSBzd2l6emxlIHBpeGVsIHNoYWRlciIpKTsKKyAgICBhZGRT
d2l6emxlU2hhZGVyVG9NYXAoR0xfSU5ULCAgICAgICAgICBEM0RfU1JWX0RJTUVOU0lPTl9URVhU
VVJFMkQsICAgICAgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfU3dpenpsZUkyRCwgICAg
ICAgIkJsaXQxMSAyRCBJIHN3aXp6bGUgcGl4ZWwgc2hhZGVyIiApKTsKKworICAgIGFkZFN3aXp6
bGVTaGFkZXJUb01hcChHTF9GTE9BVCwgICAgICAgIEQzRF9TUlZfRElNRU5TSU9OX1RFWFRVUkVD
VUJFLCAgICBkM2QxMTo6Q29tcGlsZVBTKGRldmljZSwgZ19QU19Td2l6emxlRjJEQXJyYXksICAi
QmxpdDExIDJEIEN1YmUgRiBzd2l6emxlIHBpeGVsIHNoYWRlciIgKSk7CisgICAgYWRkU3dpenps
ZVNoYWRlclRvTWFwKEdMX1VOU0lHTkVEX0lOVCwgRDNEX1NSVl9ESU1FTlNJT05fVEVYVFVSRUNV
QkUsICAgIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1N3aXp6bGVVSTJEQXJyYXksICJC
bGl0MTEgMkQgQ3ViZSBVSSBzd2l6emxlIHBpeGVsIHNoYWRlciIpKTsKKyAgICBhZGRTd2l6emxl
U2hhZGVyVG9NYXAoR0xfSU5ULCAgICAgICAgICBEM0RfU1JWX0RJTUVOU0lPTl9URVhUVVJFQ1VC
RSwgICAgZDNkMTE6OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfU3dpenpsZUkyREFycmF5LCAgIkJs
aXQxMSAyRCBDdWJlIEkgc3dpenpsZSBwaXhlbCBzaGFkZXIiICkpOworCisgICAgYWRkU3dpenps
ZVNoYWRlclRvTWFwKEdMX0ZMT0FULCAgICAgICAgRDNEX1NSVl9ESU1FTlNJT05fVEVYVFVSRTNE
LCAgICAgIGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1N3aXp6bGVGM0QsICAgICAgICJC
bGl0MTEgM0QgRiBzd2l6emxlIHBpeGVsIHNoYWRlciIgKSk7CisgICAgYWRkU3dpenpsZVNoYWRl
clRvTWFwKEdMX1VOU0lHTkVEX0lOVCwgRDNEX1NSVl9ESU1FTlNJT05fVEVYVFVSRTNELCAgICAg
IGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1N3aXp6bGVVSTNELCAgICAgICJCbGl0MTEg
M0QgVUkgc3dpenpsZSBwaXhlbCBzaGFkZXIiKSk7CisgICAgYWRkU3dpenpsZVNoYWRlclRvTWFw
KEdMX0lOVCwgICAgICAgICAgRDNEX1NSVl9ESU1FTlNJT05fVEVYVFVSRTNELCAgICAgIGQzZDEx
OjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX1N3aXp6bGVJM0QsICAgICAgICJCbGl0MTEgM0QgSSBz
d2l6emxlIHBpeGVsIHNoYWRlciIgKSk7CisKKyAgICBhZGRTd2l6emxlU2hhZGVyVG9NYXAoR0xf
RkxPQVQsICAgICAgICBEM0RfU1JWX0RJTUVOU0lPTl9URVhUVVJFMkRBUlJBWSwgZDNkMTE6OkNv
bXBpbGVQUyhkZXZpY2UsIGdfUFNfU3dpenpsZUYyREFycmF5LCAgIkJsaXQxMSAyRCBBcnJheSBG
IHN3aXp6bGUgcGl4ZWwgc2hhZGVyIiApKTsKKyAgICBhZGRTd2l6emxlU2hhZGVyVG9NYXAoR0xf
VU5TSUdORURfSU5ULCBEM0RfU1JWX0RJTUVOU0lPTl9URVhUVVJFMkRBUlJBWSwgZDNkMTE6OkNv
bXBpbGVQUyhkZXZpY2UsIGdfUFNfU3dpenpsZVVJMkRBcnJheSwgIkJsaXQxMSAyRCBBcnJheSBV
SSBzd2l6emxlIHBpeGVsIHNoYWRlciIpKTsKKyAgICBhZGRTd2l6emxlU2hhZGVyVG9NYXAoR0xf
SU5ULCAgICAgICAgICBEM0RfU1JWX0RJTUVOU0lPTl9URVhUVVJFMkRBUlJBWSwgZDNkMTE6OkNv
bXBpbGVQUyhkZXZpY2UsIGdfUFNfU3dpenpsZUkyREFycmF5LCAgIkJsaXQxMSAyRCBBcnJheSBJ
IHN3aXp6bGUgcGl4ZWwgc2hhZGVyIiApKTsKK30KKwordm9pZCBCbGl0MTE6OmNsZWFyU2hhZGVy
TWFwKCkKK3sKKyAgICBmb3IgKEJsaXRTaGFkZXJNYXA6Oml0ZXJhdG9yIGkgPSBtQmxpdFNoYWRl
ck1hcC5iZWdpbigpOyBpICE9IG1CbGl0U2hhZGVyTWFwLmVuZCgpOyArK2kpCisgICAgeworICAg
ICAgICBTaGFkZXIgJnNoYWRlciA9IGktPnNlY29uZDsKKyAgICAgICAgU2FmZVJlbGVhc2Uoc2hh
ZGVyLm1QaXhlbFNoYWRlcik7CisgICAgfQorICAgIG1CbGl0U2hhZGVyTWFwLmNsZWFyKCk7CisK
KyAgICBmb3IgKFN3aXp6bGVTaGFkZXJNYXA6Oml0ZXJhdG9yIGkgPSBtU3dpenpsZVNoYWRlck1h
cC5iZWdpbigpOyBpICE9IG1Td2l6emxlU2hhZGVyTWFwLmVuZCgpOyArK2kpCisgICAgeworICAg
ICAgICBTaGFkZXIgJnNoYWRlciA9IGktPnNlY29uZDsKKyAgICAgICAgU2FmZVJlbGVhc2Uoc2hh
ZGVyLm1QaXhlbFNoYWRlcik7CisgICAgfQorICAgIG1Td2l6emxlU2hhZGVyTWFwLmNsZWFyKCk7
Cit9CisKK30KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVu
ZGVyZXIvZDNkMTEvQmxpdDExLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9CbGl0MTEuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvQmxp
dDExLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjYgQEAKKy8vCisvLyBDb3B5cmlnaHQg
KGMpIDIwMTMgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisv
LyBCbGl0MTEuY3BwOiBUZXh0dXJlIGNvcHkgdXRpbGl0eSBjbGFzcy4KKworI2lmbmRlZiBMSUJH
TEVTVjJfQkxJVDExX0hfCisjZGVmaW5lIExJQkdMRVNWMl9CTElUMTFfSF8KKworI2luY2x1ZGUg
ImNvbW1vbi9hbmdsZXV0aWxzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL2FuZ2xldHlwZXMuaCIK
KworbmFtZXNwYWNlIHJ4Cit7CitjbGFzcyBSZW5kZXJlcjExOworCitlbnVtIEZpbHRlcgorewor
ICAgIFBvaW50LAorICAgIExpbmVhciwKK307CisKK2NsYXNzIEJsaXQxMQoreworICBwdWJsaWM6
CisgICAgZXhwbGljaXQgQmxpdDExKFJlbmRlcmVyMTEgKnJlbmRlcmVyKTsKKyAgICB+QmxpdDEx
KCk7CisKKyAgICBib29sIHN3aXp6bGVUZXh0dXJlKElEM0QxMVNoYWRlclJlc291cmNlVmlldyAq
c291cmNlLCBJRDNEMTFSZW5kZXJUYXJnZXRWaWV3ICpkZXN0LCBjb25zdCBnbDo6RXh0ZW50cyAm
c2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBzd2l6emxlUmVkLCBHTGVudW0g
c3dpenpsZUdyZWVuLCBHTGVudW0gc3dpenpsZUJsdWUsIEdMZW51bSBzd2l6emxlQWxwaGEpOwor
CisgICAgYm9vbCBjb3B5VGV4dHVyZShJRDNEMTFTaGFkZXJSZXNvdXJjZVZpZXcgKnNvdXJjZSwg
Y29uc3QgZ2w6OkJveCAmc291cmNlQXJlYSwgY29uc3QgZ2w6OkV4dGVudHMgJnNvdXJjZVNpemUs
CisgICAgICAgICAgICAgICAgICAgICBJRDNEMTFSZW5kZXJUYXJnZXRWaWV3ICpkZXN0LCBjb25z
dCBnbDo6Qm94ICZkZXN0QXJlYSwgY29uc3QgZ2w6OkV4dGVudHMgJmRlc3RTaXplLAorICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgZ2w6OlJlY3RhbmdsZSAqc2Npc3NvciwgR0xlbnVtIGRlc3RG
b3JtYXQsIEdMZW51bSBmaWx0ZXIpOworCisgICAgYm9vbCBjb3B5U3RlbmNpbChJRDNEMTFSZXNv
dXJjZSAqc291cmNlLCB1bnNpZ25lZCBpbnQgc291cmNlU3VicmVzb3VyY2UsIGNvbnN0IGdsOjpC
b3ggJnNvdXJjZUFyZWEsIGNvbnN0IGdsOjpFeHRlbnRzICZzb3VyY2VTaXplLAorICAgICAgICAg
ICAgICAgICAgICAgSUQzRDExUmVzb3VyY2UgKmRlc3QsIHVuc2lnbmVkIGludCBkZXN0U3VicmVz
b3VyY2UsIGNvbnN0IGdsOjpCb3ggJmRlc3RBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmZGVzdFNp
emUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6UmVjdGFuZ2xlICpzY2lzc29yKTsK
KworICAgIGJvb2wgY29weURlcHRoKElEM0QxMVNoYWRlclJlc291cmNlVmlldyAqc291cmNlLCBj
b25zdCBnbDo6Qm94ICZzb3VyY2VBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmc291cmNlU2l6ZSwK
KyAgICAgICAgICAgICAgICAgICBJRDNEMTFEZXB0aFN0ZW5jaWxWaWV3ICpkZXN0LCBjb25zdCBn
bDo6Qm94ICZkZXN0QXJlYSwgY29uc3QgZ2w6OkV4dGVudHMgJmRlc3RTaXplLAorICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGdsOjpSZWN0YW5nbGUgKnNjaXNzb3IpOworCisgICAgYm9vbCBjb3B5
RGVwdGhTdGVuY2lsKElEM0QxMVJlc291cmNlICpzb3VyY2UsIHVuc2lnbmVkIGludCBzb3VyY2VT
dWJyZXNvdXJjZSwgY29uc3QgZ2w6OkJveCAmc291cmNlQXJlYSwgY29uc3QgZ2w6OkV4dGVudHMg
JnNvdXJjZVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIElEM0QxMVJlc291cmNlICpk
ZXN0LCB1bnNpZ25lZCBpbnQgZGVzdFN1YnJlc291cmNlLCBjb25zdCBnbDo6Qm94ICZkZXN0QXJl
YSwgY29uc3QgZ2w6OkV4dGVudHMgJmRlc3RTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBnbDo6UmVjdGFuZ2xlICpzY2lzc29yKTsKKworICBwcml2YXRlOgorICAgIHJ4OjpS
ZW5kZXJlcjExICptUmVuZGVyZXI7CisKKyAgICBzdHJ1Y3QgQmxpdFBhcmFtZXRlcnMKKyAgICB7
CisgICAgICAgIEdMZW51bSBtRGVzdGluYXRpb25Gb3JtYXQ7CisgICAgICAgIGJvb2wgbVNpZ25l
ZEludGVnZXI7CisgICAgICAgIGJvb2wgbTNEQmxpdDsKKyAgICB9OworCisgICAgYm9vbCBjb3B5
RGVwdGhTdGVuY2lsKElEM0QxMVJlc291cmNlICpzb3VyY2UsIHVuc2lnbmVkIGludCBzb3VyY2VT
dWJyZXNvdXJjZSwgY29uc3QgZ2w6OkJveCAmc291cmNlQXJlYSwgY29uc3QgZ2w6OkV4dGVudHMg
JnNvdXJjZVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIElEM0QxMVJlc291cmNlICpk
ZXN0LCB1bnNpZ25lZCBpbnQgZGVzdFN1YnJlc291cmNlLCBjb25zdCBnbDo6Qm94ICZkZXN0QXJl
YSwgY29uc3QgZ2w6OkV4dGVudHMgJmRlc3RTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBnbDo6UmVjdGFuZ2xlICpzY2lzc29yLCBib29sIHN0ZW5jaWxPbmx5KTsKKworICAg
IHN0YXRpYyBib29sIGNvbXBhcmVCbGl0UGFyYW1ldGVycyhjb25zdCBCbGl0UGFyYW1ldGVycyAm
YSwgY29uc3QgQmxpdFBhcmFtZXRlcnMgJmIpOworCisgICAgdHlwZWRlZiB2b2lkICgqV3JpdGVW
ZXJ0ZXhGdW5jdGlvbikoY29uc3QgZ2w6OkJveCAmc291cmNlQXJlYSwgY29uc3QgZ2w6OkV4dGVu
dHMgJnNvdXJjZVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZ2w6OkJveCAmZGVzdEFyZWEsIGNvbnN0IGdsOjpFeHRlbnRzICZkZXN0U2l6ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRWZXJ0aWNlcywg
dW5zaWduZWQgaW50ICpvdXRTdHJpZGUsIHVuc2lnbmVkIGludCAqb3V0VmVydGV4Q291bnQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRDNEMTFfUFJJTUlUSVZFX1RP
UE9MT0dZICpvdXRUb3BvbG9neSk7CisKKyAgICBzdHJ1Y3QgU2hhZGVyCisgICAgeworICAgICAg
ICBXcml0ZVZlcnRleEZ1bmN0aW9uIG1WZXJ0ZXhXcml0ZUZ1bmN0aW9uOworICAgICAgICBJRDNE
MTFJbnB1dExheW91dCAqbUlucHV0TGF5b3V0OworICAgICAgICBJRDNEMTFWZXJ0ZXhTaGFkZXIg
Km1WZXJ0ZXhTaGFkZXI7CisgICAgICAgIElEM0QxMUdlb21ldHJ5U2hhZGVyICptR2VvbWV0cnlT
aGFkZXI7CisgICAgICAgIElEM0QxMVBpeGVsU2hhZGVyICptUGl4ZWxTaGFkZXI7CisgICAgfTsK
KworICAgIHR5cGVkZWYgYm9vbCAoKkJsaXRQYXJhbWV0ZXJzQ29tcGFyaXNvbkZ1bmN0aW9uKShj
b25zdCBCbGl0UGFyYW1ldGVycyYsIGNvbnN0IEJsaXRQYXJhbWV0ZXJzICYpOworICAgIHR5cGVk
ZWYgc3RkOjptYXA8QmxpdFBhcmFtZXRlcnMsIFNoYWRlciwgQmxpdFBhcmFtZXRlcnNDb21wYXJp
c29uRnVuY3Rpb24+IEJsaXRTaGFkZXJNYXA7CisgICAgQmxpdFNoYWRlck1hcCBtQmxpdFNoYWRl
ck1hcDsKKworICAgIHZvaWQgYWRkMkRCbGl0U2hhZGVyVG9NYXAoR0xlbnVtIGRlc3RGb3JtYXQs
IGJvb2wgc2lnbmVkSW50ZWdlciwgSUQzRDExUGl4ZWxTaGFkZXIgKnBzKTsKKyAgICB2b2lkIGFk
ZDNEQmxpdFNoYWRlclRvTWFwKEdMZW51bSBkZXN0Rm9ybWF0LCBib29sIHNpZ25lZEludGVnZXIs
IElEM0QxMVBpeGVsU2hhZGVyICpwcyk7CisKKyAgICBzdHJ1Y3QgU3dpenpsZVBhcmFtZXRlcnMK
KyAgICB7CisgICAgICAgIEdMZW51bSBtRGVzdGluYXRpb25UeXBlOworICAgICAgICBEM0QxMV9T
UlZfRElNRU5TSU9OIG1WaWV3RGltZW5zaW9uOworICAgIH07CisKKyAgICBzdGF0aWMgYm9vbCBj
b21wYXJlU3dpenpsZVBhcmFtZXRlcnMoY29uc3QgU3dpenpsZVBhcmFtZXRlcnMgJmEsIGNvbnN0
IFN3aXp6bGVQYXJhbWV0ZXJzICZiKTsKKworICAgIHR5cGVkZWYgYm9vbCAoKlN3aXp6bGVQYXJh
bWV0ZXJzQ29tcGFyaXNvbkZ1bmN0aW9uKShjb25zdCBTd2l6emxlUGFyYW1ldGVycyYsIGNvbnN0
IFN3aXp6bGVQYXJhbWV0ZXJzICYpOworICAgIHR5cGVkZWYgc3RkOjptYXA8U3dpenpsZVBhcmFt
ZXRlcnMsIFNoYWRlciwgU3dpenpsZVBhcmFtZXRlcnNDb21wYXJpc29uRnVuY3Rpb24+IFN3aXp6
bGVTaGFkZXJNYXA7CisgICAgU3dpenpsZVNoYWRlck1hcCBtU3dpenpsZVNoYWRlck1hcDsKKwor
ICAgIHZvaWQgYWRkU3dpenpsZVNoYWRlclRvTWFwKEdMZW51bSBkZXN0VHlwZSwgRDNEMTFfU1JW
X0RJTUVOU0lPTiB2aWV3RGltZW5zaW9uLCBJRDNEMTFQaXhlbFNoYWRlciAqcHMpOworCisgICAg
dm9pZCBidWlsZFNoYWRlck1hcCgpOworICAgIHZvaWQgY2xlYXJTaGFkZXJNYXAoKTsKKworICAg
IElEM0QxMUJ1ZmZlciAqbVZlcnRleEJ1ZmZlcjsKKyAgICBJRDNEMTFTYW1wbGVyU3RhdGUgKm1Q
b2ludFNhbXBsZXI7CisgICAgSUQzRDExU2FtcGxlclN0YXRlICptTGluZWFyU2FtcGxlcjsKKyAg
ICBJRDNEMTFSYXN0ZXJpemVyU3RhdGUgKm1TY2lzc29yRW5hYmxlZFJhc3Rlcml6ZXJTdGF0ZTsK
KyAgICBJRDNEMTFSYXN0ZXJpemVyU3RhdGUgKm1TY2lzc29yRGlzYWJsZWRSYXN0ZXJpemVyU3Rh
dGU7CisgICAgSUQzRDExRGVwdGhTdGVuY2lsU3RhdGUgKm1EZXB0aFN0ZW5jaWxTdGF0ZTsKKwor
ICAgIElEM0QxMUlucHV0TGF5b3V0ICptUXVhZDJESUw7CisgICAgSUQzRDExVmVydGV4U2hhZGVy
ICptUXVhZDJEVlM7CisgICAgSUQzRDExUGl4ZWxTaGFkZXIgKm1EZXB0aFBTOworCisgICAgSUQz
RDExSW5wdXRMYXlvdXQgKm1RdWFkM0RJTDsKKyAgICBJRDNEMTFWZXJ0ZXhTaGFkZXIgKm1RdWFk
M0RWUzsKKyAgICBJRDNEMTFHZW9tZXRyeVNoYWRlciAqbVF1YWQzREdTOworCisgICAgSUQzRDEx
QnVmZmVyICptU3dpenpsZUNCOworCisgICAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEJsaXQx
MSk7Cit9OworCit9CisKKyNlbmRpZiAgIC8vIExJQkdMRVNWMl9CTElUMTFfSF8KSW5kZXg6IFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvQ2xlYXIx
MS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2
Mi9yZW5kZXJlci9kM2QxMS9DbGVhcjExLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvQ2xlYXIxMS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1NTcgQEAKKyNpbmNsdWRlICJwcmVjb21waWxlZC5oIgor
Ly8KKy8vIENvcHlyaWdodCAoYykgMjAxMyBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKy8vCisKKy8vIENsZWFyMTEuY3BwOiBGcmFtZWJ1ZmZlciBjbGVhciB1dGlsaXR5
IGNsYXNzLgorCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL0NsZWFyMTEuaCIK
KyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvUmVuZGVyZXIxMS5oIgorI2luY2x1
ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9yZW5kZXJlcjExX3V0aWxzLmgiCisjaW5jbHVk
ZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL1JlbmRlclRhcmdldDExLmgiCisKKyNpbmNsdWRl
ICJsaWJHTEVTdjIvZm9ybWF0dXRpbHMuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvRnJhbWVidWZm
ZXIuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvUmVuZGVyYnVmZmVyLmgiCisKKyNpbmNsdWRlICJs
aWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9jbGVhcmZsb2F0MTF2cy5o
IgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2Ns
ZWFyZmxvYXQxMXBzLmgiCisKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hh
ZGVycy9jb21waWxlZC9jbGVhcnVpbnQxMXZzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvY2xlYXJ1aW50MTFwcy5oIgorCisjaW5jbHVkZSAi
bGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvY2xlYXJzaW50MTF2cy5o
IgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2Ns
ZWFyc2ludDExcHMuaCIKKworbmFtZXNwYWNlIHJ4Cit7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
Pgorc3RhdGljIHZvaWQgQXBwbHlWZXJ0aWNlcyhjb25zdCBnbDo6RXh0ZW50cyAmZnJhbWVidWZm
ZXJTaXplLCBjb25zdCBnbDo6UmVjdGFuZ2xlICpzY2lzc29yLCBjb25zdCBnbDo6Q29sb3I8VD4g
JmNvbG9yLCBmbG9hdCBkZXB0aCwgdm9pZCAqYnVmZmVyKQoreworICAgIGQzZDExOjpQb3NpdGlv
bkRlcHRoQ29sb3JWZXJ0ZXg8VD4gKnZlcnRpY2VzID0gcmVpbnRlcnByZXRfY2FzdDxkM2QxMTo6
UG9zaXRpb25EZXB0aENvbG9yVmVydGV4PFQ+Kj4oYnVmZmVyKTsKKworICAgIGZsb2F0IGRlcHRo
Q2xlYXIgPSBnbDo6Y2xhbXAwMShkZXB0aCk7CisgICAgZmxvYXQgbGVmdCA9IC0xLjBmOworICAg
IGZsb2F0IHJpZ2h0ID0gMS4wZjsKKyAgICBmbG9hdCB0b3AgPSAtMS4wZjsKKyAgICBmbG9hdCBi
b3R0b20gPSAxLjBmOworCisgICAgLy8gQ2xpcCB0aGUgcXVhZCBjb29yZGluYXRlcyB0byB0aGUg
c2Npc3NvciBpZiBuZWVkZWQKKyAgICBpZiAoc2Npc3NvciAhPSBOVUxMKQorICAgIHsKKyAgICAg
ICAgbGVmdCA9IHN0ZDo6bWF4KGxlZnQsIChzY2lzc29yLT54IC8gZmxvYXQoZnJhbWVidWZmZXJT
aXplLndpZHRoKSkgKiAyLjBmIC0gMS4wZik7CisgICAgICAgIHJpZ2h0ID0gc3RkOjptaW4ocmln
aHQsICgoc2Npc3Nvci0+eCArIHNjaXNzb3ItPndpZHRoKSAvIGZsb2F0KGZyYW1lYnVmZmVyU2l6
ZS53aWR0aCkpICogMi4wZiAtIDEuMGYpOworICAgICAgICB0b3AgPSBzdGQ6Om1heCh0b3AsICgo
ZnJhbWVidWZmZXJTaXplLmhlaWdodCAtIHNjaXNzb3ItPnkgLSBzY2lzc29yLT5oZWlnaHQpIC8g
ZmxvYXQoZnJhbWVidWZmZXJTaXplLmhlaWdodCkpICogMi4wZiAtIDEuMGYpOworICAgICAgICBi
b3R0b20gPSBzdGQ6Om1pbihib3R0b20sICgoZnJhbWVidWZmZXJTaXplLmhlaWdodCAtIHNjaXNz
b3ItPnkpIC8gZmxvYXQoZnJhbWVidWZmZXJTaXplLmhlaWdodCkpICogMi4wZiAtIDEuMGYpOwor
ICAgIH0KKworICAgIGQzZDExOjpTZXRQb3NpdGlvbkRlcHRoQ29sb3JWZXJ0ZXg8VD4odmVydGlj
ZXMgKyAwLCBsZWZ0LCAgYm90dG9tLCBkZXB0aENsZWFyLCBjb2xvcik7CisgICAgZDNkMTE6OlNl
dFBvc2l0aW9uRGVwdGhDb2xvclZlcnRleDxUPih2ZXJ0aWNlcyArIDEsIGxlZnQsICB0b3AsICAg
IGRlcHRoQ2xlYXIsIGNvbG9yKTsKKyAgICBkM2QxMTo6U2V0UG9zaXRpb25EZXB0aENvbG9yVmVy
dGV4PFQ+KHZlcnRpY2VzICsgMiwgcmlnaHQsIGJvdHRvbSwgZGVwdGhDbGVhciwgY29sb3IpOwor
ICAgIGQzZDExOjpTZXRQb3NpdGlvbkRlcHRoQ29sb3JWZXJ0ZXg8VD4odmVydGljZXMgKyAzLCBy
aWdodCwgdG9wLCAgICBkZXB0aENsZWFyLCBjb2xvcik7Cit9CisKK3RlbXBsYXRlIDx1bnNpZ25l
ZCBpbnQgdnNTaXplLCB1bnNpZ25lZCBpbnQgcHNTaXplPgorQ2xlYXIxMTo6Q2xlYXJTaGFkZXIg
Q2xlYXIxMTo6Q3JlYXRlQ2xlYXJTaGFkZXIoSUQzRDExRGV2aWNlICpkZXZpY2UsIERYR0lfRk9S
TUFUIGNvbG9yVHlwZSwgY29uc3QgQllURSAoJnZzQnl0ZUNvZGUpW3ZzU2l6ZV0sIGNvbnN0IEJZ
VEUgKCZwc0J5dGVDb2RlKVtwc1NpemVdKQoreworICAgIEhSRVNVTFQgcmVzdWx0OworCisgICAg
Q2xlYXJTaGFkZXIgc2hhZGVyID0geyAwIH07CisKKyAgICBEM0QxMV9JTlBVVF9FTEVNRU5UX0RF
U0MgcXVhZExheW91dFtdID0KKyAgICB7CisgICAgICAgIHsgIlBPU0lUSU9OIiwgMCwgRFhHSV9G
T1JNQVRfUjMyRzMyQjMyX0ZMT0FULCAwLCAgMCwgRDNEMTFfSU5QVVRfUEVSX1ZFUlRFWF9EQVRB
LCAwIH0sCisgICAgICAgIHsgIkNPTE9SIiwgICAgMCwgY29sb3JUeXBlLCAgICAgICAgICAgICAg
ICAgICAwLCAxMiwgRDNEMTFfSU5QVVRfUEVSX1ZFUlRFWF9EQVRBLCAwIH0sCisgICAgfTsKKwor
ICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlSW5wdXRMYXlvdXQocXVhZExheW91dCwgQXJyYXlT
aXplKHF1YWRMYXlvdXQpLCB2c0J5dGVDb2RlLCB2c1NpemUsICZzaGFkZXIuaW5wdXRMYXlvdXQp
OworICAgIEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisKKyAgICByZXN1bHQgPSBkZXZpY2Ut
PkNyZWF0ZVZlcnRleFNoYWRlcih2c0J5dGVDb2RlLCB2c1NpemUsIE5VTEwsICZzaGFkZXIudmVy
dGV4U2hhZGVyKTsKKyAgICBBU1NFUlQoU1VDQ0VFREVEKHJlc3VsdCkpOworCisgICAgcmVzdWx0
ID0gZGV2aWNlLT5DcmVhdGVQaXhlbFNoYWRlcihwc0J5dGVDb2RlLCBwc1NpemUsIE5VTEwsICZz
aGFkZXIucGl4ZWxTaGFkZXIpOworICAgIEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisKKyAg
ICByZXR1cm4gc2hhZGVyOworfQorCitDbGVhcjExOjpDbGVhcjExKFJlbmRlcmVyMTEgKnJlbmRl
cmVyKQorICAgIDogbVJlbmRlcmVyKHJlbmRlcmVyKSwgbUNsZWFyQmxlbmRTdGF0ZXMoU3RydWN0
TGVzc1RoYW48Q2xlYXJCbGVuZEluZm8+KSwgbUNsZWFyRGVwdGhTdGVuY2lsU3RhdGVzKFN0cnVj
dExlc3NUaGFuPENsZWFyRGVwdGhTdGVuY2lsSW5mbz4pLAorICAgICAgbVZlcnRleEJ1ZmZlcihO
VUxMKSwgbVJhc3Rlcml6ZXJTdGF0ZShOVUxMKQoreworICAgIEhSRVNVTFQgcmVzdWx0OworICAg
IElEM0QxMURldmljZSAqZGV2aWNlID0gcmVuZGVyZXItPmdldERldmljZSgpOworCisgICAgRDNE
MTFfQlVGRkVSX0RFU0MgdmJEZXNjOworICAgIHZiRGVzYy5CeXRlV2lkdGggPSBzaXplb2YoZDNk
MTE6OlBvc2l0aW9uRGVwdGhDb2xvclZlcnRleDxmbG9hdD4pICogNDsKKyAgICB2YkRlc2MuVXNh
Z2UgPSBEM0QxMV9VU0FHRV9EWU5BTUlDOworICAgIHZiRGVzYy5CaW5kRmxhZ3MgPSBEM0QxMV9C
SU5EX1ZFUlRFWF9CVUZGRVI7CisgICAgdmJEZXNjLkNQVUFjY2Vzc0ZsYWdzID0gRDNEMTFfQ1BV
X0FDQ0VTU19XUklURTsKKyAgICB2YkRlc2MuTWlzY0ZsYWdzID0gMDsKKyAgICB2YkRlc2MuU3Ry
dWN0dXJlQnl0ZVN0cmlkZSA9IDA7CisKKyAgICByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZUJ1ZmZl
cigmdmJEZXNjLCBOVUxMLCAmbVZlcnRleEJ1ZmZlcik7CisgICAgQVNTRVJUKFNVQ0NFRURFRChy
ZXN1bHQpKTsKKyAgICBkM2QxMTo6U2V0RGVidWdOYW1lKG1WZXJ0ZXhCdWZmZXIsICJDbGVhcjEx
IG1hc2tlZCBjbGVhciB2ZXJ0ZXggYnVmZmVyIik7CisKKyAgICBEM0QxMV9SQVNURVJJWkVSX0RF
U0MgcnNEZXNjOworICAgIHJzRGVzYy5GaWxsTW9kZSA9IEQzRDExX0ZJTExfU09MSUQ7CisgICAg
cnNEZXNjLkN1bGxNb2RlID0gRDNEMTFfQ1VMTF9OT05FOworICAgIHJzRGVzYy5Gcm9udENvdW50
ZXJDbG9ja3dpc2UgPSBGQUxTRTsKKyAgICByc0Rlc2MuRGVwdGhCaWFzID0gMDsKKyAgICByc0Rl
c2MuRGVwdGhCaWFzQ2xhbXAgPSAwLjBmOworICAgIHJzRGVzYy5TbG9wZVNjYWxlZERlcHRoQmlh
cyA9IDAuMGY7CisgICAgcnNEZXNjLkRlcHRoQ2xpcEVuYWJsZSA9IEZBTFNFOworICAgIHJzRGVz
Yy5TY2lzc29yRW5hYmxlID0gRkFMU0U7CisgICAgcnNEZXNjLk11bHRpc2FtcGxlRW5hYmxlID0g
RkFMU0U7CisgICAgcnNEZXNjLkFudGlhbGlhc2VkTGluZUVuYWJsZSA9IEZBTFNFOworCisgICAg
cmVzdWx0ID0gZGV2aWNlLT5DcmVhdGVSYXN0ZXJpemVyU3RhdGUoJnJzRGVzYywgJm1SYXN0ZXJp
emVyU3RhdGUpOworICAgIEFTU0VSVChTVUNDRUVERUQocmVzdWx0KSk7CisgICAgZDNkMTE6OlNl
dERlYnVnTmFtZShtUmFzdGVyaXplclN0YXRlLCAiQ2xlYXIxMSBtYXNrZWQgY2xlYXIgcmFzdGVy
aXplciBzdGF0ZSIpOworCisgICAgbUZsb2F0Q2xlYXJTaGFkZXIgPSBDcmVhdGVDbGVhclNoYWRl
cihkZXZpY2UsIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgZ19WU19DbGVhckZsb2F0
LCBnX1BTX0NsZWFyRmxvYXQpOworICAgIG1VaW50Q2xlYXJTaGFkZXIgID0gQ3JlYXRlQ2xlYXJT
aGFkZXIoZGV2aWNlLCBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfVUlOVCwgIGdfVlNfQ2xlYXJV
aW50LCAgZ19QU19DbGVhclVpbnQgKTsKKyAgICBtSW50Q2xlYXJTaGFkZXIgICA9IENyZWF0ZUNs
ZWFyU2hhZGVyKGRldmljZSwgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX1NJTlQsICBnX1ZTX0Ns
ZWFyU2ludCwgIGdfUFNfQ2xlYXJTaW50ICk7Cit9CisKK0NsZWFyMTE6On5DbGVhcjExKCkKK3sK
KyAgICBmb3IgKENsZWFyQmxlbmRTdGF0ZU1hcDo6aXRlcmF0b3IgaSA9IG1DbGVhckJsZW5kU3Rh
dGVzLmJlZ2luKCk7IGkgIT0gbUNsZWFyQmxlbmRTdGF0ZXMuZW5kKCk7IGkrKykKKyAgICB7Cisg
ICAgICAgIFNhZmVSZWxlYXNlKGktPnNlY29uZCk7CisgICAgfQorICAgIG1DbGVhckJsZW5kU3Rh
dGVzLmNsZWFyKCk7CisKKyAgICBTYWZlUmVsZWFzZShtRmxvYXRDbGVhclNoYWRlci5pbnB1dExh
eW91dCk7CisgICAgU2FmZVJlbGVhc2UobUZsb2F0Q2xlYXJTaGFkZXIudmVydGV4U2hhZGVyKTsK
KyAgICBTYWZlUmVsZWFzZShtRmxvYXRDbGVhclNoYWRlci5waXhlbFNoYWRlcik7CisKKyAgICBT
YWZlUmVsZWFzZShtVWludENsZWFyU2hhZGVyLmlucHV0TGF5b3V0KTsKKyAgICBTYWZlUmVsZWFz
ZShtVWludENsZWFyU2hhZGVyLnZlcnRleFNoYWRlcik7CisgICAgU2FmZVJlbGVhc2UobVVpbnRD
bGVhclNoYWRlci5waXhlbFNoYWRlcik7CisKKyAgICBTYWZlUmVsZWFzZShtSW50Q2xlYXJTaGFk
ZXIuaW5wdXRMYXlvdXQpOworICAgIFNhZmVSZWxlYXNlKG1JbnRDbGVhclNoYWRlci52ZXJ0ZXhT
aGFkZXIpOworICAgIFNhZmVSZWxlYXNlKG1JbnRDbGVhclNoYWRlci5waXhlbFNoYWRlcik7CisK
KyAgICBmb3IgKENsZWFyRGVwdGhTdGVuY2lsU3RhdGVNYXA6Oml0ZXJhdG9yIGkgPSBtQ2xlYXJE
ZXB0aFN0ZW5jaWxTdGF0ZXMuYmVnaW4oKTsgaSAhPSBtQ2xlYXJEZXB0aFN0ZW5jaWxTdGF0ZXMu
ZW5kKCk7IGkrKykKKyAgICB7CisgICAgICAgIFNhZmVSZWxlYXNlKGktPnNlY29uZCk7CisgICAg
fQorICAgIG1DbGVhckRlcHRoU3RlbmNpbFN0YXRlcy5jbGVhcigpOworCisgICAgU2FmZVJlbGVh
c2UobVZlcnRleEJ1ZmZlcik7CisgICAgU2FmZVJlbGVhc2UobVJhc3Rlcml6ZXJTdGF0ZSk7Cit9
CisKK3ZvaWQgQ2xlYXIxMTo6Y2xlYXJGcmFtZWJ1ZmZlcihjb25zdCBnbDo6Q2xlYXJQYXJhbWV0
ZXJzICZjbGVhclBhcmFtcywgZ2w6OkZyYW1lYnVmZmVyICpmcmFtZUJ1ZmZlcikKK3sKKyAgICAv
LyBGaXJzdCBkZXRlcm1pbmUgaWYgYSBzY2lzc29yZWQgY2xlYXIgaXMgbmVlZGVkLCB0aGlzIHdp
bGwgYWx3YXlzIHJlcXVpcmUgZHJhd2luZyBhIHF1YWQuCisgICAgLy8KKyAgICAvLyBPdGhlcndp
c2UsIGl0ZXJhdGUgb3ZlciB0aGUgY29sb3IgYnVmZmVycyB3aGljaCByZXF1aXJlIGNsZWFyaW5n
IGFuZCBkZXRlcm1pbmUgaWYgdGhleSBjYW4gYmUKKyAgICAvLyBjbGVhcmVkIHdpdGggSUQzRDEx
RGV2aWNlQ29udGV4dDo6Q2xlYXJSZW5kZXJUYXJnZXRWaWV3Li4uIFRoaXMgcmVxdWlyZXM6Cisg
ICAgLy8gMSkgVGhlIHJlbmRlciB0YXJnZXQgaXMgYmVpbmcgY2xlYXJlZCB0byBhIGZsb2F0IHZh
bHVlICh3aWxsIGJlIGNhc3QgdG8gaW50ZWdlciB3aGVuIGNsZWFyaW5nIGludGVnZXIKKyAgICAv
LyAgICByZW5kZXIgdGFyZ2V0cyBhcyBleHBlY3RlZCBidXQgZG9lcyBub3Qgd29yayB0aGUgb3Ro
ZXIgd2F5IGFyb3VuZCkKKyAgICAvLyAyKSBUaGUgZm9ybWF0IG9mIHRoZSByZW5kZXIgdGFyZ2V0
IGhhcyBubyBjb2xvciBjaGFubmVscyB0aGF0IGFyZSBjdXJyZW50bHkgbWFza2VkIG91dC4KKyAg
ICAvLyBDbGVhciB0aGUgZWFzeS10by1jbGVhciBidWZmZXJzIG9uIHRoZSBzcG90IGFuZCBhY2N1
bXVsYXRlIHRoZSBvbmVzIHRoYXQgcmVxdWlyZSBzcGVjaWFsIHdvcmsuCisgICAgLy8KKyAgICAv
LyBBbHNvIGRldGVybWluZSBpZiB0aGUgZGVwdGggc3RlbmNpbCBjYW4gYmUgY2xlYXJlZCB3aXRo
IElEM0QxMURldmljZUNvbnRleHQ6OkNsZWFyRGVwdGhTdGVuY2lsVmlldworICAgIC8vIGJ5IGNo
ZWNraW5nIGlmIHRoZSBzdGVuY2lsIHdyaXRlIG1hc2sgY292ZXJzIHRoZSBlbnRpcmUgc3RlbmNp
bC4KKyAgICAvLworICAgIC8vIFRvIGNsZWFyIHRoZSByZW1haW5pbmcgYnVmZmVycywgcXVhZHMg
bXVzdCBiZSBkcmF3biBjb250YWluaW5nIGFuIGludCwgdWludCBvciBmbG9hdCB2ZXJ0ZXggY29s
b3IKKyAgICAvLyBhdHRyaWJ1dGUuCisKKyAgICBnbDo6RXh0ZW50cyBmcmFtZWJ1ZmZlclNpemU7
CisgICAgaWYgKGZyYW1lQnVmZmVyLT5nZXRGaXJzdENvbG9yYnVmZmVyKCkgIT0gTlVMTCkKKyAg
ICB7CisgICAgICAgIGdsOjpSZW5kZXJidWZmZXIgKnJlbmRlckJ1ZmZlciA9IGZyYW1lQnVmZmVy
LT5nZXRGaXJzdENvbG9yYnVmZmVyKCk7CisgICAgICAgIGZyYW1lYnVmZmVyU2l6ZS53aWR0aCA9
IHJlbmRlckJ1ZmZlci0+Z2V0V2lkdGgoKTsKKyAgICAgICAgZnJhbWVidWZmZXJTaXplLmhlaWdo
dCA9IHJlbmRlckJ1ZmZlci0+Z2V0SGVpZ2h0KCk7CisgICAgICAgIGZyYW1lYnVmZmVyU2l6ZS5k
ZXB0aCA9IDE7CisgICAgfQorICAgIGVsc2UgaWYgKGZyYW1lQnVmZmVyLT5nZXREZXB0aE9yU3Rl
bmNpbGJ1ZmZlcigpICE9IE5VTEwpCisgICAgeworICAgICAgICBnbDo6UmVuZGVyYnVmZmVyICpy
ZW5kZXJCdWZmZXIgPSBmcmFtZUJ1ZmZlci0+Z2V0RGVwdGhPclN0ZW5jaWxidWZmZXIoKTsKKyAg
ICAgICAgZnJhbWVidWZmZXJTaXplLndpZHRoID0gcmVuZGVyQnVmZmVyLT5nZXRXaWR0aCgpOwor
ICAgICAgICBmcmFtZWJ1ZmZlclNpemUuaGVpZ2h0ID0gcmVuZGVyQnVmZmVyLT5nZXRIZWlnaHQo
KTsKKyAgICAgICAgZnJhbWVidWZmZXJTaXplLmRlcHRoID0gMTsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGlmIChjbGVhclBhcmFtcy5zY2lzc29yRW5hYmxlZCAmJiAoY2xlYXJQYXJhbXMuc2Npc3Nv
ci54ID49IGZyYW1lYnVmZmVyU2l6ZS53aWR0aCB8fCAKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNsZWFyUGFyYW1zLnNjaXNzb3IueSA+PSBmcmFtZWJ1ZmZlclNpemUu
aGVpZ2h0IHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhclBh
cmFtcy5zY2lzc29yLnggKyBjbGVhclBhcmFtcy5zY2lzc29yLndpZHRoIDw9IDAgfHwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyUGFyYW1zLnNjaXNzb3IueSAr
IGNsZWFyUGFyYW1zLnNjaXNzb3IuaGVpZ2h0IDw9IDApKQorICAgIHsKKyAgICAgICAgLy8gU2Np
c3NvciBpcyBlbmFibGVkIGFuZCB0aGUgc2Npc3NvciByZWN0YW5nbGUgaXMgb3V0c2lkZSB0aGUg
cmVuZGVyYnVmZmVyCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBib29sIG5lZWRTY2lz
c29yZWRDbGVhciA9IGNsZWFyUGFyYW1zLnNjaXNzb3JFbmFibGVkICYmIChjbGVhclBhcmFtcy5z
Y2lzc29yLnggPiAwIHx8IGNsZWFyUGFyYW1zLnNjaXNzb3IueSA+IDAgfHwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhclBh
cmFtcy5zY2lzc29yLnggKyBjbGVhclBhcmFtcy5zY2lzc29yLndpZHRoIDwgZnJhbWVidWZmZXJT
aXplLndpZHRoIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xlYXJQYXJhbXMuc2Npc3Nvci55ICsgY2xlYXJQYXJhbXMuc2Np
c3Nvci5oZWlnaHQgPCBmcmFtZWJ1ZmZlclNpemUuaGVpZ2h0KTsKKworICAgIEdMdWludCBjbGll
bnRWZXJzaW9uID0gbVJlbmRlcmVyLT5nZXRDdXJyZW50Q2xpZW50VmVyc2lvbigpOworCisgICAg
c3RkOjp2ZWN0b3I8UmVuZGVyVGFyZ2V0MTEqPiBtYXNrZWRDbGVhclJlbmRlclRhcmdldHM7Cisg
ICAgUmVuZGVyVGFyZ2V0MTEqIG1hc2tlZENsZWFyRGVwdGhTdGVuY2lsID0gTlVMTDsKKworICAg
IElEM0QxMURldmljZUNvbnRleHQgKmRldmljZUNvbnRleHQgPSBtUmVuZGVyZXItPmdldERldmlj
ZUNvbnRleHQoKTsKKworICAgIGZvciAodW5zaWduZWQgaW50IGNvbG9yQXR0YWNobWVudCA9IDA7
IGNvbG9yQXR0YWNobWVudCA8IGdsOjpJTVBMRU1FTlRBVElPTl9NQVhfRFJBV19CVUZGRVJTOyBj
b2xvckF0dGFjaG1lbnQrKykKKyAgICB7CisgICAgICAgIGlmIChjbGVhclBhcmFtcy5jbGVhckNv
bG9yW2NvbG9yQXR0YWNobWVudF0gJiYgZnJhbWVCdWZmZXItPmlzRW5hYmxlZENvbG9yQXR0YWNo
bWVudChjb2xvckF0dGFjaG1lbnQpKQorICAgICAgICB7CisgICAgICAgICAgICBnbDo6UmVuZGVy
YnVmZmVyICpyZW5kZXJidWZmZXIgPSBmcmFtZUJ1ZmZlci0+Z2V0Q29sb3JidWZmZXIoY29sb3JB
dHRhY2htZW50KTsKKyAgICAgICAgICAgIGlmIChyZW5kZXJidWZmZXIpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgUmVuZGVyVGFyZ2V0MTEgKnJlbmRlclRhcmdldCA9IFJlbmRlclRh
cmdldDExOjptYWtlUmVuZGVyVGFyZ2V0MTEocmVuZGVyYnVmZmVyLT5nZXRSZW5kZXJUYXJnZXQo
KSk7CisgICAgICAgICAgICAgICAgaWYgKCFyZW5kZXJUYXJnZXQpCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICBFUlIoIlJlbmRlciB0YXJnZXQgcG9pbnRlciB1bmV4cGVj
dGVkbHkgbnVsbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIEdMZW51bSBpbnRlcm5hbEZvcm1hdCA9IHJlbmRlcmJ1
ZmZlci0+Z2V0SW50ZXJuYWxGb3JtYXQoKTsKKyAgICAgICAgICAgICAgICBHTGVudW0gYWN0dWFs
Rm9ybWF0ID0gcmVuZGVyYnVmZmVyLT5nZXRBY3R1YWxGb3JtYXQoKTsKKyAgICAgICAgICAgICAg
ICBHTGVudW0gY29tcG9uZW50VHlwZSA9IGdsOjpHZXRDb21wb25lbnRUeXBlKGludGVybmFsRm9y
bWF0LCBjbGllbnRWZXJzaW9uKTsKKyAgICAgICAgICAgICAgICBpZiAoY2xlYXJQYXJhbXMuY29s
b3JDbGVhclR5cGUgPT0gR0xfRkxPQVQgJiYKKyAgICAgICAgICAgICAgICAgICAgIShjb21wb25l
bnRUeXBlID09IEdMX0ZMT0FUIHx8IGNvbXBvbmVudFR5cGUgPT0gR0xfVU5TSUdORURfTk9STUFM
SVpFRCB8fCBjb21wb25lbnRUeXBlID09IEdMX1NJR05FRF9OT1JNQUxJWkVEKSkKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEVSUigiSXQgaXMgdW5kZWZpbmVkIGJlaGF2
aW91ciB0byBjbGVhciBhIHJlbmRlciBidWZmZXIgd2hpY2ggaXMgbm90IG5vcm1hbGl6ZWQgZml4
ZWQgcG9pbnQgb3IgZmxvYXRpbmctIgorICAgICAgICAgICAgICAgICAgICAgICAgInBvaW50IHRv
IGZsb2F0aW5nIHBvaW50IHZhbHVlcyAoY29sb3IgYXR0YWNobWVudCAldSBoYXMgaW50ZXJuYWwg
Zm9ybWF0IDB4JVgpLiIsIGNvbG9yQXR0YWNobWVudCwgaW50ZXJuYWxGb3JtYXQpOworICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIEdMdWludCBpbnRlcm5hbFJlZEJpdHMgPSBn
bDo6R2V0UmVkQml0cyhpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lvbik7CisgICAgICAgICAg
ICAgICAgR0x1aW50IGludGVybmFsR3JlZW5CaXRzID0gZ2w6OkdldEdyZWVuQml0cyhpbnRlcm5h
bEZvcm1hdCwgY2xpZW50VmVyc2lvbik7CisgICAgICAgICAgICAgICAgR0x1aW50IGludGVybmFs
Qmx1ZUJpdHMgPSBnbDo6R2V0Qmx1ZUJpdHMoaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24p
OworICAgICAgICAgICAgICAgIEdMdWludCBpbnRlcm5hbEFscGhhQml0cyA9IGdsOjpHZXRBbHBo
YUJpdHMoaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pOworCisgICAgICAgICAgICAgICAg
aWYgKChpbnRlcm5hbFJlZEJpdHMgICA9PSAwIHx8ICFjbGVhclBhcmFtcy5jb2xvck1hc2tSZWQp
ICYmCisgICAgICAgICAgICAgICAgICAgIChpbnRlcm5hbEdyZWVuQml0cyA9PSAwIHx8ICFjbGVh
clBhcmFtcy5jb2xvck1hc2tHcmVlbikgJiYKKyAgICAgICAgICAgICAgICAgICAgKGludGVybmFs
Qmx1ZUJpdHMgID09IDAgfHwgIWNsZWFyUGFyYW1zLmNvbG9yTWFza0JsdWUpICYmCisgICAgICAg
ICAgICAgICAgICAgIChpbnRlcm5hbEFscGhhQml0cyA9PSAwIHx8ICFjbGVhclBhcmFtcy5jb2xv
ck1hc2tBbHBoYSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvLyBF
dmVyeSBjaGFubmVsIGVpdGhlciBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcmVuZGVyIHRhcmdldCBv
ciBpcyBtYXNrZWQgb3V0CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIGlmIChuZWVkU2Npc3NvcmVkQ2xlYXIgfHwg
Y2xlYXJQYXJhbXMuY29sb3JDbGVhclR5cGUgIT0gR0xfRkxPQVQgfHwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAoaW50ZXJuYWxSZWRCaXRzICAgPiAwICYmICFjbGVhclBhcmFtcy5jb2xvck1h
c2tSZWQpICAgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaW50ZXJuYWxHcmVlbkJpdHMg
PiAwICYmICFjbGVhclBhcmFtcy5jb2xvck1hc2tHcmVlbikgfHwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAoaW50ZXJuYWxCbHVlQml0cyAgPiAwICYmICFjbGVhclBhcmFtcy5jb2xvck1hc2tC
bHVlKSAgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaW50ZXJuYWxBbHBoYUJpdHMgPiAw
ICYmICFjbGVhclBhcmFtcy5jb2xvck1hc2tBbHBoYSkpCisgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAvLyBBIHNjaXNzb3JlZCBvciBtYXNrZWQgY2xlYXIgaXMgcmVxdWly
ZWQKKyAgICAgICAgICAgICAgICAgICAgbWFza2VkQ2xlYXJSZW5kZXJUYXJnZXRzLnB1c2hfYmFj
ayhyZW5kZXJUYXJnZXQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvLyBJRDNEMTFEZXZpY2VD
b250ZXh0OjpDbGVhclJlbmRlclRhcmdldFZpZXcgaXMgcG9zc2libGUKKworICAgICAgICAgICAg
ICAgICAgICBJRDNEMTFSZW5kZXJUYXJnZXRWaWV3ICpmcmFtZWJ1ZmZlclJUViA9IHJlbmRlclRh
cmdldC0+Z2V0UmVuZGVyVGFyZ2V0VmlldygpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWZy
YW1lYnVmZmVyUlRWKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBFUlIoIlJlbmRlciB0YXJnZXQgdmlldyBwb2ludGVyIHVuZXhwZWN0ZWRseSBudWxsLiIp
OworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGFjdHVhbCBmb3JtYXQgaGFz
IGEgY2hhbm5lbCB0aGF0IHRoZSBpbnRlcm5hbCBmb3JtYXQgZG9lcyBub3QgYW5kIHNldCB0aGVt
IHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IHZhbHVlcworICAgICAgICAg
ICAgICAgICAgICBHTHVpbnQgYWN0dWFsUmVkQml0cyAgID0gZ2w6OkdldFJlZEJpdHMoYWN0dWFs
Rm9ybWF0LCBjbGllbnRWZXJzaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgR0x1aW50IGFjdHVh
bEdyZWVuQml0cyA9IGdsOjpHZXRHcmVlbkJpdHMoYWN0dWFsRm9ybWF0LCBjbGllbnRWZXJzaW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgR0x1aW50IGFjdHVhbEJsdWVCaXRzICA9IGdsOjpHZXRC
bHVlQml0cyhhY3R1YWxGb3JtYXQsIGNsaWVudFZlcnNpb24pOworICAgICAgICAgICAgICAgICAg
ICBHTHVpbnQgYWN0dWFsQWxwaGFCaXRzID0gZ2w6OkdldEFscGhhQml0cyhhY3R1YWxGb3JtYXQs
IGNsaWVudFZlcnNpb24pOworCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0IGNsZWFy
VmFsdWVzWzRdID0KKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgKChpbnRlcm5hbFJlZEJpdHMgICA9PSAwICYmIGFjdHVhbFJlZEJpdHMgICA+IDApID8gMC4w
ZiA6IGNsZWFyUGFyYW1zLmNvbG9yRkNsZWFyVmFsdWUucmVkKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICgoaW50ZXJuYWxHcmVlbkJpdHMgPT0gMCAmJiBhY3R1YWxHcmVlbkJpdHMgPiAwKSA/
IDAuMGYgOiBjbGVhclBhcmFtcy5jb2xvckZDbGVhclZhbHVlLmdyZWVuKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICgoaW50ZXJuYWxCbHVlQml0cyAgPT0gMCAmJiBhY3R1YWxCbHVlQml0cyAg
PiAwKSA/IDAuMGYgOiBjbGVhclBhcmFtcy5jb2xvckZDbGVhclZhbHVlLmJsdWUpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgKChpbnRlcm5hbEFscGhhQml0cyA9PSAwICYmIGFjdHVhbEFscGhh
Qml0cyA+IDApID8gMS4wZiA6IGNsZWFyUGFyYW1zLmNvbG9yRkNsZWFyVmFsdWUuYWxwaGEpLAor
ICAgICAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICAgICAgICAgIGRldmljZUNvbnRl
eHQtPkNsZWFyUmVuZGVyVGFyZ2V0VmlldyhmcmFtZWJ1ZmZlclJUViwgY2xlYXJWYWx1ZXMpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAg
IGlmIChjbGVhclBhcmFtcy5jbGVhckRlcHRoIHx8IGNsZWFyUGFyYW1zLmNsZWFyU3RlbmNpbCkK
KyAgICB7CisgICAgICAgIGdsOjpSZW5kZXJidWZmZXIgKnJlbmRlcmJ1ZmZlciA9IGZyYW1lQnVm
ZmVyLT5nZXREZXB0aE9yU3RlbmNpbGJ1ZmZlcigpOworICAgICAgICBpZiAocmVuZGVyYnVmZmVy
KQorICAgICAgICB7CisgICAgICAgICAgICBSZW5kZXJUYXJnZXQxMSAqcmVuZGVyVGFyZ2V0ID0g
UmVuZGVyVGFyZ2V0MTE6Om1ha2VSZW5kZXJUYXJnZXQxMShyZW5kZXJidWZmZXItPmdldERlcHRo
U3RlbmNpbCgpKTsKKyAgICAgICAgICAgIGlmICghcmVuZGVyVGFyZ2V0KQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIEVSUigiRGVwdGggc3RlbmNpbCByZW5kZXIgdGFyZ2V0IHBvaW50
ZXIgdW5leHBlY3RlZGx5IG51bGwuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBHTGVudW0gYWN0dWFsRm9ybWF0ID0gcmVuZGVyYnVmZmVy
LT5nZXRBY3R1YWxGb3JtYXQoKTsKKworICAgICAgICAgICAgdW5zaWduZWQgaW50IHN0ZW5jaWxV
bm1hc2tlZCA9IGZyYW1lQnVmZmVyLT5oYXNTdGVuY2lsKCkgPyAoMSA8PCBnbDo6R2V0U3RlbmNp
bEJpdHMoYWN0dWFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKSkgLSAxIDogMDsKKyAgICAgICAgICAg
IGJvb2wgbmVlZE1hc2tlZFN0ZW5jaWxDbGVhciA9IGNsZWFyUGFyYW1zLmNsZWFyU3RlbmNpbCAm
JiAoY2xlYXJQYXJhbXMuc3RlbmNpbFdyaXRlTWFzayAmIHN0ZW5jaWxVbm1hc2tlZCkgIT0gc3Rl
bmNpbFVubWFza2VkOworCisgICAgICAgICAgICBpZiAobmVlZFNjaXNzb3JlZENsZWFyIHx8IG5l
ZWRNYXNrZWRTdGVuY2lsQ2xlYXIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbWFz
a2VkQ2xlYXJEZXB0aFN0ZW5jaWwgPSByZW5kZXJUYXJnZXQ7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSUQzRDExRGVwdGhT
dGVuY2lsVmlldyAqZnJhbWVidWZmZXJEU1YgPSByZW5kZXJUYXJnZXQtPmdldERlcHRoU3RlbmNp
bFZpZXcoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWZyYW1lYnVmZmVyRFNWKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgRVJSKCJEZXB0aCBzdGVuY2lsIHZpZXcgcG9p
bnRlciB1bmV4cGVjdGVkbHkgbnVsbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIFVJTlQgY2xlYXJGbGFncyA9IChj
bGVhclBhcmFtcy5jbGVhckRlcHRoICAgPyBEM0QxMV9DTEVBUl9ERVBUSCAgIDogMCkgfAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGVhclBhcmFtcy5jbGVhclN0ZW5jaWwg
PyBEM0QxMV9DTEVBUl9TVEVOQ0lMIDogMCk7CisgICAgICAgICAgICAgICAgRkxPQVQgZGVwdGhD
bGVhciA9IGdsOjpjbGFtcDAxKGNsZWFyUGFyYW1zLmRlcHRoQ2xlYXJWYWx1ZSk7CisgICAgICAg
ICAgICAgICAgVUlOVDggc3RlbmNpbENsZWFyID0gY2xlYXJQYXJhbXMuc3RlbmNpbENsZWFyVmFs
dWUgJiAweEZGOworCisgICAgICAgICAgICAgICAgZGV2aWNlQ29udGV4dC0+Q2xlYXJEZXB0aFN0
ZW5jaWxWaWV3KGZyYW1lYnVmZmVyRFNWLCBjbGVhckZsYWdzLCBkZXB0aENsZWFyLCBzdGVuY2ls
Q2xlYXIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hc2tl
ZENsZWFyUmVuZGVyVGFyZ2V0cy5zaXplKCkgPiAwIHx8IG1hc2tlZENsZWFyRGVwdGhTdGVuY2ls
KQorICAgIHsKKyAgICAgICAgLy8gVG8gY2xlYXIgdGhlIHJlbmRlciB0YXJnZXRzIGFuZCBkZXB0
aCBzdGVuY2lsIGluIG9uZSBwYXNzOgorICAgICAgICAvLworICAgICAgICAvLyBSZW5kZXIgYSBx
dWFkIGNsaXBwZWQgdG8gdGhlIHNjaXNzb3IgcmVjdGFuZ2xlIHdoaWNoIGRyYXdzIHRoZSBjbGVh
ciBjb2xvciBhbmQgYSBibGVuZAorICAgICAgICAvLyBzdGF0ZSB0aGF0IHdpbGwgcGVyZm9ybSB0
aGUgcmVxdWlyZWQgY29sb3IgbWFza2luZy4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gVGhlIHF1
YWQncyBkZXB0aCBpcyBlcXVhbCB0byB0aGUgZGVwdGggY2xlYXIgdmFsdWUgd2l0aCBhIGRlcHRo
IHN0ZW5jaWwgc3RhdGUgdGhhdAorICAgICAgICAvLyB3aWxsIGVuYWJsZSBvciBkaXNhYmxlIGRl
cHRoIHRlc3Qvd3JpdGVzIGlmIHRoZSBkZXB0aCBidWZmZXIgc2hvdWxkIGJlIGNsZWFyZWQgb3Ig
bm90LgorICAgICAgICAvLworICAgICAgICAvLyBUaGUgcmFzdGVyaXplciBzdGF0ZSdzIHN0ZW5j
aWwgaXMgc2V0IHRvIGFsd2F5cyBwYXNzIG9yIGZhaWwgYmFzZWQgb24gaWYgdGhlIHN0ZW5jaWwK
KyAgICAgICAgLy8gc2hvdWxkIGJlIGNsZWFyZWQgb3Igbm90IHdpdGggYSBzdGVuY2lsIHdyaXRl
IG1hc2sgb2YgdGhlIHN0ZW5jaWwgY2xlYXIgdmFsdWUuCisgICAgICAgIC8vCisgICAgICAgIC8v
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgICAgIC8vCisgICAgICAgIC8vIEx1
Y2tpbHksIHRoZSBnbCBzcGVjIChFUyAzLjAuMiBwZyAxODMpIHN0YXRlcyB0aGF0IHRoZSByZXN1
bHRzIG9mIGNsZWFyaW5nIGEgcmVuZGVyLQorICAgICAgICAvLyBidWZmZXIgdGhhdCBpcyBub3Qg
bm9ybWFsaXplZCBmaXhlZCBwb2ludCBvciBmbG9hdGluZyBwb2ludCB3aXRoIGZsb2F0aW5nIHBv
aW50IHZhbHVlcworICAgICAgICAvLyBhcmUgdW5kZWZpbmVkIHNvIHdlIGNhbiBqdXN0IHdyaXRl
IGZsb2F0cyB0byB0aGVtIGFuZCBEM0QxMSB3aWxsIGJpdCBjYXN0IHRoZW0gdG8KKyAgICAgICAg
Ly8gaW50ZWdlcnMuCisgICAgICAgIC8vCisgICAgICAgIC8vIEFsc28sIHdlIGRvbid0IGhhdmUg
dG8gd29ycnkgYWJvdXQgYXR0ZW1wdGluZyB0byBjbGVhciBhIG5vcm1hbGl6ZWQgZml4ZWQvZmxv
YXRpbmcgcG9pbnQKKyAgICAgICAgLy8gYnVmZmVyIHdpdGggaW50ZWdlciB2YWx1ZXMgYmVjYXVz
ZSB0aGVyZSBpcyBubyBnbCBBUEkgY2FsbCB3aGljaCB3b3VsZCBhbGxvdyBpdCwKKyAgICAgICAg
Ly8gZ2xDbGVhckJ1ZmZlciogY2FsbHMgb25seSBjbGVhciBhIHNpbmdsZSByZW5kZXJidWZmZXIg
YXQgYSB0aW1lIHdoaWNoIGlzIHZlcmlmaWVkIHRvCisgICAgICAgIC8vIGJlIGEgY29tcGF0aWJs
ZSBjbGVhciB0eXBlLgorCisgICAgICAgIC8vIEJpbmQgYWxsIHRoZSByZW5kZXIgdGFyZ2V0cyB3
aGljaCBuZWVkIGNsZWFyaW5nCisgICAgICAgIEFTU0VSVChtYXNrZWRDbGVhclJlbmRlclRhcmdl
dHMuc2l6ZSgpIDw9IG1SZW5kZXJlci0+Z2V0TWF4UmVuZGVyVGFyZ2V0cygpKTsKKyAgICAgICAg
c3RkOjp2ZWN0b3I8SUQzRDExUmVuZGVyVGFyZ2V0Vmlldyo+IHJ0dnMobWFza2VkQ2xlYXJSZW5k
ZXJUYXJnZXRzLnNpemUoKSk7CisgICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwg
bWFza2VkQ2xlYXJSZW5kZXJUYXJnZXRzLnNpemUoKTsgaSsrKQorICAgICAgICB7CisgICAgICAg
ICAgICBJRDNEMTFSZW5kZXJUYXJnZXRWaWV3ICpyZW5kZXJUYXJnZXQgPSBtYXNrZWRDbGVhclJl
bmRlclRhcmdldHNbaV0tPmdldFJlbmRlclRhcmdldFZpZXcoKTsKKyAgICAgICAgICAgIGlmICgh
cmVuZGVyVGFyZ2V0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEVSUigiUmVuZGVy
IHRhcmdldCBwb2ludGVyIHVuZXhwZWN0ZWRseSBudWxsLiIpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcnR2c1tpXSA9IHJlbmRlclRhcmdl
dDsKKyAgICAgICAgfQorICAgICAgICBJRDNEMTFEZXB0aFN0ZW5jaWxWaWV3ICpkc3YgPSBtYXNr
ZWRDbGVhckRlcHRoU3RlbmNpbCA/IG1hc2tlZENsZWFyRGVwdGhTdGVuY2lsLT5nZXREZXB0aFN0
ZW5jaWxWaWV3KCkgOiBOVUxMOworCisgICAgICAgIElEM0QxMUJsZW5kU3RhdGUgKmJsZW5kU3Rh
dGUgPSBnZXRCbGVuZFN0YXRlKGNsZWFyUGFyYW1zLCBtYXNrZWRDbGVhclJlbmRlclRhcmdldHMp
OworICAgICAgICBjb25zdCBGTE9BVCBibGVuZEZhY3RvcnNbNF0gPSB7IDEuMGYsIDEuMGYsIDEu
MGYsIDEuMGYgfTsKKyAgICAgICAgY29uc3QgVUlOVCBzYW1wbGVNYXNrID0gMHhGRkZGRkZGRjsK
KworICAgICAgICBJRDNEMTFEZXB0aFN0ZW5jaWxTdGF0ZSAqZHNTdGF0ZSA9IGdldERlcHRoU3Rl
bmNpbFN0YXRlKGNsZWFyUGFyYW1zKTsKKyAgICAgICAgY29uc3QgVUlOVCBzdGVuY2lsQ2xlYXIg
PSBjbGVhclBhcmFtcy5zdGVuY2lsQ2xlYXJWYWx1ZSAmIDB4RkY7CisKKyAgICAgICAgLy8gU2V0
IHRoZSB2ZXJ0aWNlcworICAgICAgICBVSU5UIHZlcnRleFN0cmlkZSA9IDA7CisgICAgICAgIGNv
bnN0IFVJTlQgc3RhcnRJZHggPSAwOworICAgICAgICBjb25zdCBDbGVhclNoYWRlciogc2hhZGVy
ID0gTlVMTDsKKyAgICAgICAgRDNEMTFfTUFQUEVEX1NVQlJFU09VUkNFIG1hcHBlZFJlc291cmNl
OworICAgICAgICBIUkVTVUxUIHJlc3VsdCA9IGRldmljZUNvbnRleHQtPk1hcChtVmVydGV4QnVm
ZmVyLCAwLCBEM0QxMV9NQVBfV1JJVEVfRElTQ0FSRCwgMCwgJm1hcHBlZFJlc291cmNlKTsKKyAg
ICAgICAgaWYgKEZBSUxFRChyZXN1bHQpKQorICAgICAgICB7CisgICAgICAgICAgICBFUlIoIkZh
aWxlZCB0byBtYXAgbWFza2VkIGNsZWFyIHZlcnRleCBidWZmZXIsIEhSRVNVTFQ6IDB4JVguIiwg
cmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0
IGdsOjpSZWN0YW5nbGUgKnNjaXNzb3JQdHIgPSBjbGVhclBhcmFtcy5zY2lzc29yRW5hYmxlZCA/
ICZjbGVhclBhcmFtcy5zY2lzc29yIDogTlVMTDsKKyAgICAgICAgc3dpdGNoIChjbGVhclBhcmFt
cy5jb2xvckNsZWFyVHlwZSkKKyAgICAgICAgeworICAgICAgICAgIGNhc2UgR0xfRkxPQVQ6Cisg
ICAgICAgICAgICBBcHBseVZlcnRpY2VzKGZyYW1lYnVmZmVyU2l6ZSwgc2Npc3NvclB0ciwgY2xl
YXJQYXJhbXMuY29sb3JGQ2xlYXJWYWx1ZSwgY2xlYXJQYXJhbXMuZGVwdGhDbGVhclZhbHVlLCBt
YXBwZWRSZXNvdXJjZS5wRGF0YSk7CisgICAgICAgICAgICB2ZXJ0ZXhTdHJpZGUgPSBzaXplb2Yo
ZDNkMTE6OlBvc2l0aW9uRGVwdGhDb2xvclZlcnRleDxmbG9hdD4pOworICAgICAgICAgICAgc2hh
ZGVyID0gJm1GbG9hdENsZWFyU2hhZGVyOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
ICBjYXNlIEdMX1VOU0lHTkVEX0lOVDoKKyAgICAgICAgICAgIEFwcGx5VmVydGljZXMoZnJhbWVi
dWZmZXJTaXplLCBzY2lzc29yUHRyLCBjbGVhclBhcmFtcy5jb2xvclVJQ2xlYXJWYWx1ZSwgY2xl
YXJQYXJhbXMuZGVwdGhDbGVhclZhbHVlLCBtYXBwZWRSZXNvdXJjZS5wRGF0YSk7CisgICAgICAg
ICAgICB2ZXJ0ZXhTdHJpZGUgPSBzaXplb2YoZDNkMTE6OlBvc2l0aW9uRGVwdGhDb2xvclZlcnRl
eDx1bnNpZ25lZCBpbnQ+KTsKKyAgICAgICAgICAgIHNoYWRlciA9ICZtVWludENsZWFyU2hhZGVy
OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBjYXNlIEdMX0lOVDoKKyAgICAgICAg
ICAgIEFwcGx5VmVydGljZXMoZnJhbWVidWZmZXJTaXplLCBzY2lzc29yUHRyLCBjbGVhclBhcmFt
cy5jb2xvcklDbGVhclZhbHVlLCBjbGVhclBhcmFtcy5kZXB0aENsZWFyVmFsdWUsIG1hcHBlZFJl
c291cmNlLnBEYXRhKTsKKyAgICAgICAgICAgIHZlcnRleFN0cmlkZSA9IHNpemVvZihkM2QxMTo6
UG9zaXRpb25EZXB0aENvbG9yVmVydGV4PGludD4pOworICAgICAgICAgICAgc2hhZGVyID0gJm1J
bnRDbGVhclNoYWRlcjsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIGRldmljZUNvbnRleHQtPlVubWFwKG1WZXJ0ZXhCdWZmZXIsIDApOworCisg
ICAgICAgIC8vIFNldCB0aGUgdmlld3BvcnQgdG8gYmUgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgZnJh
bWVidWZmZXIKKyAgICAgICAgRDNEMTFfVklFV1BPUlQgdmlld3BvcnQ7CisgICAgICAgIHZpZXdw
b3J0LlRvcExlZnRYID0gMDsKKyAgICAgICAgdmlld3BvcnQuVG9wTGVmdFkgPSAwOworICAgICAg
ICB2aWV3cG9ydC5XaWR0aCA9IGZyYW1lYnVmZmVyU2l6ZS53aWR0aDsKKyAgICAgICAgdmlld3Bv
cnQuSGVpZ2h0ID0gZnJhbWVidWZmZXJTaXplLmhlaWdodDsKKyAgICAgICAgdmlld3BvcnQuTWlu
RGVwdGggPSAwOworICAgICAgICB2aWV3cG9ydC5NYXhEZXB0aCA9IDE7CisgICAgICAgIGRldmlj
ZUNvbnRleHQtPlJTU2V0Vmlld3BvcnRzKDEsICZ2aWV3cG9ydCk7CisKKyAgICAgICAgLy8gQXBw
bHkgc3RhdGUKKyAgICAgICAgZGV2aWNlQ29udGV4dC0+T01TZXRCbGVuZFN0YXRlKGJsZW5kU3Rh
dGUsIGJsZW5kRmFjdG9ycywgc2FtcGxlTWFzayk7CisgICAgICAgIGRldmljZUNvbnRleHQtPk9N
U2V0RGVwdGhTdGVuY2lsU3RhdGUoZHNTdGF0ZSwgc3RlbmNpbENsZWFyKTsKKyAgICAgICAgZGV2
aWNlQ29udGV4dC0+UlNTZXRTdGF0ZShtUmFzdGVyaXplclN0YXRlKTsKKworICAgICAgICAvLyBB
cHBseSBzaGFkZXJzCisgICAgICAgIGRldmljZUNvbnRleHQtPklBU2V0SW5wdXRMYXlvdXQoc2hh
ZGVyLT5pbnB1dExheW91dCk7CisgICAgICAgIGRldmljZUNvbnRleHQtPlZTU2V0U2hhZGVyKHNo
YWRlci0+dmVydGV4U2hhZGVyLCBOVUxMLCAwKTsKKyAgICAgICAgZGV2aWNlQ29udGV4dC0+UFNT
ZXRTaGFkZXIoc2hhZGVyLT5waXhlbFNoYWRlciwgTlVMTCwgMCk7CisgICAgICAgIGRldmljZUNv
bnRleHQtPkdTU2V0U2hhZGVyKE5VTEwsIE5VTEwsIDApOworCisgICAgICAgIC8vIEFwcGx5IHZl
cnRleCBidWZmZXIKKyAgICAgICAgZGV2aWNlQ29udGV4dC0+SUFTZXRWZXJ0ZXhCdWZmZXJzKDAs
IDEsICZtVmVydGV4QnVmZmVyLCAmdmVydGV4U3RyaWRlLCAmc3RhcnRJZHgpOworICAgICAgICBk
ZXZpY2VDb250ZXh0LT5JQVNldFByaW1pdGl2ZVRvcG9sb2d5KEQzRF9QUklNSVRJVkVfVE9QT0xP
R1lfVFJJQU5HTEVTVFJJUCk7CisKKyAgICAgICAgLy8gQXBwbHkgcmVuZGVyIHRhcmdldHMKKyAg
ICAgICAgZGV2aWNlQ29udGV4dC0+T01TZXRSZW5kZXJUYXJnZXRzKHJ0dnMuc2l6ZSgpLCAocnR2
cy5lbXB0eSgpID8gTlVMTCA6ICZydHZzWzBdKSwgZHN2KTsKKworICAgICAgICAvLyBEcmF3IHRo
ZSBjbGVhciBxdWFkCisgICAgICAgIGRldmljZUNvbnRleHQtPkRyYXcoNCwgMCk7CisKKyAgICAg
ICAgLy8gQ2xlYW4gdXAKKyAgICAgICAgbVJlbmRlcmVyLT5tYXJrQWxsU3RhdGVEaXJ0eSgpOwor
ICAgIH0KK30KKworSUQzRDExQmxlbmRTdGF0ZSAqQ2xlYXIxMTo6Z2V0QmxlbmRTdGF0ZShjb25z
dCBnbDo6Q2xlYXJQYXJhbWV0ZXJzICZjbGVhclBhcmFtcywgY29uc3Qgc3RkOjp2ZWN0b3I8UmVu
ZGVyVGFyZ2V0MTEqPiYgcnRzKQoreworICAgIEdMdWludCBjbGllbnRWZXJzaW9uID0gbVJlbmRl
cmVyLT5nZXRDdXJyZW50Q2xpZW50VmVyc2lvbigpOworCisgICAgQ2xlYXJCbGVuZEluZm8gYmxl
bmRLZXkgPSB7IDAgfTsKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IEQzRDExX1NJ
TVVMVEFORU9VU19SRU5ERVJfVEFSR0VUX0NPVU5UOyBpKyspCisgICAgeworICAgICAgICBpZiAo
aSA8IHJ0cy5zaXplKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIEdMaW50IGludGVybmFsRm9y
bWF0ID0gcnRzW2ldLT5nZXRJbnRlcm5hbEZvcm1hdCgpOworCisgICAgICAgICAgICBibGVuZEtl
eS5tYXNrQ2hhbm5lbHNbaV1bMF0gPSBjbGVhclBhcmFtcy5jbGVhckNvbG9yID8gKGNsZWFyUGFy
YW1zLmNvbG9yTWFza1JlZCAgICYmIGdsOjpHZXRSZWRCaXRzKGludGVybmFsRm9ybWF0LCBjbGll
bnRWZXJzaW9uKSAgID4gMCkgOiBmYWxzZTsKKyAgICAgICAgICAgIGJsZW5kS2V5Lm1hc2tDaGFu
bmVsc1tpXVsxXSA9IGNsZWFyUGFyYW1zLmNsZWFyQ29sb3IgPyAoY2xlYXJQYXJhbXMuY29sb3JN
YXNrR3JlZW4gJiYgZ2w6OkdldEdyZWVuQml0cyhpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lv
bikgPiAwKSA6IGZhbHNlOworICAgICAgICAgICAgYmxlbmRLZXkubWFza0NoYW5uZWxzW2ldWzJd
ID0gY2xlYXJQYXJhbXMuY2xlYXJDb2xvciA/IChjbGVhclBhcmFtcy5jb2xvck1hc2tCbHVlICAm
JiBnbDo6R2V0Qmx1ZUJpdHMoaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pICA+IDApIDog
ZmFsc2U7CisgICAgICAgICAgICBibGVuZEtleS5tYXNrQ2hhbm5lbHNbaV1bM10gPSBjbGVhclBh
cmFtcy5jbGVhckNvbG9yID8gKGNsZWFyUGFyYW1zLmNvbG9yTWFza0FscGhhICYmIGdsOjpHZXRB
bHBoYUJpdHMoaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pID4gMCkgOiBmYWxzZTsKKyAg
ICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGJsZW5kS2V5Lm1h
c2tDaGFubmVsc1tpXVswXSA9IGZhbHNlOworICAgICAgICAgICAgYmxlbmRLZXkubWFza0NoYW5u
ZWxzW2ldWzFdID0gZmFsc2U7CisgICAgICAgICAgICBibGVuZEtleS5tYXNrQ2hhbm5lbHNbaV1b
Ml0gPSBmYWxzZTsKKyAgICAgICAgICAgIGJsZW5kS2V5Lm1hc2tDaGFubmVsc1tpXVszXSA9IGZh
bHNlOworICAgICAgICB9CisgICAgfQorCisgICAgQ2xlYXJCbGVuZFN0YXRlTWFwOjpjb25zdF9p
dGVyYXRvciBpID0gbUNsZWFyQmxlbmRTdGF0ZXMuZmluZChibGVuZEtleSk7CisgICAgaWYgKGkg
IT0gbUNsZWFyQmxlbmRTdGF0ZXMuZW5kKCkpCisgICAgeworICAgICAgICByZXR1cm4gaS0+c2Vj
b25kOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBEM0QxMV9CTEVORF9ERVNDIGJs
ZW5kRGVzYyA9IHsgMCB9OworICAgICAgICBibGVuZERlc2MuQWxwaGFUb0NvdmVyYWdlRW5hYmxl
ID0gRkFMU0U7CisgICAgICAgIGJsZW5kRGVzYy5JbmRlcGVuZGVudEJsZW5kRW5hYmxlID0gKHJ0
cy5zaXplKCkgPiAxKSA/IFRSVUUgOiBGQUxTRTsKKworICAgICAgICBmb3IgKHVuc2lnbmVkIGlu
dCBpID0gMDsgaSA8IEQzRDExX1NJTVVMVEFORU9VU19SRU5ERVJfVEFSR0VUX0NPVU5UOyBpKysp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGJsZW5kRGVzYy5SZW5kZXJUYXJnZXRbaV0uQmxlbmRF
bmFibGUgPSBGQUxTRTsKKyAgICAgICAgICAgIGJsZW5kRGVzYy5SZW5kZXJUYXJnZXRbaV0uUmVu
ZGVyVGFyZ2V0V3JpdGVNYXNrID0gZ2xfZDNkMTE6OkNvbnZlcnRDb2xvck1hc2soYmxlbmRLZXku
bWFza0NoYW5uZWxzW2ldWzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGVu
ZEtleS5tYXNrQ2hhbm5lbHNbaV1bMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJsZW5kS2V5Lm1hc2tDaGFubmVsc1tpXVsyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYmxlbmRLZXkubWFza0NoYW5uZWxzW2ldWzNdKTsKKyAgICAgICAgfQorCisgICAgICAg
IElEM0QxMURldmljZSAqZGV2aWNlID0gbVJlbmRlcmVyLT5nZXREZXZpY2UoKTsKKyAgICAgICAg
SUQzRDExQmxlbmRTdGF0ZSogYmxlbmRTdGF0ZSA9IE5VTEw7CisgICAgICAgIEhSRVNVTFQgcmVz
dWx0ID0gZGV2aWNlLT5DcmVhdGVCbGVuZFN0YXRlKCZibGVuZERlc2MsICZibGVuZFN0YXRlKTsK
KyAgICAgICAgaWYgKEZBSUxFRChyZXN1bHQpIHx8ICFibGVuZFN0YXRlKQorICAgICAgICB7Cisg
ICAgICAgICAgICBFUlIoIlVuYWJsZSB0byBjcmVhdGUgYSBJRDNEMTFCbGVuZFN0YXRlLCBIUkVT
VUxUOiAweCVYLiIsIHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAg
fQorCisgICAgICAgIG1DbGVhckJsZW5kU3RhdGVzW2JsZW5kS2V5XSA9IGJsZW5kU3RhdGU7CisK
KyAgICAgICAgcmV0dXJuIGJsZW5kU3RhdGU7CisgICAgfQorfQorCitJRDNEMTFEZXB0aFN0ZW5j
aWxTdGF0ZSAqQ2xlYXIxMTo6Z2V0RGVwdGhTdGVuY2lsU3RhdGUoY29uc3QgZ2w6OkNsZWFyUGFy
YW1ldGVycyAmY2xlYXJQYXJhbXMpCit7CisgICAgQ2xlYXJEZXB0aFN0ZW5jaWxJbmZvIGRzS2V5
ID0geyAwIH07CisgICAgZHNLZXkuY2xlYXJEZXB0aCA9IGNsZWFyUGFyYW1zLmNsZWFyRGVwdGg7
CisgICAgZHNLZXkuY2xlYXJTdGVuY2lsID0gY2xlYXJQYXJhbXMuY2xlYXJTdGVuY2lsOworICAg
IGRzS2V5LnN0ZW5jaWxXcml0ZU1hc2sgPSBjbGVhclBhcmFtcy5zdGVuY2lsV3JpdGVNYXNrICYg
MHhGRjsKKworICAgIENsZWFyRGVwdGhTdGVuY2lsU3RhdGVNYXA6OmNvbnN0X2l0ZXJhdG9yIGkg
PSBtQ2xlYXJEZXB0aFN0ZW5jaWxTdGF0ZXMuZmluZChkc0tleSk7CisgICAgaWYgKGkgIT0gbUNs
ZWFyRGVwdGhTdGVuY2lsU3RhdGVzLmVuZCgpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGktPnNl
Y29uZDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgRDNEMTFfREVQVEhfU1RFTkNJ
TF9ERVNDIGRzRGVzYyA9IHsgMCB9OworICAgICAgICBkc0Rlc2MuRGVwdGhFbmFibGUgPSBkc0tl
eS5jbGVhckRlcHRoID8gVFJVRSA6IEZBTFNFOworICAgICAgICBkc0Rlc2MuRGVwdGhXcml0ZU1h
c2sgPSBkc0tleS5jbGVhckRlcHRoID8gRDNEMTFfREVQVEhfV1JJVEVfTUFTS19BTEwgOiBEM0Qx
MV9ERVBUSF9XUklURV9NQVNLX1pFUk87CisgICAgICAgIGRzRGVzYy5EZXB0aEZ1bmMgPSBEM0Qx
MV9DT01QQVJJU09OX0FMV0FZUzsKKyAgICAgICAgZHNEZXNjLlN0ZW5jaWxFbmFibGUgPSBkc0tl
eS5jbGVhclN0ZW5jaWwgPyBUUlVFIDogRkFMU0U7CisgICAgICAgIGRzRGVzYy5TdGVuY2lsUmVh
ZE1hc2sgPSAwOworICAgICAgICBkc0Rlc2MuU3RlbmNpbFdyaXRlTWFzayA9IGRzS2V5LnN0ZW5j
aWxXcml0ZU1hc2s7CisgICAgICAgIGRzRGVzYy5Gcm9udEZhY2UuU3RlbmNpbEZhaWxPcCA9IEQz
RDExX1NURU5DSUxfT1BfUkVQTEFDRTsKKyAgICAgICAgZHNEZXNjLkZyb250RmFjZS5TdGVuY2ls
RGVwdGhGYWlsT3AgPSBEM0QxMV9TVEVOQ0lMX09QX1JFUExBQ0U7CisgICAgICAgIGRzRGVzYy5G
cm9udEZhY2UuU3RlbmNpbFBhc3NPcCA9IEQzRDExX1NURU5DSUxfT1BfUkVQTEFDRTsKKyAgICAg
ICAgZHNEZXNjLkZyb250RmFjZS5TdGVuY2lsRnVuYyA9IEQzRDExX0NPTVBBUklTT05fQUxXQVlT
OworICAgICAgICBkc0Rlc2MuQmFja0ZhY2UuU3RlbmNpbEZhaWxPcCA9IEQzRDExX1NURU5DSUxf
T1BfUkVQTEFDRTsKKyAgICAgICAgZHNEZXNjLkJhY2tGYWNlLlN0ZW5jaWxEZXB0aEZhaWxPcCA9
IEQzRDExX1NURU5DSUxfT1BfUkVQTEFDRTsKKyAgICAgICAgZHNEZXNjLkJhY2tGYWNlLlN0ZW5j
aWxQYXNzT3AgPSBEM0QxMV9TVEVOQ0lMX09QX1JFUExBQ0U7CisgICAgICAgIGRzRGVzYy5CYWNr
RmFjZS5TdGVuY2lsRnVuYyA9IEQzRDExX0NPTVBBUklTT05fQUxXQVlTOworCisgICAgICAgIElE
M0QxMURldmljZSAqZGV2aWNlID0gbVJlbmRlcmVyLT5nZXREZXZpY2UoKTsKKyAgICAgICAgSUQz
RDExRGVwdGhTdGVuY2lsU3RhdGUqIGRzU3RhdGUgPSBOVUxMOworICAgICAgICBIUkVTVUxUIHJl
c3VsdCA9IGRldmljZS0+Q3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoJmRzRGVzYywgJmRzU3RhdGUp
OworICAgICAgICBpZiAoRkFJTEVEKHJlc3VsdCkgfHwgIWRzU3RhdGUpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIEVSUigiVW5hYmxlIHRvIGNyZWF0ZSBhIElEM0QxMURlcHRoU3RlbmNpbFN0YXRl
LCBIUkVTVUxUOiAweCVYLiIsIHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAg
ICAgICAgfQorCisgICAgICAgIG1DbGVhckRlcHRoU3RlbmNpbFN0YXRlc1tkc0tleV0gPSBkc1N0
YXRlOworCisgICAgICAgIHJldHVybiBkc1N0YXRlOworICAgIH0KK30KKworfQpJbmRleDogU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9DbGVhcjEx
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9y
ZW5kZXJlci9kM2QxMS9DbGVhcjExLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL0NsZWFyMTEuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDc3IEBACisvLworLy8gQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBBTkdM
RSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl
CisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKworLy8gQ2xlYXIxMS5oOiBGcmFt
ZWJ1ZmZlciBjbGVhciB1dGlsaXR5IGNsYXNzLgorCisjaWZuZGVmIExJQkdMRVNWMl9SRU5ERVJF
Ul9DTEVBUjExX0hfCisjZGVmaW5lIExJQkdMRVNWMl9SRU5ERVJFUl9DTEVBUjExX0hfCisKKyNp
bmNsdWRlICJsaWJHTEVTdjIvYW5nbGV0eXBlcy5oIgorCituYW1lc3BhY2UgZ2wKK3sKK2NsYXNz
IEZyYW1lYnVmZmVyOworfQorCituYW1lc3BhY2UgcngKK3sKK2NsYXNzIFJlbmRlcmVyMTE7Citj
bGFzcyBSZW5kZXJUYXJnZXQxMTsKKworY2xhc3MgQ2xlYXIxMQoreworICBwdWJsaWM6CisgICAg
ZXhwbGljaXQgQ2xlYXIxMShSZW5kZXJlcjExICpyZW5kZXJlcik7CisgICAgfkNsZWFyMTEoKTsK
KworICAgIC8vIENsZWFycyB0aGUgZnJhbWVidWZmZXIgd2l0aCB0aGUgc3VwcGxpZWQgY2xlYXIg
cGFyYW1ldGVycywgYXNzdW1lcyB0aGF0IHRoZSBmcmFtZWJ1ZmZlciBpcyBjdXJyZW50bHkgYXBw
bGllZC4KKyAgICB2b2lkIGNsZWFyRnJhbWVidWZmZXIoY29uc3QgZ2w6OkNsZWFyUGFyYW1ldGVy
cyAmY2xlYXJQYXJhbXMsIGdsOjpGcmFtZWJ1ZmZlciAqZnJhbWVCdWZmZXIpOworCisgIHByaXZh
dGU6CisgICAgUmVuZGVyZXIxMSAqbVJlbmRlcmVyOworCisgICAgc3RydWN0IENsZWFyQmxlbmRJ
bmZvCisgICAgeworICAgICAgICBib29sIG1hc2tDaGFubmVsc1tEM0QxMV9TSU1VTFRBTkVPVVNf
UkVOREVSX1RBUkdFVF9DT1VOVF1bNF07CisgICAgfTsKKyAgICB0eXBlZGVmIGJvb2wgKCpDbGVh
ckJsZW5kSW5mb0NvbXBhcmlzb25GdW5jdGlvbikoY29uc3QgQ2xlYXJCbGVuZEluZm8mLCBjb25z
dCBDbGVhckJsZW5kSW5mbyAmKTsKKyAgICB0eXBlZGVmIHN0ZDo6bWFwPENsZWFyQmxlbmRJbmZv
LCBJRDNEMTFCbGVuZFN0YXRlKiwgQ2xlYXJCbGVuZEluZm9Db21wYXJpc29uRnVuY3Rpb24+IENs
ZWFyQmxlbmRTdGF0ZU1hcDsKKyAgICBDbGVhckJsZW5kU3RhdGVNYXAgbUNsZWFyQmxlbmRTdGF0
ZXM7CisKKyAgICBJRDNEMTFCbGVuZFN0YXRlICpnZXRCbGVuZFN0YXRlKGNvbnN0IGdsOjpDbGVh
clBhcmFtZXRlcnMgJmNsZWFyUGFyYW1zLCBjb25zdCBzdGQ6OnZlY3RvcjxSZW5kZXJUYXJnZXQx
MSo+JiBydHMpOworCisgICAgc3RydWN0IENsZWFyU2hhZGVyCisgICAgeworICAgICAgICBJRDNE
MTFJbnB1dExheW91dCAqaW5wdXRMYXlvdXQ7CisgICAgICAgIElEM0QxMVZlcnRleFNoYWRlciAq
dmVydGV4U2hhZGVyOworICAgICAgICBJRDNEMTFQaXhlbFNoYWRlciAqcGl4ZWxTaGFkZXI7Cisg
ICAgfTsKKyAgICBDbGVhclNoYWRlciBtRmxvYXRDbGVhclNoYWRlcjsKKyAgICBDbGVhclNoYWRl
ciBtVWludENsZWFyU2hhZGVyOworICAgIENsZWFyU2hhZGVyIG1JbnRDbGVhclNoYWRlcjsKKwor
ICAgIHRlbXBsYXRlIDx1bnNpZ25lZCBpbnQgdnNTaXplLCB1bnNpZ25lZCBpbnQgcHNTaXplPgor
ICAgIHN0YXRpYyBDbGVhclNoYWRlciBDcmVhdGVDbGVhclNoYWRlcihJRDNEMTFEZXZpY2UgKmRl
dmljZSwgRFhHSV9GT1JNQVQgY29sb3JUeXBlLCBjb25zdCBCWVRFICgmdnNCeXRlQ29kZSlbdnNT
aXplXSwgY29uc3QgQllURSAoJnBzQnl0ZUNvZGUpW3BzU2l6ZV0pOworCisgICAgc3RydWN0IENs
ZWFyRGVwdGhTdGVuY2lsSW5mbworICAgIHsKKyAgICAgICAgYm9vbCBjbGVhckRlcHRoOworICAg
ICAgICBib29sIGNsZWFyU3RlbmNpbDsKKyAgICAgICAgVUlOVDggc3RlbmNpbFdyaXRlTWFzazsK
KyAgICB9OworICAgIHR5cGVkZWYgYm9vbCAoKkNsZWFyRGVwdGhTdGVuY2lsSW5mb0NvbXBhcmlz
b25GdW5jdGlvbikoY29uc3QgQ2xlYXJEZXB0aFN0ZW5jaWxJbmZvJiwgY29uc3QgQ2xlYXJEZXB0
aFN0ZW5jaWxJbmZvICYpOworICAgIHR5cGVkZWYgc3RkOjptYXA8Q2xlYXJEZXB0aFN0ZW5jaWxJ
bmZvLCBJRDNEMTFEZXB0aFN0ZW5jaWxTdGF0ZSosIENsZWFyRGVwdGhTdGVuY2lsSW5mb0NvbXBh
cmlzb25GdW5jdGlvbj4gQ2xlYXJEZXB0aFN0ZW5jaWxTdGF0ZU1hcDsKKyAgICBDbGVhckRlcHRo
U3RlbmNpbFN0YXRlTWFwIG1DbGVhckRlcHRoU3RlbmNpbFN0YXRlczsKKworICAgIElEM0QxMURl
cHRoU3RlbmNpbFN0YXRlICpnZXREZXB0aFN0ZW5jaWxTdGF0ZShjb25zdCBnbDo6Q2xlYXJQYXJh
bWV0ZXJzICZjbGVhclBhcmFtcyk7CisKKyAgICBJRDNEMTFCdWZmZXIgKm1WZXJ0ZXhCdWZmZXI7
CisgICAgSUQzRDExUmFzdGVyaXplclN0YXRlICptUmFzdGVyaXplclN0YXRlOworfTsKKworfQor
CisjZW5kaWYgLy8gTElCR0xFU1YyX1JFTkRFUkVSX0NMRUFSMTFfSF8KSW5kZXg6IFNvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvUGl4ZWxUcmFuc2Zl
cjExLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL3JlbmRlcmVyL2QzZDExL1BpeGVsVHJhbnNmZXIxMS5jcHAJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL1BpeGVs
VHJhbnNmZXIxMS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNTIgQEAKKyNpbmNsdWRl
ICJwcmVjb21waWxlZC5oIgorLy8KKy8vIENvcHlyaWdodCAoYykgMjAxMyBUaGUgQU5HTEUgUHJv
amVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNl
IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8g
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIFBpeGVsVHJhbnNmZXIxMS5jcHA6
CisvLyAgIEltcGxlbWVudGF0aW9uIGZvciBidWZmZXItdG8tdGV4dHVyZSBhbmQgdGV4dHVyZS10
by1idWZmZXIgY29waWVzLgorLy8gICBVc2VkIHRvIGltcGxlbWVudCBwaXhlbCB0cmFuc2ZlcnMg
ZnJvbSB1bnBhY2sgYW5kIHRvIHBhY2sgYnVmZmVycy4KKy8vCisKKyNpbmNsdWRlICJsaWJHTEVT
djIvcmVuZGVyZXIvZDNkMTEvUGl4ZWxUcmFuc2ZlcjExLmgiCisjaW5jbHVkZSAibGliR0xFU3Yy
L2Zvcm1hdHV0aWxzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL1RleHR1cmUuaCIKKyNpbmNsdWRl
ICJsaWJHTEVTdjIvQnVmZmVyLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDEx
L1JlbmRlcmVyMTEuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvcmVuZGVy
ZXIxMV91dGlscy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9mb3JtYXR1
dGlsczExLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL0J1ZmZlclN0b3Jh
Z2UxMS5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9UZXh0dXJlU3RvcmFn
ZTExLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL1JlbmRlclRhcmdldDEx
LmgiCisjaW5jbHVkZSAibGliR0xFU3YyL0NvbnRleHQuaCIKKworLy8gUHJlY29tcGlsZWQgc2hh
ZGVycworI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVk
L2J1ZmZlcnRvdGV4dHVyZTExX3ZzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDExL3NoYWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfZ3MuaCIKKyNpbmNsdWRlICJs
aWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9idWZmZXJ0b3RleHR1cmUx
MV9wc180Zi5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2Nv
bXBpbGVkL2J1ZmZlcnRvdGV4dHVyZTExX3BzXzRpLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfcHNfNHVpLmgi
CisKK25hbWVzcGFjZSByeAoreworCitQaXhlbFRyYW5zZmVyMTE6OlBpeGVsVHJhbnNmZXIxMShS
ZW5kZXJlcjExICpyZW5kZXJlcikKKyAgICA6IG1SZW5kZXJlcihyZW5kZXJlciksCisgICAgICBt
QnVmZmVyVG9UZXh0dXJlVlMoTlVMTCksCisgICAgICBtQnVmZmVyVG9UZXh0dXJlR1MoTlVMTCks
CisgICAgICBtUGFyYW1zQ29uc3RhbnRCdWZmZXIoTlVMTCksCisgICAgICBtQ29weVJhc3Rlcml6
ZXJTdGF0ZShOVUxMKSwKKyAgICAgIG1Db3B5RGVwdGhTdGVuY2lsU3RhdGUoTlVMTCkKK3sKKyAg
ICBIUkVTVUxUIHJlc3VsdCA9IFNfT0s7CisgICAgSUQzRDExRGV2aWNlICpkZXZpY2UgPSBtUmVu
ZGVyZXItPmdldERldmljZSgpOworCisgICAgRDNEMTFfUkFTVEVSSVpFUl9ERVNDIHJhc3RlckRl
c2M7CisgICAgcmFzdGVyRGVzYy5GaWxsTW9kZSA9IEQzRDExX0ZJTExfU09MSUQ7CisgICAgcmFz
dGVyRGVzYy5DdWxsTW9kZSA9IEQzRDExX0NVTExfTk9ORTsKKyAgICByYXN0ZXJEZXNjLkZyb250
Q291bnRlckNsb2Nrd2lzZSA9IEZBTFNFOworICAgIHJhc3RlckRlc2MuRGVwdGhCaWFzID0gMDsK
KyAgICByYXN0ZXJEZXNjLlNsb3BlU2NhbGVkRGVwdGhCaWFzID0gMC4wZjsKKyAgICByYXN0ZXJE
ZXNjLkRlcHRoQmlhc0NsYW1wID0gMC4wZjsKKyAgICByYXN0ZXJEZXNjLkRlcHRoQ2xpcEVuYWJs
ZSA9IFRSVUU7CisgICAgcmFzdGVyRGVzYy5TY2lzc29yRW5hYmxlID0gRkFMU0U7CisgICAgcmFz
dGVyRGVzYy5NdWx0aXNhbXBsZUVuYWJsZSA9IEZBTFNFOworICAgIHJhc3RlckRlc2MuQW50aWFs
aWFzZWRMaW5lRW5hYmxlID0gRkFMU0U7CisKKyAgICByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZVJh
c3Rlcml6ZXJTdGF0ZSgmcmFzdGVyRGVzYywgJm1Db3B5UmFzdGVyaXplclN0YXRlKTsKKyAgICBB
U1NFUlQoU1VDQ0VFREVEKHJlc3VsdCkpOworCisgICAgRDNEMTFfREVQVEhfU1RFTkNJTF9ERVND
IGRlcHRoU3RlbmNpbERlc2M7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5EZXB0aEVuYWJsZSA9IHRy
dWU7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5EZXB0aFdyaXRlTWFzayA9IEQzRDExX0RFUFRIX1dS
SVRFX01BU0tfQUxMOworICAgIGRlcHRoU3RlbmNpbERlc2MuRGVwdGhGdW5jID0gRDNEMTFfQ09N
UEFSSVNPTl9BTFdBWVM7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5TdGVuY2lsRW5hYmxlID0gRkFM
U0U7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5TdGVuY2lsUmVhZE1hc2sgPSBEM0QxMV9ERUZBVUxU
X1NURU5DSUxfUkVBRF9NQVNLOworICAgIGRlcHRoU3RlbmNpbERlc2MuU3RlbmNpbFdyaXRlTWFz
ayA9IEQzRDExX0RFRkFVTFRfU1RFTkNJTF9XUklURV9NQVNLOworICAgIGRlcHRoU3RlbmNpbERl
c2MuRnJvbnRGYWNlLlN0ZW5jaWxGYWlsT3AgPSBEM0QxMV9TVEVOQ0lMX09QX0tFRVA7CisgICAg
ZGVwdGhTdGVuY2lsRGVzYy5Gcm9udEZhY2UuU3RlbmNpbERlcHRoRmFpbE9wID0gRDNEMTFfU1RF
TkNJTF9PUF9LRUVQOworICAgIGRlcHRoU3RlbmNpbERlc2MuRnJvbnRGYWNlLlN0ZW5jaWxQYXNz
T3AgPSBEM0QxMV9TVEVOQ0lMX09QX0tFRVA7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5Gcm9udEZh
Y2UuU3RlbmNpbEZ1bmMgPSBEM0QxMV9DT01QQVJJU09OX0FMV0FZUzsKKyAgICBkZXB0aFN0ZW5j
aWxEZXNjLkJhY2tGYWNlLlN0ZW5jaWxGYWlsT3AgPSBEM0QxMV9TVEVOQ0lMX09QX0tFRVA7Cisg
ICAgZGVwdGhTdGVuY2lsRGVzYy5CYWNrRmFjZS5TdGVuY2lsRGVwdGhGYWlsT3AgPSBEM0QxMV9T
VEVOQ0lMX09QX0tFRVA7CisgICAgZGVwdGhTdGVuY2lsRGVzYy5CYWNrRmFjZS5TdGVuY2lsUGFz
c09wID0gRDNEMTFfU1RFTkNJTF9PUF9LRUVQOworICAgIGRlcHRoU3RlbmNpbERlc2MuQmFja0Zh
Y2UuU3RlbmNpbEZ1bmMgPSBEM0QxMV9DT01QQVJJU09OX0FMV0FZUzsKKworICAgIHJlc3VsdCA9
IGRldmljZS0+Q3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoJmRlcHRoU3RlbmNpbERlc2MsICZtQ29w
eURlcHRoU3RlbmNpbFN0YXRlKTsKKyAgICBBU1NFUlQoU1VDQ0VFREVEKHJlc3VsdCkpOworCisg
ICAgRDNEMTFfQlVGRkVSX0RFU0MgY29uc3RhbnRCdWZmZXJEZXNjID0geyAwIH07CisgICAgY29u
c3RhbnRCdWZmZXJEZXNjLkJ5dGVXaWR0aCA9IHJ4Ojpyb3VuZFVwPFVJTlQ+KHNpemVvZihDb3B5
U2hhZGVyUGFyYW1zKSwgMzJ1KTsKKyAgICBjb25zdGFudEJ1ZmZlckRlc2MuVXNhZ2UgPSBEM0Qx
MV9VU0FHRV9EWU5BTUlDOworICAgIGNvbnN0YW50QnVmZmVyRGVzYy5CaW5kRmxhZ3MgPSBEM0Qx
MV9CSU5EX0NPTlNUQU5UX0JVRkZFUjsKKyAgICBjb25zdGFudEJ1ZmZlckRlc2MuQ1BVQWNjZXNz
RmxhZ3MgPSBEM0QxMV9DUFVfQUNDRVNTX1dSSVRFOworICAgIGNvbnN0YW50QnVmZmVyRGVzYy5N
aXNjRmxhZ3MgPSAwOworICAgIGNvbnN0YW50QnVmZmVyRGVzYy5TdHJ1Y3R1cmVCeXRlU3RyaWRl
ID0gMDsKKworICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlQnVmZmVyKCZjb25zdGFudEJ1ZmZl
ckRlc2MsIE5VTEwsICZtUGFyYW1zQ29uc3RhbnRCdWZmZXIpOworICAgIEFTU0VSVChTVUNDRUVE
RUQocmVzdWx0KSk7CisgICAgZDNkMTE6OlNldERlYnVnTmFtZShtUGFyYW1zQ29uc3RhbnRCdWZm
ZXIsICJQaXhlbFRyYW5zZmVyMTEgY29uc3RhbnQgYnVmZmVyIik7CisKKyAgICAvLyBpbml0IHNo
YWRlcnMKKyAgICBtQnVmZmVyVG9UZXh0dXJlVlMgPSBkM2QxMTo6Q29tcGlsZVZTKGRldmljZSwg
Z19WU19CdWZmZXJUb1RleHR1cmUsICJCdWZmZXJUb1RleHR1cmUgVlMiKTsKKyAgICBtQnVmZmVy
VG9UZXh0dXJlR1MgPSBkM2QxMTo6Q29tcGlsZUdTKGRldmljZSwgZ19HU19CdWZmZXJUb1RleHR1
cmUsICJCdWZmZXJUb1RleHR1cmUgR1MiKTsKKworICAgIGJ1aWxkU2hhZGVyTWFwKCk7CisKKyAg
ICBTdHJ1Y3RaZXJvKCZtUGFyYW1zRGF0YSk7Cit9CisKK1BpeGVsVHJhbnNmZXIxMTo6flBpeGVs
VHJhbnNmZXIxMSgpCit7CisgICAgZm9yIChhdXRvIHNoYWRlck1hcEl0ID0gbUJ1ZmZlclRvVGV4
dHVyZVBTTWFwLmJlZ2luKCk7IHNoYWRlck1hcEl0ICE9IG1CdWZmZXJUb1RleHR1cmVQU01hcC5l
bmQoKTsgc2hhZGVyTWFwSXQrKykKKyAgICB7CisgICAgICAgIFNhZmVSZWxlYXNlKHNoYWRlck1h
cEl0LT5zZWNvbmQpOworICAgIH0KKworICAgIG1CdWZmZXJUb1RleHR1cmVQU01hcC5jbGVhcigp
OworCisgICAgU2FmZVJlbGVhc2UobUJ1ZmZlclRvVGV4dHVyZVZTKTsKKyAgICBTYWZlUmVsZWFz
ZShtQnVmZmVyVG9UZXh0dXJlR1MpOworICAgIFNhZmVSZWxlYXNlKG1QYXJhbXNDb25zdGFudEJ1
ZmZlcik7CisgICAgU2FmZVJlbGVhc2UobUNvcHlSYXN0ZXJpemVyU3RhdGUpOworICAgIFNhZmVS
ZWxlYXNlKG1Db3B5RGVwdGhTdGVuY2lsU3RhdGUpOworfQorCit2b2lkIFBpeGVsVHJhbnNmZXIx
MTo6c2V0QnVmZmVyVG9UZXh0dXJlQ29weVBhcmFtcyhjb25zdCBnbDo6Qm94ICZkZXN0QXJlYSwg
Y29uc3QgZ2w6OkV4dGVudHMgJmRlc3RTaXplLCBHTGVudW0gaW50ZXJuYWxGb3JtYXQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6
UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCBDb3B5U2hhZGVy
UGFyYW1zICpwYXJhbWV0ZXJzT3V0KQoreworICAgIFN0cnVjdFplcm8ocGFyYW1ldGVyc091dCk7
CisKKyAgICBmbG9hdCB0ZXhlbENlbnRlclggPSAwLjVmIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGRl
c3RTaXplLndpZHRoIC0gMSk7CisgICAgZmxvYXQgdGV4ZWxDZW50ZXJZID0gMC41ZiAvIHN0YXRp
Y19jYXN0PGZsb2F0PihkZXN0U2l6ZS5oZWlnaHQgLSAxKTsKKworICAgIHVuc2lnbmVkIGludCBi
eXRlc1BlclBpeGVsID0gZ2w6OkdldFBpeGVsQnl0ZXMoaW50ZXJuYWxGb3JtYXQsIDMpOworICAg
IHVuc2lnbmVkIGludCBhbGlnbm1lbnRCeXRlcyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4o
dW5wYWNrLmFsaWdubWVudCk7CisgICAgdW5zaWduZWQgaW50IGFsaWdubWVudFBpeGVscyA9IChh
bGlnbm1lbnRCeXRlcyA8PSBieXRlc1BlclBpeGVsID8gMSA6IGFsaWdubWVudEJ5dGVzIC8gYnl0
ZXNQZXJQaXhlbCk7CisKKyAgICBwYXJhbWV0ZXJzT3V0LT5GaXJzdFBpeGVsT2Zmc2V0ICAgICA9
IG9mZnNldDsKKyAgICBwYXJhbWV0ZXJzT3V0LT5QaXhlbHNQZXJSb3cgICAgICAgICA9IHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGludD4oZGVzdEFyZWEud2lkdGgpOworICAgIHBhcmFtZXRlcnNPdXQt
PlJvd1N0cmlkZSAgICAgICAgICAgID0gcm91bmRVcChwYXJhbWV0ZXJzT3V0LT5QaXhlbHNQZXJS
b3csIGFsaWdubWVudFBpeGVscyk7CisgICAgcGFyYW1ldGVyc091dC0+Um93c1BlclNsaWNlICAg
ICAgICAgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KGRlc3RBcmVhLmhlaWdodCk7CisgICAg
cGFyYW1ldGVyc091dC0+UG9zaXRpb25PZmZzZXRbMF0gICAgPSB0ZXhlbENlbnRlclggKyAoZGVz
dEFyZWEueCAvIGZsb2F0KGRlc3RTaXplLndpZHRoKSkgKiAyLjBmIC0gMS4wZjsKKyAgICBwYXJh
bWV0ZXJzT3V0LT5Qb3NpdGlvbk9mZnNldFsxXSAgICA9IHRleGVsQ2VudGVyWSArICgoZGVzdFNp
emUuaGVpZ2h0IC0gZGVzdEFyZWEueSAtIDEpIC8gZmxvYXQoZGVzdFNpemUuaGVpZ2h0KSkgKiAy
LjBmIC0gMS4wZjsKKyAgICBwYXJhbWV0ZXJzT3V0LT5Qb3NpdGlvblNjYWxlWzBdICAgICA9IDIu
MGYgLyBzdGF0aWNfY2FzdDxmbG9hdD4oZGVzdFNpemUud2lkdGgpOworICAgIHBhcmFtZXRlcnNP
dXQtPlBvc2l0aW9uU2NhbGVbMV0gICAgID0gLTIuMGYgLyBzdGF0aWNfY2FzdDxmbG9hdD4oZGVz
dFNpemUuaGVpZ2h0KTsKK30KKworYm9vbCBQaXhlbFRyYW5zZmVyMTE6OmNvcHlCdWZmZXJUb1Rl
eHR1cmUoY29uc3QgZ2w6OlBpeGVsVW5wYWNrU3RhdGUgJnVucGFjaywgdW5zaWduZWQgaW50IG9m
ZnNldCwgUmVuZGVyVGFyZ2V0ICpkZXN0UmVuZGVyVGFyZ2V0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGRlc3RpbmF0aW9uRm9ybWF0LCBHTGVudW0g
c291cmNlUGl4ZWxzVHlwZSwgY29uc3QgZ2w6OkJveCAmZGVzdEFyZWEpCit7CisgICAgZ2w6OkV4
dGVudHMgZGVzdFNpemUgPSBkZXN0UmVuZGVyVGFyZ2V0LT5nZXRFeHRlbnRzKCk7CisKKyAgICBp
ZiAoZGVzdEFyZWEueCAgIDwgMCB8fCBkZXN0QXJlYS54ICAgKyBkZXN0QXJlYS53aWR0aCAgICA+
IGRlc3RTaXplLndpZHRoICAgIHx8CisgICAgICAgIGRlc3RBcmVhLnkgICA8IDAgfHwgZGVzdEFy
ZWEueSAgICsgZGVzdEFyZWEuaGVpZ2h0ICAgPiBkZXN0U2l6ZS5oZWlnaHQgICB8fAorICAgICAg
ICBkZXN0QXJlYS56ICAgPCAwIHx8IGRlc3RBcmVhLnogICArIGRlc3RBcmVhLmRlcHRoICAgID4g
ZGVzdFNpemUuZGVwdGggICAgKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KworICAgIGludCBjbGllbnRWZXJzaW9uID0gbVJlbmRlcmVyLT5nZXRDdXJyZW50Q2xpZW50VmVy
c2lvbigpOworICAgIGNvbnN0IGdsOjpCdWZmZXIgJnNvdXJjZUJ1ZmZlciA9ICp1bnBhY2sucGl4
ZWxCdWZmZXIuZ2V0KCk7CisKKyAgICBBU1NFUlQobVJlbmRlcmVyLT5zdXBwb3J0c0Zhc3RDb3B5
QnVmZmVyVG9UZXh0dXJlKGRlc3RpbmF0aW9uRm9ybWF0KSk7CisKKyAgICBJRDNEMTFQaXhlbFNo
YWRlciAqcGl4ZWxTaGFkZXIgPSBmaW5kQnVmZmVyVG9UZXh0dXJlUFMoZGVzdGluYXRpb25Gb3Jt
YXQpOworICAgIEFTU0VSVChwaXhlbFNoYWRlcik7CisKKyAgICAvLyBUaGUgU1JWIG11c3QgYmUg
aW4gdGhlIHByb3BlciByZWFkIGZvcm1hdCwgd2hpY2ggbWF5IGJlIGRpZmZlcmVudCBmcm9tIHRo
ZSBkZXN0aW5hdGlvbiBmb3JtYXQKKyAgICAvLyBFRzogZm9yIGhhbGYgZmxvYXQgZGF0YSwgd2Ug
Y2FuIGxvYWQgZnVsbCBwcmVjaXNpb24gZmxvYXRzIHdpdGggaW1wbGljaXQgY29udmVyc2lvbgor
ICAgIEdMZW51bSB1bnNpemVkRm9ybWF0ID0gZ2w6OkdldEZvcm1hdChkZXN0aW5hdGlvbkZvcm1h
dCwgY2xpZW50VmVyc2lvbik7CisgICAgR0xlbnVtIHNvdXJjZUZvcm1hdCA9IGdsOjpHZXRTaXpl
ZEludGVybmFsRm9ybWF0KHVuc2l6ZWRGb3JtYXQsIHNvdXJjZVBpeGVsc1R5cGUsIGNsaWVudFZl
cnNpb24pOworCisgICAgRFhHSV9GT1JNQVQgc3J2Rm9ybWF0ID0gZ2xfZDNkMTE6OkdldFNSVkZv
cm1hdChzb3VyY2VGb3JtYXQsIGNsaWVudFZlcnNpb24pOworICAgIEFTU0VSVChzcnZGb3JtYXQg
IT0gRFhHSV9GT1JNQVRfVU5LTk9XTik7CisgICAgQnVmZmVyU3RvcmFnZTExICpidWZmZXJTdG9y
YWdlMTEgPSBCdWZmZXJTdG9yYWdlMTE6Om1ha2VCdWZmZXJTdG9yYWdlMTEoc291cmNlQnVmZmVy
LmdldFN0b3JhZ2UoKSk7CisgICAgSUQzRDExU2hhZGVyUmVzb3VyY2VWaWV3ICpidWZmZXJTUlYg
PSBidWZmZXJTdG9yYWdlMTEtPmdldFNSVihzcnZGb3JtYXQpOworICAgIEFTU0VSVChidWZmZXJT
UlYgIT0gTlVMTCk7CisKKyAgICBJRDNEMTFSZW5kZXJUYXJnZXRWaWV3ICp0ZXh0dXJlUlRWID0g
UmVuZGVyVGFyZ2V0MTE6Om1ha2VSZW5kZXJUYXJnZXQxMShkZXN0UmVuZGVyVGFyZ2V0KS0+Z2V0
UmVuZGVyVGFyZ2V0VmlldygpOworICAgIEFTU0VSVCh0ZXh0dXJlUlRWICE9IE5VTEwpOworCisg
ICAgQ29weVNoYWRlclBhcmFtcyBzaGFkZXJQYXJhbXM7CisgICAgc2V0QnVmZmVyVG9UZXh0dXJl
Q29weVBhcmFtcyhkZXN0QXJlYSwgZGVzdFNpemUsIHNvdXJjZUZvcm1hdCwgdW5wYWNrLCBvZmZz
ZXQsICZzaGFkZXJQYXJhbXMpOworCisgICAgSUQzRDExRGV2aWNlQ29udGV4dCAqZGV2aWNlQ29u
dGV4dCA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlQ29udGV4dCgpOworCisgICAgSUQzRDExU2hhZGVy
UmVzb3VyY2VWaWV3ICpudWxsU1JWID0gTlVMTDsKKyAgICBJRDNEMTFCdWZmZXIgKm51bGxCdWZm
ZXIgPSBOVUxMOworICAgIFVJTlQgemVybyA9IDA7CisKKyAgICAvLyBBcmUgd2UgZG9pbmcgYSAy
RCBvciAzRCBjb3B5PworICAgIElEM0QxMUdlb21ldHJ5U2hhZGVyICpnZW9tZXRyeVNoYWRlciA9
ICgoZGVzdFNpemUuZGVwdGggPiAxKSA/IG1CdWZmZXJUb1RleHR1cmVHUyA6IE5VTEwpOworCisg
ICAgZGV2aWNlQ29udGV4dC0+VlNTZXRTaGFkZXIobUJ1ZmZlclRvVGV4dHVyZVZTLCBOVUxMLCAw
KTsKKyAgICBkZXZpY2VDb250ZXh0LT5HU1NldFNoYWRlcihnZW9tZXRyeVNoYWRlciwgTlVMTCwg
MCk7CisgICAgZGV2aWNlQ29udGV4dC0+UFNTZXRTaGFkZXIocGl4ZWxTaGFkZXIsIE5VTEwsIDAp
OworICAgIGRldmljZUNvbnRleHQtPlBTU2V0U2hhZGVyUmVzb3VyY2VzKDAsIDEsICZidWZmZXJT
UlYpOworICAgIGRldmljZUNvbnRleHQtPklBU2V0SW5wdXRMYXlvdXQoTlVMTCk7CisgICAgZGV2
aWNlQ29udGV4dC0+SUFTZXRQcmltaXRpdmVUb3BvbG9neShEM0QxMV9QUklNSVRJVkVfVE9QT0xP
R1lfUE9JTlRMSVNUKTsKKworICAgIGRldmljZUNvbnRleHQtPklBU2V0VmVydGV4QnVmZmVycygw
LCAxLCAmbnVsbEJ1ZmZlciwgJnplcm8sICZ6ZXJvKTsKKyAgICBkZXZpY2VDb250ZXh0LT5PTVNl
dEJsZW5kU3RhdGUoTlVMTCwgTlVMTCwgMHhGRkZGRkZGKTsKKyAgICBkZXZpY2VDb250ZXh0LT5P
TVNldERlcHRoU3RlbmNpbFN0YXRlKG1Db3B5RGVwdGhTdGVuY2lsU3RhdGUsIDB4RkZGRkZGRkYp
OworICAgIGRldmljZUNvbnRleHQtPlJTU2V0U3RhdGUobUNvcHlSYXN0ZXJpemVyU3RhdGUpOwor
CisgICAgbVJlbmRlcmVyLT5zZXRPbmVUaW1lUmVuZGVyVGFyZ2V0KHRleHR1cmVSVFYpOworCisg
ICAgaWYgKCFTdHJ1Y3RFcXVhbHMobVBhcmFtc0RhdGEsIHNoYWRlclBhcmFtcykpCisgICAgewor
ICAgICAgICBkM2QxMTo6U2V0QnVmZmVyRGF0YShkZXZpY2VDb250ZXh0LCBtUGFyYW1zQ29uc3Rh
bnRCdWZmZXIsIHNoYWRlclBhcmFtcyk7CisgICAgICAgIG1QYXJhbXNEYXRhID0gc2hhZGVyUGFy
YW1zOworICAgIH0KKworICAgIGRldmljZUNvbnRleHQtPlZTU2V0Q29uc3RhbnRCdWZmZXJzKDAs
IDEsICZtUGFyYW1zQ29uc3RhbnRCdWZmZXIpOworCisgICAgLy8gU2V0IHRoZSB2aWV3cG9ydAor
ICAgIEQzRDExX1ZJRVdQT1JUIHZpZXdwb3J0OworICAgIHZpZXdwb3J0LlRvcExlZnRYID0gMDsK
KyAgICB2aWV3cG9ydC5Ub3BMZWZ0WSA9IDA7CisgICAgdmlld3BvcnQuV2lkdGggPSBkZXN0U2l6
ZS53aWR0aDsKKyAgICB2aWV3cG9ydC5IZWlnaHQgPSBkZXN0U2l6ZS5oZWlnaHQ7CisgICAgdmll
d3BvcnQuTWluRGVwdGggPSAwLjBmOworICAgIHZpZXdwb3J0Lk1heERlcHRoID0gMS4wZjsKKyAg
ICBkZXZpY2VDb250ZXh0LT5SU1NldFZpZXdwb3J0cygxLCAmdmlld3BvcnQpOworCisgICAgVUlO
VCBudW1QaXhlbHMgPSAoZGVzdEFyZWEud2lkdGggKiBkZXN0QXJlYS5oZWlnaHQgKiBkZXN0QXJl
YS5kZXB0aCk7CisgICAgZGV2aWNlQ29udGV4dC0+RHJhdyhudW1QaXhlbHMsIDApOworCisgICAg
Ly8gVW5iaW5kIHRleHR1cmVzIGFuZCByZW5kZXIgdGFyZ2V0cyBhbmQgdmVydGV4IGJ1ZmZlcgor
ICAgIGRldmljZUNvbnRleHQtPlBTU2V0U2hhZGVyUmVzb3VyY2VzKDAsIDEsICZudWxsU1JWKTsK
KyAgICBkZXZpY2VDb250ZXh0LT5WU1NldENvbnN0YW50QnVmZmVycygwLCAxLCAmbnVsbEJ1ZmZl
cik7CisKKyAgICBtUmVuZGVyZXItPm1hcmtBbGxTdGF0ZURpcnR5KCk7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwordm9pZCBQaXhlbFRyYW5zZmVyMTE6OmJ1aWxkU2hhZGVyTWFwKCkKK3sKKyAg
ICBJRDNEMTFEZXZpY2UgKmRldmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7CisKKyAgICBt
QnVmZmVyVG9UZXh0dXJlUFNNYXBbR0xfRkxPQVRdICAgICAgICA9IGQzZDExOjpDb21waWxlUFMo
ZGV2aWNlLCBnX1BTX0J1ZmZlclRvVGV4dHVyZV80RiwgICJCdWZmZXJUb1RleHR1cmUgUkdCQSBw
cyIpOworICAgIG1CdWZmZXJUb1RleHR1cmVQU01hcFtHTF9JTlRdICAgICAgICAgID0gZDNkMTE6
OkNvbXBpbGVQUyhkZXZpY2UsIGdfUFNfQnVmZmVyVG9UZXh0dXJlXzRJLCAgIkJ1ZmZlclRvVGV4
dHVyZSBSR0JBLUkgcHMiKTsKKyAgICBtQnVmZmVyVG9UZXh0dXJlUFNNYXBbR0xfVU5TSUdORURf
SU5UXSA9IGQzZDExOjpDb21waWxlUFMoZGV2aWNlLCBnX1BTX0J1ZmZlclRvVGV4dHVyZV80VUks
ICJCdWZmZXJUb1RleHR1cmUgUkdCQS1VSSBwcyIpOworfQorCitJRDNEMTFQaXhlbFNoYWRlciAq
UGl4ZWxUcmFuc2ZlcjExOjpmaW5kQnVmZmVyVG9UZXh0dXJlUFMoR0xlbnVtIGludGVybmFsRm9y
bWF0KSBjb25zdAoreworICAgIGludCBjbGllbnRWZXJzaW9uID0gbVJlbmRlcmVyLT5nZXRDdXJy
ZW50Q2xpZW50VmVyc2lvbigpOworICAgIEdMZW51bSBjb21wb25lbnRUeXBlID0gZ2w6OkdldENv
bXBvbmVudFR5cGUoaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pOworCisgICAgaWYgKGNv
bXBvbmVudFR5cGUgPT0gR0xfU0lHTkVEX05PUk1BTElaRUQgfHwgY29tcG9uZW50VHlwZSA9PSBH
TF9VTlNJR05FRF9OT1JNQUxJWkVEKQorICAgIHsKKyAgICAgICAgY29tcG9uZW50VHlwZSA9IEdM
X0ZMT0FUOworICAgIH0KKworICAgIGF1dG8gc2hhZGVyTWFwSXQgPSBtQnVmZmVyVG9UZXh0dXJl
UFNNYXAuZmluZChjb21wb25lbnRUeXBlKTsKKyAgICByZXR1cm4gKHNoYWRlck1hcEl0ID09IG1C
dWZmZXJUb1RleHR1cmVQU01hcC5lbmQoKSA/IE5VTEwgOiBzaGFkZXJNYXBJdC0+c2Vjb25kKTsK
K30KKworfQpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5k
ZXJlci9kM2QxMS9QaXhlbFRyYW5zZmVyMTEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL1BpeGVsVHJhbnNmZXIxMS5o
CShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9y
ZW5kZXJlci9kM2QxMS9QaXhlbFRyYW5zZmVyMTEuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDgwIEBACisvLworLy8gQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLy8KKworLy8gUGl4ZWxUcmFuc2ZlcjExLmg6CisvLyAgIEJ1ZmZl
ci10by1UZXh0dXJlIGFuZCBUZXh0dXJlLXRvLUJ1ZmZlciBkYXRhIHRyYW5zZmVycy4KKy8vICAg
VXNlZCB0byBpbXBsZW1lbnQgcGl4ZWwgdW5wYWNrIGFuZCBwaXhlbCBwYWNrIGJ1ZmZlcnMgaW4g
RVMzLgorCisjaWZuZGVmIExJQkdMRVNWMl9QSVhFTFRSQU5TRkVSMTFfSF8KKyNkZWZpbmUgTElC
R0xFU1YyX1BJWEVMVFJBTlNGRVIxMV9IXworCituYW1lc3BhY2UgZ2wKK3sKKworY2xhc3MgQnVm
ZmVyOworc3RydWN0IEJveDsKK3N0cnVjdCBFeHRlbnRzOworc3RydWN0IFBpeGVsVW5wYWNrU3Rh
dGU7CisKK30KKworbmFtZXNwYWNlIHJ4Cit7CitjbGFzcyBSZW5kZXJlcjExOworY2xhc3MgUmVu
ZGVyVGFyZ2V0OworCitjbGFzcyBQaXhlbFRyYW5zZmVyMTEKK3sKKyAgcHVibGljOgorICAgIGV4
cGxpY2l0IFBpeGVsVHJhbnNmZXIxMShSZW5kZXJlcjExICpyZW5kZXJlcik7CisgICAgflBpeGVs
VHJhbnNmZXIxMSgpOworCisgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNCdWZmZXJUb1RleHR1cmVD
b3B5KEdMZW51bSBpbnRlcm5hbEZvcm1hdCk7CisKKyAgICAvLyB1bnBhY2s6IHRoZSBzb3VyY2Ug
YnVmZmVyIGlzIHN0b3JlZCBpbiB0aGUgdW5wYWNrIHN0YXRlLCBhbmQgYnVmZmVyIHN0cmlkZXMK
KyAgICAvLyBvZmZzZXQ6IHRoZSBzdGFydCBvZiB0aGUgZGF0YSB3aXRoaW4gdGhlIHVucGFjayBi
dWZmZXIKKyAgICAvLyBkZXN0UmVuZGVyVGFyZ2V0OiBpbmRpdmlkdWFsIHNsaWNlL2xheWVyIG9m
IGEgdGFyZ2V0IHRleHR1cmUKKyAgICAvLyBkZXN0aW5hdGlvbkZvcm1hdC9zb3VyY2VQaXhlbHNU
eXBlOiBkZXRlcm1pbmVzIHNoYWRlcnMgKyBzaGFkZXIgcGFyYW1ldGVycworICAgIC8vIGRlc3RB
cmVhOiB0aGUgc3ViLXNlY3Rpb24gb2YgZGVzdFJlbmRlclRhcmdldCB0byBjb3B5IHRvCisgICAg
Ym9vbCBjb3B5QnVmZmVyVG9UZXh0dXJlKGNvbnN0IGdsOjpQaXhlbFVucGFja1N0YXRlICZ1bnBh
Y2ssIHVuc2lnbmVkIGludCBvZmZzZXQsIFJlbmRlclRhcmdldCAqZGVzdFJlbmRlclRhcmdldCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGRlc3RpbmF0aW9uRm9ybWF0LCBH
TGVudW0gc291cmNlUGl4ZWxzVHlwZSwgY29uc3QgZ2w6OkJveCAmZGVzdEFyZWEpOworCisgIHBy
aXZhdGU6CisKKyAgICBzdHJ1Y3QgQ29weVNoYWRlclBhcmFtcworICAgIHsKKyAgICAgICAgdW5z
aWduZWQgaW50IEZpcnN0UGl4ZWxPZmZzZXQ7CisgICAgICAgIHVuc2lnbmVkIGludCBQaXhlbHNQ
ZXJSb3c7CisgICAgICAgIHVuc2lnbmVkIGludCBSb3dTdHJpZGU7CisgICAgICAgIHVuc2lnbmVk
IGludCBSb3dzUGVyU2xpY2U7CisgICAgICAgIGZsb2F0IFBvc2l0aW9uT2Zmc2V0WzJdOworICAg
ICAgICBmbG9hdCBQb3NpdGlvblNjYWxlWzJdOworICAgICAgICBpbnQgVGV4TG9jYXRpb25PZmZz
ZXRbMl07CisgICAgICAgIGludCBUZXhMb2NhdGlvblNjYWxlWzJdOworICAgIH07CisKKyAgICBz
dGF0aWMgdm9pZCBzZXRCdWZmZXJUb1RleHR1cmVDb3B5UGFyYW1zKGNvbnN0IGdsOjpCb3ggJmRl
c3RBcmVhLCBjb25zdCBnbDo6RXh0ZW50cyAmZGVzdFNpemUsIEdMZW51bSBpbnRlcm5hbEZvcm1h
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGds
OjpQaXhlbFVucGFja1N0YXRlICZ1bnBhY2ssIHVuc2lnbmVkIGludCBvZmZzZXQsIENvcHlTaGFk
ZXJQYXJhbXMgKnBhcmFtZXRlcnNPdXQpOworCisgICAgdm9pZCBidWlsZFNoYWRlck1hcCgpOwor
ICAgIElEM0QxMVBpeGVsU2hhZGVyICpmaW5kQnVmZmVyVG9UZXh0dXJlUFMoR0xlbnVtIGludGVy
bmFsRm9ybWF0KSBjb25zdDsKKworICAgIFJlbmRlcmVyMTEgKm1SZW5kZXJlcjsKKworICAgIHN0
ZDo6bWFwPEdMZW51bSwgSUQzRDExUGl4ZWxTaGFkZXIgKj4gbUJ1ZmZlclRvVGV4dHVyZVBTTWFw
OworICAgIElEM0QxMVZlcnRleFNoYWRlciAqbUJ1ZmZlclRvVGV4dHVyZVZTOworICAgIElEM0Qx
MUdlb21ldHJ5U2hhZGVyICptQnVmZmVyVG9UZXh0dXJlR1M7CisgICAgSUQzRDExQnVmZmVyICpt
UGFyYW1zQ29uc3RhbnRCdWZmZXI7CisgICAgQ29weVNoYWRlclBhcmFtcyBtUGFyYW1zRGF0YTsK
KworICAgIElEM0QxMVJhc3Rlcml6ZXJTdGF0ZSAqbUNvcHlSYXN0ZXJpemVyU3RhdGU7CisgICAg
SUQzRDExRGVwdGhTdGVuY2lsU3RhdGUgKm1Db3B5RGVwdGhTdGVuY2lsU3RhdGU7CisKK307CisK
K30KKworI2VuZGlmIC8vIExJQkdMRVNWMl9QSVhFTFRSQU5TRkVSMTFfSF8KSW5kZXg6IFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvZm9ybWF0dXRp
bHMxMS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdM
RVN2Mi9yZW5kZXJlci9kM2QxMS9mb3JtYXR1dGlsczExLmNwcAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvZm9ybWF0
dXRpbHMxMS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNjY1IEBACisjaW5jbHVkZSAi
cHJlY29tcGlsZWQuaCIKKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEFOR0xFIFByb2pl
Y3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBj
b2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisvLyBmb3JtYXR1dGlsczExLmNwcDogUXVl
cmllcyBmb3IgR0wgaW1hZ2UgZm9ybWF0cyBhbmQgdGhlaXIgdHJhbnNsYXRpb25zIHRvIEQzRDEx
CisvLyBmb3JtYXRzLgorCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL2Zvcm1h
dHV0aWxzMTEuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZ2VuZXJhdGVtaXAuaCIK
KyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvbG9hZGltYWdlLmgiCisjaW5jbHVkZSAibGli
R0xFU3YyL3JlbmRlcmVyL2NvcHlpbWFnZS5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJl
ci9SZW5kZXJlci5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9jb3B5dmVydGV4Lmgi
CisKK25hbWVzcGFjZSByeAoreworCitzdHJ1Y3QgRDNEMTFFUzNGb3JtYXRJbmZvCit7CisgICAg
RFhHSV9GT1JNQVQgbVRleEZvcm1hdDsKKyAgICBEWEdJX0ZPUk1BVCBtU1JWRm9ybWF0OworICAg
IERYR0lfRk9STUFUIG1SVFZGb3JtYXQ7CisgICAgRFhHSV9GT1JNQVQgbURTVkZvcm1hdDsKKwor
ICAgIEQzRDExRVMzRm9ybWF0SW5mbygpCisgICAgICAgIDogbVRleEZvcm1hdChEWEdJX0ZPUk1B
VF9VTktOT1dOKSwgbURTVkZvcm1hdChEWEdJX0ZPUk1BVF9VTktOT1dOKSwgbVJUVkZvcm1hdChE
WEdJX0ZPUk1BVF9VTktOT1dOKSwgbVNSVkZvcm1hdChEWEdJX0ZPUk1BVF9VTktOT1dOKQorICAg
IHsgfQorCisgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUIHRleEZvcm1hdCwgRFhH
SV9GT1JNQVQgc3J2Rm9ybWF0LCBEWEdJX0ZPUk1BVCBydHZGb3JtYXQsIERYR0lfRk9STUFUIGRz
dkZvcm1hdCkKKyAgICAgICAgOiBtVGV4Rm9ybWF0KHRleEZvcm1hdCksIG1EU1ZGb3JtYXQoZHN2
Rm9ybWF0KSwgbVJUVkZvcm1hdChydHZGb3JtYXQpLCBtU1JWRm9ybWF0KHNydkZvcm1hdCkKKyAg
ICB7IH0KK307CisKKy8vIEZvciBzaXplZCBHTCBpbnRlcm5hbCBmb3JtYXRzLCB0aGVyZSBpcyBv
bmx5IG9uZSBjb3JyZXNwb25kaW5nIEQzRDExIGZvcm1hdC4gVGhpcyBtYXAgdHlwZSBhbGxvd3MK
Ky8vIHF1ZXJ5aW5nIGZvciB0aGUgRFhHSSB0ZXh0dXJlIGZvcm1hdHMgdG8gdXNlIGZvciB0ZXh0
dXJlcywgU1JWcywgUlRWcyBhbmQgRFNWcyBnaXZlbiBhIEdMIGludGVybmFsCisvLyBmb3JtYXQu
Cit0eXBlZGVmIHN0ZDo6cGFpcjxHTGVudW0sIEQzRDExRVMzRm9ybWF0SW5mbz4gRDNEMTFFUzNG
b3JtYXRQYWlyOwordHlwZWRlZiBzdGQ6Om1hcDxHTGVudW0sIEQzRDExRVMzRm9ybWF0SW5mbz4g
RDNEMTFFUzNGb3JtYXRNYXA7CisKK3N0YXRpYyBEM0QxMUVTM0Zvcm1hdE1hcCBCdWlsZEQzRDEx
RVMzRm9ybWF0TWFwKCkKK3sKKyAgICBEM0QxMUVTM0Zvcm1hdE1hcCBtYXA7CisKKyAgICAvLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgR0wgaW50ZXJuYWwgZm9ybWF0ICB8ICAgICAgICAg
ICAgICAgICAgfCBEM0QxMSB0ZXh0dXJlIGZvcm1hdCAgICAgICAgICAgIHwgRDNEMTEgU1JWIGZv
cm1hdCAgICAgICAgICAgICAgIHwgRDNEMTEgUlRWIGZvcm1hdCAgICAgICAgICAgICAgIHwgRDNE
MTEgRFNWIGZvcm1hdCAgIHwKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9O
T05FLCAgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1VOS05PV04s
ICAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgICBEWEdJX0ZPUk1B
VF9VTktOT1dOLCAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5p
bnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1I4LCAgICAgICAgICAgICAgICBEM0QxMUVTM0Zv
cm1hdEluZm8oRFhHSV9GT1JNQVRfUjhfVU5PUk0sICAgICAgICAgICAgIERYR0lfRk9STUFUX1I4
X1VOT1JNLCAgICAgICAgICAgIERYR0lfRk9STUFUX1I4X1VOT1JNLCAgICAgICAgICAgIERYR0lf
Rk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xf
UjhfU05PUk0sICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOF9TTk9S
TSwgICAgICAgICAgICAgRFhHSV9GT1JNQVRfUjhfU05PUk0sICAgICAgICAgICAgRFhHSV9GT1JN
QVRfVU5LTk9XTiwgICAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAu
aW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SRzgsICAgICAgICAgICAgICAgRDNEMTFFUzNG
b3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhfVU5PUk0sICAgICAgICAgICBEWEdJX0ZPUk1BVF9S
OEc4X1VOT1JNLCAgICAgICAgICBEWEdJX0ZPUk1BVF9SOEc4X1VOT1JNLCAgICAgICAgICBEWEdJ
X0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdM
X1JHOF9TTk9STSwgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjhHOF9T
Tk9STSwgICAgICAgICAgIERYR0lfRk9STUFUX1I4RzhfU05PUk0sICAgICAgICAgIERYR0lfRk9S
TUFUX1VOS05PV04sICAgICAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFw
Lmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkdCOCwgICAgICAgICAgICAgIEQzRDExRVMz
Rm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgICAgICAgRFhHSV9GT1JNQVRf
UjhHOEI4QThfVU5PUk0sICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgRFhH
SV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihH
TF9SR0I4X1NOT1JNLCAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhC
OEE4X1NOT1JNLCAgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9TTk9STSwgICAgICBEWEdJX0ZP
Uk1BVF9VTktOT1dOLCAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1h
cC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQjU2NSwgICAgICAgICAgICBEM0QxMUVT
M0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgIERYR0lfRk9STUFU
X1I4RzhCOEE4X1VOT1JNLCAgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgIERY
R0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIo
R0xfUkdCQTQsICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOEc4
QjhBOF9VTk9STSwgICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgRFhHSV9G
T1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBt
YXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SR0I1X0ExLCAgICAgICAgICAgRDNEMTFF
UzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgICBEWEdJX0ZPUk1B
VF9SOEc4QjhBOF9VTk9STSwgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgICAgICBE
WEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWly
KEdMX1JHQkE4LCAgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjhH
OEI4QThfVU5PUk0sICAgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgIERYR0lf
Rk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAg
bWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkdCQThfU05PUk0sICAgICAgIEQzRDEx
RVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOEc4QjhBOF9TTk9STSwgICAgICAgRFhHSV9GT1JN
QVRfUjhHOEI4QThfU05PUk0sICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgICAg
RFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFp
cihHTF9SR0IxMF9BMiwgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1Ix
MEcxMEIxMEEyX1VOT1JNLCAgICBEWEdJX0ZPUk1BVF9SMTBHMTBCMTBBMl9VTk9STSwgICBEWEdJ
X0ZPUk1BVF9SMTBHMTBCMTBBMl9VTk9STSwgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAg
IG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQjEwX0EyVUksICAgICAgICBEM0Qx
MUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjEwRzEwQjEwQTJfVUlOVCwgICAgIERYR0lfRk9S
TUFUX1IxMEcxMEIxMEEyX1VJTlQsICAgIERYR0lfRk9STUFUX1IxMEcxMEIxMEEyX1VJTlQsICAg
IERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBh
aXIoR0xfU1JHQjgsICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9S
OEc4QjhBOF9VTk9STV9TUkdCLCAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk1fU1JHQiwgRFhH
SV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAg
ICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9TUkdCOF9BTFBIQTgsICAgICAgRDNE
MTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNX1NSR0IsICBEWEdJX0ZP
Uk1BVF9SOEc4QjhBOF9VTk9STV9TUkdCLCBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STV9TUkdC
LCBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQ
YWlyKEdMX1IxNkYsICAgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRf
UjE2X0ZMT0FULCAgICAgICAgICAgIERYR0lfRk9STUFUX1IxNl9GTE9BVCwgICAgICAgICAgIERY
R0lfRk9STUFUX1IxNl9GTE9BVCwgICAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7Cisg
ICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkcxNkYsICAgICAgICAgICAgIEQz
RDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMTZHMTZfRkxPQVQsICAgICAgICAgRFhHSV9G
T1JNQVRfUjE2RzE2X0ZMT0FULCAgICAgICAgRFhHSV9GT1JNQVRfUjE2RzE2X0ZMT0FULCAgICAg
ICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0
UGFpcihHTF9SR0IxNkYsICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFU
X1IxNkcxNkIxNkExNl9GTE9BVCwgICBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsICBE
WEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOwor
ICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQkExNkYsICAgICAgICAgICBE
M0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCAgIERYR0lf
Rk9STUFUX1IxNkcxNkIxNkExNl9GTE9BVCwgIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9GTE9B
VCwgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1h
dFBhaXIoR0xfUjMyRiwgICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1B
VF9SMzJfRkxPQVQsICAgICAgICAgICAgRFhHSV9GT1JNQVRfUjMyX0ZMT0FULCAgICAgICAgICAg
RFhHSV9GT1JNQVRfUjMyX0ZMT0FULCAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsK
KyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SRzMyRiwgICAgICAgICAgICAg
RDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IzMkczMl9GTE9BVCwgICAgICAgICBEWEdJ
X0ZPUk1BVF9SMzJHMzJfRkxPQVQsICAgICAgICBEWEdJX0ZPUk1BVF9SMzJHMzJfRkxPQVQsICAg
ICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3Jt
YXRQYWlyKEdMX1JHQjMyRiwgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JN
QVRfUjMyRzMyQjMyQTMyX0ZMT0FULCAgIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwg
IERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgIERYR0lfRk9STUFUX1VOS05PV04pKSk7
CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkdCQTMyRiwgICAgICAgICAg
IEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQsICAgRFhH
SV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZMT0FULCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZM
T0FULCAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9y
bWF0UGFpcihHTF9SMTFGX0cxMUZfQjEwRiwgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9S
TUFUX1IxMUcxMUIxMF9GTE9BVCwgICAgICBEWEdJX0ZPUk1BVF9SMTFHMTFCMTBfRkxPQVQsICAg
ICBEWEdJX0ZPUk1BVF9SMTFHMTFCMTBfRkxPQVQsICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkp
OworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQjlfRTUsICAgICAgICAg
ICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjlHOUI5RTVfU0hBUkVERVhQLCAgIERY
R0lfRk9STUFUX1I5RzlCOUU1X1NIQVJFREVYUCwgIERYR0lfRk9STUFUX1VOS05PV04sICAgICAg
ICAgICAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zv
cm1hdFBhaXIoR0xfUjhJLCAgICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZP
Uk1BVF9SOF9TSU5ULCAgICAgICAgICAgICAgRFhHSV9GT1JNQVRfUjhfU0lOVCwgICAgICAgICAg
ICAgRFhHSV9GT1JNQVRfUjhfU0lOVCwgICAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikp
KTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SOFVJLCAgICAgICAgICAg
ICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4X1VJTlQsICAgICAgICAgICAgICBE
WEdJX0ZPUk1BVF9SOF9VSU5ULCAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9SOF9VSU5ULCAgICAg
ICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNG
b3JtYXRQYWlyKEdMX1IxNkksICAgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9G
T1JNQVRfUjE2X1NJTlQsICAgICAgICAgICAgIERYR0lfRk9STUFUX1IxNl9TSU5ULCAgICAgICAg
ICAgIERYR0lfRk9STUFUX1IxNl9TSU5ULCAgICAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04p
KSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUjE2VUksICAgICAgICAg
ICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMTZfVUlOVCwgICAgICAgICAgICAg
RFhHSV9GT1JNQVRfUjE2X1VJTlQsICAgICAgICAgICAgRFhHSV9GT1JNQVRfUjE2X1VJTlQsICAg
ICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMz
Rm9ybWF0UGFpcihHTF9SMzJJLCAgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lf
Rk9STUFUX1IzMl9TSU5ULCAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9SMzJfU0lOVCwgICAgICAg
ICAgICBEWEdJX0ZPUk1BVF9SMzJfU0lOVCwgICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dO
KSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1IzMlVJLCAgICAgICAg
ICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyX1VJTlQsICAgICAgICAgICAg
IERYR0lfRk9STUFUX1IzMl9VSU5ULCAgICAgICAgICAgIERYR0lfRk9STUFUX1IzMl9VSU5ULCAg
ICAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVT
M0Zvcm1hdFBhaXIoR0xfUkc4SSwgICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJ
X0ZPUk1BVF9SOEc4X1NJTlQsICAgICAgICAgICAgRFhHSV9GT1JNQVRfUjhHOF9TSU5ULCAgICAg
ICAgICAgRFhHSV9GT1JNQVRfUjhHOF9TSU5ULCAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9X
TikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SRzhVSSwgICAgICAg
ICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhfVUlOVCwgICAgICAgICAg
ICBEWEdJX0ZPUk1BVF9SOEc4X1VJTlQsICAgICAgICAgICBEWEdJX0ZPUk1BVF9SOEc4X1VJTlQs
ICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFF
UzNGb3JtYXRQYWlyKEdMX1JHMTZJLCAgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhH
SV9GT1JNQVRfUjE2RzE2X1NJTlQsICAgICAgICAgIERYR0lfRk9STUFUX1IxNkcxNl9TSU5ULCAg
ICAgICAgIERYR0lfRk9STUFUX1IxNkcxNl9TSU5ULCAgICAgICAgIERYR0lfRk9STUFUX1VOS05P
V04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkcxNlVJLCAgICAg
ICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMTZHMTZfVUlOVCwgICAgICAg
ICAgRFhHSV9GT1JNQVRfUjE2RzE2X1VJTlQsICAgICAgICAgRFhHSV9GT1JNQVRfUjE2RzE2X1VJ
TlQsICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDEx
RVMzRm9ybWF0UGFpcihHTF9SRzMySSwgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERY
R0lfRk9STUFUX1IzMkczMl9TSU5ULCAgICAgICAgICBEWEdJX0ZPUk1BVF9SMzJHMzJfU0lOVCwg
ICAgICAgICBEWEdJX0ZPUk1BVF9SMzJHMzJfU0lOVCwgICAgICAgICBEWEdJX0ZPUk1BVF9VTktO
T1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHMzJVSSwgICAg
ICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyRzMyX1VJTlQsICAgICAg
ICAgIERYR0lfRk9STUFUX1IzMkczMl9VSU5ULCAgICAgICAgIERYR0lfRk9STUFUX1IzMkczMl9V
SU5ULCAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0Qx
MUVTM0Zvcm1hdFBhaXIoR0xfUkdCOEksICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhE
WEdJX0ZPUk1BVF9SOEc4QjhBOF9TSU5ULCAgICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfU0lO
VCwgICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfU0lOVCwgICAgICAgRFhHSV9GT1JNQVRfVU5L
Tk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SR0I4VUksICAg
ICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhCOEE4X1VJTlQsICAg
ICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VSU5ULCAgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhB
OF9VSU5ULCAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNE
MTFFUzNGb3JtYXRQYWlyKEdMX1JHQjE2SSwgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8o
RFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1NJTlQsICAgIERYR0lfRk9STUFUX1IxNkcxNkIxNkEx
Nl9TSU5ULCAgIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9TSU5ULCAgIERYR0lfRk9STUFUX1VO
S05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkdCMTZVSSwg
ICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfVUlO
VCwgICAgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1VJTlQsICAgRFhHSV9GT1JNQVRfUjE2RzE2
QjE2QTE2X1VJTlQsICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQz
RDExRVMzRm9ybWF0UGFpcihHTF9SR0IzMkksICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZv
KERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9TSU5ULCAgICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJB
MzJfU0lOVCwgICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0lOVCwgICBEWEdJX0ZPUk1BVF9V
TktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQjMyVUks
ICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX1VJ
TlQsICAgIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9VSU5ULCAgIERYR0lfRk9STUFUX1IzMkcz
MkIzMkEzMl9VSU5ULCAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChE
M0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkdCQThJLCAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5m
byhEWEdJX0ZPUk1BVF9SOEc4QjhBOF9TSU5ULCAgICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThf
U0lOVCwgICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfU0lOVCwgICAgICAgRFhHSV9GT1JNQVRf
VU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SR0JBOFVJ
LCAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhCOEE4X1VJTlQs
ICAgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VSU5ULCAgICAgICBEWEdJX0ZPUk1BVF9SOEc4
QjhBOF9VSU5ULCAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQo
RDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQkExNkksICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdElu
Zm8oRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1NJTlQsICAgIERYR0lfRk9STUFUX1IxNkcxNkIx
NkExNl9TSU5ULCAgIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9TSU5ULCAgIERYR0lfRk9STUFU
X1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfUkdCQTE2
VUksICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZf
VUlOVCwgICAgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1VJTlQsICAgRFhHSV9GT1JNQVRfUjE2
RzE2QjE2QTE2X1VJTlQsICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0
KEQzRDExRVMzRm9ybWF0UGFpcihHTF9SR0JBMzJJLCAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJ
bmZvKERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9TSU5ULCAgICBEWEdJX0ZPUk1BVF9SMzJHMzJC
MzJBMzJfU0lOVCwgICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0lOVCwgICBEWEdJX0ZPUk1B
VF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQkEz
MlVJLCAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMy
X1VJTlQsICAgIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9VSU5ULCAgIERYR0lfRk9STUFUX1Iz
MkczMkIzMkEzMl9VSU5ULCAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisKKyAgICAvLyBVbnNp
emVkIGZvcm1hdHMsIFRPRE86IEFyZSB0eXBlcyBvZiBmbG9hdCBhbmQgaGFsZiBmbG9hdCBhbGxv
d2VkIGZvciB0aGUgdW5zaXplZCB0eXBlcz8gV291bGQgaXQgY2hhbmdlIHRoZSBEWEdJIGZvcm1h
dD8KKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9BTFBIQSwgICAgICAgICAg
ICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX0E4X1VOT1JNLCAgICAgICAgICAgICBE
WEdJX0ZPUk1BVF9BOF9VTk9STSwgICAgICAgICAgICBEWEdJX0ZPUk1BVF9BOF9VTk9STSwgICAg
ICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNG
b3JtYXRQYWlyKEdMX0xVTUlOQU5DRSwgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9G
T1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAg
ICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgIERYR0lfRk9STUFUX1VOS05PV04p
KSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfTFVNSU5BTkNFX0FMUEhB
LCAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgICAgICAg
RFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5P
Uk0sICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMz
Rm9ybWF0UGFpcihHTF9SR0IsICAgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lf
Rk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwg
ICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dO
KSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX1JHQkEsICAgICAgICAg
ICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAg
IERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VO
T1JNLCAgICAgIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVT
M0Zvcm1hdFBhaXIoR0xfQkdSQV9FWFQsICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJ
X0ZPUk1BVF9COEc4UjhBOF9VTk9STSwgICAgICAgRFhHSV9GT1JNQVRfQjhHOFI4QThfVU5PUk0s
ICAgICAgRFhHSV9GT1JNQVRfQjhHOFI4QThfVU5PUk0sICAgICAgRFhHSV9GT1JNQVRfVU5LTk9X
TikpKTsKKworICAgIC8vIEZyb20gR0xfRVhUX3RleHR1cmVfc3RvcmFnZQorICAgIC8vICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCBHTCBpbnRlcm5hbCBmb3JtYXQgICAgICAgfCAgICAgICAg
ICAgICAgICAgIHwgRDNEMTEgdGV4dHVyZSBmb3JtYXQgICAgICAgICAgfCBEM0QxMSBTUlYgZm9y
bWF0ICAgICAgICAgICAgICAgICAgICB8IEQzRDExIFJUViBmb3JtYXQgICAgICAgICAgICAgIHwg
RDNEMTEgRFNWIGZvcm1hdCAgICAgICAgICAgICAgIHwKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMz
Rm9ybWF0UGFpcihHTF9BTFBIQThfRVhULCAgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8o
RFhHSV9GT1JNQVRfQThfVU5PUk0sICAgICAgICAgICBEWEdJX0ZPUk1BVF9BOF9VTk9STSwgICAg
ICAgICAgICAgICAgIERYR0lfRk9STUFUX0E4X1VOT1JNLCAgICAgICAgICAgRFhHSV9GT1JNQVRf
VU5LTk9XTiAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBh
aXIoR0xfTFVNSU5BTkNFOF9FWFQsICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9S
TUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAg
ICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgICAgIERYR0lfRk9STUFUX1VOS05PV04g
ICAgICAgICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX0FM
UEhBMzJGX0VYVCwgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMzJH
MzJCMzJBMzJfRkxPQVQsIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgICAgICAgRFhH
SV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZMT0FULCBEWEdJX0ZPUk1BVF9VTktOT1dOICAgICAgICAg
ICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9MVU1JTkFOQ0Uz
MkZfRVhULCAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMy
X0ZMT0FULCBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQsICAgICAgIERYR0lfRk9STUFU
X1IzMkczMkIzMkEzMl9GTE9BVCwgRFhHSV9GT1JNQVRfVU5LTk9XTiAgICAgICAgICAgICApKSk7
CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfQUxQSEExNkZfRVhULCAgICAg
ICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9GTE9BVCwg
RFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCAgICAgICBEWEdJX0ZPUk1BVF9SMTZHMTZC
MTZBMTZfRkxPQVQsIERYR0lfRk9STUFUX1VOS05PV04gICAgICAgICAgICAgKSkpOworICAgIG1h
cC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX0xVTUlOQU5DRTE2Rl9FWFQsICAgICAgIEQz
RDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgIERYR0lfRk9S
TUFUX1VOS05PV04sICAgICAgICAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAg
ICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0
KEQzRDExRVMzRm9ybWF0UGFpcihHTF9MVU1JTkFOQ0U4X0FMUEhBOF9FWFQsICBEM0QxMUVTM0Zv
cm1hdEluZm8oRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9SOEc4
QjhBOF9VTk9STSwgICAgICAgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhH
SV9GT1JNQVRfVU5LTk9XTiAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVT
M0Zvcm1hdFBhaXIoR0xfTFVNSU5BTkNFX0FMUEhBMzJGX0VYVCwgRDNEMTFFUzNGb3JtYXRJbmZv
KERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMy
X0ZMT0FULCAgICAgICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQsIERYR0lfRk9STUFU
X1VOS05PV04gICAgICAgICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQ
YWlyKEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9FWFQsIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZP
Uk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9GTE9BVCwg
ICAgICAgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCBEWEdJX0ZPUk1BVF9VTktOT1dO
ICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9C
R1JBOF9FWFQsICAgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfQjhH
OFI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9COEc4UjhBOF9VTk9STSwgICAgICAgICAgIERY
R0lfRk9STUFUX0I4RzhSOEE4X1VOT1JNLCAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiAgICAgICAg
ICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfQkdSQTRfQU5H
TEVYLCAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX0I4RzhSOEE4X1VO
T1JNLCAgICAgRFhHSV9GT1JNQVRfQjhHOFI4QThfVU5PUk0sICAgICAgICAgICBEWEdJX0ZPUk1B
VF9COEc4UjhBOF9VTk9STSwgICAgIERYR0lfRk9STUFUX1VOS05PV04gICAgICAgICAgICAgKSkp
OworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX0JHUjVfQTFfQU5HTEVYLCAg
ICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9COEc4UjhBOF9VTk9STSwgICAg
IERYR0lfRk9STUFUX0I4RzhSOEE4X1VOT1JNLCAgICAgICAgICAgRFhHSV9GT1JNQVRfQjhHOFI4
QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOICAgICAgICAgICAgICkpKTsKKworICAg
IC8vIERlcHRoIHN0ZW5jaWwgZm9ybWF0cworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQ
YWlyKEdMX0RFUFRIX0NPTVBPTkVOVDE2LCAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9S
TUFUX1IxNl9UWVBFTEVTUywgICAgICAgIERYR0lfRk9STUFUX1IxNl9VTk9STSwgICAgICAgICAg
ICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgICBEWEdJX0ZPUk1BVF9EMTZfVU5P
Uk0gICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9E
RVBUSF9DT01QT05FTlQyNCwgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMjRH
OF9UWVBFTEVTUywgICAgICBEWEdJX0ZPUk1BVF9SMjRfVU5PUk1fWDhfVFlQRUxFU1MsICAgIERY
R0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICAgRFhHSV9GT1JNQVRfRDI0X1VOT1JNX1M4X1VJ
TlQgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfREVQVEhfQ09N
UE9ORU5UMzJGLCAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyX1RZUEVMRVNT
LCAgICAgICAgRFhHSV9GT1JNQVRfUjMyX0ZMT0FULCAgICAgICAgICAgICAgICBEWEdJX0ZPUk1B
VF9VTktOT1dOLCAgICAgICAgICAgIERYR0lfRk9STUFUX0QzMl9GTE9BVCAgICAgICAgICAgKSkp
OworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX0RFUFRIMjRfU1RFTkNJTDgs
ICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IyNEc4X1RZUEVMRVNTLCAgICAg
IERYR0lfRk9STUFUX1IyNF9VTk9STV9YOF9UWVBFTEVTUywgICAgRFhHSV9GT1JNQVRfVU5LTk9X
TiwgICAgICAgICAgICBEWEdJX0ZPUk1BVF9EMjRfVU5PUk1fUzhfVUlOVCAgICkpKTsKKyAgICBt
YXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9ERVBUSDMyRl9TVEVOQ0lMOCwgICAgIEQz
RDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMzJHOFgyNF9UWVBFTEVTUywgICBEWEdJX0ZP
Uk1BVF9SMzJfRkxPQVRfWDhYMjRfVFlQRUxFU1MsIERYR0lfRk9STUFUX1VOS05PV04sICAgICAg
ICAgICAgRFhHSV9GT1JNQVRfRDMyX0ZMT0FUX1M4WDI0X1VJTlQpKSk7CisgICAgbWFwLmluc2Vy
dChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfU1RFTkNJTF9JTkRFWDgsICAgICAgICBEM0QxMUVTM0Zv
cm1hdEluZm8oRFhHSV9GT1JNQVRfUjI0RzhfVFlQRUxFU1MsICAgICAgRFhHSV9GT1JNQVRfWDI0
X1RZUEVMRVNTX0c4X1VJTlQsICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgIERY
R0lfRk9STUFUX0QyNF9VTk9STV9TOF9VSU5UICAgKSkpOworCisgICAgLy8gRnJvbSBHTF9BTkdM
RV9kZXB0aF90ZXh0dXJlCisgICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfREVQ
VEhfQ09NUE9ORU5UMzJfT0VTLCBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjI0Rzhf
VFlQRUxFU1MsICAgICAgRFhHSV9GT1JNQVRfUjI0X1VOT1JNX1g4X1RZUEVMRVNTLCAgICBEWEdJ
X0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9EMjRfVU5PUk1fUzhfVUlO
VCAgKSkpOworCisgICAgLy8gQ29tcHJlc3NlZCBmb3JtYXRzLCBGcm9tIEVTIDMuMC4xIHNwZWMs
IHRhYmxlIDMuMTYKKyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgR0wgaW50ZXJu
YWwgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCBE
M0QxMSB0ZXh0dXJlIGZvcm1hdCB8IEQzRDExIFNSViBmb3JtYXQgICAgIHwgRDNEMTEgUlRWIGZv
cm1hdCAgIHwgRDNEMTEgRFNWIGZvcm1hdCAgfAorICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3Jt
YXRQYWlyKEdMX0NPTVBSRVNTRURfUjExX0VBQywgICAgICAgICAgICAgICAgICAgICAgICBEM0Qx
MUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfVU5LTk9XTiwgICBEWEdJX0ZPUk1BVF9VTktOT1dO
LCAgIERYR0lfRk9STUFUX1VOS05PV04sIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAgbWFw
Lmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfQ09NUFJFU1NFRF9TSUdORURfUjExX0VBQywg
ICAgICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9VTktOT1dOLCAg
IERYR0lfRk9STUFUX1VOS05PV04sICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgRFhHSV9GT1JNQVRf
VU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9DT01QUkVT
U0VEX1JHMTFfRUFDLCAgICAgICAgICAgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERY
R0lfRk9STUFUX1VOS05PV04sICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICBEWEdJX0ZPUk1BVF9V
TktOT1dOLCBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNG
b3JtYXRQYWlyKEdMX0NPTVBSRVNTRURfU0lHTkVEX1JHMTFfRUFDLCAgICAgICAgICAgICAgICBE
M0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfVU5LTk9XTiwgICBEWEdJX0ZPUk1BVF9VTktO
T1dOLCAgIERYR0lfRk9STUFUX1VOS05PV04sIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisgICAg
bWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfQ09NUFJFU1NFRF9SR0I4X0VUQzIsICAg
ICAgICAgICAgICAgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9VTktOT1dO
LCAgIERYR0lfRk9STUFUX1VOS05PV04sICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgRFhHSV9GT1JN
QVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9DT01Q
UkVTU0VEX1NSR0I4X0VUQzIsICAgICAgICAgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZv
KERYR0lfRk9STUFUX1VOS05PV04sICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICBEWEdJX0ZPUk1B
VF9VTktOT1dOLCBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFF
UzNGb3JtYXRQYWlyKEdMX0NPTVBSRVNTRURfUkdCOF9QVU5DSFRIUk9VR0hfQUxQSEExX0VUQzIs
ICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfVU5LTk9XTiwgICBEWEdJX0ZPUk1BVF9V
TktOT1dOLCAgIERYR0lfRk9STUFUX1VOS05PV04sIERYR0lfRk9STUFUX1VOS05PV04pKSk7Cisg
ICAgbWFwLmluc2VydChEM0QxMUVTM0Zvcm1hdFBhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9QVU5D
SFRIUk9VR0hfQUxQSEExX0VUQzIsIEQzRDExRVMzRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9VTktO
T1dOLCAgIERYR0lfRk9STUFUX1VOS05PV04sICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgRFhHSV9G
T1JNQVRfVU5LTk9XTikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9D
T01QUkVTU0VEX1JHQkE4X0VUQzJfRUFDLCAgICAgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJ
bmZvKERYR0lfRk9STUFUX1VOS05PV04sICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICBEWEdJX0ZP
Uk1BVF9VTktOT1dOLCBEWEdJX0ZPUk1BVF9VTktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNE
MTFFUzNGb3JtYXRQYWlyKEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0VUQzJfRUFDLCAgICAg
ICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfVU5LTk9XTiwgICBEWEdJX0ZPUk1B
VF9VTktOT1dOLCAgIERYR0lfRk9STUFUX1VOS05PV04sIERYR0lfRk9STUFUX1VOS05PV04pKSk7
CisKKyAgICAvLyBGcm9tIEdMX0VYVF90ZXh0dXJlX2NvbXByZXNzaW9uX2R4dDEKKyAgICBtYXAu
aW5zZXJ0KEQzRDExRVMzRm9ybWF0UGFpcihHTF9DT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhU
LCAgICAgICAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvKERYR0lfRk9STUFUX0JDMV9VTk9STSwg
RFhHSV9GT1JNQVRfQkMxX1VOT1JNLCBEWEdJX0ZPUk1BVF9VTktOT1dOLCBEWEdJX0ZPUk1BVF9V
TktOT1dOKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWlyKEdMX0NPTVBSRVNT
RURfUkdCQV9TM1RDX0RYVDFfRVhULCAgICAgICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhH
SV9GT1JNQVRfQkMxX1VOT1JNLCBEWEdJX0ZPUk1BVF9CQzFfVU5PUk0sIERYR0lfRk9STUFUX1VO
S05PV04sIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisKKyAgICAvLyBGcm9tIEdMX0FOR0xFX3Rl
eHR1cmVfY29tcHJlc3Npb25fZHh0MworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzNGb3JtYXRQYWly
KEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfQU5HTEUsICAgICAgICAgICBEM0QxMUVTM0Zv
cm1hdEluZm8oRFhHSV9GT1JNQVRfQkMyX1VOT1JNLCBEWEdJX0ZPUk1BVF9CQzJfVU5PUk0sIERY
R0lfRk9STUFUX1VOS05PV04sIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisKKyAgICAvLyBGcm9t
IEdMX0FOR0xFX3RleHR1cmVfY29tcHJlc3Npb25fZHh0NQorICAgIG1hcC5pbnNlcnQoRDNEMTFF
UzNGb3JtYXRQYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfQU5HTEUsICAgICAgICAg
ICBEM0QxMUVTM0Zvcm1hdEluZm8oRFhHSV9GT1JNQVRfQkMzX1VOT1JNLCBEWEdJX0ZPUk1BVF9C
QzNfVU5PUk0sIERYR0lfRk9STUFUX1VOS05PV04sIERYR0lfRk9STUFUX1VOS05PV04pKSk7CisK
KyAgICByZXR1cm4gbWFwOworfQorCitzdGF0aWMgYm9vbCBHZXREM0QxMUVTM0Zvcm1hdEluZm8o
R0xlbnVtIGludGVybmFsRm9ybWF0LCBHTHVpbnQgY2xpZW50VmVyc2lvbiwgRDNEMTFFUzNGb3Jt
YXRJbmZvICpvdXRGb3JtYXRJbmZvKQoreworICAgIHN0YXRpYyBjb25zdCBEM0QxMUVTM0Zvcm1h
dE1hcCBmb3JtYXRNYXAgPSBCdWlsZEQzRDExRVMzRm9ybWF0TWFwKCk7CisgICAgRDNEMTFFUzNG
b3JtYXRNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBmb3JtYXRNYXAuZmluZChpbnRlcm5hbEZv
cm1hdCk7CisgICAgaWYgKGl0ZXIgIT0gZm9ybWF0TWFwLmVuZCgpKQorICAgIHsKKyAgICAgICAg
aWYgKG91dEZvcm1hdEluZm8pCisgICAgICAgIHsKKyAgICAgICAgICAgICpvdXRGb3JtYXRJbmZv
ID0gaXRlci0+c2Vjb25kOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgICBlbHNlCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCisvLyBF
UzMgaW1hZ2UgbG9hZGluZyBmdW5jdGlvbnMgdmFyeSBiYXNlZCBvbiB0aGUgaW50ZXJuYWwgZm9y
bWF0IGFuZCBkYXRhIHR5cGUgZ2l2ZW4sCisvLyB0aGlzIG1hcCB0eXBlIGRldGVybWluZXMgdGhl
IGxvYWRpbmcgZnVuY3Rpb24gZnJvbSB0aGUgaW50ZXJuYWwgZm9ybWF0IGFuZCB0eXBlIHN1cHBs
aWVkCisvLyB0byBnbFRleCpJbWFnZSpEIGFuZCB0aGUgZGVzdGluYXRpb24gRFhHSV9GT1JNQVQu
IFNvdXJjZSBmb3JtYXRzIGFuZCB0eXBlcyBhcmUgdGFrZW4gZnJvbQorLy8gVGFibGVzIDMuMiBh
bmQgMy4zIG9mIHRoZSBFUyAzIHNwZWMuCit0eXBlZGVmIHN0ZDo6cGFpcjxHTGVudW0sIEdMZW51
bT4gSW50ZXJuYWxGb3JtYXRUeXBlUGFpcjsKK3R5cGVkZWYgc3RkOjpwYWlyPEludGVybmFsRm9y
bWF0VHlwZVBhaXIsIExvYWRJbWFnZUZ1bmN0aW9uPiBEM0QxMUxvYWRGdW5jdGlvblBhaXI7Cit0
eXBlZGVmIHN0ZDo6bWFwPEludGVybmFsRm9ybWF0VHlwZVBhaXIsIExvYWRJbWFnZUZ1bmN0aW9u
PiBEM0QxMUxvYWRGdW5jdGlvbk1hcDsKKworc3RhdGljIHZvaWQgVW5pbXBsZW1lbnRlZExvYWRG
dW5jdGlvbihpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBp
bnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRw
dXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgVU5JTVBM
RU1FTlRFRCgpOworfQorCitzdGF0aWMgdm9pZCBVbnJlYWNoYWJsZUxvYWRGdW5jdGlvbihpbnQg
d2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwg
dW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNp
Z25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBVTlJFQUNIQUJMRSgpOworfQorCisv
LyBBIGhlbHBlciBmdW5jdGlvbiB0byBpbnNlcnQgZGF0YSBpbnRvIHRoZSBEM0QxMUxvYWRGdW5j
dGlvbk1hcCB3aXRoIGZld2VyIGNoYXJhY3RlcnMuCitzdGF0aWMgaW5saW5lIHZvaWQgaW5zZXJ0
TG9hZEZ1bmN0aW9uKEQzRDExTG9hZEZ1bmN0aW9uTWFwICptYXAsIEdMZW51bSBpbnRlcm5hbEZv
cm1hdCwgR0xlbnVtIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IExvYWRJbWFnZUZ1bmN0aW9uIGxvYWRGdW5jKQoreworICAgIG1hcC0+aW5zZXJ0KEQzRDExTG9h
ZEZ1bmN0aW9uUGFpcihJbnRlcm5hbEZvcm1hdFR5cGVQYWlyKGludGVybmFsRm9ybWF0LCB0eXBl
KSwgbG9hZEZ1bmMpKTsKK30KKworRDNEMTFMb2FkRnVuY3Rpb25NYXAgYnVpbGREM0QxMUxvYWRG
dW5jdGlvbk1hcCgpCit7CisgICAgRDNEMTFMb2FkRnVuY3Rpb25NYXAgbWFwOworCisgICAgLy8g
ICAgICAgICAgICAgICAgICAgICAgfCBJbnRlcm5hbCBmb3JtYXQgICAgICB8IFR5cGUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgTG9hZCBmdW5jdGlvbiAgICAgICAgICAgICAgICAgICAg
ICAgfAorICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SR0JBOCwgICAgICAgICAgICAg
IEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMdWJ5dGUs
IDQ+ICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQjVf
QTEsICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgICBsb2FkVG9O
YXRpdmU8R0x1Ynl0ZSwgND4gICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24o
Jm1hcCwgR0xfUkdCQTQsICAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAg
ICAgICAgIGxvYWRUb05hdGl2ZTxHTHVieXRlLCA0PiAgICAgICAgICAgICApOworICAgIGluc2Vy
dExvYWRGdW5jdGlvbigmbWFwLCBHTF9TUkdCOF9BTFBIQTgsICAgICAgIEdMX1VOU0lHTkVEX0JZ
VEUsICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMdWJ5dGUsIDQ+ICAgICAgICAgICAg
ICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQkE4X1NOT1JNLCAgICAgICAg
R0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0xieXRlLCA0
PiAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCQTQs
ICAgICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF80XzRfNF80LCAgICAgICAgIGxvYWRSR0JB
NDQ0NERhdGFUb1JHQkEgICAgICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigm
bWFwLCBHTF9SR0IxMF9BMiwgICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVF8yXzEwXzEwXzEwX1JF
ViwgICAgbG9hZFRvTmF0aXZlPEdMdWludCwgMT4gICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0
TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQjVfQTEsICAgICAgICAgICAgR0xfVU5TSUdORURfU0hP
UlRfNV81XzVfMSwgICAgICAgICBsb2FkUkdCQTU1NTFEYXRhVG9SR0JBICAgICAgICAgICAgICAg
KTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCNV9BMSwgICAgICAgICAgICBH
TF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVYsICAgIGxvYWRSR0JBMjEwMTAxMFRvUkdCQSAg
ICAgICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SR0JBMTZG
LCAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0
aXZlPEdMaGFsZiwgND4gICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZt
YXAsIEdMX1JHQkEzMkYsICAgICAgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAg
ICAgICBsb2FkVG9OYXRpdmU8R0xmbG9hdCwgND4gICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRM
b2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCQTE2RiwgICAgICAgICAgICBHTF9GTE9BVCwgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxvYWRGbG9hdERhdGFUb0hhbGZGbG9hdDw0PiAgICAgICAgICAp
OworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SR0JBOFVJLCAgICAgICAgICAgIEdM
X1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMdWJ5dGUsIDQ+
ICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQkE4SSwg
ICAgICAgICAgICAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkVG9OYXRp
dmU8R0xieXRlLCA0PiAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1h
cCwgR0xfUkdCQTE2VUksICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVCwgICAgICAgICAgICAg
ICAgIGxvYWRUb05hdGl2ZTxHTHVzaG9ydCwgND4gICAgICAgICAgICApOworICAgIGluc2VydExv
YWRGdW5jdGlvbigmbWFwLCBHTF9SR0JBMTZJLCAgICAgICAgICAgIEdMX1NIT1JULCAgICAgICAg
ICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMc2hvcnQsIDQ+ICAgICAgICAgICAgICk7
CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQkEzMlVJLCAgICAgICAgICAgR0xf
VU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0x1aW50LCA0PiAg
ICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCQTMySSwg
ICAgICAgICAgICBHTF9JTlQsICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2
ZTxHTGludCwgND4gICAgICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFw
LCBHTF9SR0IxMF9BMlVJLCAgICAgICAgIEdMX1VOU0lHTkVEX0lOVF8yXzEwXzEwXzEwX1JFViwg
ICAgbG9hZFRvTmF0aXZlPEdMdWludCwgMT4gICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9h
ZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQjgsICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwg
ICAgICAgICAgICAgICAgICBsb2FkUkdCVUJ5dGVEYXRhVG9SR0JBICAgICAgICAgICAgICAgKTsK
KyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCNTY1LCAgICAgICAgICAgICBHTF9V
TlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2ZTNUbzQ8R0x1Ynl0ZSwg
MHhGRj4gICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9TUkdCOCwgICAg
ICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZl
M1RvNDxHTHVieXRlLCAweEZGPiAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAs
IEdMX1JHQjhfU05PUk0sICAgICAgICAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsb2FkUkdCU0J5dGVEYXRhVG9SR0JBICAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2Fk
RnVuY3Rpb24oJm1hcCwgR0xfUkdCNTY1LCAgICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF81
XzZfNSwgICAgICAgICAgIGxvYWRSR0I1NjVEYXRhVG9SR0JBICAgICAgICAgICAgICAgICApOwor
ICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SMTFGX0cxMUZfQjEwRiwgICAgIEdMX1VO
U0lHTkVEX0lOVF8xMEZfMTFGXzExRl9SRVYsICAgbG9hZFRvTmF0aXZlPEdMdWludCwgMT4gICAg
ICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQjlfRTUsICAg
ICAgICAgICAgR0xfVU5TSUdORURfSU5UXzVfOV85XzlfUkVWLCAgICAgICBsb2FkVG9OYXRpdmU8
R0x1aW50LCAxPiAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwg
R0xfUkdCMTZGLCAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICAg
IGxvYWRUb05hdGl2ZTNUbzQ8R0xoYWxmLCBnbDo6RmxvYXQxNk9uZT4pOworICAgIGluc2VydExv
YWRGdW5jdGlvbigmbWFwLCBHTF9SMTFGX0cxMUZfQjEwRiwgICAgIEdMX0hBTEZfRkxPQVQsICAg
ICAgICAgICAgICAgICAgICAgbG9hZFJHQkhhbGZGbG9hdERhdGFUbzExMTExMEZsb2F0ICAgICk7
CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQjlfRTUsICAgICAgICAgICAgR0xf
SEFMRl9GTE9BVCwgICAgICAgICAgICAgICAgICAgICBsb2FkUkdCSGFsZkZsb2F0RGF0YVRvOTk5
RTUgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCMzJGLCAg
ICAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2
ZTNUbzQ8R0xmbG9hdCwgZ2w6OkZsb2F0MzJPbmU+KTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24o
Jm1hcCwgR0xfUkdCMTZGLCAgICAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxvYWRGbG9hdFJHQkRhdGFUb0hhbGZGbG9hdFJHQkEgICAgICApOworICAgIGluc2Vy
dExvYWRGdW5jdGlvbigmbWFwLCBHTF9SMTFGX0cxMUZfQjEwRiwgICAgIEdMX0ZMT0FULCAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9hZFJHQkZsb2F0RGF0YVRvMTExMTEwRmxvYXQgICAgICAg
ICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQjlfRTUsICAgICAgICAgICAg
R0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkUkdCRmxvYXREYXRhVG85OTlF
NSAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCOFVJ
LCAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgICAgIGxvYWRUb05h
dGl2ZTNUbzQ8R0x1Ynl0ZSwgMHgwMT4gICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigm
bWFwLCBHTF9SR0I4SSwgICAgICAgICAgICAgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9hZFRvTmF0aXZlM1RvNDxHTGJ5dGUsIDB4MDE+ICAgICAgICk7CisgICAgaW5zZXJ0
TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQjE2VUksICAgICAgICAgICAgR0xfVU5TSUdORURfU0hP
UlQsICAgICAgICAgICAgICAgICBsb2FkVG9OYXRpdmUzVG80PEdMdXNob3J0LCAweDAwMDE+ICAg
KTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdCMTZJLCAgICAgICAgICAgICBH
TF9TSE9SVCwgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2ZTNUbzQ8R0xzaG9y
dCwgMHgwMDAxPiAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SR0IzMlVJ
LCAgICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0
aXZlM1RvNDxHTHVpbnQsIDB4MDAwMDAwMDE+ICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZt
YXAsIEdMX1JHQjMySSwgICAgICAgICAgICAgR0xfSU5ULCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsb2FkVG9OYXRpdmUzVG80PEdMaW50LCAweDAwMDAwMDAxPiAgKTsKKyAgICBpbnNlcnRM
b2FkRnVuY3Rpb24oJm1hcCwgR0xfUkc4LCAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRF
LCAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2ZTxHTHVieXRlLCAyPiAgICAgICAgICAgICAp
OworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SRzhfU05PUk0sICAgICAgICAgIEdM
X0JZVEUsICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMYnl0ZSwgMj4g
ICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHMTZGLCAg
ICAgICAgICAgICAgR0xfSEFMRl9GTE9BVCwgICAgICAgICAgICAgICAgICAgICBsb2FkVG9OYXRp
dmU8R0xoYWxmLCAyPiAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1h
cCwgR0xfUkczMkYsICAgICAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxvYWRUb05hdGl2ZTxHTGZsb2F0LCAyPiAgICAgICAgICAgICApOworICAgIGluc2VydExv
YWRGdW5jdGlvbigmbWFwLCBHTF9SRzE2RiwgICAgICAgICAgICAgIEdMX0ZMT0FULCAgICAgICAg
ICAgICAgICAgICAgICAgICAgbG9hZEZsb2F0RGF0YVRvSGFsZkZsb2F0PDI+ICAgICAgICAgICk7
CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHOFVJLCAgICAgICAgICAgICAgR0xf
VU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0x1Ynl0ZSwgMj4g
ICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkc4SSwgICAg
ICAgICAgICAgICBHTF9CWVRFLCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2
ZTxHTGJ5dGUsIDI+ICAgICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFw
LCBHTF9SRzE2VUksICAgICAgICAgICAgIEdMX1VOU0lHTkVEX1NIT1JULCAgICAgICAgICAgICAg
ICAgbG9hZFRvTmF0aXZlPEdMdXNob3J0LCAyPiAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9h
ZEZ1bmN0aW9uKCZtYXAsIEdMX1JHMTZJLCAgICAgICAgICAgICAgR0xfU0hPUlQsICAgICAgICAg
ICAgICAgICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0xzaG9ydCwgMj4gICAgICAgICAgICAgKTsK
KyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkczMlVJLCAgICAgICAgICAgICBHTF9V
TlNJR05FRF9JTlQsICAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2ZTxHTHVpbnQsIDI+ICAg
ICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SRzMySSwgICAg
ICAgICAgICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZl
PEdMaW50LCAyPiAgICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAs
IEdMX1I4LCAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAg
ICBsb2FkVG9OYXRpdmU8R0x1Ynl0ZSwgMT4gICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2Fk
RnVuY3Rpb24oJm1hcCwgR0xfUjhfU05PUk0sICAgICAgICAgICBHTF9CWVRFLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2ZTxHTGJ5dGUsIDE+ICAgICAgICAgICAgICApOwor
ICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SMTZGLCAgICAgICAgICAgICAgIEdMX0hB
TEZfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMaGFsZiwgMT4gICAg
ICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1IzMkYsICAgICAg
ICAgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkVG9OYXRpdmU8
R0xmbG9hdCwgMT4gICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwg
R0xfUjE2RiwgICAgICAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvYWRGbG9hdERhdGFUb0hhbGZGbG9hdDwxPiAgICAgICAgICApOworICAgIGluc2VydExvYWRG
dW5jdGlvbigmbWFwLCBHTF9SOFVJLCAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAg
ICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMdWJ5dGUsIDE+ICAgICAgICAgICAgICk7Cisg
ICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1I4SSwgICAgICAgICAgICAgICAgR0xfQllU
RSwgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0xieXRlLCAxPiAgICAg
ICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUjE2VUksICAgICAg
ICAgICAgICBHTF9VTlNJR05FRF9TSE9SVCwgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2ZTxH
THVzaG9ydCwgMT4gICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBH
TF9SMTZJLCAgICAgICAgICAgICAgIEdMX1NIT1JULCAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9hZFRvTmF0aXZlPEdMc2hvcnQsIDE+ICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1
bmN0aW9uKCZtYXAsIEdMX1IzMlVJLCAgICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAg
ICAgICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0x1aW50LCAxPiAgICAgICAgICAgICAgKTsKKyAg
ICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUjMySSwgICAgICAgICAgICAgICBHTF9JTlQs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRUb05hdGl2ZTxHTGludCwgMT4gICAgICAg
ICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9ERVBUSF9DT01QT05F
TlQxNiwgIEdMX1VOU0lHTkVEX1NIT1JULCAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdM
dXNob3J0LCAxPiAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdM
X0RFUFRIX0NPTVBPTkVOVDI0LCAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgICBs
b2FkRzhSMjREYXRhVG9SMjRHOCAgICAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVu
Y3Rpb24oJm1hcCwgR0xfREVQVEhfQ09NUE9ORU5UMTYsICBHTF9VTlNJR05FRF9JTlQsICAgICAg
ICAgICAgICAgICAgIGxvYWRVaW50RGF0YVRvVXNob3J0ICAgICAgICAgICAgICAgICApOworICAg
IGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9ERVBUSF9DT01QT05FTlQzMkYsIEdMX0ZMT0FU
LCAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMZmxvYXQsIDE+ICAgICAg
ICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0RFUFRIMjRfU1RFTkNJ
TDgsICAgR0xfVU5TSUdORURfSU5UXzI0XzgsICAgICAgICAgICAgICBsb2FkRzhSMjREYXRhVG9S
MjRHOCAgICAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xf
REVQVEgzMkZfU1RFTkNJTDgsICBHTF9GTE9BVF8zMl9VTlNJR05FRF9JTlRfMjRfOF9SRVYsIGxv
YWRUb05hdGl2ZTxHTHVpbnQsIDI+ICAgICAgICAgICAgICApOworCisgICAgLy8gVW5zaXplZCBm
b3JtYXRzCisgICAgLy8gTG9hZCBmdW5jdGlvbnMgYXJlIHVucmVhY2hhYmxlIGJlY2F1c2UgdGhl
eSBhcmUgY29udmVydGVkIHRvIHNpemVkIGludGVybmFsIGZvcm1hdHMgYmFzZWQgb24KKyAgICAv
LyB0aGUgZm9ybWF0IGFuZCB0eXBlIGJlZm9yZSBsb2FkaW5nIHRha2VzIHBsYWNlLgorICAgIGlu
c2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9SR0JBLCAgICAgICAgICAgICAgIEdMX1VOU0lHTkVE
X0JZVEUsICAgICAgICAgICAgICAgICAgVW5yZWFjaGFibGVMb2FkRnVuY3Rpb24gICAgICAgICAg
ICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQkEsICAgICAgICAgICAg
ICAgR0xfVU5TSUdORURfU0hPUlRfNF80XzRfNCwgICAgICAgICBVbnJlYWNoYWJsZUxvYWRGdW5j
dGlvbiAgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfUkdC
QSwgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF81XzVfNV8xLCAgICAgICAgIFVucmVh
Y2hhYmxlTG9hZEZ1bmN0aW9uICAgICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlv
bigmbWFwLCBHTF9SR0IsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAg
ICAgICAgICAgVW5yZWFjaGFibGVMb2FkRnVuY3Rpb24gICAgICAgICAgICAgICk7CisgICAgaW5z
ZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX1JHQiwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURf
U0hPUlRfNV82XzUsICAgICAgICAgICBVbnJlYWNoYWJsZUxvYWRGdW5jdGlvbiAgICAgICAgICAg
ICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfTFVNSU5BTkNFX0FMUEhBLCAg
ICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgICAgIFVucmVhY2hhYmxlTG9hZEZ1bmN0
aW9uICAgICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9MVU1J
TkFOQ0UsICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgVW5yZWFj
aGFibGVMb2FkRnVuY3Rpb24gICAgICAgICAgICAgICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9u
KCZtYXAsIEdMX0FMUEhBLCAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAg
ICAgICAgICBVbnJlYWNoYWJsZUxvYWRGdW5jdGlvbiAgICAgICAgICAgICAgKTsKKworICAgIC8v
IEZyb20gR0xfT0VTX3RleHR1cmVfZmxvYXQKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwg
R0xfTFVNSU5BTkNFX0FMUEhBLCAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvYWRMdW1pbmFuY2VBbHBoYUZsb2F0RGF0YVRvUkdCQSAgICApOworICAgIGluc2VydExvYWRG
dW5jdGlvbigmbWFwLCBHTF9MVU1JTkFOQ0UsICAgICAgICAgIEdMX0ZMT0FULCAgICAgICAgICAg
ICAgICAgICAgICAgICAgbG9hZEx1bWluYW5jZUZsb2F0RGF0YVRvUkdCICAgICAgICAgICk7Cisg
ICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0FMUEhBLCAgICAgICAgICAgICAgR0xfRkxP
QVQsICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkQWxwaGFGbG9hdERhdGFUb1JHQkEgICAg
ICAgICAgICAgKTsKKworICAgIC8vIEZyb20gR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdAorICAg
IGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9MVU1JTkFOQ0VfQUxQSEEsICAgIEdMX0hBTEZf
RkxPQVQsICAgICAgICAgICAgICAgICAgICAgbG9hZEx1bWluYW5jZUFscGhhSGFsZkZsb2F0RGF0
YVRvUkdCQSk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0xVTUlOQU5DRSwgICAg
ICAgICAgR0xfSEFMRl9GTE9BVCwgICAgICAgICAgICAgICAgICAgICBsb2FkTHVtaW5hbmNlSGFs
ZkZsb2F0RGF0YVRvUkdCQSAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xf
QUxQSEEsICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgIGxv
YWRBbHBoYUhhbGZGbG9hdERhdGFUb1JHQkEgICAgICAgICApOworCisgICAgLy8gRnJvbSBHTF9F
WFRfdGV4dHVyZV9zdG9yYWdlCisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0FMUEhB
OF9FWFQsICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICBsb2FkVG9O
YXRpdmU8R0x1Ynl0ZSwgMT4gICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24o
Jm1hcCwgR0xfTFVNSU5BTkNFOF9FWFQsICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAg
ICAgICAgIGxvYWRMdW1pbmFuY2VEYXRhVG9CR1JBICAgICAgICAgICAgICApOworICAgIGluc2Vy
dExvYWRGdW5jdGlvbigmbWFwLCBHTF9MVU1JTkFOQ0U4X0FMUEhBOF9FWFQsICBHTF9VTlNJR05F
RF9CWVRFLCAgICAgICAgICAgICAgbG9hZEx1bWluYW5jZUFscGhhRGF0YVRvQkdSQSAgICAgICAg
ICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0FMUEhBMzJGX0VYVCwgICAgICAg
ICAgIEdMX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgICBsb2FkQWxwaGFGbG9hdERhdGFUb1JH
QkEgICAgICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfTFVNSU5B
TkNFMzJGX0VYVCwgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgIGxvYWRMdW1p
bmFuY2VGbG9hdERhdGFUb1JHQiAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigm
bWFwLCBHTF9MVU1JTkFOQ0VfQUxQSEEzMkZfRVhULCBHTF9GTE9BVCwgICAgICAgICAgICAgICAg
ICAgICAgbG9hZEx1bWluYW5jZUFscGhhRmxvYXREYXRhVG9SR0JBICAgICk7CisgICAgaW5zZXJ0
TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0FMUEhBMTZGX0VYVCwgICAgICAgICAgIEdMX0hBTEZfRkxP
QVQsICAgICAgICAgICAgICAgICBsb2FkQWxwaGFIYWxmRmxvYXREYXRhVG9SR0JBICAgICAgICAg
KTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfTFVNSU5BTkNFMTZGX0VYVCwgICAg
ICAgR0xfSEFMRl9GTE9BVCwgICAgICAgICAgICAgICAgIGxvYWRMdW1pbmFuY2VIYWxmRmxvYXRE
YXRhVG9SR0JBICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9MVU1JTkFO
Q0VfQUxQSEExNkZfRVhULCBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgbG9hZEx1bWlu
YW5jZUFscGhhSGFsZkZsb2F0RGF0YVRvUkdCQSk7CisKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24o
Jm1hcCwgR0xfQkdSQThfRVhULCAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAg
ICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0x1Ynl0ZSwgND4gICAgICAgICApOworICAgIGluc2Vy
dExvYWRGdW5jdGlvbigmbWFwLCBHTF9CR1JBNF9BTkdMRVgsICAgICAgICAgICBHTF9VTlNJR05F
RF9TSE9SVF80XzRfNF80X1JFVl9FWFQsIGxvYWRSR0JBNDQ0NERhdGFUb1JHQkEgICAgICAgICAg
ICk7CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0JHUkE0X0FOR0xFWCwgICAgICAg
ICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMdWJ5
dGUsIDQ+ICAgICAgICAgKTsKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24oJm1hcCwgR0xfQkdSNV9B
MV9BTkdMRVgsICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfMV81XzVfNV9SRVZfRVhULCBsb2Fk
UkdCQTU1NTFEYXRhVG9SR0JBICAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigm
bWFwLCBHTF9CR1I1X0ExX0FOR0xFWCwgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAg
ICAgICAgICAgIGxvYWRUb05hdGl2ZTxHTHVieXRlLCA0PiAgICAgICAgICk7CisKKyAgICAvLyBD
b21wcmVzc2VkIGZvcm1hdHMKKyAgICAvLyBGcm9tIEVTIDMuMC4xIHNwZWMsIHRhYmxlIDMuMTYK
KyAgICAvLyAgICAgICAgICAgICAgICAgICAgICB8IEludGVybmFsIGZvcm1hdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCBUeXBlICAgICAgICAgICAgfCBMb2FkIGZ1bmN0aW9uICAgICAg
ICAgICAgICAgICAgICAgfAorICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVT
U0VEX1IxMV9FQUMsICAgICAgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgVW5p
bXBsZW1lbnRlZExvYWRGdW5jdGlvbiAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlv
bigmbWFwLCBHTF9DT01QUkVTU0VEX1IxMV9FQUMsICAgICAgICAgICAgICAgICAgICAgICAgR0xf
VU5TSUdORURfQllURSwgVW5pbXBsZW1lbnRlZExvYWRGdW5jdGlvbiAgICAgICAgICApOworICAg
IGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVTU0VEX1NJR05FRF9SMTFfRUFDLCAg
ICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgVW5pbXBsZW1lbnRlZExvYWRGdW5jdGlv
biAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVTU0VE
X1JHMTFfRUFDLCAgICAgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgVW5pbXBs
ZW1lbnRlZExvYWRGdW5jdGlvbiAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigm
bWFwLCBHTF9DT01QUkVTU0VEX1NJR05FRF9SRzExX0VBQywgICAgICAgICAgICAgICAgR0xfVU5T
SUdORURfQllURSwgVW5pbXBsZW1lbnRlZExvYWRGdW5jdGlvbiAgICAgICAgICApOworICAgIGlu
c2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVTU0VEX1JHQjhfRVRDMiwgICAgICAgICAg
ICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgVW5pbXBsZW1lbnRlZExvYWRGdW5jdGlvbiAg
ICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVTU0VEX1NS
R0I4X0VUQzIsICAgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgVW5pbXBsZW1l
bnRlZExvYWRGdW5jdGlvbiAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFw
LCBHTF9DT01QUkVTU0VEX1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyLCAgR0xfVU5TSUdO
RURfQllURSwgVW5pbXBsZW1lbnRlZExvYWRGdW5jdGlvbiAgICAgICAgICApOworICAgIGluc2Vy
dExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVTU0VEX1NSR0I4X1BVTkNIVEhST1VHSF9BTFBI
QTFfRVRDMiwgR0xfVU5TSUdORURfQllURSwgVW5pbXBsZW1lbnRlZExvYWRGdW5jdGlvbiAgICAg
ICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVTU0VEX1JHQkE4
X0VUQzJfRUFDLCAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgVW5pbXBsZW1lbnRl
ZExvYWRGdW5jdGlvbiAgICAgICAgICApOworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBH
TF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9FVEMyX0VBQywgICAgICAgICAgR0xfVU5TSUdORURf
QllURSwgVW5pbXBsZW1lbnRlZExvYWRGdW5jdGlvbiAgICAgICAgICApOworCisgICAgLy8gRnJv
bSBHTF9FWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9keHQxCisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9u
KCZtYXAsIEdMX0NPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQsICAgICAgICAgICAgICBHTF9V
TlNJR05FRF9CWVRFLCBsb2FkQ29tcHJlc3NlZEJsb2NrRGF0YVRvTmF0aXZlPDQsIDQsICA4Pik7
CisgICAgaW5zZXJ0TG9hZEZ1bmN0aW9uKCZtYXAsIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RY
VDFfRVhULCAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBsb2FkQ29tcHJlc3NlZEJsb2Nr
RGF0YVRvTmF0aXZlPDQsIDQsICA4Pik7CisKKyAgICAvLyBGcm9tIEdMX0FOR0xFX3RleHR1cmVf
Y29tcHJlc3Npb25fZHh0MworICAgIGluc2VydExvYWRGdW5jdGlvbigmbWFwLCBHTF9DT01QUkVT
U0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFLCAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgbG9h
ZENvbXByZXNzZWRCbG9ja0RhdGFUb05hdGl2ZTw0LCA0LCAxNj4pOworCisgICAgLy8gRnJvbSBH
TF9BTkdMRV90ZXh0dXJlX2NvbXByZXNzaW9uX2R4dDUKKyAgICBpbnNlcnRMb2FkRnVuY3Rpb24o
Jm1hcCwgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRSwgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUsIGxvYWRDb21wcmVzc2VkQmxvY2tEYXRhVG9OYXRpdmU8NCwgNCwgMTY+KTsK
KworICAgIHJldHVybiBtYXA7Cit9CisKK3N0cnVjdCBEM0QxMUVTMkZvcm1hdEluZm8KK3sKKyAg
ICBEWEdJX0ZPUk1BVCBtVGV4Rm9ybWF0OworICAgIERYR0lfRk9STUFUIG1TUlZGb3JtYXQ7Cisg
ICAgRFhHSV9GT1JNQVQgbVJUVkZvcm1hdDsKKyAgICBEWEdJX0ZPUk1BVCBtRFNWRm9ybWF0Owor
CisgICAgTG9hZEltYWdlRnVuY3Rpb24gbUxvYWRJbWFnZUZ1bmN0aW9uOworCisgICAgRDNEMTFF
UzJGb3JtYXRJbmZvKCkKKyAgICAgICAgOiBtVGV4Rm9ybWF0KERYR0lfRk9STUFUX1VOS05PV04p
LCBtRFNWRm9ybWF0KERYR0lfRk9STUFUX1VOS05PV04pLCBtUlRWRm9ybWF0KERYR0lfRk9STUFU
X1VOS05PV04pLAorICAgICAgICBtU1JWRm9ybWF0KERYR0lfRk9STUFUX1VOS05PV04pLCBtTG9h
ZEltYWdlRnVuY3Rpb24oTlVMTCkKKyAgICB7IH0KKworICAgIEQzRDExRVMyRm9ybWF0SW5mbyhE
WEdJX0ZPUk1BVCB0ZXhGb3JtYXQsIERYR0lfRk9STUFUIHNydkZvcm1hdCwgRFhHSV9GT1JNQVQg
cnR2Rm9ybWF0LCBEWEdJX0ZPUk1BVCBkc3ZGb3JtYXQsCisgICAgICAgIExvYWRJbWFnZUZ1bmN0
aW9uIGxvYWRGdW5jKQorICAgICAgICA6IG1UZXhGb3JtYXQodGV4Rm9ybWF0KSwgbURTVkZvcm1h
dChkc3ZGb3JtYXQpLCBtUlRWRm9ybWF0KHJ0dkZvcm1hdCksIG1TUlZGb3JtYXQoc3J2Rm9ybWF0
KSwKKyAgICAgICAgbUxvYWRJbWFnZUZ1bmN0aW9uKGxvYWRGdW5jKQorICAgIHsgfQorfTsKKwor
Ly8gRVMyIGludGVybmFsIGZvcm1hdHMgY2FuIG1hcCB0byBEWEdJIGZvcm1hdHMgYW5kIGxvYWRp
bmcgZnVuY3Rpb25zCit0eXBlZGVmIHN0ZDo6cGFpcjxHTGVudW0sIEQzRDExRVMyRm9ybWF0SW5m
bz4gRDNEMTFFUzJGb3JtYXRQYWlyOwordHlwZWRlZiBzdGQ6Om1hcDxHTGVudW0sIEQzRDExRVMy
Rm9ybWF0SW5mbz4gRDNEMTFFUzJGb3JtYXRNYXA7CisKK3N0YXRpYyBEM0QxMUVTMkZvcm1hdE1h
cCBCdWlsZEQzRDExRVMyRm9ybWF0TWFwKCkKK3sKKyAgICBEM0QxMUVTMkZvcm1hdE1hcCBtYXA7
CisKKyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW50ZXJuYWwgZm9ybWF0ICAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8IFRleHR1cmUgZm9ybWF0ICAgICAg
ICAgICAgICAgIHwgU1JWIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgfCBSVFYgZm9ybWF0
ICAgICAgICAgICAgICAgICAgICB8IERTViBmb3JtYXQgICAgICAgICAgICAgICAgICAgfCBMb2Fk
IGZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgIG1hcC5pbnNlcnQoRDNE
MTFFUzJGb3JtYXRQYWlyKEdMX05PTkUsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEQzRDEx
RVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgIERYR0lfRk9STUFU
X1VOS05PV04sICAgICAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgICBE
WEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgVW5yZWFjaGFibGVMb2FkRnVuY3Rpb24gICAg
ICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTMkZvcm1hdFBhaXIoR0xf
REVQVEhfQ09NUE9ORU5UMTYsICAgICAgICAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZvKERYR0lf
Rk9STUFUX1IxNl9UWVBFTEVTUywgICAgICAgRFhHSV9GT1JNQVRfUjE2X1VOT1JNLCAgICAgICAg
ICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgIERYR0lfRk9STUFUX0QxNl9VTk9S
TSwgICAgICAgICBVbnJlYWNoYWJsZUxvYWRGdW5jdGlvbiAgICAgICAgICAgICAgICAgICkpKTsK
KyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0UGFpcihHTF9ERVBUSF9DT01QT05FTlQzMl9P
RVMsICAgICAgICAgICBEM0QxMUVTMkZvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyX1RZUEVMRVNT
LCAgICAgICBEWEdJX0ZPUk1BVF9SMzJfRkxPQVQsICAgICAgICAgICAgIERYR0lfRk9STUFUX1VO
S05PV04sICAgICAgICAgICAgRFhHSV9GT1JNQVRfRDMyX0ZMT0FULCAgICAgICAgIFVucmVhY2hh
YmxlTG9hZEZ1bmN0aW9uICAgICAgICAgICAgICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQoRDNE
MTFFUzJGb3JtYXRQYWlyKEdMX0RFUFRIMjRfU1RFTkNJTDhfT0VTLCAgICAgICAgICAgIEQzRDEx
RVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMjRHOF9UWVBFTEVTUywgICAgIERYR0lfRk9STUFU
X1IyNF9VTk9STV9YOF9UWVBFTEVTUywgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgICBE
WEdJX0ZPUk1BVF9EMjRfVU5PUk1fUzhfVUlOVCwgVW5yZWFjaGFibGVMb2FkRnVuY3Rpb24gICAg
ICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTMkZvcm1hdFBhaXIoR0xf
U1RFTkNJTF9JTkRFWDgsICAgICAgICAgICAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZvKERYR0lf
Rk9STUFUX1IyNEc4X1RZUEVMRVNTLCAgICAgRFhHSV9GT1JNQVRfWDI0X1RZUEVMRVNTX0c4X1VJ
TlQsICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgIERYR0lfRk9STUFUX0QyNF9VTk9S
TV9TOF9VSU5ULCBVbnJlYWNoYWJsZUxvYWRGdW5jdGlvbiAgICAgICAgICAgICAgICAgICkpKTsK
KworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzJGb3JtYXRQYWlyKEdMX1JHQkEzMkZfRVhULCAgICAg
ICAgICAgICAgICAgICAgIEQzRDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMzJHMzJCMzJB
MzJfRkxPQVQsIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgICAgRFhHSV9GT1JNQVRf
UjMyRzMyQjMyQTMyX0ZMT0FULCBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgbG9hZFJH
QkFGbG9hdERhdGFUb1JHQkEgICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChE
M0QxMUVTMkZvcm1hdFBhaXIoR0xfUkdCMzJGX0VYVCwgICAgICAgICAgICAgICAgICAgICAgRDNE
MTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgRFhHSV9GT1JN
QVRfUjMyRzMyQjMyQTMyX0ZMT0FULCAgICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQs
IERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2FkUkdCRmxvYXREYXRhVG9SR0JBICAg
ICAgICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0UGFpcihH
TF9BTFBIQTMyRl9FWFQsICAgICAgICAgICAgICAgICAgICBEM0QxMUVTMkZvcm1hdEluZm8oRFhH
SV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZMT0FULCBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxP
QVQsICAgIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgRFhHSV9GT1JNQVRfVU5LTk9X
TiwgICAgICAgICAgIGxvYWRBbHBoYUZsb2F0RGF0YVRvUkdCQSAgICAgICAgICAgICAgICAgKSkp
OworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzJGb3JtYXRQYWlyKEdMX0xVTUlOQU5DRTMyRl9FWFQs
ICAgICAgICAgICAgICAgIEQzRDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMzJHMzJCMzJB
MzJfRkxPQVQsIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgICAgRFhHSV9GT1JNQVRf
UjMyRzMyQjMyQTMyX0ZMT0FULCBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgbG9hZEx1
bWluYW5jZUZsb2F0RGF0YVRvUkdCQSAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChE
M0QxMUVTMkZvcm1hdFBhaXIoR0xfTFVNSU5BTkNFX0FMUEhBMzJGX0VYVCwgICAgICAgICAgRDNE
MTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgRFhHSV9GT1JN
QVRfUjMyRzMyQjMyQTMyX0ZMT0FULCAgICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQs
IERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2FkTHVtaW5hbmNlQWxwaGFGbG9hdERh
dGFUb1JHQkEgICAgICAgICkpKTsKKworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzJGb3JtYXRQYWly
KEdMX1JHQkExNkZfRVhULCAgICAgICAgICAgICAgICAgICAgIEQzRDExRVMyRm9ybWF0SW5mbyhE
WEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9G
TE9BVCwgICAgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCBEWEdJX0ZPUk1BVF9VTktO
T1dOLCAgICAgICAgICAgbG9hZFJHQkFIYWxmRmxvYXREYXRhVG9SR0JBICAgICAgICAgICAgICAp
KSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTMkZvcm1hdFBhaXIoR0xfUkdCMTZGX0VYVCwgICAg
ICAgICAgICAgICAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IxNkcxNkIx
NkExNl9GTE9BVCwgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCAgICBEWEdJX0ZPUk1B
VF9SMTZHMTZCMTZBMTZfRkxPQVQsIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2Fk
UkdCSGFsZkZsb2F0RGF0YVRvUkdCQSAgICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0
KEQzRDExRVMyRm9ybWF0UGFpcihHTF9BTFBIQTE2Rl9FWFQsICAgICAgICAgICAgICAgICAgICBE
M0QxMUVTMkZvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCBEWEdJX0ZP
Uk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsICAgIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9GTE9B
VCwgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgIGxvYWRBbHBoYUhhbGZGbG9hdERhdGFU
b1JHQkEgICAgICAgICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzJGb3JtYXRQYWly
KEdMX0xVTUlOQU5DRTE2Rl9FWFQsICAgICAgICAgICAgICAgIEQzRDExRVMyRm9ybWF0SW5mbyhE
WEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9G
TE9BVCwgICAgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCBEWEdJX0ZPUk1BVF9VTktO
T1dOLCAgICAgICAgICAgbG9hZEx1bWluYW5jZUhhbGZGbG9hdERhdGFUb1JHQkEgICAgICAgICAp
KSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTMkZvcm1hdFBhaXIoR0xfTFVNSU5BTkNFX0FMUEhB
MTZGX0VYVCwgICAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IxNkcxNkIx
NkExNl9GTE9BVCwgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FULCAgICBEWEdJX0ZPUk1B
VF9SMTZHMTZCMTZBMTZfRkxPQVQsIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2Fk
THVtaW5hbmNlQWxwaGFIYWxmRmxvYXREYXRhVG9SR0JBICAgICkpKTsKKworICAgIG1hcC5pbnNl
cnQoRDNEMTFFUzJGb3JtYXRQYWlyKEdMX0FMUEhBOF9FWFQsICAgICAgICAgICAgICAgICAgICAg
IEQzRDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9BOF9VTk9STSwgICAgICAgICAgIERYR0lf
Rk9STUFUX0E4X1VOT1JNLCAgICAgICAgICAgICAgRFhHSV9GT1JNQVRfQThfVU5PUk0sICAgICAg
ICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgbG9hZEFscGhhRGF0YVRvTmF0aXZl
ICAgICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTMkZvcm1hdFBh
aXIoR0xfTFVNSU5BTkNFOF9FWFQsICAgICAgICAgICAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZv
KERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5P
Uk0sICAgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgICAgIERYR0lfRk9STUFUX1VO
S05PV04sICAgICAgICAgICBsb2FkTHVtaW5hbmNlRGF0YVRvQkdSQSAgICAgICAgICAgICAgICAg
ICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0UGFpcihHTF9MVU1JTkFOQ0U4X0FM
UEhBOF9FWFQsICAgICAgICAgICBEM0QxMUVTMkZvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjhHOEI4
QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STSwgICAgICAgIERYR0lfRk9S
TUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgIGxv
YWRMdW1pbmFuY2VBbHBoYURhdGFUb0JHUkEgICAgICAgICAgICAgKSkpOworCisgICAgbWFwLmlu
c2VydChEM0QxMUVTMkZvcm1hdFBhaXIoR0xfUkdCOF9PRVMsICAgICAgICAgICAgICAgICAgICAg
ICAgRDNEMTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhH
SV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9S
TSwgICAgIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2FkUkdCVUJ5dGVEYXRhVG9S
R0JBICAgICAgICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0
UGFpcihHTF9SR0I1NjUsICAgICAgICAgICAgICAgICAgICAgICAgICBEM0QxMUVTMkZvcm1hdElu
Zm8oRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9V
Tk9STSwgICAgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhHSV9GT1JNQVRf
VU5LTk9XTiwgICAgICAgICAgIGxvYWRSR0I1NjVEYXRhVG9SR0JBICAgICAgICAgICAgICAgICAg
ICAgKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzJGb3JtYXRQYWlyKEdMX1JHQkE4X09FUywg
ICAgICAgICAgICAgICAgICAgICAgIEQzRDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOEc4
QjhBOF9VTk9STSwgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgICAgRFhHSV9G
T1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAg
bG9hZFJHQkFVQnl0ZURhdGFUb05hdGl2ZSAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmlu
c2VydChEM0QxMUVTMkZvcm1hdFBhaXIoR0xfUkdCQTQsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRDNEMTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhH
SV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9S
TSwgICAgIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2FkUkdCQTQ0NDREYXRhVG9S
R0JBICAgICAgICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0
UGFpcihHTF9SR0I1X0ExLCAgICAgICAgICAgICAgICAgICAgICAgICBEM0QxMUVTMkZvcm1hdElu
Zm8oRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9V
Tk9STSwgICAgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgRFhHSV9GT1JNQVRf
VU5LTk9XTiwgICAgICAgICAgIGxvYWRSR0JBNTU1MURhdGFUb1JHQkEgICAgICAgICAgICAgICAg
ICAgKSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzJGb3JtYXRQYWlyKEdMX0JHUkE4X0VYVCwg
ICAgICAgICAgICAgICAgICAgICAgIEQzRDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9COEc4
UjhBOF9VTk9STSwgICAgIERYR0lfRk9STUFUX0I4RzhSOEE4X1VOT1JNLCAgICAgICAgRFhHSV9G
T1JNQVRfQjhHOFI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAg
bG9hZEJHUkFEYXRhVG9CR1JBICAgICAgICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmlu
c2VydChEM0QxMUVTMkZvcm1hdFBhaXIoR0xfQkdSQTRfQU5HTEVYLCAgICAgICAgICAgICAgICAg
ICAgRDNEMTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX0I4RzhSOEE4X1VOT1JNLCAgICAgRFhH
SV9GT1JNQVRfQjhHOFI4QThfVU5PUk0sICAgICAgICBEWEdJX0ZPUk1BVF9COEc4UjhBOF9VTk9S
TSwgICAgIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2FkUkdCQTQ0NDREYXRhVG9S
R0JBICAgICAgICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0
UGFpcihHTF9CR1I1X0ExX0FOR0xFWCwgICAgICAgICAgICAgICAgICBEM0QxMUVTMkZvcm1hdElu
Zm8oRFhHSV9GT1JNQVRfQjhHOFI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9COEc4UjhBOF9V
Tk9STSwgICAgICAgIERYR0lfRk9STUFUX0I4RzhSOEE4X1VOT1JNLCAgICAgRFhHSV9GT1JNQVRf
VU5LTk9XTiwgICAgICAgICAgIGxvYWRSR0JBNTU1MURhdGFUb1JHQkEgICAgICAgICAgICAgICAg
ICAgKSkpOworCisgICAgLy8gRnJvbSBHTF9FWFRfdGV4dHVyZV9yZworICAgIG1hcC5pbnNlcnQo
RDNEMTFFUzJGb3JtYXRQYWlyKEdMX1I4X0VYVCwgICAgICAgICAgICAgICAgICAgICAgICAgIEQz
RDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOF9VTk9STSwgICAgICAgICAgIERYR0lfRk9S
TUFUX1I4X1VOT1JNLCAgICAgICAgICAgICAgRFhHSV9GT1JNQVRfUjhfVU5PUk0sICAgICAgICAg
ICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMdWJ5dGUsIDE+
ICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTMkZvcm1hdFBhaXIo
R0xfUjMyRl9FWFQsICAgICAgICAgICAgICAgICAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZvKERY
R0lfRk9STUFUX1IzMl9GTE9BVCwgICAgICAgICAgRFhHSV9GT1JNQVRfUjMyX0ZMT0FULCAgICAg
ICAgICAgICBEWEdJX0ZPUk1BVF9SMzJfRkxPQVQsICAgICAgICAgIERYR0lfRk9STUFUX1VOS05P
V04sICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0xmbG9hdCwgMT4gICAgICAgICAgICAgICAgICkp
KTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0UGFpcihHTF9SMTZGX0VYVCwgICAgICAg
ICAgICAgICAgICAgICAgICBEM0QxMUVTMkZvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjE2X0ZMT0FU
LCAgICAgICAgICBEWEdJX0ZPUk1BVF9SMTZfRkxPQVQsICAgICAgICAgICAgIERYR0lfRk9STUFU
X1IxNl9GTE9BVCwgICAgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgIGxvYWRU
b05hdGl2ZTxHTGhhbGYsIDE+ICAgICAgICAgICAgICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQo
RDNEMTFFUzJGb3JtYXRQYWlyKEdMX1JHOF9FWFQsICAgICAgICAgICAgICAgICAgICAgICAgIEQz
RDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SOEc4X1VOT1JNLCAgICAgICAgIERYR0lfRk9S
TUFUX1I4RzhfVU5PUk0sICAgICAgICAgICAgRFhHSV9GT1JNQVRfUjhHOF9VTk9STSwgICAgICAg
ICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgbG9hZFRvTmF0aXZlPEdMdWJ5dGUsIDI+
ICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0QxMUVTMkZvcm1hdFBhaXIo
R0xfUkczMkZfRVhULCAgICAgICAgICAgICAgICAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZvKERY
R0lfRk9STUFUX1IzMkczMl9GTE9BVCwgICAgICAgRFhHSV9GT1JNQVRfUjMyRzMyX0ZMT0FULCAg
ICAgICAgICBEWEdJX0ZPUk1BVF9SMzJHMzJfRkxPQVQsICAgICAgIERYR0lfRk9STUFUX1VOS05P
V04sICAgICAgICAgICBsb2FkVG9OYXRpdmU8R0xmbG9hdCwgMj4gICAgICAgICAgICAgICAgICkp
KTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0UGFpcihHTF9SRzE2Rl9FWFQsICAgICAg
ICAgICAgICAgICAgICAgICBEM0QxMUVTMkZvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjE2RzE2X0ZM
T0FULCAgICAgICBEWEdJX0ZPUk1BVF9SMTZHMTZfRkxPQVQsICAgICAgICAgIERYR0lfRk9STUFU
X1IxNkcxNl9GTE9BVCwgICAgICAgRFhHSV9GT1JNQVRfVU5LTk9XTiwgICAgICAgICAgIGxvYWRU
b05hdGl2ZTxHTGhhbGYsIDI+ICAgICAgICAgICAgICAgICAgKSkpOworCisgICAgbWFwLmluc2Vy
dChEM0QxMUVTMkZvcm1hdFBhaXIoR0xfQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVCwgICAg
RDNEMTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX0JDMV9VTk9STSwgICAgICAgICAgRFhHSV9G
T1JNQVRfQkMxX1VOT1JNLCAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAg
ICAgIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2FkQ29tcHJlc3NlZEJsb2NrRGF0
YVRvTmF0aXZlPDQsIDQsICA4PikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDExRVMyRm9ybWF0UGFp
cihHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVCwgICBEM0QxMUVTMkZvcm1hdEluZm8o
RFhHSV9GT1JNQVRfQkMxX1VOT1JNLCAgICAgICAgICBEWEdJX0ZPUk1BVF9CQzFfVU5PUk0sICAg
ICAgICAgICAgIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICAgRFhHSV9GT1JNQVRfVU5L
Tk9XTiwgICAgICAgICAgIGxvYWRDb21wcmVzc2VkQmxvY2tEYXRhVG9OYXRpdmU8NCwgNCwgIDg+
KSkpOworICAgIG1hcC5pbnNlcnQoRDNEMTFFUzJGb3JtYXRQYWlyKEdMX0NPTVBSRVNTRURfUkdC
QV9TM1RDX0RYVDNfQU5HTEUsIEQzRDExRVMyRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9CQzJfVU5P
Uk0sICAgICAgICAgIERYR0lfRk9STUFUX0JDMl9VTk9STSwgICAgICAgICAgICAgRFhHSV9GT1JN
QVRfVU5LTk9XTiwgICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgbG9h
ZENvbXByZXNzZWRCbG9ja0RhdGFUb05hdGl2ZTw0LCA0LCAxNj4pKSk7CisgICAgbWFwLmluc2Vy
dChEM0QxMUVTMkZvcm1hdFBhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRSwg
RDNEMTFFUzJGb3JtYXRJbmZvKERYR0lfRk9STUFUX0JDM19VTk9STSwgICAgICAgICAgRFhHSV9G
T1JNQVRfQkMzX1VOT1JNLCAgICAgICAgICAgICBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAg
ICAgIERYR0lfRk9STUFUX1VOS05PV04sICAgICAgICAgICBsb2FkQ29tcHJlc3NlZEJsb2NrRGF0
YVRvTmF0aXZlPDQsIDQsIDE2PikpKTsKKworICAgIHJldHVybiBtYXA7Cit9CisKK3N0YXRpYyBi
b29sIEdldEQzRDExRVMyRm9ybWF0SW5mbyhHTGVudW0gaW50ZXJuYWxGb3JtYXQsIEdMdWludCBj
bGllbnRWZXJzaW9uLCBEM0QxMUVTMkZvcm1hdEluZm8gKm91dEZvcm1hdEluZm8pCit7CisgICAg
c3RhdGljIGNvbnN0IEQzRDExRVMyRm9ybWF0TWFwIGZvcm1hdE1hcCA9IEJ1aWxkRDNEMTFFUzJG
b3JtYXRNYXAoKTsKKyAgICBEM0QxMUVTMkZvcm1hdE1hcDo6Y29uc3RfaXRlcmF0b3IgaXRlciA9
IGZvcm1hdE1hcC5maW5kKGludGVybmFsRm9ybWF0KTsKKyAgICBpZiAoaXRlciAhPSBmb3JtYXRN
YXAuZW5kKCkpCisgICAgeworICAgICAgICBpZiAob3V0Rm9ybWF0SW5mbykKKyAgICAgICAgewor
ICAgICAgICAgICAgKm91dEZvcm1hdEluZm8gPSBpdGVyLT5zZWNvbmQ7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9Cit9CisKKy8vIEEgbWFwIHRvIGRldGVybWluZSB0aGUgcGl4ZWwgc2l6
ZSBhbmQgbWlwbWFwIGdlbmVyYXRpb24gZnVuY3Rpb24gb2YgYSBnaXZlbiBEWEdJIGZvcm1hdAor
c3RydWN0IERYR0lGb3JtYXRJbmZvCit7CisgICAgR0x1aW50IG1QaXhlbEJpdHM7CisgICAgR0x1
aW50IG1CbG9ja1dpZHRoOworICAgIEdMdWludCBtQmxvY2tIZWlnaHQ7CisgICAgR0xlbnVtIG1D
b21wb25lbnRUeXBlOworCisgICAgTWlwR2VuZXJhdGlvbkZ1bmN0aW9uIG1NaXBHZW5lcmF0aW9u
RnVuY3Rpb247CisgICAgQ29sb3JSZWFkRnVuY3Rpb24gbUNvbG9yUmVhZEZ1bmN0aW9uOworCisg
ICAgRFhHSUZvcm1hdEluZm8oKQorICAgICAgICA6IG1QaXhlbEJpdHMoMCksIG1CbG9ja1dpZHRo
KDApLCBtQmxvY2tIZWlnaHQoMCksIG1Db21wb25lbnRUeXBlKEdMX05PTkUpLCBtTWlwR2VuZXJh
dGlvbkZ1bmN0aW9uKE5VTEwpLAorICAgICAgICAgIG1Db2xvclJlYWRGdW5jdGlvbihOVUxMKQor
ICAgIHsgfQorCisgICAgRFhHSUZvcm1hdEluZm8oR0x1aW50IHBpeGVsQml0cywgR0x1aW50IGJs
b2NrV2lkdGgsIEdMdWludCBibG9ja0hlaWdodCwgR0xlbnVtIGNvbXBvbmVudFR5cGUsCisgICAg
ICAgICAgICAgICAgICAgTWlwR2VuZXJhdGlvbkZ1bmN0aW9uIG1pcEZ1bmMsIENvbG9yUmVhZEZ1
bmN0aW9uIHJlYWRGdW5jKQorICAgICAgICA6IG1QaXhlbEJpdHMocGl4ZWxCaXRzKSwgbUJsb2Nr
V2lkdGgoYmxvY2tXaWR0aCksIG1CbG9ja0hlaWdodChibG9ja0hlaWdodCksIG1Db21wb25lbnRU
eXBlKGNvbXBvbmVudFR5cGUpLAorICAgICAgICAgIG1NaXBHZW5lcmF0aW9uRnVuY3Rpb24obWlw
RnVuYyksIG1Db2xvclJlYWRGdW5jdGlvbihyZWFkRnVuYykKKyAgICB7IH0KK307CisKK3R5cGVk
ZWYgc3RkOjptYXA8RFhHSV9GT1JNQVQsIERYR0lGb3JtYXRJbmZvPiBEWEdJRm9ybWF0SW5mb01h
cDsKKwordm9pZCBBZGREWEdJRm9ybWF0KERYR0lGb3JtYXRJbmZvTWFwICptYXAsIERYR0lfRk9S
TUFUIGR4Z2lGb3JtYXQsIEdMdWludCBwaXhlbEJpdHMsIEdMdWludCBibG9ja1dpZHRoLCBHTHVp
bnQgYmxvY2tIZWlnaHQsCisgICAgICAgICAgICAgICAgICAgR0xlbnVtIGNvbXBvbmVudFR5cGUs
IE1pcEdlbmVyYXRpb25GdW5jdGlvbiBtaXBGdW5jLCBDb2xvclJlYWRGdW5jdGlvbiByZWFkRnVu
YykKK3sKKyAgICBtYXAtPmluc2VydChzdGQ6Om1ha2VfcGFpcihkeGdpRm9ybWF0LCBEWEdJRm9y
bWF0SW5mbyhwaXhlbEJpdHMsIGJsb2NrV2lkdGgsIGJsb2NrSGVpZ2h0LCBjb21wb25lbnRUeXBl
LCBtaXBGdW5jLCByZWFkRnVuYykpKTsKK30KKworc3RhdGljIERYR0lGb3JtYXRJbmZvTWFwIEJ1
aWxkRFhHSUZvcm1hdEluZm9NYXAoKQoreworICAgIERYR0lGb3JtYXRJbmZvTWFwIG1hcDsKKwor
ICAgIC8vICAgICAgICAgICAgICAgIHwgRFhHSSBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAg
ICAgIHxTICAgfFcgfEggfENvbXBvbmVudCBUeXBlICAgICAgICB8IE1pcCBnZW5lcmF0aW9uIGZ1
bmN0aW9uICAgfCBDb2xvciByZWFkIGZ1bmN0aW9uCisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBE
WEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgICAgICAgIDAsICAgMCwgMCwgR0xfTk9ORSwg
ICAgICAgICAgICAgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworCisgICAg
QWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9BOF9VTk9STSwgICAgICAgICAgICAgICAg
IDgsICAgMSwgMSwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgR2VuZXJhdGVNaXA8QTg+LCAgICAg
ICAgICAgIFJlYWRDb2xvcjxBOCwgR0xmbG9hdD4pOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwg
RFhHSV9GT1JNQVRfUjhfVU5PUk0sICAgICAgICAgICAgICAgICA4LCAgIDEsIDEsIEdMX1VOU0lH
TkVEX05PUk1BTElaRUQsIEdlbmVyYXRlTWlwPFI4PiwgICAgICAgICAgICBSZWFkQ29sb3I8Ujgs
IEdMZmxvYXQ+KTsKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1I4RzhfVU5P
Uk0sICAgICAgICAgICAgICAgMTYsICAxLCAxLCBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBHZW5l
cmF0ZU1pcDxSOEc4PiwgICAgICAgICAgUmVhZENvbG9yPFI4RzgsIEdMZmxvYXQ+KTsKKyAgICBB
ZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNLCAgICAgICAgICAg
MzIsICAxLCAxLCBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBHZW5lcmF0ZU1pcDxSOEc4QjhBOD4s
ICAgICAgUmVhZENvbG9yPFI4RzhCOEE4LCBHTGZsb2F0Pik7CisgICAgQWRkRFhHSUZvcm1hdCgm
bWFwLCBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VTk9STV9TUkdCLCAgICAgIDMyLCAgMSwgMSwgR0xf
VU5TSUdORURfTk9STUFMSVpFRCwgR2VuZXJhdGVNaXA8UjhHOEI4QTg+LCAgICAgIFJlYWRDb2xv
cjxSOEc4QjhBOCwgR0xmbG9hdD4pOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9GT1JN
QVRfQjhHOFI4QThfVU5PUk0sICAgICAgICAgICAzMiwgIDEsIDEsIEdMX1VOU0lHTkVEX05PUk1B
TElaRUQsIEdlbmVyYXRlTWlwPEI4RzhSOEE4PiwgICAgICBSZWFkQ29sb3I8QjhHOFI4QTgsIEdM
ZmxvYXQ+KTsKKworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9GT1JNQVRfUjhfU05PUk0s
ICAgICAgICAgICAgICAgICA4LCAgIDEsIDEsIEdMX1NJR05FRF9OT1JNQUxJWkVELCAgIEdlbmVy
YXRlTWlwPFI4Uz4sICAgICAgICAgICBSZWFkQ29sb3I8UjhTLCBHTGZsb2F0Pik7CisgICAgQWRk
RFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SOEc4X1NOT1JNLCAgICAgICAgICAgICAgIDE2
LCAgMSwgMSwgR0xfU0lHTkVEX05PUk1BTElaRUQsICAgR2VuZXJhdGVNaXA8UjhHOFM+LCAgICAg
ICAgIFJlYWRDb2xvcjxSOEc4UywgR0xmbG9hdD4pOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwg
RFhHSV9GT1JNQVRfUjhHOEI4QThfU05PUk0sICAgICAgICAgICAzMiwgIDEsIDEsIEdMX1NJR05F
RF9OT1JNQUxJWkVELCAgIEdlbmVyYXRlTWlwPFI4RzhCOEE4Uz4sICAgICBSZWFkQ29sb3I8UjhH
OEI4QThTLCBHTGZsb2F0Pik7CisKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFU
X1I4X1VJTlQsICAgICAgICAgICAgICAgICAgOCwgICAxLCAxLCBHTF9VTlNJR05FRF9JTlQsICAg
ICAgICBHZW5lcmF0ZU1pcDxSOD4sICAgICAgICAgICAgUmVhZENvbG9yPFI4LCBHTHVpbnQ+KTsK
KyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IxNl9VSU5ULCAgICAgICAgICAg
ICAgICAgMTYsICAxLCAxLCBHTF9VTlNJR05FRF9JTlQsICAgICAgICBHZW5lcmF0ZU1pcDxSMTY+
LCAgICAgICAgICAgUmVhZENvbG9yPFIxNiwgR0x1aW50Pik7CisgICAgQWRkRFhHSUZvcm1hdCgm
bWFwLCBEWEdJX0ZPUk1BVF9SMzJfVUlOVCwgICAgICAgICAgICAgICAgIDMyLCAgMSwgMSwgR0xf
VU5TSUdORURfSU5ULCAgICAgICAgR2VuZXJhdGVNaXA8UjMyPiwgICAgICAgICAgIFJlYWRDb2xv
cjxSMzIsIEdMdWludD4pOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9GT1JNQVRfUjhH
OF9VSU5ULCAgICAgICAgICAgICAgICAxNiwgIDEsIDEsIEdMX1VOU0lHTkVEX0lOVCwgICAgICAg
IEdlbmVyYXRlTWlwPFI4Rzg+LCAgICAgICAgICBSZWFkQ29sb3I8UjhHOCwgR0x1aW50Pik7Cisg
ICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMTZHMTZfVUlOVCwgICAgICAgICAg
ICAgIDMyLCAgMSwgMSwgR0xfVU5TSUdORURfSU5ULCAgICAgICAgR2VuZXJhdGVNaXA8UjE2RzE2
PiwgICAgICAgIFJlYWRDb2xvcjxSMTZHMTYsIEdMdWludD4pOworICAgIEFkZERYR0lGb3JtYXQo
Jm1hcCwgRFhHSV9GT1JNQVRfUjMyRzMyX1VJTlQsICAgICAgICAgICAgICA2NCwgIDEsIDEsIEdM
X1VOU0lHTkVEX0lOVCwgICAgICAgIEdlbmVyYXRlTWlwPFIzMkczMj4sICAgICAgICBSZWFkQ29s
b3I8UjMyRzMyLCBHTHVpbnQ+KTsKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFU
X1IzMkczMkIzMl9VSU5ULCAgICAgICAgICAgOTYsICAxLCAxLCBHTF9VTlNJR05FRF9JTlQsICAg
ICAgICBHZW5lcmF0ZU1pcDxSMzJHMzJCMzI+LCAgICAgUmVhZENvbG9yPFIzMkczMkIzMiwgR0x1
aW50Pik7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VSU5U
LCAgICAgICAgICAgIDMyLCAgMSwgMSwgR0xfVU5TSUdORURfSU5ULCAgICAgICAgR2VuZXJhdGVN
aXA8UjhHOEI4QTg+LCAgICAgIFJlYWRDb2xvcjxSOEc4QjhBOCwgR0x1aW50Pik7CisgICAgQWRk
RFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfVUlOVCwgICAgICAgIDY0
LCAgMSwgMSwgR0xfVU5TSUdORURfSU5ULCAgICAgICAgR2VuZXJhdGVNaXA8UjE2RzE2QjE2QTE2
PiwgIFJlYWRDb2xvcjxSMTZHMTZCMTZBMTYsIEdMdWludD4pOworICAgIEFkZERYR0lGb3JtYXQo
Jm1hcCwgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX1VJTlQsICAgICAgICAxMjgsIDEsIDEsIEdM
X1VOU0lHTkVEX0lOVCwgICAgICAgIEdlbmVyYXRlTWlwPFIzMkczMkIzMkEzMj4sICBSZWFkQ29s
b3I8UjMyRzMyQjMyQTMyLCBHTHVpbnQ+KTsKKworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhH
SV9GT1JNQVRfUjhfU0lOVCwgICAgICAgICAgICAgICAgICA4LCAgIDEsIDEsIEdMX0lOVCwgICAg
ICAgICAgICAgICAgIEdlbmVyYXRlTWlwPFI4Uz4sICAgICAgICAgICBSZWFkQ29sb3I8UjhTLCBH
TGludD4pOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9GT1JNQVRfUjE2X1NJTlQsICAg
ICAgICAgICAgICAgICAxNiwgIDEsIDEsIEdMX0lOVCwgICAgICAgICAgICAgICAgIEdlbmVyYXRl
TWlwPFIxNlM+LCAgICAgICAgICBSZWFkQ29sb3I8UjE2UywgR0xpbnQ+KTsKKyAgICBBZGREWEdJ
Rm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IzMl9TSU5ULCAgICAgICAgICAgICAgICAgMzIsICAx
LCAxLCBHTF9JTlQsICAgICAgICAgICAgICAgICBHZW5lcmF0ZU1pcDxSMzJTPiwgICAgICAgICAg
UmVhZENvbG9yPFIzMlMsIEdMaW50Pik7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZP
Uk1BVF9SOEc4X1NJTlQsICAgICAgICAgICAgICAgIDE2LCAgMSwgMSwgR0xfSU5ULCAgICAgICAg
ICAgICAgICAgR2VuZXJhdGVNaXA8UjhHOFM+LCAgICAgICAgIFJlYWRDb2xvcjxSOEc4UywgR0xp
bnQ+KTsKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IxNkcxNl9TSU5ULCAg
ICAgICAgICAgICAgMzIsICAxLCAxLCBHTF9JTlQsICAgICAgICAgICAgICAgICBHZW5lcmF0ZU1p
cDxSMTZHMTZTPiwgICAgICAgUmVhZENvbG9yPFIxNkcxNlMsIEdMaW50Pik7CisgICAgQWRkRFhH
SUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMzJHMzJfU0lOVCwgICAgICAgICAgICAgIDY0LCAg
MSwgMSwgR0xfSU5ULCAgICAgICAgICAgICAgICAgR2VuZXJhdGVNaXA8UjMyRzMyUz4sICAgICAg
IFJlYWRDb2xvcjxSMzJHMzJTLCBHTGludD4pOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhH
SV9GT1JNQVRfUjMyRzMyQjMyX1NJTlQsICAgICAgICAgICA5NiwgIDEsIDEsIEdMX0lOVCwgICAg
ICAgICAgICAgICAgIEdlbmVyYXRlTWlwPFIzMkczMkIzMlM+LCAgICBSZWFkQ29sb3I8UjMyRzMy
QjMyUywgR0xpbnQ+KTsKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1I4RzhC
OEE4X1NJTlQsICAgICAgICAgICAgMzIsICAxLCAxLCBHTF9JTlQsICAgICAgICAgICAgICAgICBH
ZW5lcmF0ZU1pcDxSOEc4QjhBOFM+LCAgICAgUmVhZENvbG9yPFI4RzhCOEE4UywgR0xpbnQ+KTsK
KyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9TSU5ULCAg
ICAgICAgNjQsICAxLCAxLCBHTF9JTlQsICAgICAgICAgICAgICAgICBHZW5lcmF0ZU1pcDxSMTZH
MTZCMTZBMTZTPiwgUmVhZENvbG9yPFIxNkcxNkIxNkExNlMsIEdMaW50Pik7CisgICAgQWRkRFhH
SUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0lOVCwgICAgICAgIDEyOCwg
MSwgMSwgR0xfSU5ULCAgICAgICAgICAgICAgICAgR2VuZXJhdGVNaXA8UjMyRzMyQjMyQTMyUz4s
IFJlYWRDb2xvcjxSMzJHMzJCMzJBMzJTLCBHTGludD4pOworCisgICAgQWRkRFhHSUZvcm1hdCgm
bWFwLCBEWEdJX0ZPUk1BVF9SMTBHMTBCMTBBMl9VTk9STSwgICAgICAgIDMyLCAgMSwgMSwgR0xf
VU5TSUdORURfTk9STUFMSVpFRCwgR2VuZXJhdGVNaXA8UjEwRzEwQjEwQTI+LCAgIFJlYWRDb2xv
cjxSMTBHMTBCMTBBMiwgR0xmbG9hdD4pOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9G
T1JNQVRfUjEwRzEwQjEwQTJfVUlOVCwgICAgICAgICAzMiwgIDEsIDEsIEdMX1VOU0lHTkVEX0lO
VCwgICAgICAgIEdlbmVyYXRlTWlwPFIxMEcxMEIxMEEyPiwgICBSZWFkQ29sb3I8UjEwRzEwQjEw
QTIsIEdMdWludD4pOworCisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMTZf
RkxPQVQsICAgICAgICAgICAgICAgIDE2LCAgMSwgMSwgR0xfRkxPQVQsICAgICAgICAgICAgICAg
R2VuZXJhdGVNaXA8UjE2Rj4sICAgICAgICAgIFJlYWRDb2xvcjxSMTZGLCBHTGZsb2F0Pik7Cisg
ICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMTZHMTZfRkxPQVQsICAgICAgICAg
ICAgIDMyLCAgMSwgMSwgR0xfRkxPQVQsICAgICAgICAgICAgICAgR2VuZXJhdGVNaXA8UjE2RzE2
Rj4sICAgICAgIFJlYWRDb2xvcjxSMTZHMTZGLCBHTGZsb2F0Pik7CisgICAgQWRkRFhHSUZvcm1h
dCgmbWFwLCBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsICAgICAgIDY0LCAgMSwgMSwg
R0xfRkxPQVQsICAgICAgICAgICAgICAgR2VuZXJhdGVNaXA8UjE2RzE2QjE2QTE2Rj4sIFJlYWRD
b2xvcjxSMTZHMTZCMTZBMTZGLCBHTGZsb2F0Pik7CisKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAs
IERYR0lfRk9STUFUX1IzMl9GTE9BVCwgICAgICAgICAgICAgICAgMzIsICAxLCAxLCBHTF9GTE9B
VCwgICAgICAgICAgICAgICBHZW5lcmF0ZU1pcDxSMzJGPiwgICAgICAgICAgUmVhZENvbG9yPFIz
MkYsIEdMZmxvYXQ+KTsKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IzMkcz
Ml9GTE9BVCwgICAgICAgICAgICAgNjQsICAxLCAxLCBHTF9GTE9BVCwgICAgICAgICAgICAgICBH
ZW5lcmF0ZU1pcDxSMzJHMzJGPiwgICAgICAgUmVhZENvbG9yPFIzMkczMkYsIEdMZmxvYXQ+KTsK
KyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IzMkczMkIzMl9GTE9BVCwgICAg
ICAgICAgOTYsICAxLCAxLCBHTF9GTE9BVCwgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCk7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9S
MzJHMzJCMzJBMzJfRkxPQVQsICAgICAgIDEyOCwgMSwgMSwgR0xfRkxPQVQsICAgICAgICAgICAg
ICAgR2VuZXJhdGVNaXA8UjMyRzMyQjMyQTMyRj4sIFJlYWRDb2xvcjxSMzJHMzJCMzJBMzJGLCBH
TGZsb2F0Pik7CisKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1I5RzlCOUU1
X1NIQVJFREVYUCwgICAgICAgMzIsICAxLCAxLCBHTF9GTE9BVCwgICAgICAgICAgICAgICBHZW5l
cmF0ZU1pcDxSOUc5QjlFNT4sICAgICAgUmVhZENvbG9yPFI5RzlCOUU1LCBHTGZsb2F0Pik7Cisg
ICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMTFHMTFCMTBfRkxPQVQsICAgICAg
ICAgIDMyLCAgMSwgMSwgR0xfRkxPQVQsICAgICAgICAgICAgICAgR2VuZXJhdGVNaXA8UjExRzEx
QjEwRj4sICAgIFJlYWRDb2xvcjxSMTFHMTFCMTBGLCBHTGZsb2F0Pik7CisKKyAgICBBZGREWEdJ
Rm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IxNl9UWVBFTEVTUywgICAgICAgICAgICAgMTYsICAx
LCAxLCBHTF9OT05FLCAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCk7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMTZfVU5PUk0sICAg
ICAgICAgICAgICAgIDE2LCAgMSwgMSwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgTlVMTCwgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9G
T1JNQVRfRDE2X1VOT1JNLCAgICAgICAgICAgICAgICAxNiwgIDEsIDEsIEdMX1VOU0lHTkVEX05P
Uk1BTElaRUQsIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBBZGREWEdJ
Rm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IyNEc4X1RZUEVMRVNTLCAgICAgICAgICAgMzIsICAx
LCAxLCBHTF9OT05FLCAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCk7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMjRfVU5PUk1fWDhf
VFlQRUxFU1MsICAgIDMyLCAgMSwgMSwgR0xfTk9ORSwgICAgICAgICAgICAgICAgTlVMTCwgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9G
T1JNQVRfRDI0X1VOT1JNX1M4X1VJTlQsICAgICAgICAzMiwgIDEsIDEsIEdMX1VOU0lHTkVEX0lO
VCwgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBBZGREWEdJ
Rm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IzMkc4WDI0X1RZUEVMRVNTLCAgICAgICAgNjQsICAx
LCAxLCBHTF9OT05FLCAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCk7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9SMzJfRkxPQVRfWDhY
MjRfVFlQRUxFU1MsIDY0LCAgMSwgMSwgR0xfTk9ORSwgICAgICAgICAgICAgICAgTlVMTCwgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9G
T1JNQVRfRDMyX0ZMT0FUX1M4WDI0X1VJTlQsICAgICA2NCwgIDEsIDEsIEdMX1VOU0lHTkVEX0lO
VCwgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBBZGREWEdJ
Rm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IzMl9UWVBFTEVTUywgICAgICAgICAgICAgMzIsICAx
LCAxLCBHTF9OT05FLCAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCk7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJX0ZPUk1BVF9EMzJfRkxPQVQsICAg
ICAgICAgICAgICAgIDMyLCAgMSwgMSwgR0xfRkxPQVQsICAgICAgICAgICAgICAgTlVMTCwgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOworCisgICAgQWRkRFhHSUZvcm1hdCgmbWFwLCBEWEdJ
X0ZPUk1BVF9CQzFfVU5PUk0sICAgICAgICAgICAgICAgIDY0LCAgNCwgNCwgR0xfVU5TSUdORURf
Tk9STUFMSVpFRCwgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIEFkZERY
R0lGb3JtYXQoJm1hcCwgRFhHSV9GT1JNQVRfQkMyX1VOT1JNLCAgICAgICAgICAgICAgICAxMjgs
IDQsIDQsIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIE5VTEwsICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMKTsKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX0JDM19VTk9STSwg
ICAgICAgICAgICAgICAgMTI4LCA0LCA0LCBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBOVUxMLCAg
ICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisKKyAgICAvLyBVc2VmdWwgZm9ybWF0cyBmb3Ig
dmVydGV4IGJ1ZmZlcnMKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IxNl9V
Tk9STSwgICAgICAgICAgICAgICAgMTYsICAxLCAxLCBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBO
VUxMLCAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFw
LCBEWEdJX0ZPUk1BVF9SMTZfU05PUk0sICAgICAgICAgICAgICAgIDE2LCAgMSwgMSwgR0xfU0lH
TkVEX05PUk1BTElaRUQsICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAg
IEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9GT1JNQVRfUjE2RzE2X1VOT1JNLCAgICAgICAgICAg
ICAzMiwgIDEsIDEsIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIE5VTEwsICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMKTsKKyAgICBBZGREWEdJRm9ybWF0KCZtYXAsIERYR0lfRk9STUFUX1IxNkcx
Nl9TTk9STSwgICAgICAgICAgICAgMzIsICAxLCAxLCBHTF9TSUdORURfTk9STUFMSVpFRCwgICBO
VUxMLCAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgQWRkRFhHSUZvcm1hdCgmbWFw
LCBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfVU5PUk0sICAgICAgIDY0LCAgMSwgMSwgR0xfVU5T
SUdORURfTk9STUFMSVpFRCwgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAg
IEFkZERYR0lGb3JtYXQoJm1hcCwgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1NOT1JNLCAgICAg
ICA2NCwgIDEsIDEsIEdMX1NJR05FRF9OT1JNQUxJWkVELCAgIE5VTEwsICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMKTsKKworICAgIHJldHVybiBtYXA7Cit9CisKK3R5cGVkZWYgc3RkOjptYXA8
RFhHSV9GT1JNQVQsIEdMZW51bT4gRFhHSVRvRVNGb3JtYXRNYXA7CisKK2lubGluZSB2b2lkIEFk
ZERYR0lUb0VTRW50cnkoRFhHSVRvRVNGb3JtYXRNYXAgKm1hcCwgRFhHSV9GT1JNQVQga2V5LCBH
TGVudW0gdmFsdWUpCit7CisgICAgbWFwLT5pbnNlcnQoc3RkOjptYWtlX3BhaXIoa2V5LCB2YWx1
ZSkpOworfQorCitzdGF0aWMgRFhHSVRvRVNGb3JtYXRNYXAgQnVpbGRDb21tb25EWEdJVG9FU0Zv
cm1hdE1hcCgpCit7CisgICAgRFhHSVRvRVNGb3JtYXRNYXAgbWFwOworCisgICAgQWRkRFhHSVRv
RVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9VTktOT1dOLCAgICAgICAgICAgICAgICAgIEdMX05P
TkUpOworCisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9BOF9VTk9STSwg
ICAgICAgICAgICAgICAgIEdMX0FMUEhBOF9FWFQpOworICAgIEFkZERYR0lUb0VTRW50cnkoJm1h
cCwgRFhHSV9GT1JNQVRfUjhfVU5PUk0sICAgICAgICAgICAgICAgICBHTF9SOCk7CisgICAgQWRk
RFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SOEc4X1VOT1JNLCAgICAgICAgICAgICAg
IEdMX1JHOCk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SOEc4QjhB
OF9VTk9STSwgICAgICAgICAgIEdMX1JHQkE4KTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAs
IERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNX1NSR0IsICAgICAgR0xfU1JHQjhfQUxQSEE4KTsK
KyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX0I4RzhSOEE4X1VOT1JNLCAg
ICAgICAgICAgR0xfQkdSQThfRVhUKTsKKworICAgIEFkZERYR0lUb0VTRW50cnkoJm1hcCwgRFhH
SV9GT1JNQVRfUjhfU05PUk0sICAgICAgICAgICAgICAgICBHTF9SOF9TTk9STSk7CisgICAgQWRk
RFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SOEc4X1NOT1JNLCAgICAgICAgICAgICAg
IEdMX1JHOF9TTk9STSk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9S
OEc4QjhBOF9TTk9STSwgICAgICAgICAgIEdMX1JHQkE4X1NOT1JNKTsKKworICAgIEFkZERYR0lU
b0VTRW50cnkoJm1hcCwgRFhHSV9GT1JNQVRfUjhfVUlOVCwgICAgICAgICAgICAgICAgICBHTF9S
OFVJKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IxNl9VSU5ULCAg
ICAgICAgICAgICAgICAgR0xfUjE2VUkpOworICAgIEFkZERYR0lUb0VTRW50cnkoJm1hcCwgRFhH
SV9GT1JNQVRfUjMyX1VJTlQsICAgICAgICAgICAgICAgICBHTF9SMzJVSSk7CisgICAgQWRkRFhH
SVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SOEc4X1VJTlQsICAgICAgICAgICAgICAgIEdM
X1JHOFVJKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IxNkcxNl9V
SU5ULCAgICAgICAgICAgICAgR0xfUkcxNlVJKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAs
IERYR0lfRk9STUFUX1IzMkczMl9VSU5ULCAgICAgICAgICAgICAgR0xfUkczMlVJKTsKKyAgICBB
ZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IzMkczMkIzMl9VSU5ULCAgICAgICAg
ICAgR0xfUkdCMzJVSSk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9S
OEc4QjhBOF9VSU5ULCAgICAgICAgICAgIEdMX1JHQkE4VUkpOworICAgIEFkZERYR0lUb0VTRW50
cnkoJm1hcCwgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1VJTlQsICAgICAgICBHTF9SR0JBMTZV
SSk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJf
VUlOVCwgICAgICAgIEdMX1JHQkEzMlVJKTsKKworICAgIEFkZERYR0lUb0VTRW50cnkoJm1hcCwg
RFhHSV9GT1JNQVRfUjhfU0lOVCwgICAgICAgICAgICAgICAgICBHTF9SOEkpOworICAgIEFkZERY
R0lUb0VTRW50cnkoJm1hcCwgRFhHSV9GT1JNQVRfUjE2X1NJTlQsICAgICAgICAgICAgICAgICBH
TF9SMTZJKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IzMl9TSU5U
LCAgICAgICAgICAgICAgICAgR0xfUjMySSk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBE
WEdJX0ZPUk1BVF9SOEc4X1NJTlQsICAgICAgICAgICAgICAgIEdMX1JHOEkpOworICAgIEFkZERY
R0lUb0VTRW50cnkoJm1hcCwgRFhHSV9GT1JNQVRfUjE2RzE2X1NJTlQsICAgICAgICAgICAgICBH
TF9SRzE2SSk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SMzJHMzJf
U0lOVCwgICAgICAgICAgICAgIEdMX1JHMzJJKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAs
IERYR0lfRk9STUFUX1IzMkczMkIzMl9TSU5ULCAgICAgICAgICAgR0xfUkdCMzJJKTsKKyAgICBB
ZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1I4RzhCOEE4X1NJTlQsICAgICAgICAg
ICAgR0xfUkdCQThJKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1Ix
NkcxNkIxNkExNl9TSU5ULCAgICAgICAgR0xfUkdCQTE2SSk7CisgICAgQWRkRFhHSVRvRVNFbnRy
eSgmbWFwLCBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0lOVCwgICAgICAgIEdMX1JHQkEzMkkp
OworCisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SMTBHMTBCMTBBMl9V
Tk9STSwgICAgICAgIEdMX1JHQjEwX0EyKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERY
R0lfRk9STUFUX1IxMEcxMEIxMEEyX1VJTlQsICAgICAgICAgR0xfUkdCMTBfQTJVSSk7CisKKyAg
ICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IxNl9GTE9BVCwgICAgICAgICAg
ICAgICAgR0xfUjE2Rik7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9S
MTZHMTZfRkxPQVQsICAgICAgICAgICAgIEdMX1JHMTZGKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5
KCZtYXAsIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9GTE9BVCwgICAgICAgR0xfUkdCQTE2Rik7
CisKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IzMl9GTE9BVCwgICAg
ICAgICAgICAgICAgR0xfUjMyRik7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZP
Uk1BVF9SMzJHMzJfRkxPQVQsICAgICAgICAgICAgIEdMX1JHMzJGKTsKKyAgICBBZGREWEdJVG9F
U0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IzMkczMkIzMl9GTE9BVCwgICAgICAgICAgR0xfUkdC
MzJGKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX1IzMkczMkIzMkEz
Ml9GTE9BVCwgICAgICAgR0xfUkdCQTMyRik7CisKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAs
IERYR0lfRk9STUFUX1I5RzlCOUU1X1NIQVJFREVYUCwgICAgICAgR0xfUkdCOV9FNSk7CisgICAg
QWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SMTFHMTFCMTBfRkxPQVQsICAgICAg
ICAgIEdMX1IxMUZfRzExRl9CMTBGKTsKKworICAgIEFkZERYR0lUb0VTRW50cnkoJm1hcCwgRFhH
SV9GT1JNQVRfUjE2X1RZUEVMRVNTLCAgICAgICAgICAgICBHTF9ERVBUSF9DT01QT05FTlQxNik7
CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SMTZfVU5PUk0sICAgICAg
ICAgICAgICAgIEdMX0RFUFRIX0NPTVBPTkVOVDE2KTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZt
YXAsIERYR0lfRk9STUFUX0QxNl9VTk9STSwgICAgICAgICAgICAgICAgR0xfREVQVEhfQ09NUE9O
RU5UMTYpOworICAgIEFkZERYR0lUb0VTRW50cnkoJm1hcCwgRFhHSV9GT1JNQVRfUjI0RzhfVFlQ
RUxFU1MsICAgICAgICAgICBHTF9ERVBUSDI0X1NURU5DSUw4X09FUyk7CisgICAgQWRkRFhHSVRv
RVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SMjRfVU5PUk1fWDhfVFlQRUxFU1MsICAgIEdMX0RF
UFRIMjRfU1RFTkNJTDhfT0VTKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9S
TUFUX0QyNF9VTk9STV9TOF9VSU5ULCAgICAgICAgR0xfREVQVEgyNF9TVEVOQ0lMOF9PRVMpOwor
ICAgIEFkZERYR0lUb0VTRW50cnkoJm1hcCwgRFhHSV9GT1JNQVRfUjMyRzhYMjRfVFlQRUxFU1Ms
ICAgICAgICBHTF9ERVBUSDMyRl9TVEVOQ0lMOCk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFw
LCBEWEdJX0ZPUk1BVF9SMzJfRkxPQVRfWDhYMjRfVFlQRUxFU1MsIEdMX0RFUFRIMzJGX1NURU5D
SUw4KTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX0QzMl9GTE9BVF9T
OFgyNF9VSU5ULCAgICAgR0xfREVQVEgzMkZfU1RFTkNJTDgpOworCisgICAgQWRkRFhHSVRvRVNF
bnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9CQzFfVU5PUk0sICAgICAgICAgICAgICAgIEdMX0NPTVBS
RVNTRURfUkdCQV9TM1RDX0RYVDFfRVhUKTsKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERY
R0lfRk9STUFUX0JDMl9VTk9STSwgICAgICAgICAgICAgICAgR0xfQ09NUFJFU1NFRF9SR0JBX1Mz
VENfRFhUM19BTkdMRSk7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9C
QzNfVU5PUk0sICAgICAgICAgICAgICAgIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfQU5H
TEUpOworCisgICAgcmV0dXJuIG1hcDsKK30KKworc3RhdGljIERYR0lUb0VTRm9ybWF0TWFwIEJ1
aWxkRFhHSVRvRVMyRm9ybWF0TWFwKCkKK3sKKyAgICBEWEdJVG9FU0Zvcm1hdE1hcCBtYXAgPSBC
dWlsZENvbW1vbkRYR0lUb0VTRm9ybWF0TWFwKCk7CisKKyAgICBBZGREWEdJVG9FU0VudHJ5KCZt
YXAsIERYR0lfRk9STUFUX1IzMl9UWVBFTEVTUywgR0xfREVQVEhfQ09NUE9ORU5UMzJfT0VTKTsK
KyAgICBBZGREWEdJVG9FU0VudHJ5KCZtYXAsIERYR0lfRk9STUFUX0QzMl9GTE9BVCwgICAgR0xf
REVQVEhfQ09NUE9ORU5UMzJfT0VTKTsKKworICAgIHJldHVybiBtYXA7Cit9CisKK3N0YXRpYyBE
WEdJVG9FU0Zvcm1hdE1hcCBCdWlsZERYR0lUb0VTM0Zvcm1hdE1hcCgpCit7CisgICAgRFhHSVRv
RVNGb3JtYXRNYXAgbWFwID0gQnVpbGRDb21tb25EWEdJVG9FU0Zvcm1hdE1hcCgpOworCisgICAg
QWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9SMzJfVFlQRUxFU1MsIEdMX0RFUFRI
X0NPTVBPTkVOVDMyRik7CisgICAgQWRkRFhHSVRvRVNFbnRyeSgmbWFwLCBEWEdJX0ZPUk1BVF9E
MzJfRkxPQVQsICAgIEdMX0RFUFRIX0NPTVBPTkVOVDMyRik7CisKKyAgICByZXR1cm4gbWFwOwor
fQorCitzdGF0aWMgY29uc3QgRFhHSUZvcm1hdEluZm9NYXAgJkdldERYR0lGb3JtYXRJbmZvTWFw
KCkKK3sKKyAgICBzdGF0aWMgY29uc3QgRFhHSUZvcm1hdEluZm9NYXAgaW5mb01hcCA9IEJ1aWxk
RFhHSUZvcm1hdEluZm9NYXAoKTsKKyAgICByZXR1cm4gaW5mb01hcDsKK30KKworc3RhdGljIGJv
b2wgR2V0RFhHSUZvcm1hdEluZm8oRFhHSV9GT1JNQVQgZm9ybWF0LCBEWEdJRm9ybWF0SW5mbyAq
b3V0Rm9ybWF0SW5mbykKK3sKKyAgICBjb25zdCBEWEdJRm9ybWF0SW5mb01hcCAmaW5mb01hcCA9
IEdldERYR0lGb3JtYXRJbmZvTWFwKCk7CisgICAgRFhHSUZvcm1hdEluZm9NYXA6OmNvbnN0X2l0
ZXJhdG9yIGl0ZXIgPSBpbmZvTWFwLmZpbmQoZm9ybWF0KTsKKyAgICBpZiAoaXRlciAhPSBpbmZv
TWFwLmVuZCgpKQorICAgIHsKKyAgICAgICAgaWYgKG91dEZvcm1hdEluZm8pCisgICAgICAgIHsK
KyAgICAgICAgICAgICpvdXRGb3JtYXRJbmZvID0gaXRlci0+c2Vjb25kOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorfQorCitzdGF0aWMgZDNkMTE6OkRYR0lGb3JtYXRTZXQgQnVpbGRB
bGxEWEdJRm9ybWF0U2V0KCkKK3sKKyAgICBkM2QxMTo6RFhHSUZvcm1hdFNldCBzZXQ7CisKKyAg
ICBjb25zdCBEWEdJRm9ybWF0SW5mb01hcCAmaW5mb01hcCA9IEdldERYR0lGb3JtYXRJbmZvTWFw
KCk7CisgICAgZm9yIChEWEdJRm9ybWF0SW5mb01hcDo6Y29uc3RfaXRlcmF0b3IgaSA9IGluZm9N
YXAuYmVnaW4oKTsgaSAhPSBpbmZvTWFwLmVuZCgpOyArK2kpCisgICAgeworICAgICAgICBzZXQu
aW5zZXJ0KGktPmZpcnN0KTsKKyAgICB9CisKKyAgICByZXR1cm4gc2V0OworfQorCitzdHJ1Y3Qg
RDNEMTFGYXN0Q29weUZvcm1hdAoreworICAgIERYR0lfRk9STUFUIG1Tb3VyY2VGb3JtYXQ7Cisg
ICAgR0xlbnVtIG1EZXN0Rm9ybWF0OworICAgIEdMZW51bSBtRGVzdFR5cGU7CisKKyAgICBEM0Qx
MUZhc3RDb3B5Rm9ybWF0KERYR0lfRk9STUFUIHNvdXJjZUZvcm1hdCwgR0xlbnVtIGRlc3RGb3Jt
YXQsIEdMZW51bSBkZXN0VHlwZSkKKyAgICAgICAgOiBtU291cmNlRm9ybWF0KHNvdXJjZUZvcm1h
dCksIG1EZXN0Rm9ybWF0KGRlc3RGb3JtYXQpLCBtRGVzdFR5cGUoZGVzdFR5cGUpCisgICAgeyB9
CisKKyAgICBib29sIG9wZXJhdG9yPChjb25zdCBEM0QxMUZhc3RDb3B5Rm9ybWF0JiBvdGhlcikg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtZW1jbXAodGhpcywgJm90aGVyLCBzaXplb2Yo
RDNEMTFGYXN0Q29weUZvcm1hdCkpIDwgMDsKKyAgICB9Cit9OworCit0eXBlZGVmIHN0ZDo6bWFw
PEQzRDExRmFzdENvcHlGb3JtYXQsIENvbG9yQ29weUZ1bmN0aW9uPiBEM0QxMUZhc3RDb3B5TWFw
OwordHlwZWRlZiBzdGQ6OnBhaXI8RDNEMTFGYXN0Q29weUZvcm1hdCwgQ29sb3JDb3B5RnVuY3Rp
b24+IEQzRDExRmFzdENvcHlQYWlyOworCitzdGF0aWMgRDNEMTFGYXN0Q29weU1hcCBCdWlsZEZh
c3RDb3B5TWFwKCkKK3sKKyAgICBEM0QxMUZhc3RDb3B5TWFwIG1hcDsKKworICAgIG1hcC5pbnNl
cnQoRDNEMTFGYXN0Q29weVBhaXIoRDNEMTFGYXN0Q29weUZvcm1hdChEWEdJX0ZPUk1BVF9COEc4
UjhBOF9VTk9STSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSksIENvcHlCR1JBVUJ5dGVUb1JH
QkFVQnl0ZSkpOworCisgICAgcmV0dXJuIG1hcDsKK30KKworc3RydWN0IERYR0lEZXB0aFN0ZW5j
aWxJbmZvCit7CisgICAgdW5zaWduZWQgaW50IG1EZXB0aEJpdHM7CisgICAgdW5zaWduZWQgaW50
IG1EZXB0aE9mZnNldDsKKyAgICB1bnNpZ25lZCBpbnQgbVN0ZW5jaWxCaXRzOworICAgIHVuc2ln
bmVkIGludCBtU3RlbmNpbE9mZnNldDsKKworICAgIERYR0lEZXB0aFN0ZW5jaWxJbmZvKCkKKyAg
ICAgICAgOiBtRGVwdGhCaXRzKDApLCBtRGVwdGhPZmZzZXQoMCksIG1TdGVuY2lsQml0cygwKSwg
bVN0ZW5jaWxPZmZzZXQoMCkKKyAgICB7IH0KKworICAgIERYR0lEZXB0aFN0ZW5jaWxJbmZvKHVu
c2lnbmVkIGludCBkZXB0aEJpdHMsIHVuc2lnbmVkIGludCBkZXB0aE9mZnNldCwgdW5zaWduZWQg
aW50IHN0ZW5jaWxCaXRzLCB1bnNpZ25lZCBpbnQgc3RlbmNpbE9mZnNldCkKKyAgICAgICAgOiBt
RGVwdGhCaXRzKGRlcHRoQml0cyksIG1EZXB0aE9mZnNldChkZXB0aE9mZnNldCksIG1TdGVuY2ls
Qml0cyhzdGVuY2lsQml0cyksIG1TdGVuY2lsT2Zmc2V0KHN0ZW5jaWxPZmZzZXQpCisgICAgeyB9
Cit9OworCit0eXBlZGVmIHN0ZDo6bWFwPERYR0lfRk9STUFULCBEWEdJRGVwdGhTdGVuY2lsSW5m
bz4gRGVwdGhTdGVuY2lsSW5mb01hcDsKK3R5cGVkZWYgc3RkOjpwYWlyPERYR0lfRk9STUFULCBE
WEdJRGVwdGhTdGVuY2lsSW5mbz4gRGVwdGhTdGVuY2lsSW5mb1BhaXI7CisKK3N0YXRpYyBEZXB0
aFN0ZW5jaWxJbmZvTWFwIEJ1aWxkRGVwdGhTdGVuY2lsSW5mb01hcCgpCit7CisgICAgRGVwdGhT
dGVuY2lsSW5mb01hcCBtYXA7CisKKyAgICBtYXAuaW5zZXJ0KERlcHRoU3RlbmNpbEluZm9QYWly
KERYR0lfRk9STUFUX1IxNl9UWVBFTEVTUywgICAgICAgICAgICAgRFhHSURlcHRoU3RlbmNpbElu
Zm8oMTYsIDAsIDAsICAwKSkpOworICAgIG1hcC5pbnNlcnQoRGVwdGhTdGVuY2lsSW5mb1BhaXIo
RFhHSV9GT1JNQVRfUjE2X1VOT1JNLCAgICAgICAgICAgICAgICBEWEdJRGVwdGhTdGVuY2lsSW5m
bygxNiwgMCwgMCwgIDApKSk7CisgICAgbWFwLmluc2VydChEZXB0aFN0ZW5jaWxJbmZvUGFpcihE
WEdJX0ZPUk1BVF9EMTZfVU5PUk0sICAgICAgICAgICAgICAgIERYR0lEZXB0aFN0ZW5jaWxJbmZv
KDE2LCAwLCAwLCAgMCkpKTsKKworICAgIG1hcC5pbnNlcnQoRGVwdGhTdGVuY2lsSW5mb1BhaXIo
RFhHSV9GT1JNQVRfUjI0RzhfVFlQRUxFU1MsICAgICAgICAgICBEWEdJRGVwdGhTdGVuY2lsSW5m
bygyNCwgMCwgOCwgMjQpKSk7CisgICAgbWFwLmluc2VydChEZXB0aFN0ZW5jaWxJbmZvUGFpcihE
WEdJX0ZPUk1BVF9SMjRfVU5PUk1fWDhfVFlQRUxFU1MsICAgIERYR0lEZXB0aFN0ZW5jaWxJbmZv
KDI0LCAwLCA4LCAyNCkpKTsKKyAgICBtYXAuaW5zZXJ0KERlcHRoU3RlbmNpbEluZm9QYWlyKERY
R0lfRk9STUFUX0QyNF9VTk9STV9TOF9VSU5ULCAgICAgICAgRFhHSURlcHRoU3RlbmNpbEluZm8o
MjQsIDAsIDgsIDI0KSkpOworCisgICAgbWFwLmluc2VydChEZXB0aFN0ZW5jaWxJbmZvUGFpcihE
WEdJX0ZPUk1BVF9SMzJfVFlQRUxFU1MsICAgICAgICAgICAgIERYR0lEZXB0aFN0ZW5jaWxJbmZv
KDMyLCAwLCAwLCAgMCkpKTsKKyAgICBtYXAuaW5zZXJ0KERlcHRoU3RlbmNpbEluZm9QYWlyKERY
R0lfRk9STUFUX1IzMl9GTE9BVCwgICAgICAgICAgICAgICAgRFhHSURlcHRoU3RlbmNpbEluZm8o
MzIsIDAsIDAsICAwKSkpOworICAgIG1hcC5pbnNlcnQoRGVwdGhTdGVuY2lsSW5mb1BhaXIoRFhH
SV9GT1JNQVRfRDMyX0ZMT0FULCAgICAgICAgICAgICAgICBEWEdJRGVwdGhTdGVuY2lsSW5mbygz
MiwgMCwgMCwgIDApKSk7CisKKyAgICBtYXAuaW5zZXJ0KERlcHRoU3RlbmNpbEluZm9QYWlyKERY
R0lfRk9STUFUX1IzMkc4WDI0X1RZUEVMRVNTLCAgICAgICAgRFhHSURlcHRoU3RlbmNpbEluZm8o
MzIsIDAsIDgsIDMyKSkpOworICAgIG1hcC5pbnNlcnQoRGVwdGhTdGVuY2lsSW5mb1BhaXIoRFhH
SV9GT1JNQVRfUjMyX0ZMT0FUX1g4WDI0X1RZUEVMRVNTLCBEWEdJRGVwdGhTdGVuY2lsSW5mbygz
MiwgMCwgOCwgMzIpKSk7CisgICAgbWFwLmluc2VydChEZXB0aFN0ZW5jaWxJbmZvUGFpcihEWEdJ
X0ZPUk1BVF9EMzJfRkxPQVRfUzhYMjRfVUlOVCwgICAgIERYR0lEZXB0aFN0ZW5jaWxJbmZvKDMy
LCAwLCA4LCAzMikpKTsKKworICAgIHJldHVybiBtYXA7Cit9CisKK3N0YXRpYyBjb25zdCBEZXB0
aFN0ZW5jaWxJbmZvTWFwICZHZXREZXB0aFN0ZW5jaWxJbmZvTWFwKCkKK3sKKyAgICBzdGF0aWMg
Y29uc3QgRGVwdGhTdGVuY2lsSW5mb01hcCBpbmZvTWFwID0gQnVpbGREZXB0aFN0ZW5jaWxJbmZv
TWFwKCk7CisgICAgcmV0dXJuIGluZm9NYXA7Cit9CisKK2Jvb2wgR2V0RGVwdGhTdGVuY2lsSW5m
byhEWEdJX0ZPUk1BVCBmb3JtYXQsIERYR0lEZXB0aFN0ZW5jaWxJbmZvICpvdXREZXB0aFN0ZW5j
aWxJbmZvKQoreworICAgIGNvbnN0IERlcHRoU3RlbmNpbEluZm9NYXAmIGluZm9NYXAgPSBHZXRE
ZXB0aFN0ZW5jaWxJbmZvTWFwKCk7CisgICAgRGVwdGhTdGVuY2lsSW5mb01hcDo6Y29uc3RfaXRl
cmF0b3IgaXRlciA9IGluZm9NYXAuZmluZChmb3JtYXQpOworICAgIGlmIChpdGVyICE9IGluZm9N
YXAuZW5kKCkpCisgICAgeworICAgICAgICBpZiAob3V0RGVwdGhTdGVuY2lsSW5mbykKKyAgICAg
ICAgeworICAgICAgICAgICAgKm91dERlcHRoU3RlbmNpbEluZm8gPSBpdGVyLT5zZWNvbmQ7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGVsc2UKKyAgICB7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK3N0cnVjdCBTd2l6emxlU2l6ZVR5cGUK
K3sKKyAgICB1bnNpZ25lZCBpbnQgbU1heENvbXBvbmVudFNpemU7CisgICAgR0xlbnVtIG1Db21w
b25lbnRUeXBlOworCisgICAgU3dpenpsZVNpemVUeXBlKCkKKyAgICAgICAgOiBtTWF4Q29tcG9u
ZW50U2l6ZSgwKSwgbUNvbXBvbmVudFR5cGUoR0xfTk9ORSkKKyAgICB7IH0KKworICAgIFN3aXp6
bGVTaXplVHlwZSh1bnNpZ25lZCBpbnQgbWF4Q29tcG9uZW50U2l6ZSwgR0xlbnVtIGNvbXBvbmVu
dFR5cGUpCisgICAgICAgIDogbU1heENvbXBvbmVudFNpemUobWF4Q29tcG9uZW50U2l6ZSksIG1D
b21wb25lbnRUeXBlKGNvbXBvbmVudFR5cGUpCisgICAgeyB9CisKKyAgICBib29sIG9wZXJhdG9y
PChjb25zdCBTd2l6emxlU2l6ZVR5cGUmIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIChtTWF4Q29tcG9uZW50U2l6ZSAhPSBvdGhlci5tTWF4Q29tcG9uZW50U2l6ZSkgPyAobU1h
eENvbXBvbmVudFNpemUgPCBvdGhlci5tTWF4Q29tcG9uZW50U2l6ZSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAobUNvbXBv
bmVudFR5cGUgPCBvdGhlci5tQ29tcG9uZW50VHlwZSk7CisgICAgfQorfTsKKworc3RydWN0IFN3
aXp6bGVGb3JtYXRJbmZvCit7CisgICAgRFhHSV9GT1JNQVQgbVRleEZvcm1hdDsKKyAgICBEWEdJ
X0ZPUk1BVCBtU1JWRm9ybWF0OworICAgIERYR0lfRk9STUFUIG1SVFZGb3JtYXQ7CisKKyAgICBT
d2l6emxlRm9ybWF0SW5mbygpCisgICAgICAgIDogbVRleEZvcm1hdChEWEdJX0ZPUk1BVF9VTktO
T1dOKSwgbVNSVkZvcm1hdChEWEdJX0ZPUk1BVF9VTktOT1dOKSwgbVJUVkZvcm1hdChEWEdJX0ZP
Uk1BVF9VTktOT1dOKQorICAgIHsgfQorCisgICAgU3dpenpsZUZvcm1hdEluZm8oRFhHSV9GT1JN
QVQgdGV4Rm9ybWF0LCBEWEdJX0ZPUk1BVCBzcnZGb3JtYXQsIERYR0lfRk9STUFUIHJ0dkZvcm1h
dCkKKyAgICAgICAgOiBtVGV4Rm9ybWF0KHRleEZvcm1hdCksIG1TUlZGb3JtYXQoc3J2Rm9ybWF0
KSwgbVJUVkZvcm1hdChydHZGb3JtYXQpCisgICAgeyB9Cit9OworCit0eXBlZGVmIHN0ZDo6bWFw
PFN3aXp6bGVTaXplVHlwZSwgU3dpenpsZUZvcm1hdEluZm8+IFN3aXp6bGVJbmZvTWFwOwordHlw
ZWRlZiBzdGQ6OnBhaXI8U3dpenpsZVNpemVUeXBlLCBTd2l6emxlRm9ybWF0SW5mbz4gU3dpenps
ZUluZm9QYWlyOworCitzdGF0aWMgU3dpenpsZUluZm9NYXAgQnVpbGRTd2l6emxlSW5mb01hcCgp
Cit7CisgICAgU3dpenpsZUluZm9NYXAgbWFwOworCisgICAgbWFwLmluc2VydChTd2l6emxlSW5m
b1BhaXIoU3dpenpsZVNpemVUeXBlKCA4LCBHTF9VTlNJR05FRF9OT1JNQUxJWkVEKSwgU3dpenps
ZUZvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjhHOEI4QThfVU5PUk0sICAgICBEWEdJX0ZPUk1BVF9S
OEc4QjhBOF9VTk9STSwgICAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1VOT1JNICAgICkpKTsKKyAg
ICBtYXAuaW5zZXJ0KFN3aXp6bGVJbmZvUGFpcihTd2l6emxlU2l6ZVR5cGUoMTYsIEdMX1VOU0lH
TkVEX05PUk1BTElaRUQpLCBTd2l6emxlRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMTZHMTZCMTZB
MTZfVU5PUk0sIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9VTk9STSwgRFhHSV9GT1JNQVRfUjE2
RzE2QjE2QTE2X1VOT1JNKSkpOworICAgIG1hcC5pbnNlcnQoU3dpenpsZUluZm9QYWlyKFN3aXp6
bGVTaXplVHlwZSgyNCwgR0xfVU5TSUdORURfTk9STUFMSVpFRCksIFN3aXp6bGVGb3JtYXRJbmZv
KERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMy
X0ZMT0FULCBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQpKSk7CisgICAgbWFwLmluc2Vy
dChTd2l6emxlSW5mb1BhaXIoU3dpenpsZVNpemVUeXBlKDMyLCBHTF9VTlNJR05FRF9OT1JNQUxJ
WkVEKSwgU3dpenpsZUZvcm1hdEluZm8oRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZMT0FULCBE
WEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQsIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9G
TE9BVCkpKTsKKworICAgIG1hcC5pbnNlcnQoU3dpenpsZUluZm9QYWlyKFN3aXp6bGVTaXplVHlw
ZSggOCwgR0xfU0lHTkVEX05PUk1BTElaRUQgICksIFN3aXp6bGVGb3JtYXRJbmZvKERYR0lfRk9S
TUFUX1I4RzhCOEE4X1NOT1JNLCAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfU05PUk0sICAgICBE
WEdJX0ZPUk1BVF9SOEc4QjhBOF9TTk9STSAgICApKSk7CisKKyAgICBtYXAuaW5zZXJ0KFN3aXp6
bGVJbmZvUGFpcihTd2l6emxlU2l6ZVR5cGUoMTYsIEdMX0ZMT0FUICAgICAgICAgICAgICApLCBT
d2l6emxlRm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfRkxPQVQsIERYR0lfRk9S
TUFUX1IxNkcxNkIxNkExNl9GTE9BVCwgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X0ZMT0FUKSkp
OworICAgIG1hcC5pbnNlcnQoU3dpenpsZUluZm9QYWlyKFN3aXp6bGVTaXplVHlwZSgzMiwgR0xf
RkxPQVQgICAgICAgICAgICAgICksIFN3aXp6bGVGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IzMkcz
MkIzMkEzMl9GTE9BVCwgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZMT0FULCBEWEdJX0ZPUk1B
VF9SMzJHMzJCMzJBMzJfRkxPQVQpKSk7CisKKyAgICBtYXAuaW5zZXJ0KFN3aXp6bGVJbmZvUGFp
cihTd2l6emxlU2l6ZVR5cGUoIDgsIEdMX1VOU0lHTkVEX0lOVCAgICAgICApLCBTd2l6emxlRm9y
bWF0SW5mbyhEWEdJX0ZPUk1BVF9SOEc4QjhBOF9VSU5ULCAgICAgIERYR0lfRk9STUFUX1I4RzhC
OEE4X1VJTlQsICAgICAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVUlOVCAgICAgKSkpOworICAgIG1h
cC5pbnNlcnQoU3dpenpsZUluZm9QYWlyKFN3aXp6bGVTaXplVHlwZSgxNiwgR0xfVU5TSUdORURf
SU5UICAgICAgICksIFN3aXp6bGVGb3JtYXRJbmZvKERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9V
SU5ULCAgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1VJTlQsICBEWEdJX0ZPUk1BVF9SMTZHMTZC
MTZBMTZfVUlOVCApKSk7CisgICAgbWFwLmluc2VydChTd2l6emxlSW5mb1BhaXIoU3dpenpsZVNp
emVUeXBlKDMyLCBHTF9VTlNJR05FRF9JTlQgICAgICAgKSwgU3dpenpsZUZvcm1hdEluZm8oRFhH
SV9GT1JNQVRfUjMyRzMyQjMyQTMyX1VJTlQsICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfVUlO
VCwgIERYR0lfRk9STUFUX1IzMkczMkIzMkEzMl9VSU5UICkpKTsKKworICAgIG1hcC5pbnNlcnQo
U3dpenpsZUluZm9QYWlyKFN3aXp6bGVTaXplVHlwZSggOCwgR0xfSU5UICAgICAgICAgICAgICAg
ICksIFN3aXp6bGVGb3JtYXRJbmZvKERYR0lfRk9STUFUX1I4RzhCOEE4X1NJTlQsICAgICAgRFhH
SV9GT1JNQVRfUjhHOEI4QThfU0lOVCwgICAgICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9TSU5UICAg
ICApKSk7CisgICAgbWFwLmluc2VydChTd2l6emxlSW5mb1BhaXIoU3dpenpsZVNpemVUeXBlKDE2
LCBHTF9JTlQgICAgICAgICAgICAgICAgKSwgU3dpenpsZUZvcm1hdEluZm8oRFhHSV9GT1JNQVRf
UjE2RzE2QjE2QTE2X1NJTlQsICBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfU0lOVCwgIERYR0lf
Rk9STUFUX1IxNkcxNkIxNkExNl9TSU5UICkpKTsKKyAgICBtYXAuaW5zZXJ0KFN3aXp6bGVJbmZv
UGFpcihTd2l6emxlU2l6ZVR5cGUoMzIsIEdMX0lOVCAgICAgICAgICAgICAgICApLCBTd2l6emxl
Rm9ybWF0SW5mbyhEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0lOVCwgIERYR0lfRk9STUFUX1Iz
MkczMkIzMkEzMl9TSU5ULCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX1NJTlQgKSkpOworCisg
ICAgcmV0dXJuIG1hcDsKK30KK3R5cGVkZWYgc3RkOjpwYWlyPEdMaW50LCBJbml0aWFsaXplVGV4
dHVyZURhdGFGdW5jdGlvbj4gSW50ZXJuYWxGb3JtYXRJbml0aWFsaXplclBhaXI7Cit0eXBlZGVm
IHN0ZDo6bWFwPEdMaW50LCBJbml0aWFsaXplVGV4dHVyZURhdGFGdW5jdGlvbj4gSW50ZXJuYWxG
b3JtYXRJbml0aWFsaXplck1hcDsKKworc3RhdGljIEludGVybmFsRm9ybWF0SW5pdGlhbGl6ZXJN
YXAgQnVpbGRJbnRlcm5hbEZvcm1hdEluaXRpYWxpemVyTWFwKCkKK3sKKyAgICBJbnRlcm5hbEZv
cm1hdEluaXRpYWxpemVyTWFwIG1hcDsKKworICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJ
bml0aWFsaXplclBhaXIoR0xfUkdCOCwgICAgaW5pdGlhbGl6ZTRDb21wb25lbnREYXRhPEdMdWJ5
dGUsICAweDAwLCAgICAgICAweDAwLCAgICAgICAweDAwLCAgICAgICAweEZGPiAgICAgICAgICAp
KTsKKyAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5pdGlhbGl6ZXJQYWlyKEdMX1JHQjU2
NSwgIGluaXRpYWxpemU0Q29tcG9uZW50RGF0YTxHTHVieXRlLCAgMHgwMCwgICAgICAgMHgwMCwg
ICAgICAgMHgwMCwgICAgICAgMHhGRj4gICAgICAgICAgKSk7CisgICAgbWFwLmluc2VydChJbnRl
cm5hbEZvcm1hdEluaXRpYWxpemVyUGFpcihHTF9TUkdCOCwgICBpbml0aWFsaXplNENvbXBvbmVu
dERhdGE8R0x1Ynl0ZSwgIDB4MDAsICAgICAgIDB4MDAsICAgICAgIDB4MDAsICAgICAgIDB4RkY+
ICAgICAgICAgICkpOworICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbml0aWFsaXplclBh
aXIoR0xfUkdCMTZGLCAgaW5pdGlhbGl6ZTRDb21wb25lbnREYXRhPEdMaGFsZiwgICAweDAwMDAs
ICAgICAweDAwMDAsICAgICAweDAwMDAsICAgICBnbDo6RmxvYXQxNk9uZT4pKTsKKyAgICBtYXAu
aW5zZXJ0KEludGVybmFsRm9ybWF0SW5pdGlhbGl6ZXJQYWlyKEdMX1JHQjMyRiwgIGluaXRpYWxp
emU0Q29tcG9uZW50RGF0YTxHTGZsb2F0LCAgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAw
MDAwMCwgZ2w6OkZsb2F0MzJPbmU+KSk7CisgICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdElu
aXRpYWxpemVyUGFpcihHTF9SR0I4VUksICBpbml0aWFsaXplNENvbXBvbmVudERhdGE8R0x1Ynl0
ZSwgIDB4MDAsICAgICAgIDB4MDAsICAgICAgIDB4MDAsICAgICAgIDB4MDE+ICAgICAgICAgICkp
OworICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbml0aWFsaXplclBhaXIoR0xfUkdCOEks
ICAgaW5pdGlhbGl6ZTRDb21wb25lbnREYXRhPEdMYnl0ZSwgICAweDAwLCAgICAgICAweDAwLCAg
ICAgICAweDAwLCAgICAgICAweDAxPiAgICAgICAgICApKTsKKyAgICBtYXAuaW5zZXJ0KEludGVy
bmFsRm9ybWF0SW5pdGlhbGl6ZXJQYWlyKEdMX1JHQjE2VUksIGluaXRpYWxpemU0Q29tcG9uZW50
RGF0YTxHTHVzaG9ydCwgMHgwMDAwLCAgICAgMHgwMDAwLCAgICAgMHgwMDAwLCAgICAgMHgwMDAx
PiAgICAgICAgKSk7CisgICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluaXRpYWxpemVyUGFp
cihHTF9SR0IxNkksICBpbml0aWFsaXplNENvbXBvbmVudERhdGE8R0xzaG9ydCwgIDB4MDAwMCwg
ICAgIDB4MDAwMCwgICAgIDB4MDAwMCwgICAgIDB4MDAwMT4gICAgICAgICkpOworICAgIG1hcC5p
bnNlcnQoSW50ZXJuYWxGb3JtYXRJbml0aWFsaXplclBhaXIoR0xfUkdCMzJVSSwgaW5pdGlhbGl6
ZTRDb21wb25lbnREYXRhPEdMdWludCwgICAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAw
MDAwLCAweDAwMDAwMDAxPiAgICApKTsKKyAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5p
dGlhbGl6ZXJQYWlyKEdMX1JHQjMySSwgIGluaXRpYWxpemU0Q29tcG9uZW50RGF0YTxHTGludCwg
ICAgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMT4gICAgKSk7
CisKKyAgICByZXR1cm4gbWFwOworfQorCitzdGF0aWMgY29uc3QgU3dpenpsZUluZm9NYXAgJkdl
dFN3aXp6bGVJbmZvTWFwKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgU3dpenpsZUluZm9NYXAgbWFw
ID0gQnVpbGRTd2l6emxlSW5mb01hcCgpOworICAgIHJldHVybiBtYXA7Cit9CisKK3N0YXRpYyBj
b25zdCBTd2l6emxlRm9ybWF0SW5mbyBHZXRTd2l6emxlRm9ybWF0SW5mbyhHTGludCBpbnRlcm5h
bEZvcm1hdCwgR0x1aW50IGNsaWVudFZlcnNpb24pCit7CisgICAgLy8gR2V0IHRoZSBtYXhpbXVt
IHNpemVkIGNvbXBvbmVudAorICAgIHVuc2lnbmVkIGludCBtYXhCaXRzID0gMTsKKworICAgIGlm
IChnbDo6SXNGb3JtYXRDb21wcmVzc2VkKGludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKSkK
KyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBjb21wcmVzc2VkQml0c1BlckJsb2NrID0gZ2w6
OkdldFBpeGVsQnl0ZXMoaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pICogODsKKyAgICAg
ICAgdW5zaWduZWQgaW50IGJsb2NrU2l6ZSA9IGdsOjpHZXRDb21wcmVzc2VkQmxvY2tXaWR0aChp
bnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lvbikgKgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2w6OkdldENvbXByZXNzZWRCbG9ja0hlaWdodChpbnRlcm5hbEZvcm1hdCwgY2xp
ZW50VmVyc2lvbik7CisgICAgICAgIG1heEJpdHMgPSBzdGQ6Om1heChjb21wcmVzc2VkQml0c1Bl
ckJsb2NrIC8gYmxvY2tTaXplLCBtYXhCaXRzKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAg
ICAgICAgbWF4Qml0cyA9IHN0ZDo6bWF4KG1heEJpdHMsIGdsOjpHZXRBbHBoYUJpdHMoICAgIGlu
dGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKSk7CisgICAgICAgIG1heEJpdHMgPSBzdGQ6Om1h
eChtYXhCaXRzLCBnbDo6R2V0UmVkQml0cyggICAgICBpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVy
c2lvbikpOworICAgICAgICBtYXhCaXRzID0gc3RkOjptYXgobWF4Qml0cywgZ2w6OkdldEdyZWVu
Qml0cyggICAgaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pKTsKKyAgICAgICAgbWF4Qml0
cyA9IHN0ZDo6bWF4KG1heEJpdHMsIGdsOjpHZXRCbHVlQml0cyggICAgIGludGVybmFsRm9ybWF0
LCBjbGllbnRWZXJzaW9uKSk7CisgICAgICAgIG1heEJpdHMgPSBzdGQ6Om1heChtYXhCaXRzLCBn
bDo6R2V0THVtaW5hbmNlQml0cyhpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lvbikpOworICAg
ICAgICBtYXhCaXRzID0gc3RkOjptYXgobWF4Qml0cywgZ2w6OkdldERlcHRoQml0cyggICAgaW50
ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pKTsKKyAgICB9CisKKyAgICBtYXhCaXRzID0gcm91
bmRVcChtYXhCaXRzLCA4VSk7CisKKyAgICBHTGVudW0gY29tcG9uZW50VHlwZSA9IGdsOjpHZXRD
b21wb25lbnRUeXBlKGludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKTsKKworICAgIGNvbnN0
IFN3aXp6bGVJbmZvTWFwICZtYXAgPSBHZXRTd2l6emxlSW5mb01hcCgpOworICAgIFN3aXp6bGVJ
bmZvTWFwOjpjb25zdF9pdGVyYXRvciBpdGVyID0gbWFwLmZpbmQoU3dpenpsZVNpemVUeXBlKG1h
eEJpdHMsIGNvbXBvbmVudFR5cGUpKTsKKworICAgIGlmIChpdGVyICE9IG1hcC5lbmQoKSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBpdGVyLT5zZWNvbmQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7
CisgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgIHN0YXRpYyBjb25zdCBTd2l6emxlRm9y
bWF0SW5mbyBkZWZhdWx0Rm9ybWF0SW5mbzsKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRGb3JtYXRJ
bmZvOworICAgIH0KK30KKworc3RhdGljIGNvbnN0IEludGVybmFsRm9ybWF0SW5pdGlhbGl6ZXJN
YXAgJkdldEludGVybmFsRm9ybWF0SW5pdGlhbGl6ZXJNYXAoKQoreworICAgIHN0YXRpYyBjb25z
dCBJbnRlcm5hbEZvcm1hdEluaXRpYWxpemVyTWFwIG1hcCA9IEJ1aWxkSW50ZXJuYWxGb3JtYXRJ
bml0aWFsaXplck1hcCgpOworICAgIHJldHVybiBtYXA7Cit9CisKK25hbWVzcGFjZSBkM2QxMQor
eworCitNaXBHZW5lcmF0aW9uRnVuY3Rpb24gR2V0TWlwR2VuZXJhdGlvbkZ1bmN0aW9uKERYR0lf
Rk9STUFUIGZvcm1hdCkKK3sKKyAgICBEWEdJRm9ybWF0SW5mbyBmb3JtYXRJbmZvOworICAgIGlm
IChHZXREWEdJRm9ybWF0SW5mbyhmb3JtYXQsICZmb3JtYXRJbmZvKSkKKyAgICB7CisgICAgICAg
IHJldHVybiBmb3JtYXRJbmZvLm1NaXBHZW5lcmF0aW9uRnVuY3Rpb247CisgICAgfQorICAgIGVs
c2UKKyAgICB7CisgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiBOVUxMOwor
ICAgIH0KK30KKworTG9hZEltYWdlRnVuY3Rpb24gR2V0SW1hZ2VMb2FkRnVuY3Rpb24oR0xlbnVt
IGludGVybmFsRm9ybWF0LCBHTGVudW0gdHlwZSwgR0x1aW50IGNsaWVudFZlcnNpb24pCit7Cisg
ICAgaWYgKGNsaWVudFZlcnNpb24gPT0gMikKKyAgICB7CisgICAgICAgIEQzRDExRVMyRm9ybWF0
SW5mbyBkM2QxMUZvcm1hdEluZm87CisgICAgICAgIGlmIChHZXREM0QxMUVTMkZvcm1hdEluZm8o
aW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24sICZkM2QxMUZvcm1hdEluZm8pKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gZDNkMTFGb3JtYXRJbmZvLm1Mb2FkSW1hZ2VGdW5jdGlv
bjsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIFVOUkVB
Q0hBQkxFKCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAg
ICBlbHNlIGlmIChjbGllbnRWZXJzaW9uID09IDMpCisgICAgeworICAgICAgICBzdGF0aWMgY29u
c3QgRDNEMTFMb2FkRnVuY3Rpb25NYXAgbG9hZEltYWdlTWFwID0gYnVpbGREM0QxMUxvYWRGdW5j
dGlvbk1hcCgpOworICAgICAgICBEM0QxMUxvYWRGdW5jdGlvbk1hcDo6Y29uc3RfaXRlcmF0b3Ig
aXRlciA9IGxvYWRJbWFnZU1hcC5maW5kKEludGVybmFsRm9ybWF0VHlwZVBhaXIoaW50ZXJuYWxG
b3JtYXQsIHR5cGUpKTsKKyAgICAgICAgaWYgKGl0ZXIgIT0gbG9hZEltYWdlTWFwLmVuZCgpKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaXRlci0+c2Vjb25kOworICAgICAgICB9Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAg
ICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7Cisg
ICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KK30KKwor
R0x1aW50IEdldEZvcm1hdFBpeGVsQnl0ZXMoRFhHSV9GT1JNQVQgZm9ybWF0KQoreworICAgIERY
R0lGb3JtYXRJbmZvIGR4Z2lGb3JtYXRJbmZvOworICAgIGlmIChHZXREWEdJRm9ybWF0SW5mbyhm
b3JtYXQsICZkeGdpRm9ybWF0SW5mbykpCisgICAgeworICAgICAgICByZXR1cm4gZHhnaUZvcm1h
dEluZm8ubVBpeGVsQml0cyAvIDg7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIFVO
UkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKworR0x1aW50IEdldEJs
b2NrV2lkdGgoRFhHSV9GT1JNQVQgZm9ybWF0KQoreworICAgIERYR0lGb3JtYXRJbmZvIGR4Z2lG
b3JtYXRJbmZvOworICAgIGlmIChHZXREWEdJRm9ybWF0SW5mbyhmb3JtYXQsICZkeGdpRm9ybWF0
SW5mbykpCisgICAgeworICAgICAgICByZXR1cm4gZHhnaUZvcm1hdEluZm8ubUJsb2NrV2lkdGg7
CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KK30KKworR0x1aW50IEdldEJsb2NrSGVpZ2h0KERYR0lfRk9STUFU
IGZvcm1hdCkKK3sKKyAgICBEWEdJRm9ybWF0SW5mbyBkeGdpRm9ybWF0SW5mbzsKKyAgICBpZiAo
R2V0RFhHSUZvcm1hdEluZm8oZm9ybWF0LCAmZHhnaUZvcm1hdEluZm8pKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGR4Z2lGb3JtYXRJbmZvLm1CbG9ja0hlaWdodDsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQor
fQorCitHTGVudW0gR2V0Q29tcG9uZW50VHlwZShEWEdJX0ZPUk1BVCBmb3JtYXQpCit7CisgICAg
RFhHSUZvcm1hdEluZm8gZHhnaUZvcm1hdEluZm87CisgICAgaWYgKEdldERYR0lGb3JtYXRJbmZv
KGZvcm1hdCwgJmR4Z2lGb3JtYXRJbmZvKSkKKyAgICB7CisgICAgICAgIHJldHVybiBkeGdpRm9y
bWF0SW5mby5tQ29tcG9uZW50VHlwZTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAg
VU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIEdMX05PTkU7CisgICAgfQorfQorCitHTHVp
bnQgR2V0RGVwdGhCaXRzKERYR0lfRk9STUFUIGZvcm1hdCkKK3sKKyAgICBEWEdJRGVwdGhTdGVu
Y2lsSW5mbyBkeGdpRFNJbmZvOworICAgIGlmIChHZXREZXB0aFN0ZW5jaWxJbmZvKGZvcm1hdCwg
JmR4Z2lEU0luZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGR4Z2lEU0luZm8ubURlcHRoQml0
czsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLy8gU2luY2UgdGhlIGRlcHRoIHN0
ZW5jaWwgaW5mbyBtYXAgZG9lcyBub3QgY29udGFpbiBhbGwgdXNlZCBEWEdJIGZvcm1hdHMsCisg
ICAgICAgIC8vIHdlIHNob3VsZCBub3QgYXNzZXJ0IHRoYXQgdGhlIGZvcm1hdCBleGlzdHMKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitHTHVpbnQgR2V0RGVwdGhPZmZzZXQoRFhHSV9G
T1JNQVQgZm9ybWF0KQoreworICAgIERYR0lEZXB0aFN0ZW5jaWxJbmZvIGR4Z2lEU0luZm87Cisg
ICAgaWYgKEdldERlcHRoU3RlbmNpbEluZm8oZm9ybWF0LCAmZHhnaURTSW5mbykpCisgICAgewor
ICAgICAgICByZXR1cm4gZHhnaURTSW5mby5tRGVwdGhPZmZzZXQ7CisgICAgfQorICAgIGVsc2UK
KyAgICB7CisgICAgICAgIC8vIFNpbmNlIHRoZSBkZXB0aCBzdGVuY2lsIGluZm8gbWFwIGRvZXMg
bm90IGNvbnRhaW4gYWxsIHVzZWQgRFhHSSBmb3JtYXRzLAorICAgICAgICAvLyB3ZSBzaG91bGQg
bm90IGFzc2VydCB0aGF0IHRoZSBmb3JtYXQgZXhpc3RzCisgICAgICAgIHJldHVybiAwOworICAg
IH0KK30KKworR0x1aW50IEdldFN0ZW5jaWxCaXRzKERYR0lfRk9STUFUIGZvcm1hdCkKK3sKKyAg
ICBEWEdJRGVwdGhTdGVuY2lsSW5mbyBkeGdpRFNJbmZvOworICAgIGlmIChHZXREZXB0aFN0ZW5j
aWxJbmZvKGZvcm1hdCwgJmR4Z2lEU0luZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGR4Z2lE
U0luZm8ubVN0ZW5jaWxCaXRzOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAvLyBT
aW5jZSB0aGUgZGVwdGggc3RlbmNpbCBpbmZvIG1hcCBkb2VzIG5vdCBjb250YWluIGFsbCB1c2Vk
IERYR0kgZm9ybWF0cywKKyAgICAgICAgLy8gd2Ugc2hvdWxkIG5vdCBhc3NlcnQgdGhhdCB0aGUg
Zm9ybWF0IGV4aXN0cworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK0dMdWludCBHZXRT
dGVuY2lsT2Zmc2V0KERYR0lfRk9STUFUIGZvcm1hdCkKK3sKKyAgICBEWEdJRGVwdGhTdGVuY2ls
SW5mbyBkeGdpRFNJbmZvOworICAgIGlmIChHZXREZXB0aFN0ZW5jaWxJbmZvKGZvcm1hdCwgJmR4
Z2lEU0luZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGR4Z2lEU0luZm8ubVN0ZW5jaWxPZmZz
ZXQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8vIFNpbmNlIHRoZSBkZXB0aCBz
dGVuY2lsIGluZm8gbWFwIGRvZXMgbm90IGNvbnRhaW4gYWxsIHVzZWQgRFhHSSBmb3JtYXRzLAor
ICAgICAgICAvLyB3ZSBzaG91bGQgbm90IGFzc2VydCB0aGF0IHRoZSBmb3JtYXQgZXhpc3RzCisg
ICAgICAgIHJldHVybiAwOworICAgIH0KK30KKwordm9pZCBNYWtlVmFsaWRTaXplKGJvb2wgaXNJ
bWFnZSwgRFhHSV9GT1JNQVQgZm9ybWF0LCBHTHNpemVpICpyZXF1ZXN0V2lkdGgsIEdMc2l6ZWkg
KnJlcXVlc3RIZWlnaHQsIGludCAqbGV2ZWxPZmZzZXQpCit7CisgICAgRFhHSUZvcm1hdEluZm8g
ZHhnaUZvcm1hdEluZm87CisgICAgaWYgKEdldERYR0lGb3JtYXRJbmZvKGZvcm1hdCwgJmR4Z2lG
b3JtYXRJbmZvKSkKKyAgICB7CisgICAgICAgIGludCB1cHNhbXBsZUNvdW50ID0gMDsKKworICAg
ICAgICBHTHNpemVpIGJsb2NrV2lkdGggPSBkeGdpRm9ybWF0SW5mby5tQmxvY2tXaWR0aDsKKyAg
ICAgICAgR0xzaXplaSBibG9ja0hlaWdodCA9IGR4Z2lGb3JtYXRJbmZvLm1CbG9ja0hlaWdodDsK
KworICAgICAgICAvLyBEb24ndCBleHBhbmQgdGhlIHNpemUgb2YgZnVsbCB0ZXh0dXJlcyB0aGF0
IGFyZSBhdCBsZWFzdCAoYmxvY2tXaWR0aCB4IGJsb2NrSGVpZ2h0KSBhbHJlYWR5LgorICAgICAg
ICBpZiAoaXNJbWFnZSB8fCAqcmVxdWVzdFdpZHRoIDwgYmxvY2tXaWR0aCB8fCAqcmVxdWVzdEhl
aWdodCA8IGJsb2NrSGVpZ2h0KQorICAgICAgICB7CisgICAgICAgICAgICB3aGlsZSAoKnJlcXVl
c3RXaWR0aCAlIGJsb2NrV2lkdGggIT0gMCB8fCAqcmVxdWVzdEhlaWdodCAlIGJsb2NrSGVpZ2h0
ICE9IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKnJlcXVlc3RXaWR0aCA8PD0g
MTsKKyAgICAgICAgICAgICAgICAqcmVxdWVzdEhlaWdodCA8PD0gMTsKKyAgICAgICAgICAgICAg
ICB1cHNhbXBsZUNvdW50Kys7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgKmxl
dmVsT2Zmc2V0ID0gdXBzYW1wbGVDb3VudDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAg
ICAgVU5SRUFDSEFCTEUoKTsKKyAgICB9Cit9CisKK2NvbnN0IERYR0lGb3JtYXRTZXQgJkdldEFs
bFVzZWREWEdJRm9ybWF0cygpCit7CisgICAgc3RhdGljIERYR0lGb3JtYXRTZXQgZm9ybWF0U2V0
ID0gQnVpbGRBbGxEWEdJRm9ybWF0U2V0KCk7CisgICAgcmV0dXJuIGZvcm1hdFNldDsKK30KKwor
Q29sb3JSZWFkRnVuY3Rpb24gR2V0Q29sb3JSZWFkRnVuY3Rpb24oRFhHSV9GT1JNQVQgZm9ybWF0
KQoreworICAgIERYR0lGb3JtYXRJbmZvIGR4Z2lGb3JtYXRJbmZvOworICAgIGlmIChHZXREWEdJ
Rm9ybWF0SW5mbyhmb3JtYXQsICZkeGdpRm9ybWF0SW5mbykpCisgICAgeworICAgICAgICByZXR1
cm4gZHhnaUZvcm1hdEluZm8ubUNvbG9yUmVhZEZ1bmN0aW9uOworICAgIH0KKyAgICBlbHNlCisg
ICAgeworICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9
Cit9CisKK0NvbG9yQ29weUZ1bmN0aW9uIEdldEZhc3RDb3B5RnVuY3Rpb24oRFhHSV9GT1JNQVQg
c291cmNlRm9ybWF0LCBHTGVudW0gZGVzdEZvcm1hdCwgR0xlbnVtIGRlc3RUeXBlKQoreworICAg
IHN0YXRpYyBjb25zdCBEM0QxMUZhc3RDb3B5TWFwIGZhc3RDb3B5TWFwID0gQnVpbGRGYXN0Q29w
eU1hcCgpOworICAgIEQzRDExRmFzdENvcHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBmYXN0
Q29weU1hcC5maW5kKEQzRDExRmFzdENvcHlGb3JtYXQoc291cmNlRm9ybWF0LCBkZXN0Rm9ybWF0
LCBkZXN0VHlwZSkpOworICAgIHJldHVybiAoaXRlciAhPSBmYXN0Q29weU1hcC5lbmQoKSkgPyBp
dGVyLT5zZWNvbmQgOiBOVUxMOworfQorCit9CisKK25hbWVzcGFjZSBnbF9kM2QxMQoreworCitE
WEdJX0ZPUk1BVCBHZXRUZXhGb3JtYXQoR0xlbnVtIGludGVybmFsRm9ybWF0LCBHTHVpbnQgY2xp
ZW50VmVyc2lvbikKK3sKKyAgICBpZiAoY2xpZW50VmVyc2lvbiA9PSAyKQorICAgIHsKKyAgICAg
ICAgRDNEMTFFUzJGb3JtYXRJbmZvIGQzZDExRm9ybWF0SW5mbzsKKyAgICAgICAgaWYgKEdldEQz
RDExRVMyRm9ybWF0SW5mbyhpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lvbiwgJmQzZDExRm9y
bWF0SW5mbykpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBkM2QxMUZvcm1hdEluZm8u
bVRleEZvcm1hdDsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAg
ICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgICAgICByZXR1cm4gRFhHSV9GT1JNQVRfVU5LTk9X
TjsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmIChjbGllbnRWZXJzaW9uID09IDMpCisg
ICAgeworICAgICAgICBEM0QxMUVTM0Zvcm1hdEluZm8gZDNkMTFGb3JtYXRJbmZvOworICAgICAg
ICBpZiAoR2V0RDNEMTFFUzNGb3JtYXRJbmZvKGludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9u
LCAmZDNkMTFGb3JtYXRJbmZvKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGQzZDEx
Rm9ybWF0SW5mby5tVGV4Rm9ybWF0OworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAg
eworICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgICAgIHJldHVybiBEWEdJX0ZP
Uk1BVF9VTktOT1dOOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAg
IFVOUkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiBEWEdJX0ZPUk1BVF9VTktOT1dOOworICAg
IH0KK30KKworRFhHSV9GT1JNQVQgR2V0U1JWRm9ybWF0KEdMZW51bSBpbnRlcm5hbEZvcm1hdCwg
R0x1aW50IGNsaWVudFZlcnNpb24pCit7CisgICAgaWYgKGNsaWVudFZlcnNpb24gPT0gMikKKyAg
ICB7CisgICAgICAgIEQzRDExRVMyRm9ybWF0SW5mbyBkM2QxMUZvcm1hdEluZm87CisgICAgICAg
IGlmIChHZXREM0QxMUVTMkZvcm1hdEluZm8oaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24s
ICZkM2QxMUZvcm1hdEluZm8pKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZDNkMTFG
b3JtYXRJbmZvLm1TUlZGb3JtYXQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7
CisgICAgICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAgICAgICAgcmV0dXJuIERYR0lfRk9S
TUFUX1VOS05PV047CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSBpZiAoY2xpZW50VmVyc2lv
biA9PSAzKQorICAgIHsKKyAgICAgICAgRDNEMTFFUzNGb3JtYXRJbmZvIGQzZDExRm9ybWF0SW5m
bzsKKyAgICAgICAgaWYgKEdldEQzRDExRVMzRm9ybWF0SW5mbyhpbnRlcm5hbEZvcm1hdCwgY2xp
ZW50VmVyc2lvbiwgJmQzZDExRm9ybWF0SW5mbykpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiBkM2QxMUZvcm1hdEluZm8ubVNSVkZvcm1hdDsKKyAgICAgICAgfQorICAgICAgICBlbHNl
CisgICAgICAgIHsKKyAgICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7CisgICAgICAgICAgICByZXR1
cm4gRFhHSV9GT1JNQVRfVU5LTk9XTjsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAg
eworICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAgICByZXR1cm4gRFhHSV9GT1JNQVRfVU5L
Tk9XTjsKKyAgICB9Cit9CisKK0RYR0lfRk9STUFUIEdldFJUVkZvcm1hdChHTGVudW0gaW50ZXJu
YWxGb3JtYXQsIEdMdWludCBjbGllbnRWZXJzaW9uKQoreworICAgIGlmIChjbGllbnRWZXJzaW9u
ID09IDIpCisgICAgeworICAgICAgICBEM0QxMUVTMkZvcm1hdEluZm8gZDNkMTFGb3JtYXRJbmZv
OworICAgICAgICBpZiAoR2V0RDNEMTFFUzJGb3JtYXRJbmZvKGludGVybmFsRm9ybWF0LCBjbGll
bnRWZXJzaW9uLCAmZDNkMTFGb3JtYXRJbmZvKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0
dXJuIGQzZDExRm9ybWF0SW5mby5tUlRWRm9ybWF0OworICAgICAgICB9CisgICAgICAgIGVsc2UK
KyAgICAgICAgeworICAgICAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgICAgIHJldHVy
biBEWEdJX0ZPUk1BVF9VTktOT1dOOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKGNs
aWVudFZlcnNpb24gPT0gMykKKyAgICB7CisgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyBkM2Qx
MUZvcm1hdEluZm87CisgICAgICAgIGlmIChHZXREM0QxMUVTM0Zvcm1hdEluZm8oaW50ZXJuYWxG
b3JtYXQsIGNsaWVudFZlcnNpb24sICZkM2QxMUZvcm1hdEluZm8pKQorICAgICAgICB7CisgICAg
ICAgICAgICByZXR1cm4gZDNkMTFGb3JtYXRJbmZvLm1SVFZGb3JtYXQ7CisgICAgICAgIH0KKyAg
ICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAg
ICAgICAgcmV0dXJuIERYR0lfRk9STUFUX1VOS05PV047CisgICAgICAgIH0KKyAgICB9CisgICAg
ZWxzZQorICAgIHsKKyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIERYR0lf
Rk9STUFUX1VOS05PV047CisgICAgfQorfQorCitEWEdJX0ZPUk1BVCBHZXREU1ZGb3JtYXQoR0xl
bnVtIGludGVybmFsRm9ybWF0LCBHTHVpbnQgY2xpZW50VmVyc2lvbikKK3sKKyAgICBpZiAoY2xp
ZW50VmVyc2lvbiA9PSAyKQorICAgIHsKKyAgICAgICAgRDNEMTFFUzJGb3JtYXRJbmZvIGQzZDEx
Rm9ybWF0SW5mbzsKKyAgICAgICAgaWYgKEdldEQzRDExRVMyRm9ybWF0SW5mbyhpbnRlcm5hbEZv
cm1hdCwgY2xpZW50VmVyc2lvbiwgJmQzZDExRm9ybWF0SW5mbykpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHJldHVybiBkM2QxMUZvcm1hdEluZm8ubURTVkZvcm1hdDsKKyAgICAgICAgfQorICAg
ICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBEWEdJX0ZPUk1BVF9VTktO
T1dOOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKGNsaWVudFZlcnNpb24gPT0gMykK
KyAgICB7CisgICAgICAgIEQzRDExRVMzRm9ybWF0SW5mbyBkM2QxMUZvcm1hdEluZm87CisgICAg
ICAgIGlmIChHZXREM0QxMUVTM0Zvcm1hdEluZm8oaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNp
b24sICZkM2QxMUZvcm1hdEluZm8pKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZDNk
MTFGb3JtYXRJbmZvLm1EU1ZGb3JtYXQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gRFhHSV9GT1JNQVRfVU5LTk9XTjsKKyAgICAgICAgfQor
ICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAgICBy
ZXR1cm4gRFhHSV9GT1JNQVRfVU5LTk9XTjsKKyAgICB9Cit9CisKKy8vIEdpdmVuIGEgR0wgaW50
ZXJuYWwgZm9ybWF0LCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIERTViBmb3JtYXQgaWYgaXQg
aXMgZGVwdGgtIG9yIHN0ZW5jaWwtcmVuZGVyYWJsZSwKKy8vIHRoZSBSVFYgZm9ybWF0IGlmIGl0
IGlzIGNvbG9yLXJlbmRlcmFibGUsIGFuZCB0aGUgKG5vbnJlbmRlcmFibGUpIHRleHR1cmUgZm9y
bWF0IG90aGVyd2lzZS4KK0RYR0lfRk9STUFUIEdldFJlbmRlcmFibGVGb3JtYXQoR0xlbnVtIGlu
dGVybmFsRm9ybWF0LCBHTHVpbnQgY2xpZW50VmVyc2lvbikKK3sKKyAgICBEWEdJX0ZPUk1BVCB0
YXJnZXRGb3JtYXQgPSBHZXREU1ZGb3JtYXQoaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24p
OworICAgIGlmICh0YXJnZXRGb3JtYXQgPT0gRFhHSV9GT1JNQVRfVU5LTk9XTikKKyAgICAgICAg
dGFyZ2V0Rm9ybWF0ID0gR2V0UlRWRm9ybWF0KGludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9u
KTsKKyAgICBpZiAodGFyZ2V0Rm9ybWF0ID09IERYR0lfRk9STUFUX1VOS05PV04pCisgICAgICAg
IHRhcmdldEZvcm1hdCA9IEdldFRleEZvcm1hdChpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lv
bik7CisKKyAgICByZXR1cm4gdGFyZ2V0Rm9ybWF0OworfQorCitEWEdJX0ZPUk1BVCBHZXRTd2l6
emxlVGV4Rm9ybWF0KEdMaW50IGludGVybmFsRm9ybWF0LCBjb25zdCBSZW5kZXJlciAqcmVuZGVy
ZXIpCit7CisgICAgR0x1aW50IGNsaWVudFZlcnNpb24gPSByZW5kZXJlci0+Z2V0Q3VycmVudENs
aWVudFZlcnNpb24oKTsKKyAgICBpZiAoZ2w6OkdldENvbXBvbmVudENvdW50KGludGVybmFsRm9y
bWF0LCBjbGllbnRWZXJzaW9uKSAhPSA0IHx8ICFnbDo6SXNDb2xvclJlbmRlcmluZ1N1cHBvcnRl
ZChpbnRlcm5hbEZvcm1hdCwgcmVuZGVyZXIpKQorICAgIHsKKyAgICAgICAgY29uc3QgU3dpenps
ZUZvcm1hdEluZm8gJnN3aXp6bGVJbmZvID0gR2V0U3dpenpsZUZvcm1hdEluZm8oaW50ZXJuYWxG
b3JtYXQsIGNsaWVudFZlcnNpb24pOworICAgICAgICByZXR1cm4gc3dpenpsZUluZm8ubVRleEZv
cm1hdDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIEdldFRleEZvcm1h
dChpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lvbik7CisgICAgfQorfQorCitEWEdJX0ZPUk1B
VCBHZXRTd2l6emxlU1JWRm9ybWF0KEdMaW50IGludGVybmFsRm9ybWF0LCBjb25zdCBSZW5kZXJl
ciAqcmVuZGVyZXIpCit7CisgICAgR0x1aW50IGNsaWVudFZlcnNpb24gPSByZW5kZXJlci0+Z2V0
Q3VycmVudENsaWVudFZlcnNpb24oKTsKKyAgICBpZiAoZ2w6OkdldENvbXBvbmVudENvdW50KGlu
dGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKSAhPSA0IHx8ICFnbDo6SXNDb2xvclJlbmRlcmlu
Z1N1cHBvcnRlZChpbnRlcm5hbEZvcm1hdCwgcmVuZGVyZXIpKQorICAgIHsKKyAgICAgICAgY29u
c3QgU3dpenpsZUZvcm1hdEluZm8gJnN3aXp6bGVJbmZvID0gR2V0U3dpenpsZUZvcm1hdEluZm8o
aW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pOworICAgICAgICByZXR1cm4gc3dpenpsZUlu
Zm8ubVNSVkZvcm1hdDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIEdl
dFRleEZvcm1hdChpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lvbik7CisgICAgfQorfQorCitE
WEdJX0ZPUk1BVCBHZXRTd2l6emxlUlRWRm9ybWF0KEdMaW50IGludGVybmFsRm9ybWF0LCBjb25z
dCBSZW5kZXJlciAqcmVuZGVyZXIpCit7CisgICAgR0x1aW50IGNsaWVudFZlcnNpb24gPSByZW5k
ZXJlci0+Z2V0Q3VycmVudENsaWVudFZlcnNpb24oKTsKKyAgICBpZiAoZ2w6OkdldENvbXBvbmVu
dENvdW50KGludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKSAhPSA0IHx8ICFnbDo6SXNDb2xv
clJlbmRlcmluZ1N1cHBvcnRlZChpbnRlcm5hbEZvcm1hdCwgcmVuZGVyZXIpKQorICAgIHsKKyAg
ICAgICAgY29uc3QgU3dpenpsZUZvcm1hdEluZm8gJnN3aXp6bGVJbmZvID0gR2V0U3dpenpsZUZv
cm1hdEluZm8oaW50ZXJuYWxGb3JtYXQsIGNsaWVudFZlcnNpb24pOworICAgICAgICByZXR1cm4g
c3dpenpsZUluZm8ubVJUVkZvcm1hdDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAg
cmV0dXJuIEdldFRleEZvcm1hdChpbnRlcm5hbEZvcm1hdCwgY2xpZW50VmVyc2lvbik7CisgICAg
fQorfQorCitib29sIFJlcXVpcmVzVGV4dHVyZURhdGFJbml0aWFsaXphdGlvbihHTGludCBpbnRl
cm5hbEZvcm1hdCkKK3sKKyAgICBjb25zdCBJbnRlcm5hbEZvcm1hdEluaXRpYWxpemVyTWFwICZt
YXAgPSBHZXRJbnRlcm5hbEZvcm1hdEluaXRpYWxpemVyTWFwKCk7CisgICAgcmV0dXJuIG1hcC5m
aW5kKGludGVybmFsRm9ybWF0KSAhPSBtYXAuZW5kKCk7Cit9CisKK0luaXRpYWxpemVUZXh0dXJl
RGF0YUZ1bmN0aW9uIEdldFRleHR1cmVEYXRhSW5pdGlhbGl6YXRpb25GdW5jdGlvbihHTGludCBp
bnRlcm5hbEZvcm1hdCkKK3sKKyAgICBjb25zdCBJbnRlcm5hbEZvcm1hdEluaXRpYWxpemVyTWFw
ICZtYXAgPSBHZXRJbnRlcm5hbEZvcm1hdEluaXRpYWxpemVyTWFwKCk7CisgICAgSW50ZXJuYWxG
b3JtYXRJbml0aWFsaXplck1hcDo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IG1hcC5maW5kKGludGVy
bmFsRm9ybWF0KTsKKyAgICBpZiAoaXRlciAhPSBtYXAuZW5kKCkpCisgICAgeworICAgICAgICBy
ZXR1cm4gaXRlci0+c2Vjb25kOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBVTlJF
QUNIQUJMRSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9Cit9CisKK3N0cnVjdCBEM0Qx
MVZlcnRleEZvcm1hdEluZm8KK3sKKyAgICByeDo6VmVydGV4Q29udmVyc2lvblR5cGUgbUNvbnZl
cnNpb25UeXBlOworICAgIERYR0lfRk9STUFUIG1OYXRpdmVGb3JtYXQ7CisgICAgVmVydGV4Q29w
eUZ1bmN0aW9uIG1Db3B5RnVuY3Rpb247CisKKyAgICBEM0QxMVZlcnRleEZvcm1hdEluZm8oKQor
ICAgICAgICA6IG1Db252ZXJzaW9uVHlwZShWRVJURVhfQ09OVkVSVF9OT05FKSwKKyAgICAgICAg
ICBtTmF0aXZlRm9ybWF0KERYR0lfRk9STUFUX1VOS05PV04pLAorICAgICAgICAgIG1Db3B5RnVu
Y3Rpb24oTlVMTCkKKyAgICB7fQorCisgICAgRDNEMTFWZXJ0ZXhGb3JtYXRJbmZvKFZlcnRleENv
bnZlcnNpb25UeXBlIGNvbnZlcnNpb25UeXBlLCBEWEdJX0ZPUk1BVCBuYXRpdmVGb3JtYXQsIFZl
cnRleENvcHlGdW5jdGlvbiBjb3B5RnVuY3Rpb24pCisgICAgICAgIDogbUNvbnZlcnNpb25UeXBl
KGNvbnZlcnNpb25UeXBlKSwKKyAgICAgICAgICBtTmF0aXZlRm9ybWF0KG5hdGl2ZUZvcm1hdCks
CisgICAgICAgICAgbUNvcHlGdW5jdGlvbihjb3B5RnVuY3Rpb24pCisgICAge30KK307CisKK3R5
cGVkZWYgc3RkOjptYXA8Z2w6OlZlcnRleEZvcm1hdCwgRDNEMTFWZXJ0ZXhGb3JtYXRJbmZvPiBE
M0QxMVZlcnRleEZvcm1hdEluZm9NYXA7CisKK3R5cGVkZWYgc3RkOjpwYWlyPGdsOjpWZXJ0ZXhG
b3JtYXQsIEQzRDExVmVydGV4Rm9ybWF0SW5mbz4gRDNEMTFWZXJ0ZXhGb3JtYXRQYWlyOworCitz
dGF0aWMgdm9pZCBhZGRWZXJ0ZXhGb3JtYXRJbmZvKEQzRDExVmVydGV4Rm9ybWF0SW5mb01hcCAq
bWFwLCBHTGVudW0gaW5wdXRUeXBlLCBHTGJvb2xlYW4gbm9ybWFsaXplZCwgR0x1aW50IGNvbXBv
bmVudENvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJ0ZXhDb252ZXJz
aW9uVHlwZSBjb252ZXJzaW9uVHlwZSwgRFhHSV9GT1JNQVQgbmF0aXZlRm9ybWF0LCBWZXJ0ZXhD
b3B5RnVuY3Rpb24gY29weUZ1bmN0aW9uKQoreworICAgIGdsOjpWZXJ0ZXhGb3JtYXQgaW5wdXRG
b3JtYXQoaW5wdXRUeXBlLCBub3JtYWxpemVkLCBjb21wb25lbnRDb3VudCwgZmFsc2UpOworICAg
IG1hcC0+aW5zZXJ0KEQzRDExVmVydGV4Rm9ybWF0UGFpcihpbnB1dEZvcm1hdCwgRDNEMTFWZXJ0
ZXhGb3JtYXRJbmZvKGNvbnZlcnNpb25UeXBlLCBuYXRpdmVGb3JtYXQsIGNvcHlGdW5jdGlvbikp
KTsKK30KKworc3RhdGljIHZvaWQgYWRkSW50ZWdlclZlcnRleEZvcm1hdEluZm8oRDNEMTFWZXJ0
ZXhGb3JtYXRJbmZvTWFwICptYXAsIEdMZW51bSBpbnB1dFR5cGUsIEdMdWludCBjb21wb25lbnRD
b3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnRleENvbnZl
cnNpb25UeXBlIGNvbnZlcnNpb25UeXBlLCBEWEdJX0ZPUk1BVCBuYXRpdmVGb3JtYXQsIFZlcnRl
eENvcHlGdW5jdGlvbiBjb3B5RnVuY3Rpb24pCit7CisgICAgZ2w6OlZlcnRleEZvcm1hdCBpbnB1
dEZvcm1hdChpbnB1dFR5cGUsIEdMX0ZBTFNFLCBjb21wb25lbnRDb3VudCwgdHJ1ZSk7CisgICAg
bWFwLT5pbnNlcnQoRDNEMTFWZXJ0ZXhGb3JtYXRQYWlyKGlucHV0Rm9ybWF0LCBEM0QxMVZlcnRl
eEZvcm1hdEluZm8oY29udmVyc2lvblR5cGUsIG5hdGl2ZUZvcm1hdCwgY29weUZ1bmN0aW9uKSkp
OworfQorCitzdGF0aWMgRDNEMTFWZXJ0ZXhGb3JtYXRJbmZvTWFwIEJ1aWxkRDNEMTFWZXJ0ZXhG
b3JtYXRJbmZvTWFwKCkKK3sKKyAgICBEM0QxMVZlcnRleEZvcm1hdEluZm9NYXAgbWFwOworCisg
ICAgLy8gVE9ETzogY29sdW1uIGxlZ2VuZAorCisgICAgLy8KKyAgICAvLyBGbG9hdCBmb3JtYXRz
CisgICAgLy8KKworICAgIC8vIEdMX0JZVEUgLS0gdW4tbm9ybWFsaXplZAorICAgIGFkZFZlcnRl
eEZvcm1hdEluZm8oJm1hcCwgR0xfQllURSwgICAgICAgICAgIEdMX0ZBTFNFLCAxLCBWRVJURVhf
Q09OVkVSVF9HUFUsICBEWEdJX0ZPUk1BVF9SOF9TSU5ULCAgICAgICAgICAgICZjb3B5VmVydGV4
RGF0YTxHTGJ5dGUsIDEsIDA+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0JZ
VEUsICAgICAgICAgICBHTF9GQUxTRSwgMiwgVkVSVEVYX0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JN
QVRfUjhHOF9TSU5ULCAgICAgICAgICAmY29weVZlcnRleERhdGE8R0xieXRlLCAyLCAwPik7Cisg
ICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9CWVRFLCAgICAgICAgICAgR0xfRkFMU0Us
IDMsIFZFUlRFWF9DT05WRVJUX0JPVEgsIERYR0lfRk9STUFUX1I4RzhCOEE4X1NJTlQsICAgICAg
JmNvcHlWZXJ0ZXhEYXRhPEdMYnl0ZSwgMywgMT4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8o
Jm1hcCwgR0xfQllURSwgICAgICAgICAgIEdMX0ZBTFNFLCA0LCBWRVJURVhfQ09OVkVSVF9HUFUs
ICBEWEdJX0ZPUk1BVF9SOEc4QjhBOF9TSU5ULCAgICAgICZjb3B5VmVydGV4RGF0YTxHTGJ5dGUs
IDQsIDA+KTsKKworICAgIC8vIEdMX0JZVEUgLS0gbm9ybWFsaXplZAorICAgIGFkZFZlcnRleEZv
cm1hdEluZm8oJm1hcCwgR0xfQllURSwgICAgICAgICAgIEdMX1RSVUUsICAxLCBWRVJURVhfQ09O
VkVSVF9OT05FLCBEWEdJX0ZPUk1BVF9SOF9TTk9STSwgICAgICAgICAgICZjb3B5VmVydGV4RGF0
YTxHTGJ5dGUsIDEsIDA+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0JZVEUs
ICAgICAgICAgICBHTF9UUlVFLCAgMiwgVkVSVEVYX0NPTlZFUlRfTk9ORSwgRFhHSV9GT1JNQVRf
UjhHOF9TTk9STSwgICAgICAgICAmY29weVZlcnRleERhdGE8R0xieXRlLCAyLCAwPik7CisgICAg
YWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9CWVRFLCAgICAgICAgICAgR0xfVFJVRSwgIDMs
IFZFUlRFWF9DT05WRVJUX0NQVSwgIERYR0lfRk9STUFUX1I4RzhCOEE4X1NOT1JNLCAgICAgJmNv
cHlWZXJ0ZXhEYXRhPEdMYnl0ZSwgMywgSU5UOF9NQVg+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJ
bmZvKCZtYXAsIEdMX0JZVEUsICAgICAgICAgICBHTF9UUlVFLCAgNCwgVkVSVEVYX0NPTlZFUlRf
Tk9ORSwgRFhHSV9GT1JNQVRfUjhHOEI4QThfU05PUk0sICAgICAmY29weVZlcnRleERhdGE8R0xi
eXRlLCA0LCAwPik7CisKKyAgICAvLyBHTF9VTlNJR05FRF9CWVRFIC0tIHVuLW5vcm1hbGl6ZWQK
KyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0JZVEUsICBHTF9GQUxT
RSwgMSwgVkVSVEVYX0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JNQVRfUjhfVUlOVCwgICAgICAgICAg
ICAmY29weVZlcnRleERhdGE8R0x1Ynl0ZSwgMSwgMD4pOworICAgIGFkZFZlcnRleEZvcm1hdElu
Zm8oJm1hcCwgR0xfVU5TSUdORURfQllURSwgIEdMX0ZBTFNFLCAyLCBWRVJURVhfQ09OVkVSVF9H
UFUsICBEWEdJX0ZPUk1BVF9SOEc4X1VJTlQsICAgICAgICAgICZjb3B5VmVydGV4RGF0YTxHTHVi
eXRlLCAyLCAwPik7CisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9VTlNJR05FRF9C
WVRFLCAgR0xfRkFMU0UsIDMsIFZFUlRFWF9DT05WRVJUX0JPVEgsIERYR0lfRk9STUFUX1I4RzhC
OEE4X1VJTlQsICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMdWJ5dGUsIDMsIDE+KTsKKyAgICBhZGRW
ZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0JZVEUsICBHTF9GQUxTRSwgNCwgVkVS
VEVYX0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVUlOVCwgICAgICAmY29weVZl
cnRleERhdGE8R0x1Ynl0ZSwgNCwgMD4pOworCisgICAgLy8gR0xfVU5TSUdORURfQllURSAtLSBu
b3JtYWxpemVkCisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9VTlNJR05FRF9CWVRF
LCAgR0xfVFJVRSwgIDEsIFZFUlRFWF9DT05WRVJUX05PTkUsIERYR0lfRk9STUFUX1I4X1VOT1JN
LCAgICAgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMdWJ5dGUsIDEsIDA+KTsKKyAgICBhZGRWZXJ0
ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0JZVEUsICBHTF9UUlVFLCAgMiwgVkVSVEVY
X0NPTlZFUlRfTk9ORSwgRFhHSV9GT1JNQVRfUjhHOF9VTk9STSwgICAgICAgICAmY29weVZlcnRl
eERhdGE8R0x1Ynl0ZSwgMiwgMD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xf
VU5TSUdORURfQllURSwgIEdMX1RSVUUsICAzLCBWRVJURVhfQ09OVkVSVF9DUFUsICBEWEdJX0ZP
Uk1BVF9SOEc4QjhBOF9VTk9STSwgICAgICZjb3B5VmVydGV4RGF0YTxHTHVieXRlLCAzLCBVSU5U
OF9NQVg+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0JZVEUs
ICBHTF9UUlVFLCAgNCwgVkVSVEVYX0NPTlZFUlRfTk9ORSwgRFhHSV9GT1JNQVRfUjhHOEI4QThf
VU5PUk0sICAgICAmY29weVZlcnRleERhdGE8R0x1Ynl0ZSwgNCwgMD4pOworCisgICAgLy8gR0xf
U0hPUlQgLS0gdW4tbm9ybWFsaXplZAorICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xf
U0hPUlQsICAgICAgICAgIEdMX0ZBTFNFLCAxLCBWRVJURVhfQ09OVkVSVF9HUFUsICBEWEdJX0ZP
Uk1BVF9SMTZfU0lOVCwgICAgICAgICAgICZjb3B5VmVydGV4RGF0YTxHTHNob3J0LCAxLCAwPik7
CisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9TSE9SVCwgICAgICAgICAgR0xfRkFM
U0UsIDIsIFZFUlRFWF9DT05WRVJUX0dQVSwgIERYR0lfRk9STUFUX1IxNkcxNl9TSU5ULCAgICAg
ICAgJmNvcHlWZXJ0ZXhEYXRhPEdMc2hvcnQsIDIsIDA+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJ
bmZvKCZtYXAsIEdMX1NIT1JULCAgICAgICAgICBHTF9GQUxTRSwgMywgVkVSVEVYX0NPTlZFUlRf
Qk9USCwgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1NJTlQsICAmY29weVZlcnRleERhdGE8R0xz
aG9ydCwgNCwgMT4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfU0hPUlQsICAg
ICAgICAgIEdMX0ZBTFNFLCA0LCBWRVJURVhfQ09OVkVSVF9HUFUsICBEWEdJX0ZPUk1BVF9SMTZH
MTZCMTZBMTZfU0lOVCwgICZjb3B5VmVydGV4RGF0YTxHTHNob3J0LCA0LCAwPik7CisKKyAgICAv
LyBHTF9TSE9SVCAtLSBub3JtYWxpemVkCisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBH
TF9TSE9SVCwgICAgICAgICAgR0xfVFJVRSwgIDEsIFZFUlRFWF9DT05WRVJUX05PTkUsIERYR0lf
Rk9STUFUX1IxNl9TTk9STSwgICAgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMc2hvcnQsIDEsIDA+
KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1NIT1JULCAgICAgICAgICBHTF9U
UlVFLCAgMiwgVkVSVEVYX0NPTlZFUlRfTk9ORSwgRFhHSV9GT1JNQVRfUjE2RzE2X1NOT1JNLCAg
ICAgICAmY29weVZlcnRleERhdGE8R0xzaG9ydCwgMiwgMD4pOworICAgIGFkZFZlcnRleEZvcm1h
dEluZm8oJm1hcCwgR0xfU0hPUlQsICAgICAgICAgIEdMX1RSVUUsICAzLCBWRVJURVhfQ09OVkVS
VF9DUFUsICBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfU05PUk0sICZjb3B5VmVydGV4RGF0YTxH
THNob3J0LCAzLCBJTlQxNl9NQVg+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdM
X1NIT1JULCAgICAgICAgICBHTF9UUlVFLCAgNCwgVkVSVEVYX0NPTlZFUlRfTk9ORSwgRFhHSV9G
T1JNQVRfUjE2RzE2QjE2QTE2X1NOT1JNLCAmY29weVZlcnRleERhdGE8R0xzaG9ydCwgNCwgMD4p
OworCisgICAgLy8gR0xfVU5TSUdORURfU0hPUlQgLS0gdW4tbm9ybWFsaXplZAorICAgIGFkZFZl
cnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfU0hPUlQsIEdMX0ZBTFNFLCAxLCBWRVJU
RVhfQ09OVkVSVF9HUFUsICBEWEdJX0ZPUk1BVF9SMTZfVUlOVCwgICAgICAgICAgICZjb3B5VmVy
dGV4RGF0YTxHTHVzaG9ydCwgMSwgMD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwg
R0xfVU5TSUdORURfU0hPUlQsIEdMX0ZBTFNFLCAyLCBWRVJURVhfQ09OVkVSVF9HUFUsICBEWEdJ
X0ZPUk1BVF9SMTZHMTZfVUlOVCwgICAgICAgICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwgMiwg
MD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfU0hPUlQsIEdM
X0ZBTFNFLCAzLCBWRVJURVhfQ09OVkVSVF9CT1RILCBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZf
VUlOVCwgICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwgMywgMT4pOworICAgIGFkZFZlcnRleEZv
cm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfU0hPUlQsIEdMX0ZBTFNFLCA0LCBWRVJURVhfQ09O
VkVSVF9HUFUsICBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZfVUlOVCwgICZjb3B5VmVydGV4RGF0
YTxHTHVzaG9ydCwgNCwgMD4pOworCisgICAgLy8gR0xfVU5TSUdORURfU0hPUlQgLS0gbm9ybWFs
aXplZAorICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfU0hPUlQsIEdM
X1RSVUUsICAxLCBWRVJURVhfQ09OVkVSVF9OT05FLCBEWEdJX0ZPUk1BVF9SMTZfVU5PUk0sICAg
ICAgICAgICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwgMSwgMD4pOworICAgIGFkZFZlcnRleEZv
cm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfU0hPUlQsIEdMX1RSVUUsICAyLCBWRVJURVhfQ09O
VkVSVF9OT05FLCBEWEdJX0ZPUk1BVF9SMTZHMTZfVU5PUk0sICAgICAgICZjb3B5VmVydGV4RGF0
YTxHTHVzaG9ydCwgMiwgMD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5T
SUdORURfU0hPUlQsIEdMX1RSVUUsICAzLCBWRVJURVhfQ09OVkVSVF9DUFUsICBEWEdJX0ZPUk1B
VF9SMTZHMTZCMTZBMTZfVU5PUk0sICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwgMywgVUlOVDE2
X01BWD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfU0hPUlQs
IEdMX1RSVUUsICA0LCBWRVJURVhfQ09OVkVSVF9OT05FLCBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZB
MTZfVU5PUk0sICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwgNCwgMD4pOworCisgICAgLy8gR0xf
SU5UIC0tIHVuLW5vcm1hbGl6ZWQKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0lO
VCwgICAgICAgICAgICBHTF9GQUxTRSwgMSwgVkVSVEVYX0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JN
QVRfUjMyX1NJTlQsICAgICAgICAgICAmY29weVZlcnRleERhdGE8R0xpbnQsIDEsIDA+KTsKKyAg
ICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0lOVCwgICAgICAgICAgICBHTF9GQUxTRSwg
MiwgVkVSVEVYX0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyX1NJTlQsICAgICAgICAm
Y29weVZlcnRleERhdGE8R0xpbnQsIDIsIDA+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZt
YXAsIEdMX0lOVCwgICAgICAgICAgICBHTF9GQUxTRSwgMywgVkVSVEVYX0NPTlZFUlRfR1BVLCAg
RFhHSV9GT1JNQVRfUjMyRzMyQjMyX1NJTlQsICAgICAmY29weVZlcnRleERhdGE8R0xpbnQsIDMs
IDA+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0lOVCwgICAgICAgICAgICBH
TF9GQUxTRSwgNCwgVkVSVEVYX0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMy
X1NJTlQsICAmY29weVZlcnRleERhdGE8R0xpbnQsIDQsIDA+KTsKKworICAgIC8vIEdMX0lOVCAt
LSBub3JtYWxpemVkCisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9JTlQsICAgICAg
ICAgICAgR0xfVFJVRSwgIDEsIFZFUlRFWF9DT05WRVJUX0NQVSwgIERYR0lfRk9STUFUX1IzMl9G
TE9BVCwgICAgICAgICAgJmNvcHlUb0Zsb2F0VmVydGV4RGF0YTxHTGludCwgMSwgdHJ1ZT4pOwor
ICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfSU5ULCAgICAgICAgICAgIEdMX1RSVUUs
ICAyLCBWRVJURVhfQ09OVkVSVF9DUFUsICBEWEdJX0ZPUk1BVF9SMzJHMzJfRkxPQVQsICAgICAg
ICZjb3B5VG9GbG9hdFZlcnRleERhdGE8R0xpbnQsIDIsIHRydWU+KTsKKyAgICBhZGRWZXJ0ZXhG
b3JtYXRJbmZvKCZtYXAsIEdMX0lOVCwgICAgICAgICAgICBHTF9UUlVFLCAgMywgVkVSVEVYX0NP
TlZFUlRfQ1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyX0ZMT0FULCAgICAmY29weVRvRmxvYXRW
ZXJ0ZXhEYXRhPEdMaW50LCAzLCB0cnVlPik7CisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFw
LCBHTF9JTlQsICAgICAgICAgICAgR0xfVFJVRSwgIDQsIFZFUlRFWF9DT05WRVJUX0NQVSwgIERY
R0lfRk9STUFUX1IzMkczMkIzMkEzMl9GTE9BVCwgJmNvcHlUb0Zsb2F0VmVydGV4RGF0YTxHTGlu
dCwgNCwgdHJ1ZT4pOworCisgICAgLy8gR0xfVU5TSUdORURfSU5UIC0tIHVuLW5vcm1hbGl6ZWQK
KyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0lOVCwgICBHTF9GQUxT
RSwgMSwgVkVSVEVYX0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JNQVRfUjMyX1VJTlQsICAgICAgICAg
ICAmY29weVZlcnRleERhdGE8R0x1aW50LCAxLCAwPik7CisgICAgYWRkVmVydGV4Rm9ybWF0SW5m
bygmbWFwLCBHTF9VTlNJR05FRF9JTlQsICAgR0xfRkFMU0UsIDIsIFZFUlRFWF9DT05WRVJUX0dQ
VSwgIERYR0lfRk9STUFUX1IzMkczMl9VSU5ULCAgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMdWlu
dCwgMiwgMD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfSU5U
LCAgIEdMX0ZBTFNFLCAzLCBWRVJURVhfQ09OVkVSVF9HUFUsICBEWEdJX0ZPUk1BVF9SMzJHMzJC
MzJfVUlOVCwgICAgICZjb3B5VmVydGV4RGF0YTxHTHVpbnQsIDMsIDA+KTsKKyAgICBhZGRWZXJ0
ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0lOVCwgICBHTF9GQUxTRSwgNCwgVkVSVEVY
X0NPTlZFUlRfR1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX1VJTlQsICAmY29weVZlcnRl
eERhdGE8R0x1aW50LCA0LCAwPik7CisKKyAgICAvLyBHTF9VTlNJR05FRF9JTlQgLS0gbm9ybWFs
aXplZAorICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfSU5ULCAgIEdM
X1RSVUUsICAxLCBWRVJURVhfQ09OVkVSVF9OT05FLCBEWEdJX0ZPUk1BVF9SMzJfRkxPQVQsICAg
ICAgICAgICZjb3B5VG9GbG9hdFZlcnRleERhdGE8R0x1aW50LCAxLCB0cnVlPik7CisgICAgYWRk
VmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9VTlNJR05FRF9JTlQsICAgR0xfVFJVRSwgIDIsIFZF
UlRFWF9DT05WRVJUX05PTkUsIERYR0lfRk9STUFUX1IzMkczMl9GTE9BVCwgICAgICAgJmNvcHlU
b0Zsb2F0VmVydGV4RGF0YTxHTHVpbnQsIDIsIHRydWU+KTsKKyAgICBhZGRWZXJ0ZXhGb3JtYXRJ
bmZvKCZtYXAsIEdMX1VOU0lHTkVEX0lOVCwgICBHTF9UUlVFLCAgMywgVkVSVEVYX0NPTlZFUlRf
Q1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyX0ZMT0FULCAgICAmY29weVRvRmxvYXRWZXJ0ZXhE
YXRhPEdMdWludCwgMywgdHJ1ZT4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xf
VU5TSUdORURfSU5ULCAgIEdMX1RSVUUsICA0LCBWRVJURVhfQ09OVkVSVF9OT05FLCBEWEdJX0ZP
Uk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQsICZjb3B5VG9GbG9hdFZlcnRleERhdGE8R0x1aW50LCA0
LCB0cnVlPik7CisKKyAgICAvLyBHTF9GSVhFRAorICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1h
cCwgR0xfRklYRUQsICAgICAgICAgIEdMX0ZBTFNFLCAxLCBWRVJURVhfQ09OVkVSVF9DUFUsICBE
WEdJX0ZPUk1BVF9SMzJfRkxPQVQsICAgICAgICAgICZjb3B5Rml4ZWRWZXJ0ZXhEYXRhPDE+KTsK
KyAgICBhZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0ZJWEVELCAgICAgICAgICBHTF9GQUxT
RSwgMiwgVkVSVEVYX0NPTlZFUlRfQ1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyX0ZMT0FULCAgICAg
ICAmY29weUZpeGVkVmVydGV4RGF0YTwyPik7CisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFw
LCBHTF9GSVhFRCwgICAgICAgICAgR0xfRkFMU0UsIDMsIFZFUlRFWF9DT05WRVJUX0NQVSwgIERY
R0lfRk9STUFUX1IzMkczMkIzMl9GTE9BVCwgICAgJmNvcHlGaXhlZFZlcnRleERhdGE8Mz4pOwor
ICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfRklYRUQsICAgICAgICAgIEdMX0ZBTFNF
LCA0LCBWRVJURVhfQ09OVkVSVF9DUFUsICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfRkxPQVQs
ICZjb3B5Rml4ZWRWZXJ0ZXhEYXRhPDQ+KTsKKworICAgIC8vIEdMX0hBTEZfRkxPQVQKKyAgICBh
ZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0hBTEZfRkxPQVQsICAgICBHTF9GQUxTRSwgMSwg
VkVSVEVYX0NPTlZFUlRfTk9ORSwgRFhHSV9GT1JNQVRfUjE2X0ZMT0FULCAgICAgICAgICAmY29w
eVZlcnRleERhdGE8R0xoYWxmLCAxLCAwPik7CisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFw
LCBHTF9IQUxGX0ZMT0FULCAgICAgR0xfRkFMU0UsIDIsIFZFUlRFWF9DT05WRVJUX05PTkUsIERY
R0lfRk9STUFUX1IxNkcxNl9GTE9BVCwgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMaGFsZiwgMiwg
MD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfSEFMRl9GTE9BVCwgICAgIEdM
X0ZBTFNFLCAzLCBWRVJURVhfQ09OVkVSVF9DUFUsICBEWEdJX0ZPUk1BVF9SMTZHMTZCMTZBMTZf
RkxPQVQsICZjb3B5VmVydGV4RGF0YTxHTGhhbGYsIDMsIGdsOjpGbG9hdDE2T25lPik7CisgICAg
YWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9IQUxGX0ZMT0FULCAgICAgR0xfRkFMU0UsIDQs
IFZFUlRFWF9DT05WRVJUX05PTkUsIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9GTE9BVCwgJmNv
cHlWZXJ0ZXhEYXRhPEdMaGFsZiwgNCwgMD4pOworCisgICAgLy8gR0xfRkxPQVQKKyAgICBhZGRW
ZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0ZMT0FULCAgICAgICAgICBHTF9GQUxTRSwgMSwgVkVS
VEVYX0NPTlZFUlRfTk9ORSwgRFhHSV9GT1JNQVRfUjMyX0ZMT0FULCAgICAgICAgICAmY29weVZl
cnRleERhdGE8R0xmbG9hdCwgMSwgMD4pOworICAgIGFkZFZlcnRleEZvcm1hdEluZm8oJm1hcCwg
R0xfRkxPQVQsICAgICAgICAgIEdMX0ZBTFNFLCAyLCBWRVJURVhfQ09OVkVSVF9OT05FLCBEWEdJ
X0ZPUk1BVF9SMzJHMzJfRkxPQVQsICAgICAgICZjb3B5VmVydGV4RGF0YTxHTGZsb2F0LCAyLCAw
Pik7CisgICAgYWRkVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9GTE9BVCwgICAgICAgICAgR0xf
RkFMU0UsIDMsIFZFUlRFWF9DT05WRVJUX05PTkUsIERYR0lfRk9STUFUX1IzMkczMkIzMl9GTE9B
VCwgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMZmxvYXQsIDMsIDA+KTsKKyAgICBhZGRWZXJ0ZXhGb3Jt
YXRJbmZvKCZtYXAsIEdMX0ZMT0FULCAgICAgICAgICBHTF9GQUxTRSwgNCwgVkVSVEVYX0NPTlZF
UlRfTk9ORSwgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZMT0FULCAmY29weVZlcnRleERhdGE8
R0xmbG9hdCwgNCwgMD4pOworCisgICAgLy8gR0xfSU5UXzJfMTBfMTBfMTBfUkVWCisgICAgYWRk
VmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9JTlRfMl8xMF8xMF8xMF9SRVYsICAgICAgICAgIEdM
X0ZBTFNFLCAgNCwgVkVSVEVYX0NPTlZFUlRfQ1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMy
X0ZMT0FULCAmY29weVBhY2tlZFZlcnRleERhdGE8dHJ1ZSwgZmFsc2UsIHRydWU+KTsKKyAgICBh
ZGRWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0lOVF8yXzEwXzEwXzEwX1JFViwgICAgICAgICAg
R0xfVFJVRSwgICA0LCBWRVJURVhfQ09OVkVSVF9DUFUsICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJB
MzJfRkxPQVQsICZjb3B5UGFja2VkVmVydGV4RGF0YTx0cnVlLCB0cnVlLCAgdHJ1ZT4pOworCisg
ICAgLy8gR0xfVU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVWCisgICAgYWRkVmVydGV4Rm9ybWF0
SW5mbygmbWFwLCBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVYsIEdMX0ZBTFNFLCAgNCwg
VkVSVEVYX0NPTlZFUlRfQ1BVLCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyQTMyX0ZMT0FULCAmY29w
eVBhY2tlZFZlcnRleERhdGE8ZmFsc2UsIGZhbHNlLCB0cnVlPik7CisgICAgYWRkVmVydGV4Rm9y
bWF0SW5mbygmbWFwLCBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVYsIEdMX1RSVUUsICAg
NCwgVkVSVEVYX0NPTlZFUlRfTk9ORSwgRFhHSV9GT1JNQVRfUjEwRzEwQjEwQTJfVU5PUk0sICAm
Y29weVBhY2tlZFVuc2lnbmVkVmVydGV4RGF0YSk7CisKKyAgICAvLworICAgIC8vIEludGVnZXIg
Rm9ybWF0cworICAgIC8vCisKKyAgICAvLyBHTF9CWVRFCisgICAgYWRkSW50ZWdlclZlcnRleEZv
cm1hdEluZm8oJm1hcCwgR0xfQllURSwgICAgICAgICAgIDEsIFZFUlRFWF9DT05WRVJUX05PTkUs
ICBEWEdJX0ZPUk1BVF9SOF9TSU5ULCAgICAgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMYnl0ZSwg
MSwgMD4pOworICAgIGFkZEludGVnZXJWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX0JZVEUsICAg
ICAgICAgICAyLCBWRVJURVhfQ09OVkVSVF9OT05FLCAgRFhHSV9GT1JNQVRfUjhHOF9TSU5ULCAg
ICAgICAgICZjb3B5VmVydGV4RGF0YTxHTGJ5dGUsIDIsIDA+KTsKKyAgICBhZGRJbnRlZ2VyVmVy
dGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9CWVRFLCAgICAgICAgICAgMywgVkVSVEVYX0NPTlZFUlRf
Q1BVLCAgIERYR0lfRk9STUFUX1I4RzhCOEE4X1NJTlQsICAgICAmY29weVZlcnRleERhdGE8R0xi
eXRlLCAzLCAxPik7CisgICAgYWRkSW50ZWdlclZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfQllU
RSwgICAgICAgICAgIDQsIFZFUlRFWF9DT05WRVJUX05PTkUsICBEWEdJX0ZPUk1BVF9SOEc4QjhB
OF9TSU5ULCAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMYnl0ZSwgNCwgMD4pOworCisgICAgLy8gR0xf
VU5TSUdORURfQllURQorICAgIGFkZEludGVnZXJWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VO
U0lHTkVEX0JZVEUsICAxLCBWRVJURVhfQ09OVkVSVF9OT05FLCAgRFhHSV9GT1JNQVRfUjhfVUlO
VCwgICAgICAgICAgICZjb3B5VmVydGV4RGF0YTxHTHVieXRlLCAxLCAwPik7CisgICAgYWRkSW50
ZWdlclZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfQllURSwgIDIsIFZFUlRFWF9D
T05WRVJUX05PTkUsICBEWEdJX0ZPUk1BVF9SOEc4X1VJTlQsICAgICAgICAgJmNvcHlWZXJ0ZXhE
YXRhPEdMdWJ5dGUsIDIsIDA+KTsKKyAgICBhZGRJbnRlZ2VyVmVydGV4Rm9ybWF0SW5mbygmbWFw
LCBHTF9VTlNJR05FRF9CWVRFLCAgMywgVkVSVEVYX0NPTlZFUlRfQ1BVLCAgIERYR0lfRk9STUFU
X1I4RzhCOEE4X1VJTlQsICAgICAmY29weVZlcnRleERhdGE8R0x1Ynl0ZSwgMywgMT4pOworICAg
IGFkZEludGVnZXJWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0JZVEUsICA0LCBW
RVJURVhfQ09OVkVSVF9OT05FLCAgRFhHSV9GT1JNQVRfUjhHOEI4QThfVUlOVCwgICAgICZjb3B5
VmVydGV4RGF0YTxHTHVieXRlLCA0LCAwPik7CisKKyAgICAvLyBHTF9TSE9SVAorICAgIGFkZElu
dGVnZXJWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1NIT1JULCAgICAgICAgICAxLCBWRVJURVhf
Q09OVkVSVF9OT05FLCAgRFhHSV9GT1JNQVRfUjE2X1NJTlQsICAgICAgICAgICZjb3B5VmVydGV4
RGF0YTxHTHNob3J0LCAxLCAwPik7CisgICAgYWRkSW50ZWdlclZlcnRleEZvcm1hdEluZm8oJm1h
cCwgR0xfU0hPUlQsICAgICAgICAgIDIsIFZFUlRFWF9DT05WRVJUX05PTkUsICBEWEdJX0ZPUk1B
VF9SMTZHMTZfU0lOVCwgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMc2hvcnQsIDIsIDA+KTsKKyAg
ICBhZGRJbnRlZ2VyVmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9TSE9SVCwgICAgICAgICAgMywg
VkVSVEVYX0NPTlZFUlRfQ1BVLCAgIERYR0lfRk9STUFUX1IxNkcxNkIxNkExNl9TSU5ULCAmY29w
eVZlcnRleERhdGE8R0xzaG9ydCwgMywgMT4pOworICAgIGFkZEludGVnZXJWZXJ0ZXhGb3JtYXRJ
bmZvKCZtYXAsIEdMX1NIT1JULCAgICAgICAgICA0LCBWRVJURVhfQ09OVkVSVF9OT05FLCAgRFhH
SV9GT1JNQVRfUjE2RzE2QjE2QTE2X1NJTlQsICZjb3B5VmVydGV4RGF0YTxHTHNob3J0LCA0LCAw
Pik7CisKKyAgICAvLyBHTF9VTlNJR05FRF9TSE9SVAorICAgIGFkZEludGVnZXJWZXJ0ZXhGb3Jt
YXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX1NIT1JULCAxLCBWRVJURVhfQ09OVkVSVF9OT05FLCAg
RFhHSV9GT1JNQVRfUjE2X1VJTlQsICAgICAgICAgICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwg
MSwgMD4pOworICAgIGFkZEludGVnZXJWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVE
X1NIT1JULCAyLCBWRVJURVhfQ09OVkVSVF9OT05FLCAgRFhHSV9GT1JNQVRfUjE2RzE2X1VJTlQs
ICAgICAgICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwgMiwgMD4pOworICAgIGFkZEludGVnZXJW
ZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX1NIT1JULCAzLCBWRVJURVhfQ09OVkVS
VF9DUFUsICAgRFhHSV9GT1JNQVRfUjE2RzE2QjE2QTE2X1VJTlQsICZjb3B5VmVydGV4RGF0YTxH
THVzaG9ydCwgMywgMT4pOworICAgIGFkZEludGVnZXJWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdM
X1VOU0lHTkVEX1NIT1JULCA0LCBWRVJURVhfQ09OVkVSVF9OT05FLCAgRFhHSV9GT1JNQVRfUjE2
RzE2QjE2QTE2X1VJTlQsICZjb3B5VmVydGV4RGF0YTxHTHVzaG9ydCwgNCwgMD4pOworCisgICAg
Ly8gR0xfSU5UCisgICAgYWRkSW50ZWdlclZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfSU5ULCAg
ICAgICAgICAgIDEsIFZFUlRFWF9DT05WRVJUX05PTkUsICBEWEdJX0ZPUk1BVF9SMzJfU0lOVCwg
ICAgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMaW50LCAxLCAwPik7CisgICAgYWRkSW50ZWdlclZl
cnRleEZvcm1hdEluZm8oJm1hcCwgR0xfSU5ULCAgICAgICAgICAgIDIsIFZFUlRFWF9DT05WRVJU
X05PTkUsICBEWEdJX0ZPUk1BVF9SMzJHMzJfU0lOVCwgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdM
aW50LCAyLCAwPik7CisgICAgYWRkSW50ZWdlclZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfSU5U
LCAgICAgICAgICAgIDMsIFZFUlRFWF9DT05WRVJUX05PTkUsICBEWEdJX0ZPUk1BVF9SMzJHMzJC
MzJfU0lOVCwgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMaW50LCAzLCAwPik7CisgICAgYWRkSW50ZWdl
clZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfSU5ULCAgICAgICAgICAgIDQsIFZFUlRFWF9DT05W
RVJUX05PTkUsICBEWEdJX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0lOVCwgJmNvcHlWZXJ0ZXhEYXRh
PEdMaW50LCA0LCAwPik7CisKKyAgICAvLyBHTF9VTlNJR05FRF9JTlQKKyAgICBhZGRJbnRlZ2Vy
VmVydGV4Rm9ybWF0SW5mbygmbWFwLCBHTF9VTlNJR05FRF9JTlQsICAgMSwgVkVSVEVYX0NPTlZF
UlRfTk9ORSwgIERYR0lfRk9STUFUX1IzMl9TSU5ULCAgICAgICAgICAmY29weVZlcnRleERhdGE8
R0x1aW50LCAxLCAwPik7CisgICAgYWRkSW50ZWdlclZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xf
VU5TSUdORURfSU5ULCAgIDIsIFZFUlRFWF9DT05WRVJUX05PTkUsICBEWEdJX0ZPUk1BVF9SMzJH
MzJfU0lOVCwgICAgICAgJmNvcHlWZXJ0ZXhEYXRhPEdMdWludCwgMiwgMD4pOworICAgIGFkZElu
dGVnZXJWZXJ0ZXhGb3JtYXRJbmZvKCZtYXAsIEdMX1VOU0lHTkVEX0lOVCwgICAzLCBWRVJURVhf
Q09OVkVSVF9OT05FLCAgRFhHSV9GT1JNQVRfUjMyRzMyQjMyX1NJTlQsICAgICZjb3B5VmVydGV4
RGF0YTxHTHVpbnQsIDMsIDA+KTsKKyAgICBhZGRJbnRlZ2VyVmVydGV4Rm9ybWF0SW5mbygmbWFw
LCBHTF9VTlNJR05FRF9JTlQsICAgNCwgVkVSVEVYX0NPTlZFUlRfTk9ORSwgIERYR0lfRk9STUFU
X1IzMkczMkIzMkEzMl9TSU5ULCAmY29weVZlcnRleERhdGE8R0x1aW50LCA0LCAwPik7CisKKyAg
ICAvLyBHTF9JTlRfMl8xMF8xMF8xMF9SRVYKKyAgICBhZGRJbnRlZ2VyVmVydGV4Rm9ybWF0SW5m
bygmbWFwLCBHTF9JTlRfMl8xMF8xMF8xMF9SRVYsIDQsIFZFUlRFWF9DT05WRVJUX0NQVSwgRFhH
SV9GT1JNQVRfUjE2RzE2QjE2QTE2X1NJTlQsICZjb3B5UGFja2VkVmVydGV4RGF0YTx0cnVlLCB0
cnVlLCBmYWxzZT4pOworCisgICAgLy8gR0xfVU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVWCisg
ICAgYWRkSW50ZWdlclZlcnRleEZvcm1hdEluZm8oJm1hcCwgR0xfVU5TSUdORURfSU5UXzJfMTBf
MTBfMTBfUkVWLCA0LCBWRVJURVhfQ09OVkVSVF9OT05FLCBEWEdJX0ZPUk1BVF9SMTBHMTBCMTBB
Ml9VSU5ULCAmY29weVBhY2tlZFVuc2lnbmVkVmVydGV4RGF0YSk7CisKKyAgICByZXR1cm4gbWFw
OworfQorCitzdGF0aWMgYm9vbCBHZXREM0QxMVZlcnRleEZvcm1hdEluZm8oY29uc3QgZ2w6OlZl
cnRleEZvcm1hdCAmdmVydGV4Rm9ybWF0LCBEM0QxMVZlcnRleEZvcm1hdEluZm8gKm91dFZlcnRl
eEZvcm1hdEluZm8pCit7CisgICAgc3RhdGljIGNvbnN0IEQzRDExVmVydGV4Rm9ybWF0SW5mb01h
cCB2ZXJ0ZXhGb3JtYXRNYXAgPSBCdWlsZEQzRDExVmVydGV4Rm9ybWF0SW5mb01hcCgpOworCisg
ICAgRDNEMTFWZXJ0ZXhGb3JtYXRJbmZvTWFwOjpjb25zdF9pdGVyYXRvciBpdGVyID0gdmVydGV4
Rm9ybWF0TWFwLmZpbmQodmVydGV4Rm9ybWF0KTsKKyAgICBpZiAoaXRlciAhPSB2ZXJ0ZXhGb3Jt
YXRNYXAuZW5kKCkpCisgICAgeworICAgICAgICBpZiAob3V0VmVydGV4Rm9ybWF0SW5mbykKKyAg
ICAgICAgeworICAgICAgICAgICAgKm91dFZlcnRleEZvcm1hdEluZm8gPSBpdGVyLT5zZWNvbmQ7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGVsc2UKKyAgICB7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK1ZlcnRleENvcHlGdW5jdGlvbiBH
ZXRWZXJ0ZXhDb3B5RnVuY3Rpb24oY29uc3QgZ2w6OlZlcnRleEZvcm1hdCAmdmVydGV4Rm9ybWF0
KQoreworICAgIEQzRDExVmVydGV4Rm9ybWF0SW5mbyB2ZXJ0ZXhGb3JtYXRJbmZvOworICAgIGlm
IChHZXREM0QxMVZlcnRleEZvcm1hdEluZm8odmVydGV4Rm9ybWF0LCAmdmVydGV4Rm9ybWF0SW5m
bykpCisgICAgeworICAgICAgICByZXR1cm4gdmVydGV4Rm9ybWF0SW5mby5tQ29weUZ1bmN0aW9u
OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAg
ICByZXR1cm4gTlVMTDsKKyAgICB9Cit9CisKK3NpemVfdCBHZXRWZXJ0ZXhFbGVtZW50U2l6ZShj
b25zdCBnbDo6VmVydGV4Rm9ybWF0ICZ2ZXJ0ZXhGb3JtYXQpCit7CisgICAgRDNEMTFWZXJ0ZXhG
b3JtYXRJbmZvIHZlcnRleEZvcm1hdEluZm87CisgICAgaWYgKEdldEQzRDExVmVydGV4Rm9ybWF0
SW5mbyh2ZXJ0ZXhGb3JtYXQsICZ2ZXJ0ZXhGb3JtYXRJbmZvKSkKKyAgICB7CisgICAgICAgIC8v
IEZJWE1FOiBzaG91bGQgbm90IG5lZWQgYSBjbGllbnQgdmVyc2lvbiwgYW5kIGlzIG5vdCBhIHBp
eGVsIQorICAgICAgICByZXR1cm4gZDNkMTE6OkdldEZvcm1hdFBpeGVsQnl0ZXModmVydGV4Rm9y
bWF0SW5mby5tTmF0aXZlRm9ybWF0KTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAg
VU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCityeDo6VmVydGV4
Q29udmVyc2lvblR5cGUgR2V0VmVydGV4Q29udmVyc2lvblR5cGUoY29uc3QgZ2w6OlZlcnRleEZv
cm1hdCAmdmVydGV4Rm9ybWF0KQoreworICAgIEQzRDExVmVydGV4Rm9ybWF0SW5mbyB2ZXJ0ZXhG
b3JtYXRJbmZvOworICAgIGlmIChHZXREM0QxMVZlcnRleEZvcm1hdEluZm8odmVydGV4Rm9ybWF0
LCAmdmVydGV4Rm9ybWF0SW5mbykpCisgICAgeworICAgICAgICByZXR1cm4gdmVydGV4Rm9ybWF0
SW5mby5tQ29udmVyc2lvblR5cGU7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIFVO
UkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiBWRVJURVhfQ09OVkVSVF9OT05FOworICAgIH0K
K30KKworRFhHSV9GT1JNQVQgR2V0TmF0aXZlVmVydGV4Rm9ybWF0KGNvbnN0IGdsOjpWZXJ0ZXhG
b3JtYXQgJnZlcnRleEZvcm1hdCkKK3sKKyAgICBEM0QxMVZlcnRleEZvcm1hdEluZm8gdmVydGV4
Rm9ybWF0SW5mbzsKKyAgICBpZiAoR2V0RDNEMTFWZXJ0ZXhGb3JtYXRJbmZvKHZlcnRleEZvcm1h
dCwgJnZlcnRleEZvcm1hdEluZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHZlcnRleEZvcm1h
dEluZm8ubU5hdGl2ZUZvcm1hdDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgVU5S
RUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIERYR0lfRk9STUFUX1VOS05PV047CisgICAgfQor
fQorCit9CisKK25hbWVzcGFjZSBkM2QxMV9nbAoreworCitHTGVudW0gR2V0SW50ZXJuYWxGb3Jt
YXQoRFhHSV9GT1JNQVQgZm9ybWF0LCBHTHVpbnQgY2xpZW50VmVyc2lvbikKK3sKKyAgICBpZiAo
Y2xpZW50VmVyc2lvbiA9PSAyKQorICAgIHsKKyAgICAgICAgc3RhdGljIERYR0lUb0VTRm9ybWF0
TWFwIGVzMkZvcm1hdE1hcCA9IEJ1aWxkRFhHSVRvRVMyRm9ybWF0TWFwKCk7CisgICAgICAgIGF1
dG8gZm9ybWF0SXQgPSBlczJGb3JtYXRNYXAuZmluZChmb3JtYXQpOworICAgICAgICBpZiAoZm9y
bWF0SXQgIT0gZXMyRm9ybWF0TWFwLmVuZCgpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gZm9ybWF0SXQtPnNlY29uZDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmIChjbGll
bnRWZXJzaW9uID09IDMpCisgICAgeworICAgICAgICBzdGF0aWMgRFhHSVRvRVNGb3JtYXRNYXAg
ZXMzRm9ybWF0TWFwID0gQnVpbGREWEdJVG9FUzNGb3JtYXRNYXAoKTsKKyAgICAgICAgYXV0byBm
b3JtYXRJdCA9IGVzM0Zvcm1hdE1hcC5maW5kKGZvcm1hdCk7CisgICAgICAgIGlmIChmb3JtYXRJ
dCAhPSBlczNGb3JtYXRNYXAuZW5kKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBm
b3JtYXRJdC0+c2Vjb25kOworICAgICAgICB9CisgICAgfQorCisgICAgVU5SRUFDSEFCTEUoKTsK
KyAgICByZXR1cm4gR0xfTk9ORTsKK30KKworfQorCit9CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL2Zvcm1hdHV0aWxzMTEuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVy
L2QzZDExL2Zvcm1hdHV0aWxzMTEuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvZm9ybWF0dXRpbHMxMS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNzkgQEAKKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhl
IEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisvLyBmb3JtYXR1dGls
czExLmg6IFF1ZXJpZXMgZm9yIEdMIGltYWdlIGZvcm1hdHMgYW5kIHRoZWlyIHRyYW5zbGF0aW9u
cyB0byBEM0QxMQorLy8gZm9ybWF0cy4KKworI2lmbmRlZiBMSUJHTEVTVjJfUkVOREVSRVJfRk9S
TUFUVVRJTFMxMV9IXworI2RlZmluZSBMSUJHTEVTVjJfUkVOREVSRVJfRk9STUFUVVRJTFMxMV9I
XworCisjaW5jbHVkZSAibGliR0xFU3YyL2Zvcm1hdHV0aWxzLmgiCisKK25hbWVzcGFjZSByeAor
eworCitjbGFzcyBSZW5kZXJlcjsKKworbmFtZXNwYWNlIGQzZDExCit7CisKK3R5cGVkZWYgc3Rk
OjpzZXQ8RFhHSV9GT1JNQVQ+IERYR0lGb3JtYXRTZXQ7CisKK01pcEdlbmVyYXRpb25GdW5jdGlv
biBHZXRNaXBHZW5lcmF0aW9uRnVuY3Rpb24oRFhHSV9GT1JNQVQgZm9ybWF0KTsKK0xvYWRJbWFn
ZUZ1bmN0aW9uIEdldEltYWdlTG9hZEZ1bmN0aW9uKEdMZW51bSBpbnRlcm5hbEZvcm1hdCwgR0xl
bnVtIHR5cGUsIEdMdWludCBjbGllbnRWZXJzaW9uKTsKKworR0x1aW50IEdldEZvcm1hdFBpeGVs
Qnl0ZXMoRFhHSV9GT1JNQVQgZm9ybWF0KTsKK0dMdWludCBHZXRCbG9ja1dpZHRoKERYR0lfRk9S
TUFUIGZvcm1hdCk7CitHTHVpbnQgR2V0QmxvY2tIZWlnaHQoRFhHSV9GT1JNQVQgZm9ybWF0KTsK
K0dMZW51bSBHZXRDb21wb25lbnRUeXBlKERYR0lfRk9STUFUIGZvcm1hdCk7CisKK0dMdWludCBH
ZXREZXB0aEJpdHMoRFhHSV9GT1JNQVQgZm9ybWF0KTsKK0dMdWludCBHZXREZXB0aE9mZnNldChE
WEdJX0ZPUk1BVCBmb3JtYXQpOworR0x1aW50IEdldFN0ZW5jaWxCaXRzKERYR0lfRk9STUFUIGZv
cm1hdCk7CitHTHVpbnQgR2V0U3RlbmNpbE9mZnNldChEWEdJX0ZPUk1BVCBmb3JtYXQpOworCit2
b2lkIE1ha2VWYWxpZFNpemUoYm9vbCBpc0ltYWdlLCBEWEdJX0ZPUk1BVCBmb3JtYXQsIEdMc2l6
ZWkgKnJlcXVlc3RXaWR0aCwgR0xzaXplaSAqcmVxdWVzdEhlaWdodCwgaW50ICpsZXZlbE9mZnNl
dCk7CisKK2NvbnN0IERYR0lGb3JtYXRTZXQgJkdldEFsbFVzZWREWEdJRm9ybWF0cygpOworCitD
b2xvclJlYWRGdW5jdGlvbiBHZXRDb2xvclJlYWRGdW5jdGlvbihEWEdJX0ZPUk1BVCBmb3JtYXQp
OworQ29sb3JDb3B5RnVuY3Rpb24gR2V0RmFzdENvcHlGdW5jdGlvbihEWEdJX0ZPUk1BVCBzb3Vy
Y2VGb3JtYXQsIEdMZW51bSBkZXN0Rm9ybWF0LCBHTGVudW0gZGVzdFR5cGUpOworCit9CisKK25h
bWVzcGFjZSBnbF9kM2QxMQoreworCitEWEdJX0ZPUk1BVCBHZXRUZXhGb3JtYXQoR0xlbnVtIGlu
dGVybmFsRm9ybWF0LCBHTHVpbnQgY2xpZW50VmVyc2lvbik7CitEWEdJX0ZPUk1BVCBHZXRTUlZG
b3JtYXQoR0xlbnVtIGludGVybmFsRm9ybWF0LCBHTHVpbnQgY2xpZW50VmVyc2lvbik7CitEWEdJ
X0ZPUk1BVCBHZXRSVFZGb3JtYXQoR0xlbnVtIGludGVybmFsRm9ybWF0LCBHTHVpbnQgY2xpZW50
VmVyc2lvbik7CitEWEdJX0ZPUk1BVCBHZXREU1ZGb3JtYXQoR0xlbnVtIGludGVybmFsRm9ybWF0
LCBHTHVpbnQgY2xpZW50VmVyc2lvbik7CitEWEdJX0ZPUk1BVCBHZXRSZW5kZXJhYmxlRm9ybWF0
KEdMZW51bSBpbnRlcm5hbEZvcm1hdCwgR0x1aW50IGNsaWVudFZlcnNpb24pOworCitEWEdJX0ZP
Uk1BVCBHZXRTd2l6emxlVGV4Rm9ybWF0KEdMaW50IGludGVybmFsRm9ybWF0LCBjb25zdCBSZW5k
ZXJlciAqcmVuZGVyZXIpOworRFhHSV9GT1JNQVQgR2V0U3dpenpsZVNSVkZvcm1hdChHTGludCBp
bnRlcm5hbEZvcm1hdCwgY29uc3QgUmVuZGVyZXIgKnJlbmRlcmVyKTsKK0RYR0lfRk9STUFUIEdl
dFN3aXp6bGVSVFZGb3JtYXQoR0xpbnQgaW50ZXJuYWxGb3JtYXQsIGNvbnN0IFJlbmRlcmVyICpy
ZW5kZXJlcik7CisKK2Jvb2wgUmVxdWlyZXNUZXh0dXJlRGF0YUluaXRpYWxpemF0aW9uKEdMaW50
IGludGVybmFsRm9ybWF0KTsKK0luaXRpYWxpemVUZXh0dXJlRGF0YUZ1bmN0aW9uIEdldFRleHR1
cmVEYXRhSW5pdGlhbGl6YXRpb25GdW5jdGlvbihHTGludCBpbnRlcm5hbEZvcm1hdCk7CisKK1Zl
cnRleENvcHlGdW5jdGlvbiBHZXRWZXJ0ZXhDb3B5RnVuY3Rpb24oY29uc3QgZ2w6OlZlcnRleEZv
cm1hdCAmdmVydGV4Rm9ybWF0KTsKK3NpemVfdCBHZXRWZXJ0ZXhFbGVtZW50U2l6ZShjb25zdCBn
bDo6VmVydGV4Rm9ybWF0ICZ2ZXJ0ZXhGb3JtYXQpOworVmVydGV4Q29udmVyc2lvblR5cGUgR2V0
VmVydGV4Q29udmVyc2lvblR5cGUoY29uc3QgZ2w6OlZlcnRleEZvcm1hdCAmdmVydGV4Rm9ybWF0
KTsKK0RYR0lfRk9STUFUIEdldE5hdGl2ZVZlcnRleEZvcm1hdChjb25zdCBnbDo6VmVydGV4Rm9y
bWF0ICZ2ZXJ0ZXhGb3JtYXQpOworCit9CisKK25hbWVzcGFjZSBkM2QxMV9nbAoreworCitHTGVu
dW0gR2V0SW50ZXJuYWxGb3JtYXQoRFhHSV9GT1JNQVQgZm9ybWF0LCBHTHVpbnQgY2xpZW50VmVy
c2lvbik7CisKK30KKworfQorCisjZW5kaWYgLy8gTElCR0xFU1YyX1JFTkRFUkVSX0ZPUk1BVFVU
SUxTMTFfSF8KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVu
ZGVyZXIvZDNkMTEvc2hhZGVycy9CdWZmZXJUb1RleHR1cmUxMS5obHNsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hh
ZGVycy9CdWZmZXJUb1RleHR1cmUxMS5obHNsCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL0J1ZmZlclRv
VGV4dHVyZTExLmhsc2wJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NiBAQAorQnVmZmVyPGZs
b2F0ND4gICAgQnVmZmVyNEYgIDogcmVnaXN0ZXIodDApOworQnVmZmVyPGludDQ+ICAgICAgQnVm
ZmVyNEkgIDogcmVnaXN0ZXIodDApOworQnVmZmVyPHVpbnQ0PiAgICAgQnVmZmVyNFVJIDogcmVn
aXN0ZXIodDApOworCitzdHJ1Y3QgVlNfT1VUUFVUCit7CisgICAgZmxvYXQ0IHBvc2l0aW9uIDog
U1ZfUG9zaXRpb247CisgICAgdWludCBpbmRleCAgICAgIDogVEVYQ09PUkQwOworICAgIHVpbnQg
c2xpY2UgICAgICA6IExBWUVSOworfTsKKworc3RydWN0IEdTX09VVFBVVAoreworICAgIGZsb2F0
NCBwb3NpdGlvbiA6IFNWX1Bvc2l0aW9uOworICAgIHVpbnQgaW5kZXggICAgICA6IFRFWENPT1JE
MDsKKyAgICB1aW50IHNsaWNlICAgICAgOiBTVl9SZW5kZXJUYXJnZXRBcnJheUluZGV4OworfTsK
KworY2J1ZmZlciBCdWZmZXJDb3B5UGFyYW1zIDogcmVnaXN0ZXIoYjApCit7CisgICAgdWludCBG
aXJzdFBpeGVsT2Zmc2V0OworICAgIHVpbnQgUGl4ZWxzUGVyUm93OworICAgIHVpbnQgUm93U3Ry
aWRlOworICAgIHVpbnQgUm93c1BlclNsaWNlOworICAgIGZsb2F0MiBQb3NpdGlvbk9mZnNldDsK
KyAgICBmbG9hdDIgUG9zaXRpb25TY2FsZTsKKyAgICBpbnQyIFRleExvY2F0aW9uT2Zmc2V0Owor
ICAgIGludDIgVGV4TG9jYXRpb25TY2FsZTsKK30KKwordm9pZCBDb21wdXRlUG9zaXRpb25BbmRJ
bmRleCh1aW50IHZlcnRleElELCBvdXQgVlNfT1VUUFVUIG91dFZlcnRleCkKK3sKKyAgICB1aW50
IFBpeGVsc1BlclNsaWNlID0gUGl4ZWxzUGVyUm93ICogUm93c1BlclNsaWNlOworICAgIHVpbnQg
U2xpY2VTdHJpZGUgICAgPSBSb3dTdHJpZGUgKiBSb3dzUGVyU2xpY2U7CisKKyAgICB1aW50IHNs
aWNlICAgICAgICAgID0gdmVydGV4SUQgLyBQaXhlbHNQZXJTbGljZTsKKyAgICB1aW50IHNsaWNl
T2Zmc2V0ICAgID0gc2xpY2UgKiBQaXhlbHNQZXJTbGljZTsKKyAgICB1aW50IHJvdyAgICAgICAg
ICAgID0gKHZlcnRleElEIC0gc2xpY2VPZmZzZXQpIC8gUGl4ZWxzUGVyUm93OworICAgIHVpbnQg
Y29sICAgICAgICAgICAgPSB2ZXJ0ZXhJRCAtIHNsaWNlT2Zmc2V0IC0gKHJvdyAqIFBpeGVsc1Bl
clJvdyk7CisKKyAgICBmbG9hdDIgY29vcmRzICAgICAgID0gZmxvYXQyKGZsb2F0KGNvbCksIGZs
b2F0KHJvdykpOworCisgICAgb3V0VmVydGV4LnBvc2l0aW9uICA9IGZsb2F0NChQb3NpdGlvbk9m
ZnNldCArIFBvc2l0aW9uU2NhbGUgKiBjb29yZHMsIDAuMGYsIDEuMGYpOworICAgIG91dFZlcnRl
eC5pbmRleCAgICAgPSBGaXJzdFBpeGVsT2Zmc2V0ICsgc2xpY2UgKiBTbGljZVN0cmlkZSArIHJv
dyAqIFJvd1N0cmlkZSArIGNvbDsKKyAgICBvdXRWZXJ0ZXguc2xpY2UgICAgID0gc2xpY2U7Cit9
CisKK3ZvaWQgVlNfQnVmZmVyVG9UZXh0dXJlKGluIHVpbnQgdmVydGV4SUQgOiBTVl9WZXJ0ZXhJ
RCwgb3V0IFZTX09VVFBVVCBvdXRWZXJ0ZXgpCit7CisgICAgQ29tcHV0ZVBvc2l0aW9uQW5kSW5k
ZXgodmVydGV4SUQsIG91dFZlcnRleCk7Cit9CisKK1ttYXh2ZXJ0ZXhjb3VudCgxKV0KK3ZvaWQg
R1NfQnVmZmVyVG9UZXh0dXJlKHBvaW50IFZTX09VVFBVVCBpblZlcnRleFsxXSwgaW5vdXQgUG9p
bnRTdHJlYW08R1NfT1VUUFVUPiBvdXRTdHJlYW0pCit7CisgICAgR1NfT1VUUFVUIG91dFZlcnRl
eDsKKyAgICBvdXRWZXJ0ZXgucG9zaXRpb24gID0gaW5WZXJ0ZXhbMF0ucG9zaXRpb247CisgICAg
b3V0VmVydGV4LmluZGV4ICAgICA9IGluVmVydGV4WzBdLmluZGV4OworICAgIG91dFZlcnRleC5z
bGljZSAgICAgPSBpblZlcnRleFswXS5zbGljZTsKKyAgICBvdXRTdHJlYW0uQXBwZW5kKG91dFZl
cnRleCk7Cit9CisKK2Zsb2F0NCBQU19CdWZmZXJUb1RleHR1cmVfNEYoaW4gZmxvYXQ0IGluUG9z
aXRpb24gOiBTVl9Qb3NpdGlvbiwgaW4gdWludCBpbkluZGV4IDogVEVYQ09PUkQwKSA6IFNWX1Rh
cmdldAoreworICAgIHJldHVybiBCdWZmZXI0Ri5Mb2FkKGluSW5kZXgpOworfQorCitpbnQ0IFBT
X0J1ZmZlclRvVGV4dHVyZV80SShpbiBmbG9hdDQgaW5Qb3NpdGlvbiA6IFNWX1Bvc2l0aW9uLCBp
biB1aW50IGluSW5kZXggOiBURVhDT09SRDApIDogU1ZfVGFyZ2V0Cit7CisgICAgcmV0dXJuIEJ1
ZmZlcjRJLkxvYWQoaW5JbmRleCk7Cit9CisKK3VpbnQ0IFBTX0J1ZmZlclRvVGV4dHVyZV80VUko
aW4gZmxvYXQ0IGluUG9zaXRpb24gOiBTVl9Qb3NpdGlvbiwgaW4gdWludCBpbkluZGV4IDogVEVY
Q09PUkQwKSA6IFNWX1RhcmdldAoreworICAgIHJldHVybiBCdWZmZXI0VUkuTG9hZChpbkluZGV4
KTsKK30KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVy
ZXIvZDNkMTEvc2hhZGVycy9QYXNzdGhyb3VnaDExLmhsc2wKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL1Bh
c3N0aHJvdWdoMTEuaGxzbAkocmV2aXNpb24gMTY4MTAzKQorKysgU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL1Bhc3N0aHJvdWdoMTEu
aGxzbAkod29ya2luZyBjb3B5KQpAQCAtMSwyOSArMCwwIEBACi1UZXh0dXJlMkQgVGV4dHVyZSA6
IHJlZ2lzdGVyKHQwKTsKLVNhbXBsZXJTdGF0ZSBTYW1wbGVyIDogcmVnaXN0ZXIoczApOwotCi12
b2lkIFZTX1Bhc3N0aHJvdWdoKCBpbiBmbG9hdDIgIGluUG9zaXRpb24gOiAgICBQT1NJVElPTiwg
IGluIGZsb2F0MiAgaW5UZXhDb29yZCA6IFRFWENPT1JEMCwKLSAgICAgICAgICAgICAgICAgICAg
b3V0IGZsb2F0NCBvdXRQb3NpdGlvbiA6IFNWX1BPU0lUSU9OLCBvdXQgZmxvYXQyIG91dFRleENv
b3JkIDogVEVYQ09PUkQwKQotewotICAgIG91dFBvc2l0aW9uID0gZmxvYXQ0KGluUG9zaXRpb24s
IDAuMGYsIDEuMGYpOwotICAgIG91dFRleENvb3JkID0gaW5UZXhDb29yZDsKLX0KLQotZmxvYXQ0
IFBTX1Bhc3N0aHJvdWdoUkdCQShpbiBmbG9hdDQgaW5Qb3NpdGlvbiA6IFNWX1BPU0lUSU9OLCBp
biBmbG9hdDIgaW5UZXhDb29yZCA6IFRFWENPT1JEMCkgOiBTVl9UQVJHRVQwCi17Ci0gICAgcmV0
dXJuIFRleHR1cmUuU2FtcGxlKFNhbXBsZXIsIGluVGV4Q29vcmQpLnJnYmE7Ci19Ci0KLWZsb2F0
NCBQU19QYXNzdGhyb3VnaFJHQihpbiBmbG9hdDQgaW5Qb3NpdGlvbiA6IFNWX1BPU0lUSU9OLCBp
biBmbG9hdDIgaW5UZXhDb29yZCA6IFRFWENPT1JEMCkgOiBTVl9UQVJHRVQwCi17Ci0gICAgcmV0
dXJuIGZsb2F0NChUZXh0dXJlLlNhbXBsZShTYW1wbGVyLCBpblRleENvb3JkKS5yZ2IsIDEuMGYp
OwotfQotCi1mbG9hdDQgUFNfUGFzc3Rocm91Z2hMdW0oaW4gZmxvYXQ0IGluUG9zaXRpb24gOiBT
Vl9QT1NJVElPTiwgaW4gZmxvYXQyIGluVGV4Q29vcmQgOiBURVhDT09SRDApIDogU1ZfVEFSR0VU
MAotewotICAgIHJldHVybiBmbG9hdDQoVGV4dHVyZS5TYW1wbGUoU2FtcGxlciwgaW5UZXhDb29y
ZCkucnJyLCAxLjBmKTsKLX0KLQotZmxvYXQ0IFBTX1Bhc3N0aHJvdWdoTHVtQWxwaGEoaW4gZmxv
YXQ0IGluUG9zaXRpb24gOiBTVl9QT1NJVElPTiwgaW4gZmxvYXQyIGluVGV4Q29vcmQgOiBURVhD
T09SRDApIDogU1ZfVEFSR0VUMAotewotICAgIHJldHVybiBUZXh0dXJlLlNhbXBsZShTYW1wbGVy
LCBpblRleENvb3JkKS5ycnJhOwotfQpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL1Bhc3N0aHJvdWdoM0QxMS5obHNsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVy
ZXIvZDNkMTEvc2hhZGVycy9QYXNzdGhyb3VnaDNEMTEuaGxzbAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9QYXNzdGhyb3VnaDNEMTEuaGxzbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0NiBAQAor
VGV4dHVyZTNEPGZsb2F0ND4gVGV4dHVyZUYgIDogcmVnaXN0ZXIodDApOworVGV4dHVyZTNEPHVp
bnQ0PiAgVGV4dHVyZVVJIDogcmVnaXN0ZXIodDApOworVGV4dHVyZTNEPGludDQ+ICAgVGV4dHVy
ZUkgIDogcmVnaXN0ZXIodDApOworCitTYW1wbGVyU3RhdGUgICAgICBTYW1wbGVyICAgOiByZWdp
c3RlcihzMCk7CisKK3N0cnVjdCBWU19JTlBVVAoreworICAgIGZsb2F0MiBQb3NpdGlvbiA6IFBP
U0lUSU9OOworICAgIHVpbnQgICBMYXllciAgICA6IExBWUVSOworICAgIGZsb2F0MyBUZXhDb29y
ZCA6IFRFWENPT1JEOworfTsKKworc3RydWN0IFZTX09VVFBVVAoreworICAgIGZsb2F0NCBQb3Np
dGlvbiA6IFNWX1BPU0lUSU9OOworICAgIHVpbnQgICBMYXllciAgICA6IExBWUVSOworICAgIGZs
b2F0MyBUZXhDb29yZCA6IFRFWENPT1JEOworfTsKKworc3RydWN0IEdTX09VVFBVVAoreworICAg
IGZsb2F0NCBQb3NpdGlvbiA6IFNWX1BPU0lUSU9OOworICAgIHVpbnQgICBMYXllciAgICA6IFNW
X1JFTkRFUlRBUkdFVEFSUkFZSU5ERVg7CisgICAgZmxvYXQzIFRleENvb3JkIDogVEVYQ09PUkQ7
Cit9OworCitWU19PVVRQVVQgVlNfUGFzc3Rocm91Z2gzRChWU19JTlBVVCBpbnB1dCkKK3sKKyAg
ICBWU19PVVRQVVQgb3V0cHV0OworCisgICAgb3V0cHV0LlBvc2l0aW9uID0gZmxvYXQ0KGlucHV0
LlBvc2l0aW9uLCAwLjBmLCAxLjBmKTsKKyAgICBvdXRwdXQuTGF5ZXIgPSBpbnB1dC5MYXllcjsK
KyAgICBvdXRwdXQuVGV4Q29vcmQgPSBpbnB1dC5UZXhDb29yZDsKKworICAgIHJldHVybiBvdXRw
dXQ7Cit9CisKK1ttYXh2ZXJ0ZXhjb3VudCgzKV0KK3ZvaWQgR1NfUGFzc3Rocm91Z2gzRCh0cmlh
bmdsZSBWU19PVVRQVVQgaW5wdXRbM10sIGlub3V0IFRyaWFuZ2xlU3RyZWFtPEdTX09VVFBVVD4g
b3V0cHV0U3RyZWFtKQoreworICAgIEdTX09VVFBVVCBvdXRwdXQ7CisKKyAgICBmb3IgKGludCBp
ID0gMDsgaSA8IDM7IGkrKykKKyAgICB7CisgICAgICAgIG91dHB1dC5Qb3NpdGlvbiA9IGlucHV0
W2ldLlBvc2l0aW9uOworICAgICAgICBvdXRwdXQuTGF5ZXIgPSBpbnB1dFtpXS5MYXllcjsKKyAg
ICAgICAgb3V0cHV0LlRleENvb3JkID0gaW5wdXRbaV0uVGV4Q29vcmQ7CisKKyAgICAgICAgb3V0
cHV0U3RyZWFtLkFwcGVuZChvdXRwdXQpOworICAgIH0KK30KKworZmxvYXQ0IFBTX1Bhc3N0aHJv
dWdoUkdCQTNEKEdTX09VVFBVVCBpbnB1dCkgOiBTVl9UQVJHRVQwCit7CisgICAgcmV0dXJuIFRl
eHR1cmVGLlNhbXBsZShTYW1wbGVyLCBpbnB1dC5UZXhDb29yZCkucmdiYTsKK30KKwordWludDQg
UFNfUGFzc3Rocm91Z2hSR0JBM0RVSShHU19PVVRQVVQgaW5wdXQpIDogU1ZfVEFSR0VUMAorewor
ICAgIHVpbnQzIHNpemU7CisgICAgVGV4dHVyZVVJLkdldERpbWVuc2lvbnMoc2l6ZS54LCBzaXpl
LnksIHNpemUueik7CisKKyAgICByZXR1cm4gVGV4dHVyZVVJLkxvYWQoaW50NChzaXplICogaW5w
dXQuVGV4Q29vcmQsIDApKS5yZ2JhOworfQorCitpbnQ0IFBTX1Bhc3N0aHJvdWdoUkdCQTNESShH
U19PVVRQVVQgaW5wdXQpIDogU1ZfVEFSR0VUMAoreworICAgIHVpbnQzIHNpemU7CisgICAgVGV4
dHVyZUkuR2V0RGltZW5zaW9ucyhzaXplLngsIHNpemUueSwgc2l6ZS56KTsKKworICAgIHJldHVy
biBUZXh0dXJlSS5Mb2FkKGludDQoc2l6ZSAqIGlucHV0LlRleENvb3JkLCAwKSkucmdiYTsKK30K
KworZmxvYXQ0IFBTX1Bhc3N0aHJvdWdoUkdCM0QoR1NfT1VUUFVUIGlucHV0KSA6IFNWX1RBUkdF
VDAKK3sKKyAgICByZXR1cm4gZmxvYXQ0KFRleHR1cmVGLlNhbXBsZShTYW1wbGVyLCBpbnB1dC5U
ZXhDb29yZCkucmdiLCAxLjBmKTsKK30KKwordWludDQgUFNfUGFzc3Rocm91Z2hSR0IzRFVJKEdT
X09VVFBVVCBpbnB1dCkgOiBTVl9UQVJHRVQwCit7CisgICAgdWludDMgc2l6ZTsKKyAgICBUZXh0
dXJlVUkuR2V0RGltZW5zaW9ucyhzaXplLngsIHNpemUueSwgc2l6ZS56KTsKKworICAgIHJldHVy
biB1aW50NChUZXh0dXJlVUkuTG9hZChpbnQ0KHNpemUgKiBpbnB1dC5UZXhDb29yZCwgMCkpLnJn
YiwgMCk7Cit9CisKK2ludDQgUFNfUGFzc3Rocm91Z2hSR0IzREkoR1NfT1VUUFVUIGlucHV0KSA6
IFNWX1RBUkdFVDAKK3sKKyAgICB1aW50MyBzaXplOworICAgIFRleHR1cmVJLkdldERpbWVuc2lv
bnMoc2l6ZS54LCBzaXplLnksIHNpemUueik7CisKKyAgICByZXR1cm4gaW50NChUZXh0dXJlSS5M
b2FkKGludDQoc2l6ZSAqIGlucHV0LlRleENvb3JkLCAwKSkucmdiLCAwKTsKK30KKworZmxvYXQ0
IFBTX1Bhc3N0aHJvdWdoUkczRChHU19PVVRQVVQgaW5wdXQpIDogU1ZfVEFSR0VUMAoreworICAg
IHJldHVybiBmbG9hdDQoVGV4dHVyZUYuU2FtcGxlKFNhbXBsZXIsIGlucHV0LlRleENvb3JkKS5y
ZywgMC4wZiwgMS4wZik7Cit9CisKK3VpbnQ0IFBTX1Bhc3N0aHJvdWdoUkczRFVJKEdTX09VVFBV
VCBpbnB1dCkgOiBTVl9UQVJHRVQwCit7CisgICAgdWludDMgc2l6ZTsKKyAgICBUZXh0dXJlVUku
R2V0RGltZW5zaW9ucyhzaXplLngsIHNpemUueSwgc2l6ZS56KTsKKworICAgIHJldHVybiB1aW50
NChUZXh0dXJlVUkuTG9hZChpbnQ0KHNpemUgKiBpbnB1dC5UZXhDb29yZCwgMCkpLnJnLCAwLCAw
KTsKK30KKworaW50NCBQU19QYXNzdGhyb3VnaFJHM0RJKEdTX09VVFBVVCBpbnB1dCkgOiBTVl9U
QVJHRVQwCit7CisgICAgdWludDMgc2l6ZTsKKyAgICBUZXh0dXJlSS5HZXREaW1lbnNpb25zKHNp
emUueCwgc2l6ZS55LCBzaXplLnopOworCisgICAgcmV0dXJuIGludDQoVGV4dHVyZUkuTG9hZChp
bnQ0KHNpemUgKiBpbnB1dC5UZXhDb29yZCwgMCkpLnJnLCAwLCAwKTsKK30KKworZmxvYXQ0IFBT
X1Bhc3N0aHJvdWdoUjNEKEdTX09VVFBVVCBpbnB1dCkgOiBTVl9UQVJHRVQwCit7CisgICAgcmV0
dXJuIGZsb2F0NChUZXh0dXJlRi5TYW1wbGUoU2FtcGxlciwgaW5wdXQuVGV4Q29vcmQpLnIsIDAu
MGYsIDAuMGYsIDEuMGYpOworfQorCit1aW50NCBQU19QYXNzdGhyb3VnaFIzRFVJKEdTX09VVFBV
VCBpbnB1dCkgOiBTVl9UQVJHRVQwCit7CisgICAgdWludDMgc2l6ZTsKKyAgICBUZXh0dXJlVUku
R2V0RGltZW5zaW9ucyhzaXplLngsIHNpemUueSwgc2l6ZS56KTsKKworICAgIHJldHVybiB1aW50
NChUZXh0dXJlVUkuTG9hZChpbnQ0KHNpemUgKiBpbnB1dC5UZXhDb29yZCwgMCkpLnIsIDAsIDAs
IDApOworfQorCitpbnQ0IFBTX1Bhc3N0aHJvdWdoUjNESShHU19PVVRQVVQgaW5wdXQpIDogU1Zf
VEFSR0VUMAoreworICAgIHVpbnQzIHNpemU7CisgICAgVGV4dHVyZUkuR2V0RGltZW5zaW9ucyhz
aXplLngsIHNpemUueSwgc2l6ZS56KTsKKworICAgIHJldHVybiBpbnQ0KFRleHR1cmVJLkxvYWQo
aW50NChzaXplICogaW5wdXQuVGV4Q29vcmQsIDApKS5yLCAwLCAwLCAwKTsKK30KKworZmxvYXQ0
IFBTX1Bhc3N0aHJvdWdoTHVtM0QoR1NfT1VUUFVUIGlucHV0KSA6IFNWX1RBUkdFVDAKK3sKKyAg
ICByZXR1cm4gZmxvYXQ0KFRleHR1cmVGLlNhbXBsZShTYW1wbGVyLCBpbnB1dC5UZXhDb29yZCku
cnJyLCAxLjBmKTsKK30KKworZmxvYXQ0IFBTX1Bhc3N0aHJvdWdoTHVtQWxwaGEzRChHU19PVVRQ
VVQgaW5wdXQpIDogU1ZfVEFSR0VUMAoreworICAgIHJldHVybiBUZXh0dXJlRi5TYW1wbGUoU2Ft
cGxlciwgaW5wdXQuVGV4Q29vcmQpLnJycmE7Cit9CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvU3dpenpsZTExLmhsc2wK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5k
ZXJlci9kM2QxMS9zaGFkZXJzL1N3aXp6bGUxMS5obHNsCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL1N3
aXp6bGUxMS5obHNsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTkgQEAKK1RleHR1cmUyRDxm
bG9hdDQ+IFRleHR1cmVGMkQgIDogcmVnaXN0ZXIodDApOworVGV4dHVyZTJEPHVpbnQ0PiAgVGV4
dHVyZVVJMkQgOiByZWdpc3Rlcih0MCk7CitUZXh0dXJlMkQ8aW50ND4gICBUZXh0dXJlSTJEICA6
IHJlZ2lzdGVyKHQwKTsKKworVGV4dHVyZTNEPGZsb2F0ND4gVGV4dHVyZUYzRCAgOiByZWdpc3Rl
cih0MCk7CitUZXh0dXJlM0Q8dWludDQ+ICBUZXh0dXJlVUkzRCA6IHJlZ2lzdGVyKHQwKTsKK1Rl
eHR1cmUzRDxpbnQ0PiAgIFRleHR1cmVJM0QgIDogcmVnaXN0ZXIodDApOworCitUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+IFRleHR1cmVGMkRBcnJheSAgOiByZWdpc3Rlcih0MCk7CitUZXh0dXJlMkRB
cnJheTx1aW50ND4gIFRleHR1cmVVSTJEQXJyYXkgOiByZWdpc3Rlcih0MCk7CitUZXh0dXJlMkRB
cnJheTxpbnQ0PiAgIFRleHR1cmVJMkRBcnJheSAgOiByZWdpc3Rlcih0MCk7CisKK1NhbXBsZXJT
dGF0ZSBTYW1wbGVyICAgICAgICAgIDogcmVnaXN0ZXIoczApOworCitjYnVmZmVyIFN3aXp6bGVQ
cm9wZXJ0aWVzICAgICA6IHJlZ2lzdGVyKGIwKQoreworICAgIHVpbnQ0IFN3aXp6bGVJbmRpY2Vz
ICAgICAgOiBwYWNrb2Zmc2V0KGMwKTsKK30KKworZmxvYXQ0IFN3aXp6bGVMb29rdXAoaW4gZmxv
YXQ0IHNhbXBsZSkKK3sKKyAgICBmbG9hdCBsb29rdXBbNl0gPSB7IHNhbXBsZVswXSwgc2FtcGxl
WzFdLCBzYW1wbGVbMl0sIHNhbXBsZVszXSwgMC4wZiwgMS4wZiB9OworICAgIHJldHVybiBmbG9h
dDQobG9va3VwW1N3aXp6bGVJbmRpY2VzWzBdXSwgbG9va3VwW1N3aXp6bGVJbmRpY2VzWzFdXSwg
bG9va3VwW1N3aXp6bGVJbmRpY2VzWzJdXSwgbG9va3VwW1N3aXp6bGVJbmRpY2VzWzNdXSk7Cit9
CisKK2ludDQgU3dpenpsZUxvb2t1cChpbiBpbnQ0IHNhbXBsZSkKK3sKKyAgICBpbnQgbG9va3Vw
WzZdID0geyBzYW1wbGVbMF0sIHNhbXBsZVsxXSwgc2FtcGxlWzJdLCBzYW1wbGVbM10sIDAuMGYs
IDEuMGYgfTsKKyAgICByZXR1cm4gaW50NChsb29rdXBbU3dpenpsZUluZGljZXNbMF1dLCBsb29r
dXBbU3dpenpsZUluZGljZXNbMV1dLCBsb29rdXBbU3dpenpsZUluZGljZXNbMl1dLCBsb29rdXBb
U3dpenpsZUluZGljZXNbM11dKTsKK30KKwordWludDQgU3dpenpsZUxvb2t1cChpbiB1aW50NCBz
YW1wbGUpCit7CisgICAgdWludCBsb29rdXBbNl0gPSB7IHNhbXBsZVswXSwgc2FtcGxlWzFdLCBz
YW1wbGVbMl0sIHNhbXBsZVszXSwgMC4wZiwgMS4wZiB9OworICAgIHJldHVybiB1aW50NChsb29r
dXBbU3dpenpsZUluZGljZXNbMF1dLCBsb29rdXBbU3dpenpsZUluZGljZXNbMV1dLCBsb29rdXBb
U3dpenpsZUluZGljZXNbMl1dLCBsb29rdXBbU3dpenpsZUluZGljZXNbM11dKTsKK30KKworZmxv
YXQ0IFBTX1N3aXp6bGVGMkQoaW4gZmxvYXQ0IGluUG9zaXRpb24gOiBTVl9QT1NJVElPTiwgaW4g
ZmxvYXQyIGluVGV4Q29vcmQgOiBURVhDT09SRDApIDogU1ZfVEFSR0VUMAoreworICAgIHJldHVy
biBTd2l6emxlTG9va3VwKFRleHR1cmVGMkQuU2FtcGxlKFNhbXBsZXIsIGluVGV4Q29vcmQpKTsK
K30KKworaW50NCBQU19Td2l6emxlSTJEKGluIGZsb2F0NCBpblBvc2l0aW9uIDogU1ZfUE9TSVRJ
T04sIGluIGZsb2F0MiBpblRleENvb3JkIDogVEVYQ09PUkQwKSA6IFNWX1RBUkdFVDAKK3sKKyAg
ICB1aW50MiBzaXplOworICAgIFRleHR1cmVJMkQuR2V0RGltZW5zaW9ucyhzaXplLngsIHNpemUu
eSk7CisKKyAgICByZXR1cm4gU3dpenpsZUxvb2t1cChUZXh0dXJlSTJELkxvYWQoaW50MyhzaXpl
ICogaW5UZXhDb29yZCwgMCkpKTsKK30KKwordWludDQgUFNfU3dpenpsZVVJMkQoaW4gZmxvYXQ0
IGluUG9zaXRpb24gOiBTVl9QT1NJVElPTiwgaW4gZmxvYXQyIGluVGV4Q29vcmQgOiBURVhDT09S
RDApIDogU1ZfVEFSR0VUMAoreworICAgIHVpbnQyIHNpemU7CisgICAgVGV4dHVyZVVJMkQuR2V0
RGltZW5zaW9ucyhzaXplLngsIHNpemUueSk7CisKKyAgICByZXR1cm4gU3dpenpsZUxvb2t1cChU
ZXh0dXJlVUkyRC5Mb2FkKGludDMoc2l6ZSAqIGluVGV4Q29vcmQsIDApKSk7Cit9CisKK2Zsb2F0
NCBQU19Td2l6emxlRjNEKGluIGZsb2F0NCBpblBvc2l0aW9uIDogU1ZfUE9TSVRJT04sIGluIHVp
bnQgaW5MYXllciA6IFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVgsIGluIGZsb2F0MyBpblRleENv
b3JkIDogVEVYQ09PUkQwKSA6IFNWX1RBUkdFVDAKK3sKKyAgICByZXR1cm4gU3dpenpsZUxvb2t1
cChUZXh0dXJlRjNELlNhbXBsZShTYW1wbGVyLCBpblRleENvb3JkKSk7Cit9CisKK2ludDQgUFNf
U3dpenpsZUkzRChpbiBmbG9hdDQgaW5Qb3NpdGlvbiA6IFNWX1BPU0lUSU9OLCBpbiB1aW50IGlu
TGF5ZXIgOiBTVl9SRU5ERVJUQVJHRVRBUlJBWUlOREVYLCBpbiBmbG9hdDMgaW5UZXhDb29yZCA6
IFRFWENPT1JEMCkgOiBTVl9UQVJHRVQwCit7CisgICAgdWludDMgc2l6ZTsKKyAgICBUZXh0dXJl
STNELkdldERpbWVuc2lvbnMoc2l6ZS54LCBzaXplLnksIHNpemUueik7CisKKyAgICByZXR1cm4g
U3dpenpsZUxvb2t1cChUZXh0dXJlSTNELkxvYWQoaW50NChzaXplICogaW5UZXhDb29yZCwgMCkp
KTsKK30KKwordWludDQgUFNfU3dpenpsZVVJM0QoaW4gZmxvYXQ0IGluUG9zaXRpb24gOiBTVl9Q
T1NJVElPTiwgaW4gdWludCBpbkxheWVyIDogU1ZfUkVOREVSVEFSR0VUQVJSQVlJTkRFWCwgaW4g
ZmxvYXQzIGluVGV4Q29vcmQgOiBURVhDT09SRDApIDogU1ZfVEFSR0VUMAoreworICAgIHVpbnQz
IHNpemU7CisgICAgVGV4dHVyZVVJM0QuR2V0RGltZW5zaW9ucyhzaXplLngsIHNpemUueSwgc2l6
ZS56KTsKKworICAgIHJldHVybiBTd2l6emxlTG9va3VwKFRleHR1cmVVSTNELkxvYWQoaW50NChz
aXplICogaW5UZXhDb29yZCwgMCkpKTsKK30KKworZmxvYXQ0IFBTX1N3aXp6bGVGMkRBcnJheShp
biBmbG9hdDQgaW5Qb3NpdGlvbiA6IFNWX1BPU0lUSU9OLCBpbiB1aW50IGluTGF5ZXIgOiBTVl9S
RU5ERVJUQVJHRVRBUlJBWUlOREVYLCBpbiBmbG9hdDMgaW5UZXhDb29yZCA6IFRFWENPT1JEMCkg
OiBTVl9UQVJHRVQwCit7CisgICAgcmV0dXJuIFN3aXp6bGVMb29rdXAoVGV4dHVyZUYyREFycmF5
LlNhbXBsZShTYW1wbGVyLCBmbG9hdDMoaW5UZXhDb29yZC54eSwgaW5MYXllcikpKTsKK30KKwor
aW50NCBQU19Td2l6emxlSTJEQXJyYXkoaW4gZmxvYXQ0IGluUG9zaXRpb24gOiBTVl9QT1NJVElP
TiwgaW4gdWludCBpbkxheWVyIDogU1ZfUkVOREVSVEFSR0VUQVJSQVlJTkRFWCwgaW4gZmxvYXQz
IGluVGV4Q29vcmQgOiBURVhDT09SRDApIDogU1ZfVEFSR0VUMAoreworICAgIHVpbnQzIHNpemU7
CisgICAgVGV4dHVyZUkyREFycmF5LkdldERpbWVuc2lvbnMoc2l6ZS54LCBzaXplLnksIHNpemUu
eik7CisKKyAgICByZXR1cm4gU3dpenpsZUxvb2t1cChUZXh0dXJlSTJEQXJyYXkuTG9hZChpbnQ0
KHNpemUueHkgKiBpblRleENvb3JkLnh5LCBpbkxheWVyLCAwKSkpOworfQorCit1aW50NCBQU19T
d2l6emxlVUkyREFycmF5KGluIGZsb2F0NCBpblBvc2l0aW9uIDogU1ZfUE9TSVRJT04sIGluIHVp
bnQgaW5MYXllciA6IFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVgsIGluIGZsb2F0MyBpblRleENv
b3JkIDogVEVYQ09PUkQwKSA6IFNWX1RBUkdFVDAKK3sKKyAgICB1aW50MyBzaXplOworICAgIFRl
eHR1cmVVSTJEQXJyYXkuR2V0RGltZW5zaW9ucyhzaXplLngsIHNpemUueSwgc2l6ZS56KTsKKwor
ICAgIHJldHVybiBTd2l6emxlTG9va3VwKFRleHR1cmVVSTJEQXJyYXkuTG9hZChpbnQ0KHNpemUu
eHkgKiBpblRleENvb3JkLnh5LCBpbkxheWVyLCAwKSkpOworfQpJbmRleDogU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVk
L2J1ZmZlcnRvdGV4dHVyZTExX2dzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2J1ZmZl
cnRvdGV4dHVyZTExX2dzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvYnVmZmVydG90
ZXh0dXJlMTFfZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2NiBAQAorI2lmIDAKKy8v
CisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjMw
LjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8v
IE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9y
bWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0t
IC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9Qb3NpdGlvbiAgICAgICAgICAgICAgMCAg
IHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgIHh5encKKy8vIFRFWENPT1JEICAgICAg
ICAgICAgICAgICAwICAgeCAgICAgICAgICAgMSAgICAgTk9ORSAgICB1aW50ICAgeCAgIAorLy8g
TEFZRVIgICAgICAgICAgICAgICAgICAgIDAgICAgeSAgICAgICAgICAxICAgICBOT05FICAgIHVp
bnQgICAgeSAgCisvLworLy8KKy8vIE91dHB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAg
ICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2Vk
CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0g
LS0tLS0tLSAtLS0tLS0KKy8vIFNWX1Bvc2l0aW9uICAgICAgICAgICAgICAwICAgeHl6dyAgICAg
ICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgeHl6dworLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAg
IDAgICB4ICAgICAgICAgICAxICAgICBOT05FICAgIHVpbnQgICB4ICAgCisvLyBTVl9SZW5kZXJU
YXJnZXRBcnJheUluZGV4ICAgICAwICAgIHkgICAgICAgICAgMSAgUlRJTkRFWCAgICB1aW50ICAg
IHkgIAorLy8KK2dzXzRfMAorZGNsX2lucHV0X3NpdiB2WzFdWzBdLnh5encsIHBvc2l0aW9uCitk
Y2xfaW5wdXQgdlsxXVsxXS54CitkY2xfaW5wdXQgdlsxXVsxXS55CitkY2xfaW5wdXRwcmltaXRp
dmUgcG9pbnQgCitkY2xfb3V0cHV0dG9wb2xvZ3kgcG9pbnRsaXN0IAorZGNsX291dHB1dF9zaXYg
bzAueHl6dywgcG9zaXRpb24KK2RjbF9vdXRwdXQgbzEueAorZGNsX291dHB1dF9zaXYgbzEueSwg
cmVuZGVydGFyZ2V0X2FycmF5X2luZGV4CitkY2xfbWF4b3V0IDEKK21vdiBvMC54eXp3LCB2WzBd
WzBdLnh5encKK21vdiBvMS54LCB2WzBdWzFdLngKK21vdiBvMS55LCB2WzBdWzFdLnkKK2VtaXQg
CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDUgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlm
CisKK2NvbnN0IEJZVEUgZ19HU19CdWZmZXJUb1RleHR1cmVbXSA9Cit7CisgICAgIDY4LCAgODgs
ICA2NiwgIDY3LCAgNzYsIDI0NywgCisgICAgIDE2LCAgNTQsIDE3OSwgMjEwLCAgMjQsIDI0Miwg
CisgICAgMTg1LCAxOTksICA2NywgMTQ4LCAyNDEsIDEwNywgCisgICAgIDE2LCAgIDIsICAgMSwg
ICAwLCAgIDAsICAgMCwgCisgICAgMjEyLCAgIDIsICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAg
ICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgMTQwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMSwgCisgICAgICAwLCAgIDAsIDEzNiwgICAxLCAgIDAsICAgMCwgCisgICAgIDg4LCAg
IDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAsICA4MCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCisg
ICAgIDgzLCAgNzEsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAw
LCAgNzcsIDEwNSwgCisgICAgIDk5LCAxMTQsIDExMSwgMTE1LCAxMTEsIDEwMiwgCisgICAgMTE2
LCAgMzIsICA0MCwgIDgyLCAgNDEsICAzMiwgCisgICAgIDcyLCAgNzYsICA4MywgIDc2LCAgMzIs
ICA4MywgCisgICAgMTA0LCAgOTcsIDEwMCwgMTAxLCAxMTQsICAzMiwgCisgICAgIDY3LCAxMTEs
IDEwOSwgMTEyLCAxMDUsIDEwOCwgCisgICAgMTAxLCAxMTQsICAzMiwgIDU3LCAgNDYsICA1MSwg
CisgICAgIDQ4LCAgNDYsICA1NywgIDUwLCAgNDgsICA0OCwgCisgICAgIDQ2LCAgNDksICA1NCwg
IDUxLCAgNTYsICA1MiwgCisgICAgICAwLCAxNzEsICA3MywgIDgzLCAgNzEsICA3OCwgCisgICAg
MTA4LCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwgICAwLCAg
IDAsICAgMCwgCisgICAgIDgwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAxNSwgIDE1LCAgIDAsICAgMCwgCisgICAgIDkyLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAx
LCAgIDAsICAgMCwgCisgICAgMTAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAyLCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYs
ICA5NSwgIDgwLCAxMTEsIDExNSwgCisgICAgMTA1LCAxMTYsIDEwNSwgMTExLCAxMTAsICAgMCwg
CisgICAgIDg0LCAgNjksICA4OCwgIDY3LCAgNzksICA3OSwgCisgICAgIDgyLCAgNjgsICAgMCwg
IDc2LCAgNjUsICA4OSwgCisgICAgIDY5LCAgODIsICAgMCwgMTcxLCAgNzksICA4MywgCisgICAg
IDcxLCAgNzgsIDEyOCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAg
IDgsICAgMCwgCisgICAgICAwLCAgIDAsICA4MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTUsICAgMCwgCisgICAgICAwLCAgIDAsICA5
MiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAw
LCAgIDEsICAxNCwgCisgICAgICAwLCAgIDAsIDEwMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDIsICAxMywgCisgICAgICAwLCAgIDAs
ICA4MywgIDg2LCAgOTUsICA4MCwgCisgICAgMTExLCAxMTUsIDEwNSwgMTE2LCAxMDUsIDExMSwg
CisgICAgMTEwLCAgIDAsICA4NCwgIDY5LCAgODgsICA2NywgCisgICAgIDc5LCAgNzksICA4Miwg
IDY4LCAgIDAsICA4MywgCisgICAgIDg2LCAgOTUsICA4MiwgMTAxLCAxMTAsIDEwMCwgCisgICAg
MTAxLCAxMTQsICA4NCwgIDk3LCAxMTQsIDEwMywgCisgICAgMTAxLCAxMTYsICA2NSwgMTE0LCAx
MTQsICA5NywgCisgICAgMTIxLCAgNzMsIDExMCwgMTAwLCAxMDEsIDEyMCwgCisgICAgICAwLCAx
NzEsICA4MywgIDcyLCAgNjgsICA4MiwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgNjQsICAg
MCwgCisgICAgICAyLCAgIDAsICA1MCwgICAwLCAgIDAsICAgMCwgCisgICAgIDk3LCAgIDAsICAg
MCwgICA1LCAyNDIsICAxNiwgCisgICAgIDMyLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICA5NSwgICAw
LCAgIDAsICAgNCwgCisgICAgIDE4LCAgMTYsICAzMiwgICAwLCAgIDEsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDk1LCAgIDAsICAgMCwgICA0LCAgMzQs
ICAxNiwgCisgICAgIDMyLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAs
ICAgMCwgICAwLCAgOTMsICAgOCwgCisgICAgICAwLCAgIDEsICA5MiwgICA4LCAgIDAsICAgMSwg
CisgICAgMTAzLCAgIDAsICAgMCwgICA0LCAyNDIsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAg
ICAwLCAgIDMsICAxOCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAx
MDMsICAgMCwgCisgICAgICAwLCAgIDQsICAzNCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAxLCAg
IDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICA5NCwgICAwLCAgIDAsICAg
MiwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsIDI0
MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAzMCwgCisg
ICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAx
LCAgIDAsICAgMCwgICAwLCAgMTAsICAxNiwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYs
ICAzNCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgMjYsICAxNiwg
CisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwg
ICAwLCAgMTksICAgMCwgCisgICAgICAwLCAgIDEsICA2MiwgICAwLCAgIDAsICAgMSwgCisgICAg
IDgzLCAgODQsICA2NSwgIDg0LCAxMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgNSwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwCit9
OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9k
M2QxMS9zaGFkZXJzL2NvbXBpbGVkL2J1ZmZlcnRvdGV4dHVyZTExX3BzXzRmLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2Qx
MS9zaGFkZXJzL2NvbXBpbGVkL2J1ZmZlcnRvdGV4dHVyZTExX3BzXzRmLmgJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDEx
L3NoYWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfcHNfNGYuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDIyMyBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0
IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisv
LyBCdWZmZXIgRGVmaW5pdGlvbnM6IAorLy8KKy8vIGNidWZmZXIgQnVmZmVyQ29weVBhcmFtcwor
Ly8geworLy8KKy8vICAgdWludCBGaXJzdFBpeGVsT2Zmc2V0OyAgICAgICAgICAgICAvLyBPZmZz
ZXQ6ICAgIDAgU2l6ZTogICAgIDQgW3VudXNlZF0KKy8vICAgdWludCBQaXhlbHNQZXJSb3c7ICAg
ICAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgIDQgU2l6ZTogICAgIDQgW3VudXNlZF0KKy8vICAg
dWludCBSb3dTdHJpZGU7ICAgICAgICAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgIDggU2l6ZTog
ICAgIDQgW3VudXNlZF0KKy8vICAgdWludCBSb3dzUGVyU2xpY2U7ICAgICAgICAgICAgICAgICAv
LyBPZmZzZXQ6ICAgMTIgU2l6ZTogICAgIDQgW3VudXNlZF0KKy8vICAgZmxvYXQyIFBvc2l0aW9u
T2Zmc2V0OyAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgMTYgU2l6ZTogICAgIDggW3VudXNlZF0K
Ky8vICAgZmxvYXQyIFBvc2l0aW9uU2NhbGU7ICAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgMjQg
U2l6ZTogICAgIDggW3VudXNlZF0KKy8vICAgaW50MiBUZXhMb2NhdGlvbk9mZnNldDsgICAgICAg
ICAgICAvLyBPZmZzZXQ6ICAgMzIgU2l6ZTogICAgIDggW3VudXNlZF0KKy8vICAgaW50MiBUZXhM
b2NhdGlvblNjYWxlOyAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgNDAgU2l6ZTogICAgIDggW3Vu
dXNlZF0KKy8vCisvLyB9CisvLworLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5h
bWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAgICAgICBE
aW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t
LS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBCdWZmZXI0RiAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAgZmxvYXQ0ICAgICAgICAgYnVmICAgIDAgICAg
ICAgIDEKKy8vIEJ1ZmZlckNvcHlQYXJhbXMgICAgICAgICAgICAgICAgICBjYnVmZmVyICAgICAg
TkEgICAgICAgICAgTkEgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8gSW5wdXQgc2lnbmF0
dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBT
eXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0t
LS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9Qb3NpdGlvbiAgICAg
ICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgICAgICAKKy8vIFRF
WENPT1JEICAgICAgICAgICAgICAgICAwICAgeCAgICAgICAgICAgMSAgICAgTk9ORSAgICB1aW50
ICAgeCAgIAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAg
ICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAor
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0t
LS0tLS0gLS0tLS0tCisvLyBTVl9UYXJnZXQgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAg
IDAgICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8vCitwc180XzAKK2RjbF9jb25zdGFudGJ1ZmZl
ciBjYjBbMV0sIGltbWVkaWF0ZUluZGV4ZWQKK2RjbF9yZXNvdXJjZV9idWZmZXIgKGZsb2F0LGZs
b2F0LGZsb2F0LGZsb2F0KSB0MAorZGNsX2lucHV0X3BzIGNvbnN0YW50IHYxLngKK2RjbF9vdXRw
dXQgbzAueHl6dworbGQgbzAueHl6dywgdjEueHh4eCwgdDAueHl6dworcmV0IAorLy8gQXBwcm94
aW1hdGVseSAyIGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdf
UFNfQnVmZmVyVG9UZXh0dXJlXzRGW10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMTYx
LCAyMTIsIAorICAgICAzOCwgMTU2LCAyNDMsICA4MiwgIDk3LCAgOTEsIAorICAgIDEzOCwgICA0
LCAgNTUsIDEyMSwgIDI4LCAgNjIsIAorICAgIDI0NSwgMTU5LCAgIDEsICAgMCwgICAwLCAgIDAs
IAorICAgIDIxNiwgICAzLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIs
ICAgMCwgICAwLCAgIDAsIAorICAgIDEwNCwgICAyLCAgIDAsICAgMCwgMTkyLCAgIDIsIAorICAg
ICAgMCwgICAwLCAyNDQsICAgMiwgICAwLCAgIDAsIAorICAgICA5MiwgICAzLCAgIDAsICAgMCwg
IDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgNDQsICAgMiwgICAwLCAgIDAsIAorICAgICAgMSwg
ICAwLCAgIDAsICAgMCwgMTIwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAg
IDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAg
IDAsICAgMSwgICAwLCAgIDAsIAorICAgIDI0OSwgICAxLCAgIDAsICAgMCwgIDkyLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgNSwgICAwLCAgIDAsICAg
MCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAw
LCAgIDAsIAorICAgIDEwMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgNjYsIDExNywgMTAyLCAxMDIsIAorICAg
IDEwMSwgMTE0LCAgNTIsICA3MCwgICAwLCAgNjYsIAorICAgIDExNywgMTAyLCAxMDIsIDEwMSwg
MTE0LCAgNjcsIAorICAgIDExMSwgMTEyLCAxMjEsICA4MCwgIDk3LCAxMTQsIAorICAgICA5Nywg
MTA5LCAxMTUsICAgMCwgMTcxLCAxNzEsIAorICAgIDEwMSwgICAwLCAgIDAsICAgMCwgICA4LCAg
IDAsIAorICAgICAgMCwgICAwLCAxNDQsICAgMCwgICAwLCAgIDAsIAorICAgICA0OCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA4MCwgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTAwLCAgIDEsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDExNiwgICAxLCAgIDAsICAgMCwgICA0
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgMTAwLCAgIDEsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgIDEyOSwgICAxLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTAwLCAgIDEsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDEzOSwgICAxLCAgIDAsICAgMCwg
IDEyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgMTAwLCAgIDEsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgIDE1MiwgICAxLCAgIDAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTY4LCAgIDEsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwgICAxLCAgIDAsICAg
MCwgIDI0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgMTY4LCAgIDEsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgIDE5OCwgICAxLCAgIDAsICAgMCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMjE2LCAgIDEs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDIzMiwgICAxLCAgIDAs
ICAgMCwgIDQwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgMjE2LCAgIDEsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICA3MCwgMTA1LCAxMTQsIDExNSwgMTE2LCAgODAsIAorICAgIDEwNSwg
MTIwLCAxMDEsIDEwOCwgIDc5LCAxMDIsIAorICAgIDEwMiwgMTE1LCAxMDEsIDExNiwgICAwLCAx
NzEsIAorICAgIDE3MSwgMTcxLCAgIDAsICAgMCwgIDE5LCAgIDAsIAorICAgICAgMSwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA4MCwgMTA1LCAxMjAsIDEwMSwgMTA4LCAxMTUsIAorICAgICA4MCwgMTAxLCAxMTQsICA4
MiwgMTExLCAxMTksIAorICAgICAgMCwgIDgyLCAxMTEsIDExOSwgIDgzLCAxMTYsIAorICAgIDEx
NCwgMTA1LCAxMDAsIDEwMSwgICAwLCAgODIsIAorICAgIDExMSwgMTE5LCAxMTUsICA4MCwgMTAx
LCAxMTQsIAorICAgICA4MywgMTA4LCAxMDUsICA5OSwgMTAxLCAgIDAsIAorICAgICA4MCwgMTEx
LCAxMTUsIDEwNSwgMTE2LCAxMDUsIAorICAgIDExMSwgMTEwLCAgNzksIDEwMiwgMTAyLCAxMTUs
IAorICAgIDEwMSwgMTE2LCAgIDAsIDE3MSwgICAxLCAgIDAsIAorICAgICAgMywgICAwLCAgIDEs
ICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgODAsIDExMSwgMTE1LCAxMDUsIAorICAgIDExNiwgMTA1LCAxMTEsIDExMCwg
IDgzLCAgOTksIAorICAgICA5NywgMTA4LCAxMDEsICAgMCwgIDg0LCAxMDEsIAorICAgIDEyMCwg
IDc2LCAxMTEsICA5OSwgIDk3LCAxMTYsIAorICAgIDEwNSwgMTExLCAxMTAsICA3OSwgMTAyLCAx
MDIsIAorICAgIDExNSwgMTAxLCAxMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMiwgICAwLCAg
IDEsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgODQsIDEwMSwgMTIwLCAgNzYsIAorICAgIDExMSwgIDk5LCAgOTcsIDEx
NiwgMTA1LCAxMTEsIAorICAgIDExMCwgIDgzLCAgOTksICA5NywgMTA4LCAxMDEsIAorICAgICAg
MCwgIDc3LCAxMDUsICA5OSwgMTE0LCAxMTEsIAorICAgIDExNSwgMTExLCAxMDIsIDExNiwgIDMy
LCAgNDAsIAorICAgICA4MiwgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsIAorICAgICA3NiwgIDMy
LCAgODMsIDEwNCwgIDk3LCAxMDAsIAorICAgIDEwMSwgMTE0LCAgMzIsICA2NywgMTExLCAxMDks
IAorICAgIDExMiwgMTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsIAorICAgICA1NywgIDQ2LCAgNTEs
ICA0OCwgIDQ2LCAgNTcsIAorICAgICA1MCwgIDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsIAorICAg
ICA1MSwgIDU2LCAgNTIsICAgMCwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAxLCAgIDEsIAorICAgICAg
MCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgIDExMSwgMTE1LCAxMDUsIDExNiwgMTA1
LCAxMTEsIAorICAgIDExMCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5
LCAgODIsICA2OCwgICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgs
IAorICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgs
ICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4Mywg
IDg2LCAgOTUsICA4NCwgIDk3LCAxMTQsIAorICAgIDEwMywgMTAxLCAxMTYsICAgMCwgMTcxLCAx
NzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgIDk2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
NjQsICAgMCwgICAwLCAgIDAsIAorICAgICAyNCwgICAwLCAgIDAsICAgMCwgIDg5LCAgIDAsIAor
ICAgICAgMCwgICA0LCAgNzAsIDE0MiwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgODgsICAgOCwgICAwLCAgIDQsIAorICAgICAg
MCwgMTEyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgODUsICA4NSwgICAw
LCAgIDAsIAorICAgICA5OCwgICA4LCAgIDAsICAgMywgIDE4LCAgMTYsIAorICAgICAxNiwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMSwgICAwLCAgIDAsICAgMywgMjQyLCAgMzIs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA0NSwgICAwLCAgIDAs
ICAgNywgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgNiwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyNiwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDYyLCAgIDAsIAorICAgICAgMCwg
ICAxLCAgODMsICA4NCwgIDY1LCAgODQsIAorICAgIDExNiwgICAwLCAgIDAsICAgMCwgICAyLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfcHNfNGkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVy
L2QzZDExL3NoYWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfcHNfNGkuaAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIv
ZDNkMTEvc2hhZGVycy9jb21waWxlZC9idWZmZXJ0b3RleHR1cmUxMV9wc180aS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTI5IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNy
b3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisv
Ly8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0t
LS0tLSAtLS0tIC0tLS0tLS0tCisvLyBCdWZmZXI0SSAgICAgICAgICAgICAgICAgICAgICAgICAg
dGV4dHVyZSAgIHNpbnQ0ICAgICAgICAgYnVmICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8v
IElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1h
c2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1Zf
UG9zaXRpb24gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQg
ICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHggICAgICAgICAgIDEgICAg
IE5PTkUgICAgdWludCAgIHggICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisv
LyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZv
cm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVGFyZ2V0ICAgICAgICAgICAgICAgIDAg
ICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xf
cmVzb3VyY2VfYnVmZmVyIChzaW50LHNpbnQsc2ludCxzaW50KSB0MAorZGNsX2lucHV0X3BzIGNv
bnN0YW50IHYxLngKK2RjbF9vdXRwdXQgbzAueHl6dworbGQgbzAueHl6dywgdjEueHh4eCwgdDAu
eHl6dworcmV0IAorLy8gQXBwcm94aW1hdGVseSAyIGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNl
bmRpZgorCitjb25zdCBCWVRFIGdfUFNfQnVmZmVyVG9UZXh0dXJlXzRJW10gPQoreworICAgICA2
OCwgIDg4LCAgNjYsICA2NywgMTc4LCAyMzQsIAorICAgIDIwNCwgMjQ5LCAyMTgsICA0MCwgMTU1
LCAxNTUsIAorICAgIDI1MiwgIDE4LCAxMTAsICAzOCwgMjM3LCAxODYsIAorICAgIDIxNywgMjMx
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyMCwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAs
IAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4MCwgICAwLCAgIDAs
ICAgMCwgIDEyLCAgIDEsIAorICAgICAgMCwgICAwLCAgNjQsICAgMSwgICAwLCAgIDAsIAorICAg
IDE1MiwgICAxLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxMjAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA2OSwgICAwLCAg
IDAsICAgMCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMywgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1
NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA2NiwgMTE3LCAxMDIsIDEwMiwgMTAx
LCAxMTQsIAorICAgICA1MiwgIDczLCAgIDAsICA3NywgMTA1LCAgOTksIAorICAgIDExNCwgMTEx
LCAxMTUsIDExMSwgMTAyLCAxMTYsIAorICAgICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAgNzIs
IAorICAgICA3NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAxMDQsIAorICAgICA5NywgMTAwLCAxMDEs
IDExNCwgIDMyLCAgNjcsIAorICAgIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAxMDEsIAorICAg
IDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAgNDgsIAorICAgICA0NiwgIDU3LCAgNTAsICA0OCwg
IDQ4LCAgNDYsIAorICAgICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAgIDAsIAorICAgICA3Mywg
IDgzLCAgNzEsICA3OCwgIDgwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAg
IDAsIAorICAgICAgOCwgICAwLCAgIDAsICAgMCwgIDU2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAzLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxNSwgICAwLCAgIDAsICAg
MCwgIDY4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMSwgICAxLCAgIDAsICAgMCwgIDgzLCAgODYsIAorICAgICA5NSwgIDgw
LCAxMTEsIDExNSwgMTA1LCAxMTYsIAorICAgIDEwNSwgMTExLCAxMTAsICAgMCwgIDg0LCAgNjks
IAorICAgICA4OCwgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgsIAorICAgICAgMCwgMTcxLCAxNzEs
IDE3MSwgIDc5LCAgODMsIAorICAgICA3MSwgIDc4LCAgNDQsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMSwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgMzIsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAg
IDAsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODQsIAorICAgICA5NywgMTE0LCAx
MDMsIDEwMSwgMTE2LCAgIDAsIAorICAgIDE3MSwgMTcxLCAgODMsICA3MiwgIDY4LCAgODIsIAor
ICAgICA4MCwgICAwLCAgIDAsICAgMCwgIDY0LCAgIDAsIAorICAgICAgMCwgICAwLCAgMjAsICAg
MCwgICAwLCAgIDAsIAorICAgICA4OCwgICA4LCAgIDAsICAgNCwgICAwLCAxMTIsIAorICAgICAx
NiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1MSwgIDUxLCAgIDAsICAgMCwgIDk4
LCAgIDgsIAorICAgICAgMCwgICAzLCAgMTgsICAxNiwgIDE2LCAgIDAsIAorICAgICAgMSwgICAw
LCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIsICAzMiwgIDE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDQ1LCAgIDAsIAorICAgICAgMCwgICA3LCAyNDIs
ICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA2LCAgMTYsIAorICAg
ICAxNiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2LCAgMTYsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4Mywg
IDg0LCAgNjUsICA4NCwgMTE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5k
ZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEv
c2hhZGVycy9jb21waWxlZC9idWZmZXJ0b3RleHR1cmUxMV9wc180dWkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3No
YWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfcHNfNHVpLmgJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3No
YWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfcHNfNHVpLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMzAgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAo
UikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8g
UmVzb3VyY2UgQmluZGluZ3M6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFR5cGUgIEZvcm1hdCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0t
LS0gLS0tLS0tLS0KKy8vIEJ1ZmZlcjRVSSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJl
ICAgdWludDQgICAgICAgICBidWYgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8gSW5wdXQg
c2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdp
c3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0t
LS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9Qb3NpdGlv
biAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgICAgICAK
Ky8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeCAgICAgICAgICAgMSAgICAgTk9ORSAg
ICB1aW50ICAgeCAgIAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUg
ICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAg
VXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0t
LS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UYXJnZXQgICAgICAgICAgICAgICAgMCAgIHh5encg
ICAgICAgIDAgICBUQVJHRVQgICAgdWludCAgIHh5encKKy8vCitwc180XzAKK2RjbF9yZXNvdXJj
ZV9idWZmZXIgKHVpbnQsdWludCx1aW50LHVpbnQpIHQwCitkY2xfaW5wdXRfcHMgY29uc3RhbnQg
djEueAorZGNsX291dHB1dCBvMC54eXp3CitsZCBvMC54eXp3LCB2MS54eHh4LCB0MC54eXp3City
ZXQgCisvLyBBcHByb3hpbWF0ZWx5IDIgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisK
K2NvbnN0IEJZVEUgZ19QU19CdWZmZXJUb1RleHR1cmVfNFVJW10gPQoreworICAgICA2OCwgIDg4
LCAgNjYsICA2NywgMjA5LCAyMDQsIAorICAgIDEzNCwgIDc1LCAgMjgsIDIxMiwgMTM0LCAxMzEs
IAorICAgIDIxOSwgIDE4LCAgMTYsIDIyNywgIDk5LCAgMjMsIAorICAgIDIwNSwgMTMxLCAgIDEs
ICAgMCwgICAwLCAgIDAsIAorICAgICAyNCwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwgICAwLCAgIDAsICAgMCwg
IDE2LCAgIDEsIAorICAgICAgMCwgICAwLCAgNjgsICAgMSwgICAwLCAgIDAsIAorICAgIDE1Niwg
ICAxLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxMjQsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAor
ICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA3MCwgICAwLCAgIDAsICAg
MCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAg
NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1
LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAw
LCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA2NiwgMTE3LCAxMDIsIDEwMiwgMTAxLCAxMTQs
IAorICAgICA1MiwgIDg1LCAgNzMsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwgMTE0LCAxMTEs
IDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIsIAorICAg
ICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAxMDAsIDEwMSwg
MTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAorICAgIDEwMSwg
MTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1MCwgIDQ4LCAg
NDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAgMCwgMTcxLCAx
NzEsIDE3MSwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAxLCAgIDEsIAorICAgICAgMCwgICAwLCAgODMs
ICA4NiwgIDk1LCAgODAsIAorICAgIDExMSwgMTE1LCAxMDUsIDExNiwgMTA1LCAxMTEsIAorICAg
IDExMCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5LCAgODIsICA2OCwg
ICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwg
ICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAg
IDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4
NCwgIDk3LCAxMTQsIAorICAgIDEwMywgMTAxLCAxMTYsICAgMCwgMTcxLCAxNzEsIAorICAgICA4
MywgIDcyLCAgNjgsICA4MiwgIDgwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAw
LCAgIDAsIAorICAgICAyMCwgICAwLCAgIDAsICAgMCwgIDg4LCAgIDgsIAorICAgICAgMCwgICA0
LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDY4LCAgNjgs
IAorICAgICAgMCwgICAwLCAgOTgsICAgOCwgICAwLCAgIDMsIAorICAgICAxOCwgIDE2LCAgMTYs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDMsIAorICAg
IDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNDUsICAgMCwg
ICAwLCAgIDcsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDYsICAxNiwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDcwLCAx
MjYsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA2MiwgICAwLCAg
IDAsICAgMSwgIDgzLCAgODQsIAorICAgICA2NSwgIDg0LCAxMTYsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwCit9OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdM
RVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2J1ZmZlcnRvdGV4dHVyZTExX3Zz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9y
ZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2J1ZmZlcnRvdGV4dHVyZTExX3ZzLmgJKHJl
dmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvYnVmZmVydG90ZXh0dXJlMTFfdnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMwMyBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWlj
cm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLwor
Ly8vCisvLyBCdWZmZXIgRGVmaW5pdGlvbnM6IAorLy8KKy8vIGNidWZmZXIgQnVmZmVyQ29weVBh
cmFtcworLy8geworLy8KKy8vICAgdWludCBGaXJzdFBpeGVsT2Zmc2V0OyAgICAgICAgICAgICAv
LyBPZmZzZXQ6ICAgIDAgU2l6ZTogICAgIDQKKy8vICAgdWludCBQaXhlbHNQZXJSb3c7ICAgICAg
ICAgICAgICAgICAvLyBPZmZzZXQ6ICAgIDQgU2l6ZTogICAgIDQKKy8vICAgdWludCBSb3dTdHJp
ZGU7ICAgICAgICAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgIDggU2l6ZTogICAgIDQKKy8vICAg
dWludCBSb3dzUGVyU2xpY2U7ICAgICAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgMTIgU2l6ZTog
ICAgIDQKKy8vICAgZmxvYXQyIFBvc2l0aW9uT2Zmc2V0OyAgICAgICAgICAgICAvLyBPZmZzZXQ6
ICAgMTYgU2l6ZTogICAgIDgKKy8vICAgZmxvYXQyIFBvc2l0aW9uU2NhbGU7ICAgICAgICAgICAg
ICAvLyBPZmZzZXQ6ICAgMjQgU2l6ZTogICAgIDgKKy8vICAgaW50MiBUZXhMb2NhdGlvbk9mZnNl
dDsgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgMzIgU2l6ZTogICAgIDggW3VudXNlZF0KKy8vICAg
aW50MiBUZXhMb2NhdGlvblNjYWxlOyAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgNDAgU2l6ZTog
ICAgIDggW3VudXNlZF0KKy8vCisvLyB9CisvLworLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgor
Ly8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQg
ICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBCdWZm
ZXJDb3B5UGFyYW1zICAgICAgICAgICAgICAgICAgY2J1ZmZlciAgICAgIE5BICAgICAgICAgIE5B
ICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBO
YW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1h
dCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAt
LS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVmVydGV4SUQgICAgICAgICAgICAgIDAgICB4
ICAgICAgICAgICAwICAgVkVSVElEICAgIHVpbnQgICB4ICAgCisvLworLy8KKy8vIE91dHB1dCBz
aWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lz
dGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0t
LSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1Bvc2l0aW9u
ICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgeHl6dwor
Ly8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4ICAgICAgICAgICAxICAgICBOT05FICAg
IHVpbnQgICB4ICAgCisvLyBMQVlFUiAgICAgICAgICAgICAgICAgICAgMCAgICB5ICAgICAgICAg
IDEgICAgIE5PTkUgICAgdWludCAgICB5ICAKKy8vCit2c180XzAKK2RjbF9jb25zdGFudGJ1ZmZl
ciBjYjBbMl0sIGltbWVkaWF0ZUluZGV4ZWQKK2RjbF9pbnB1dF9zZ3YgdjAueCwgdmVydGV4X2lk
CitkY2xfb3V0cHV0X3NpdiBvMC54eXp3LCBwb3NpdGlvbgorZGNsX291dHB1dCBvMS54CitkY2xf
b3V0cHV0IG8xLnkKK2RjbF90ZW1wcyAyCittb3YgbzAuencsIGwoMCwwLDAsMS4wMDAwMDApCitp
bXVsIG51bGwsIHIwLnh5LCBjYjBbMF0ud3d3dywgY2IwWzBdLnl6eXkKK3VkaXYgcjAueiwgbnVs
bCwgdjAueCwgcjAueAoraW1hZCByMC54LCAtcjAueiwgcjAueCwgdjAueAoraW1hZCByMC55LCBy
MC56LCByMC55LCBjYjBbMF0ueAorbW92IG8xLnksIHIwLnoKK3VkaXYgcjAueiwgbnVsbCwgcjAu
eCwgY2IwWzBdLnkKK2ltYWQgcjAueCwgLXIwLnosIGNiMFswXS55LCByMC54Cit1dG9mIHIxLnh5
LCByMC54enh4CitpbWFkIHIwLnksIHIwLnosIGNiMFswXS56LCByMC55CitpYWRkIG8xLngsIHIw
LngsIHIwLnkKK21hZCBvMC54eSwgY2IwWzFdLnp3enosIHIxLnh5eHgsIGNiMFsxXS54eXh4City
ZXQgCisvLyBBcHByb3hpbWF0ZWx5IDEzIGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgor
Citjb25zdCBCWVRFIGdfVlNfQnVmZmVyVG9UZXh0dXJlW10gPQoreworICAgICA2OCwgIDg4LCAg
NjYsICA2NywgMTU4LCAgMzIsIAorICAgIDE0MCwgIDg5LCAyMTIsIDIyNiwgMjUxLCAxOTcsIAor
ICAgIDE4NiwgMTUxLCAgNDYsIDE3NiwgMjUwLCAgNTgsIAorICAgICA3NSwgMjI4LCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgIDEwNCwgICA1LCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgICA2NCwgICAyLCAgIDAsICAgMCwgMTE2
LCAgIDIsIAorICAgICAgMCwgICAwLCAyMzIsICAgMiwgICAwLCAgIDAsIAorICAgIDIzNiwgICA0
LCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgIDQsICAgMiwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDgwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEs
ICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAg
IDI1NCwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgIDIwOSwgICAxLCAgIDAsICAgMCwg
IDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICA2NiwgMTE3LCAxMDIsIDEwMiwgMTAxLCAxMTQsIAor
ICAgICA2NywgMTExLCAxMTIsIDEyMSwgIDgwLCAgOTcsIAorICAgIDExNCwgIDk3LCAxMDksIDEx
NSwgICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNjAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
OCwgICAwLCAgIDAsICAgMCwgMTA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgNDgsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNDAsICAgMSwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICA2MCwgICAxLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzYsICAgMSwgICAwLCAgIDAsIAorICAg
ICAgNCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwg
ICAwLCAgIDAsIAorICAgICA2MCwgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgODksICAgMSwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAgMCwgICA0LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICA2MCwgICAxLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgOTksICAgMSwgICAwLCAgIDAsIAor
ICAgICAxMiwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAg
MCwgICAwLCAgIDAsIAorICAgICA2MCwgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAxMTIsICAgMSwgICAwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICA4
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgIDEyOCwgICAx
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxNDQsICAgMSwgICAwLCAgIDAs
IAorICAgICAyNCwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIs
ICAgMCwgICAwLCAgIDAsIAorICAgIDEyOCwgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAxNTgsICAgMSwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwg
ICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDE3Niwg
ICAxLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxOTIsICAgMSwgICAwLCAg
IDAsIAorICAgICA0MCwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgIDE3NiwgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNzAsIDEwNSwgMTE0LCAxMTUsIAorICAgIDExNiwgIDgwLCAxMDUsIDEy
MCwgMTAxLCAxMDgsIAorICAgICA3OSwgMTAyLCAxMDIsIDExNSwgMTAxLCAxMTYsIAorICAgICAg
MCwgMTcxLCAxNzEsIDE3MSwgICAwLCAgIDAsIAorICAgICAxOSwgICAwLCAgIDEsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgODAsIDEwNSwgMTIwLCAxMDEsIAorICAgIDEwOCwgMTE1LCAgODAsIDEwMSwgMTE0LCAgODIs
IAorICAgIDExMSwgMTE5LCAgIDAsICA4MiwgMTExLCAxMTksIAorICAgICA4MywgMTE2LCAxMTQs
IDEwNSwgMTAwLCAxMDEsIAorICAgICAgMCwgIDgyLCAxMTEsIDExOSwgMTE1LCAgODAsIAorICAg
IDEwMSwgMTE0LCAgODMsIDEwOCwgMTA1LCAgOTksIAorICAgIDEwMSwgICAwLCAgODAsIDExMSwg
MTE1LCAxMDUsIAorICAgIDExNiwgMTA1LCAxMTEsIDExMCwgIDc5LCAxMDIsIAorICAgIDEwMiwg
MTE1LCAxMDEsIDExNiwgICAwLCAxNzEsIAorICAgICAgMSwgICAwLCAgIDMsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDgwLCAxMTEsIAorICAgIDExNSwgMTA1LCAxMTYsIDEwNSwgMTExLCAxMTAsIAor
ICAgICA4MywgIDk5LCAgOTcsIDEwOCwgMTAxLCAgIDAsIAorICAgICA4NCwgMTAxLCAxMjAsICA3
NiwgMTExLCAgOTksIAorICAgICA5NywgMTE2LCAxMDUsIDExMSwgMTEwLCAgNzksIAorICAgIDEw
MiwgMTAyLCAxMTUsIDEwMSwgMTE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDIsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDg0LCAxMDEsIAorICAgIDEyMCwgIDc2LCAxMTEsICA5OSwgIDk3LCAxMTYs
IAorICAgIDEwNSwgMTExLCAxMTAsICA4MywgIDk5LCAgOTcsIAorICAgIDEwOCwgMTAxLCAgIDAs
ICA3NywgMTA1LCAgOTksIAorICAgIDExNCwgMTExLCAxMTUsIDExMSwgMTAyLCAxMTYsIAorICAg
ICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAgNzIsIAorICAgICA3NiwgIDgzLCAgNzYsICAzMiwg
IDgzLCAxMDQsIAorICAgICA5NywgMTAwLCAxMDEsIDExNCwgIDMyLCAgNjcsIAorICAgIDExMSwg
MTA5LCAxMTIsIDEwNSwgMTA4LCAxMDEsIAorICAgIDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAg
NDgsIAorICAgICA0NiwgIDU3LCAgNTAsICA0OCwgIDQ4LCAgNDYsIAorICAgICA0OSwgIDU0LCAg
NTEsICA1NiwgIDUyLCAgIDAsIAorICAgICA3MywgIDgzLCAgNzEsICA3OCwgIDQ0LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAg
MCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
NiwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMSwgICAxLCAgIDAsICAgMCwgIDgzLCAgODYsIAorICAgICA5NSwgIDg2
LCAxMDEsIDExNCwgMTE2LCAxMDEsIAorICAgIDEyMCwgIDczLCAgNjgsICAgMCwgIDc5LCAgODMs
IAorICAgICA3MSwgIDc4LCAxMDgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAs
ICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgODAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAg
IDAsICAgMCwgICAxLCAgMTQsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAyLCAgMTMsIAorICAgICAg
MCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgIDExMSwgMTE1LCAxMDUsIDExNiwgMTA1
LCAxMTEsIAorICAgIDExMCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5
LCAgODIsICA2OCwgICAwLCAgNzYsIAorICAgICA2NSwgIDg5LCAgNjksICA4MiwgICAwLCAxNzEs
IAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgMjUyLCAgIDEsIAorICAgICAgMCwgICAwLCAgNjQs
ICAgMCwgICAxLCAgIDAsIAorICAgIDEyNywgICAwLCAgIDAsICAgMCwgIDg5LCAgIDAsIAorICAg
ICAgMCwgICA0LCAgNzAsIDE0MiwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgOTYsICAgMCwgICAwLCAgIDQsIAorICAgICAxOCwg
IDE2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDYsICAgMCwgICAwLCAg
IDAsIAorICAgIDEwMywgICAwLCAgIDAsICAgNCwgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAor
ICAgICAgMCwgICAzLCAgMTgsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAg
MCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAgMzQsICAzMiwgIDE2LCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgMTA0LCAgIDAsIAorICAgICAgMCwgICAyLCAgIDIsICAgMCwgICAw
LCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgOCwgMTk0LCAgMzIsIAorICAgICAxNiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgIDEyOCwgIDYzLCAgMzgsICAgMCwgICAwLCAgMTAsIAorICAg
ICAgMCwgMjA4LCAgIDAsICAgMCwgIDUwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgIDI0NiwgMTQzLCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDE1MCwgMTMzLCAgMzIsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3OCwgICAwLCAg
IDAsICAgOCwgIDY2LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgMjA4LCAgIDAsICAgMCwgIDEwLCAgMTYsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgMzUsICAgMCwgICAwLCAgMTAsIAorICAgICAxOCwgICAwLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNDIsICAgMCwgIDE2LCAxMjgsIAorICAgICA2NSwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgMTYsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAzNSwgICAwLCAgIDAsICAxMCwgIDM0LCAgIDAsIAorICAg
ICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA0MiwgICAwLCAgMTYsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjYsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgIDEwLCAxMjgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAg
MzQsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDQyLCAgIDAsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3OCwgICAwLCAgIDAsICAg
OSwgIDY2LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgMjA4LCAgIDAsICAgMCwgIDEwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAyNiwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAzNSwgICAwLCAgIDAsICAxMSwgIDE4LCAgIDAs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA0MiwgICAwLCAgMTYs
IDEyOCwgIDY1LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAyNiwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgODYsICAgMCwgICAwLCAgIDUsIAorICAgICA1MCwgICAwLCAgMTYsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAxMzQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDM1LCAgIDAsIAorICAgICAgMCwgIDEwLCAgMzQsICAgMCwgIDE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICA0MiwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAyNiwgICAwLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgMzAsICAgMCwgICAwLCAgIDcsIAorICAgICAxOCwgIDMy
LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDI2LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICA1MCwgICAwLCAgIDAsICAxMSwgIDUwLCAgMzIsIAorICAg
ICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDIzMCwgMTM4LCAgMzIsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwg
ICAwLCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyOCwgIDMyLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
NjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0LCAgNjUsICA4NCwgMTE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9jbGVhcjExdnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvY2xlYXIxMXZzLmgJKHJldmlzaW9uIDE2ODEw
MykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNk
MTEvc2hhZGVycy9jb21waWxlZC9jbGVhcjExdnMuaAkod29ya2luZyBjb3B5KQpAQCAtMSwxMzEg
KzAsMCBAQAotI2lmIDAKLS8vCi0vLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNo
YWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKLS8vCi0vLwotLy8vCi0vLwotLy8gSW5wdXQg
c2lnbmF0dXJlOgotLy8KLS8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdp
c3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0t
LS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCi0vLyBQT1NJVElPTiAg
ICAgICAgICAgICAgICAgMCAgIHh5eiAgICAgICAgIDAgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAK
LS8vIENPTE9SICAgICAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMSAgICAgTk9ORSAg
IGZsb2F0ICAgeHl6dwotLy8KLS8vCi0vLyBPdXRwdXQgc2lnbmF0dXJlOgotLy8KLS8vIE5hbWUg
ICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAg
VXNlZAotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0t
LS0tIC0tLS0tLS0gLS0tLS0tCi0vLyBTVl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encg
ICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgIHh5encKLS8vIENPTE9SICAgICAgICAgICAgICAg
ICAgICAwICAgeHl6dyAgICAgICAgMSAgICAgTk9ORSAgIGZsb2F0ICAgeHl6dwotLy8KLXZzXzRf
MAotZGNsX2lucHV0IHYwLnh5egotZGNsX2lucHV0IHYxLnh5encKLWRjbF9vdXRwdXRfc2l2IG8w
Lnh5encsIHBvc2l0aW9uCi1kY2xfb3V0cHV0IG8xLnh5encKLW1vdiBvMC54eXosIHYwLnh5engK
LW1vdiBvMC53LCBsKDEuMDAwMDAwKQotbW92IG8xLnh5encsIHYxLnh5encKLXJldCAKLS8vIEFw
cHJveGltYXRlbHkgNCBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCi0jZW5kaWYKLQotY29uc3QgQllU
RSBnX1ZTX0NsZWFyW10gPQotewotICAgICA2OCwgIDg4LCAgNjYsICA2NywgIDk3LCAgIDUsIAot
ICAgICAxMywgMTYzLCAxNjAsIDI1NCwgIDk1LCAxMjcsIAotICAgICAzMCwgMTk0LCAxMjEsIDE0
NCwgMjM2LCAxODUsIAotICAgICA1OSwgIDI5LCAgIDEsICAgMCwgICAwLCAgIDAsIAotICAgICA0
OCwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAotICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAw
LCAgIDAsIAotICAgIDE0MCwgICAwLCAgIDAsICAgMCwgMjIwLCAgIDAsIAotICAgICAgMCwgICAw
LCAgNDgsICAgMSwgICAwLCAgIDAsIAotICAgIDE4MCwgICAxLCAgIDAsICAgMCwgIDgyLCAgNjgs
IAotICAgICA2OSwgIDcwLCAgODAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAg
ICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAotICAgIDI1NCwgMjU1LCAgIDAsICAgMSwg
ICAwLCAgIDAsIAotICAgICAyOCwgICAwLCAgIDAsICAgMCwgIDc3LCAxMDUsIAotICAgICA5OSwg
MTE0LCAxMTEsIDExNSwgMTExLCAxMDIsIAotICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAg
MzIsIAotICAgICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAotICAgIDEwNCwgIDk3LCAx
MDAsIDEwMSwgMTE0LCAgMzIsIAotICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAot
ICAgIDEwMSwgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAotICAgICA0OCwgIDQ2LCAgNTcsICA1
MCwgIDQ4LCAgNDgsIAotICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAotICAgICAg
MCwgMTcxLCAgNzMsICA4MywgIDcxLCAgNzgsIAotICAgICA3MiwgICAwLCAgIDAsICAgMCwgICAy
LCAgIDAsIAotICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAotICAgICA1NiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAotICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDcs
ICAgNywgICAwLCAgIDAsIAotICAgICA2NSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMywgICAwLCAgIDAsICAgMCwg
ICAxLCAgIDAsIAotICAgICAgMCwgICAwLCAgMTUsICAxNSwgICAwLCAgIDAsIAotICAgICA4MCwg
IDc5LCAgODMsICA3MywgIDg0LCAgNzMsIAotICAgICA3OSwgIDc4LCAgIDAsICA2NywgIDc5LCAg
NzYsIAotICAgICA3OSwgIDgyLCAgIDAsIDE3MSwgIDc5LCAgODMsIAotICAgICA3MSwgIDc4LCAg
NzYsICAgMCwgICAwLCAgIDAsIAotICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAot
ICAgICAgMCwgICAwLCAgNTYsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAxLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAotICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAotICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAw
LCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAw
LCAgIDMsICAgMCwgICAwLCAgIDAsIAotICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAs
IAotICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAotICAgICA3OSwgIDgzLCAgNzMs
ICA4NCwgIDczLCAgNzksIAotICAgICA3OCwgICAwLCAgNjcsICA3OSwgIDc2LCAgNzksIAotICAg
ICA4MiwgICAwLCAxNzEsIDE3MSwgIDgzLCAgNzIsIAotICAgICA2OCwgIDgyLCAxMjQsICAgMCwg
ICAwLCAgIDAsIAotICAgICA2NCwgICAwLCAgIDEsICAgMCwgIDMxLCAgIDAsIAotICAgICAgMCwg
ICAwLCAgOTUsICAgMCwgICAwLCAgIDMsIAotICAgIDExNCwgIDE2LCAgMTYsICAgMCwgICAwLCAg
IDAsIAotICAgICAgMCwgICAwLCAgOTUsICAgMCwgICAwLCAgIDMsIAotICAgIDI0MiwgIDE2LCAg
MTYsICAgMCwgICAxLCAgIDAsIAotICAgICAgMCwgICAwLCAxMDMsICAgMCwgICAwLCAgIDQsIAot
ICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDEsICAg
MCwgICAwLCAgIDAsIAotICAgIDEwMSwgICAwLCAgIDAsICAgMywgMjQyLCAgMzIsIAotICAgICAx
NiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAotICAgICA1NCwgICAwLCAgIDAsICAgNSwgMTE0
LCAgMzIsIAotICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICA3MCwgIDE4
LCAgMTYsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDUs
IAotICAgIDEzMCwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDEs
ICA2NCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAxMjgsICA2MywgIDU0LCAgIDAsIAotICAg
ICAgMCwgICA1LCAyNDIsICAzMiwgIDE2LCAgIDAsIAotICAgICAgMSwgICAwLCAgIDAsICAgMCwg
IDcwLCAgMzAsIAotICAgICAxNiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAotICAgICA2Miwg
ICAwLCAgIDAsICAgMSwgIDgzLCAgODQsIAotICAgICA2NSwgIDg0LCAxMTYsICAgMCwgICAwLCAg
IDAsIAotICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAot
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAxLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICA0LCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAotICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAotICAgICAgMCwgICAwCi19OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFyZmxvYXQxMXBz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9y
ZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFyZmxvYXQxMXBzLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDExL3NoYWRlcnMvY29tcGlsZWQvY2xlYXJmbG9hdDExcHMuaAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE5NiBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBI
TFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLworLy8g
SW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFz
ayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9Q
T1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAg
ICAgICAKKy8vIENPTE9SICAgICAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMSAgICAg
Tk9ORSAgIGZsb2F0ICAgeHl6dworLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8v
IE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9y
bWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0t
IC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAg
IHh5encgICAgICAgIDAgICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8vIFNWX1RBUkdFVCAgICAg
ICAgICAgICAgICAxICAgeHl6dyAgICAgICAgMSAgIFRBUkdFVCAgIGZsb2F0ICAgeHl6dworLy8g
U1ZfVEFSR0VUICAgICAgICAgICAgICAgIDIgICB4eXp3ICAgICAgICAyICAgVEFSR0VUICAgZmxv
YXQgICB4eXp3CisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMyAgIHh5encgICAgICAgIDMg
ICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICA0ICAg
eHl6dyAgICAgICAgNCAgIFRBUkdFVCAgIGZsb2F0ICAgeHl6dworLy8gU1ZfVEFSR0VUICAgICAg
ICAgICAgICAgIDUgICB4eXp3ICAgICAgICA1ICAgVEFSR0VUICAgZmxvYXQgICB4eXp3CisvLyBT
Vl9UQVJHRVQgICAgICAgICAgICAgICAgNiAgIHh5encgICAgICAgIDYgICBUQVJHRVQgICBmbG9h
dCAgIHh5encKKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICA3ICAgeHl6dyAgICAgICAgNyAg
IFRBUkdFVCAgIGZsb2F0ICAgeHl6dworLy8KK3BzXzRfMAorZGNsX2lucHV0X3BzIGxpbmVhciB2
MS54eXp3CitkY2xfb3V0cHV0IG8wLnh5encKK2RjbF9vdXRwdXQgbzEueHl6dworZGNsX291dHB1
dCBvMi54eXp3CitkY2xfb3V0cHV0IG8zLnh5encKK2RjbF9vdXRwdXQgbzQueHl6dworZGNsX291
dHB1dCBvNS54eXp3CitkY2xfb3V0cHV0IG82Lnh5encKK2RjbF9vdXRwdXQgbzcueHl6dworbW92
IG8wLnh5encsIHYxLnh5encKK21vdiBvMS54eXp3LCB2MS54eXp3Cittb3YgbzIueHl6dywgdjEu
eHl6dworbW92IG8zLnh5encsIHYxLnh5encKK21vdiBvNC54eXp3LCB2MS54eXp3Cittb3YgbzUu
eHl6dywgdjEueHl6dworbW92IG82Lnh5encsIHYxLnh5encKK21vdiBvNy54eXp3LCB2MS54eXp3
CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDkgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlm
CisKK2NvbnN0IEJZVEUgZ19QU19DbGVhckZsb2F0W10gPQoreworICAgICA2OCwgIDg4LCAgNjYs
ICA2NywgIDkyLCAgNTQsIAorICAgIDEyMCwgMTA1LCAxNjYsIDE5NiwgMTMyLCAxNTgsIAorICAg
IDIwOSwgIDMzLCAxODUsIDEyMiwgICA4LCAxODksIAorICAgIDE0NSwgMTE0LCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgICA4OCwgICAzLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE0MCwgICAwLCAgIDAsICAgMCwgMjI0LCAg
IDAsIAorICAgICAgMCwgICAwLCAxODgsICAgMSwgICAwLCAgIDAsIAorICAgIDIyMCwgICAyLCAg
IDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgODAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1
NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgIDc3
LCAxMDUsIAorICAgICA5OSwgMTE0LCAxMTEsIDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMy
LCAgNDAsICA4MiwgIDQxLCAgMzIsIAorICAgICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMs
IAorICAgIDEwNCwgIDk3LCAxMDAsIDEwMSwgMTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDks
IDExMiwgMTA1LCAxMDgsIAorICAgIDEwMSwgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAg
ICA0OCwgIDQ2LCAgNTcsICA1MCwgIDQ4LCAgNDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwg
IDU2LCAgNTIsIAorICAgICAgMCwgMTcxLCAgNzMsICA4MywgIDcxLCAgNzgsIAorICAgICA3Niwg
ICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAg
IDAsIAorICAgICA1NiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA2OCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MywgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAxNSwgICAw
LCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4MCwgIDc5LCAgODMsIAorICAgICA3MywgIDg0
LCAgNzMsICA3OSwgIDc4LCAgIDAsIAorICAgICA2NywgIDc5LCAgNzYsICA3OSwgIDgyLCAgIDAs
IAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgIDIxMiwgICAwLCAgIDAs
ICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAg
IDIwMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgIDIwMCwgICAwLCAgIDAsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAg
IDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAor
ICAgIDIwMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAg
MCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgIDIwMCwgICAwLCAgIDAsICAgMCwgICAz
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAw
LCAgIDAsICAgMCwgICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAs
IAorICAgIDIwMCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgIDIwMCwgICAwLCAgIDAsICAgMCwg
ICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywg
ICAwLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAg
IDAsIAorICAgIDIwMCwgICAwLCAgIDAsICAgMCwgICA2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgIDIwMCwgICAwLCAgIDAsICAg
MCwgICA3LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MywgICAwLCAgIDAsICAgMCwgICA3LCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAw
LCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5
LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgIDI0LCAgIDEs
IAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgICAwLCAgIDAs
ICAgMCwgIDk4LCAgMTYsIAorICAgICAgMCwgICAzLCAyNDIsICAxNiwgIDE2LCAgIDAsIAorICAg
ICAgMSwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIsICAzMiwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwg
ICAzLCAyNDIsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgMTAxLCAg
IDAsIAorICAgICAgMCwgICAzLCAyNDIsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMiwgICAwLCAg
IDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIsICAzMiwgIDE2LCAgIDAsIAor
ICAgICAgMywgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIsICAz
MiwgIDE2LCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAg
MCwgICAzLCAyNDIsICAzMiwgIDE2LCAgIDAsIAorICAgICAgNSwgICAwLCAgIDAsICAgMCwgMTAx
LCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIsICAzMiwgIDE2LCAgIDAsIAorICAgICAgNiwgICAw
LCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIsICAzMiwgIDE2LCAgIDAs
IAorICAgICAgNywgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAyNDIs
ICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgMzAsIAorICAg
ICAxNiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNSwg
MjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwg
IDMwLCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAg
IDUsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAg
NzAsICAzMCwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAor
ICAgICAgMCwgICA1LCAyNDIsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAg
MCwgIDcwLCAgMzAsIAorICAgICAxNiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA1
NCwgICAwLCAgIDAsICAgNSwgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDQsICAgMCwgICAw
LCAgIDAsIAorICAgICA3MCwgIDMwLCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNTQsICAgMCwgICAwLCAgIDUsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICA1LCAgIDAs
IAorICAgICAgMCwgICAwLCAgNzAsICAzMCwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAyNDIsICAzMiwgIDE2LCAgIDAsIAorICAg
ICAgNiwgICAwLCAgIDAsICAgMCwgIDcwLCAgMzAsIAorICAgICAxNiwgICAwLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNSwgMjQyLCAgMzIsIAorICAgICAxNiwg
ICAwLCAgIDcsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDMwLCAgMTYsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0LCAg
NjUsICA4NCwgMTE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDksICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDksICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgOSwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9jb21waWxlZC9jbGVhcmZsb2F0MTF2cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9j
bGVhcmZsb2F0MTF2cy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFyZmxvYXQx
MXZzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMzEgQEAKKyNpZiAwCisvLworLy8gR2Vu
ZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2
Mzg0CisvLworLy8KKy8vLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAg
ICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVz
ZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLQorLy8gUE9TSVRJT04gICAgICAgICAgICAgICAgIDAgICB4eXogICAg
ICAgICAwICAgICBOT05FICAgZmxvYXQgICB4eXogCisvLyBDT0xPUiAgICAgICAgICAgICAgICAg
ICAgMCAgIHh5encgICAgICAgIDEgICAgIE5PTkUgICBmbG9hdCAgIHh5encKKy8vCisvLworLy8g
T3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1h
c2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1Zf
UE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQg
ICB4eXp3CisvLyBDT0xPUiAgICAgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDEgICAg
IE5PTkUgICBmbG9hdCAgIHh5encKKy8vCit2c180XzAKK2RjbF9pbnB1dCB2MC54eXoKK2RjbF9p
bnB1dCB2MS54eXp3CitkY2xfb3V0cHV0X3NpdiBvMC54eXp3LCBwb3NpdGlvbgorZGNsX291dHB1
dCBvMS54eXp3Cittb3YgbzAueHl6LCB2MC54eXp4Cittb3YgbzAudywgbCgxLjAwMDAwMCkKK21v
diBvMS54eXp3LCB2MS54eXp3CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDQgaW5zdHJ1Y3Rpb24g
c2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19WU19DbGVhckZsb2F0W10gPQorewor
ICAgICA2OCwgIDg4LCAgNjYsICA2NywgIDk3LCAgIDUsIAorICAgICAxMywgMTYzLCAxNjAsIDI1
NCwgIDk1LCAxMjcsIAorICAgICAzMCwgMTk0LCAxMjEsIDE0NCwgMjM2LCAxODUsIAorICAgICA1
OSwgIDI5LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA0OCwgICAyLCAgIDAsICAgMCwgICA1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE0MCwgICAw
LCAgIDAsICAgMCwgMjIwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNDgsICAgMSwgICAwLCAgIDAs
IAorICAgIDE4MCwgICAxLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgODAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDQsIAorICAgIDI1NCwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICAyOCwg
ICAwLCAgIDAsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwgMTE0LCAxMTEsIDExNSwgMTExLCAx
MDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIsIAorICAgICA3MiwgIDc2LCAg
ODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAxMDAsIDEwMSwgMTE0LCAgMzIsIAor
ICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAorICAgIDEwMSwgMTE0LCAgMzIsICA1
NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1MCwgIDQ4LCAgNDgsIAorICAgICA0
NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAgMCwgMTcxLCAgNzMsICA4MywgIDcx
LCAgNzgsIAorICAgICA3MiwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICA1NiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDcsICAgNywgICAwLCAgIDAsIAorICAg
ICA2NSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMTUsICAxNSwgICAwLCAgIDAsIAorICAgICA4MCwgIDc5LCAgODMsICA3MywgIDg0LCAg
NzMsIAorICAgICA3OSwgIDc4LCAgIDAsICA2NywgIDc5LCAgNzYsIAorICAgICA3OSwgIDgyLCAg
IDAsIDE3MSwgIDc5LCAgODMsIAorICAgICA3MSwgIDc4LCAgNzYsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgODMs
ICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAg
ICA3OCwgICAwLCAgNjcsICA3OSwgIDc2LCAgNzksIAorICAgICA4MiwgICAwLCAxNzEsIDE3MSwg
IDgzLCAgNzIsIAorICAgICA2OCwgIDgyLCAxMjQsICAgMCwgICAwLCAgIDAsIAorICAgICA2NCwg
ICAwLCAgIDEsICAgMCwgIDMxLCAgIDAsIAorICAgICAgMCwgICAwLCAgOTUsICAgMCwgICAwLCAg
IDMsIAorICAgIDExNCwgIDE2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
OTUsICAgMCwgICAwLCAgIDMsIAorICAgIDI0MiwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAsIAor
ICAgICAgMCwgICAwLCAxMDMsICAgMCwgICAwLCAgIDQsIAorICAgIDI0MiwgIDMyLCAgMTYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEw
MSwgICAwLCAgIDAsICAgMywgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNSwgMTE0LCAgMzIsIAorICAgICAxNiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE4LCAgMTYsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDUsIAorICAgIDEzMCwgIDMyLCAgMTYs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICA2NCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAxMjgsICA2MywgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAyNDIsICAzMiwg
IDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDcwLCAgMzAsIAorICAgICAxNiwg
ICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA2MiwgICAwLCAgIDAsICAgMSwgIDgzLCAg
ODQsIAorICAgICA2NSwgIDg0LCAxMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwCit9
OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9k
M2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFybXVsdGlwbGUxMXBzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFk
ZXJzL2NvbXBpbGVkL2NsZWFybXVsdGlwbGUxMXBzLmgJKHJldmlzaW9uIDE2ODEwMykKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9jb21waWxlZC9jbGVhcm11bHRpcGxlMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5NiAr
MCwwIEBACi0jaWYgMAotLy8KLS8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hh
ZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAotLy8KLS8vCi0vLy8KLS8vCi0vLyBJbnB1dCBz
aWduYXR1cmU6Ci0vLwotLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lz
dGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0t
LSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KLS8vIFNWX1BPU0lUSU9O
ICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAot
Ly8gQ09MT1IgICAgICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAxICAgICBOT05FICAg
ZmxvYXQgICB4eXp3Ci0vLwotLy8KLS8vIE91dHB1dCBzaWduYXR1cmU6Ci0vLwotLy8gTmFtZSAg
ICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBV
c2VkCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0t
LS0gLS0tLS0tLSAtLS0tLS0KLS8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICAwICAgeHl6dyAg
ICAgICAgMCAgIFRBUkdFVCAgIGZsb2F0ICAgeHl6dwotLy8gU1ZfVEFSR0VUICAgICAgICAgICAg
ICAgIDEgICB4eXp3ICAgICAgICAxICAgVEFSR0VUICAgZmxvYXQgICB4eXp3Ci0vLyBTVl9UQVJH
RVQgICAgICAgICAgICAgICAgMiAgIHh5encgICAgICAgIDIgICBUQVJHRVQgICBmbG9hdCAgIHh5
encKLS8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICAzICAgeHl6dyAgICAgICAgMyAgIFRBUkdF
VCAgIGZsb2F0ICAgeHl6dwotLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDQgICB4eXp3ICAg
ICAgICA0ICAgVEFSR0VUICAgZmxvYXQgICB4eXp3Ci0vLyBTVl9UQVJHRVQgICAgICAgICAgICAg
ICAgNSAgIHh5encgICAgICAgIDUgICBUQVJHRVQgICBmbG9hdCAgIHh5encKLS8vIFNWX1RBUkdF
VCAgICAgICAgICAgICAgICA2ICAgeHl6dyAgICAgICAgNiAgIFRBUkdFVCAgIGZsb2F0ICAgeHl6
dwotLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDcgICB4eXp3ICAgICAgICA3ICAgVEFSR0VU
ICAgZmxvYXQgICB4eXp3Ci0vLwotcHNfNF8wCi1kY2xfaW5wdXRfcHMgbGluZWFyIHYxLnh5encK
LWRjbF9vdXRwdXQgbzAueHl6dwotZGNsX291dHB1dCBvMS54eXp3Ci1kY2xfb3V0cHV0IG8yLnh5
encKLWRjbF9vdXRwdXQgbzMueHl6dwotZGNsX291dHB1dCBvNC54eXp3Ci1kY2xfb3V0cHV0IG81
Lnh5encKLWRjbF9vdXRwdXQgbzYueHl6dwotZGNsX291dHB1dCBvNy54eXp3Ci1tb3YgbzAueHl6
dywgdjEueHl6dwotbW92IG8xLnh5encsIHYxLnh5encKLW1vdiBvMi54eXp3LCB2MS54eXp3Ci1t
b3YgbzMueHl6dywgdjEueHl6dwotbW92IG80Lnh5encsIHYxLnh5encKLW1vdiBvNS54eXp3LCB2
MS54eXp3Ci1tb3YgbzYueHl6dywgdjEueHl6dwotbW92IG83Lnh5encsIHYxLnh5encKLXJldCAK
LS8vIEFwcHJveGltYXRlbHkgOSBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCi0jZW5kaWYKLQotY29u
c3QgQllURSBnX1BTX0NsZWFyTXVsdGlwbGVbXSA9Ci17Ci0gICAgIDY4LCAgODgsICA2NiwgIDY3
LCAgOTIsICA1NCwgCi0gICAgMTIwLCAxMDUsIDE2NiwgMTk2LCAxMzIsIDE1OCwgCi0gICAgMjA5
LCAgMzMsIDE4NSwgMTIyLCAgIDgsIDE4OSwgCi0gICAgMTQ1LCAxMTQsICAgMSwgICAwLCAgIDAs
ICAgMCwgCi0gICAgIDg4LCAgIDMsICAgMCwgICAwLCAgIDUsICAgMCwgCi0gICAgICAwLCAgIDAs
ICA1MiwgICAwLCAgIDAsICAgMCwgCi0gICAgMTQwLCAgIDAsICAgMCwgICAwLCAyMjQsICAgMCwg
Ci0gICAgICAwLCAgIDAsIDE4OCwgICAxLCAgIDAsICAgMCwgCi0gICAgMjIwLCAgIDIsICAgMCwg
ICAwLCAgODIsICA2OCwgCi0gICAgIDY5LCAgNzAsICA4MCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCi0gICAgMjU1LCAy
NTUsICAgMCwgICAxLCAgIDAsICAgMCwgCi0gICAgIDI4LCAgIDAsICAgMCwgICAwLCAgNzcsIDEw
NSwgCi0gICAgIDk5LCAxMTQsIDExMSwgMTE1LCAxMTEsIDEwMiwgCi0gICAgMTE2LCAgMzIsICA0
MCwgIDgyLCAgNDEsICAzMiwgCi0gICAgIDcyLCAgNzYsICA4MywgIDc2LCAgMzIsICA4MywgCi0g
ICAgMTA0LCAgOTcsIDEwMCwgMTAxLCAxMTQsICAzMiwgCi0gICAgIDY3LCAxMTEsIDEwOSwgMTEy
LCAxMDUsIDEwOCwgCi0gICAgMTAxLCAxMTQsICAzMiwgIDU3LCAgNDYsICA1MSwgCi0gICAgIDQ4
LCAgNDYsICA1NywgIDUwLCAgNDgsICA0OCwgCi0gICAgIDQ2LCAgNDksICA1NCwgIDUxLCAgNTYs
ICA1MiwgCi0gICAgICAwLCAxNzEsICA3MywgIDgzLCAgNzEsICA3OCwgCi0gICAgIDc2LCAgIDAs
ICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgIDU2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMSwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAgIDY4LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAg
IDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgIDE1LCAgIDAsICAg
MCwgCi0gICAgIDgzLCAgODYsICA5NSwgIDgwLCAgNzksICA4MywgCi0gICAgIDczLCAgODQsICA3
MywgIDc5LCAgNzgsICAgMCwgCi0gICAgIDY3LCAgNzksICA3NiwgIDc5LCAgODIsICAgMCwgCi0g
ICAgMTcxLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCi0gICAgMjEyLCAgIDAsICAgMCwgICAw
LCAgIDgsICAgMCwgCi0gICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwgCi0gICAgMjAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwg
ICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAg
MjAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAg
IDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDMsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAg
MCwgICAwLCAgIDMsICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0g
ICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCi0gICAgICAw
LCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDUs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAs
ICAgMCwgICAwLCAgIDUsICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwg
Ci0gICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDYsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAgMjAwLCAgIDAsICAgMCwgICAwLCAg
IDcsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAg
IDAsICAgMCwgICAwLCAgIDcsICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAg
MCwgCi0gICAgIDgzLCAgODYsICA5NSwgIDg0LCAgNjUsICA4MiwgCi0gICAgIDcxLCAgNjksICA4
NCwgICAwLCAxNzEsIDE3MSwgCi0gICAgIDgzLCAgNzIsICA2OCwgIDgyLCAgMjQsICAgMSwgCi0g
ICAgICAwLCAgIDAsICA2NCwgICAwLCAgIDAsICAgMCwgCi0gICAgIDcwLCAgIDAsICAgMCwgICAw
LCAgOTgsICAxNiwgCi0gICAgICAwLCAgIDMsIDI0MiwgIDE2LCAgMTYsICAgMCwgCi0gICAgICAx
LCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCi0gICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCi0gICAgICAwLCAgIDMs
IDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwg
Ci0gICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICAyLCAgIDAsICAgMCwg
ICAwLCAxMDEsICAgMCwgCi0gICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAg
ICAzLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCi0gICAgICAwLCAgIDMsIDI0MiwgIDMyLCAg
MTYsICAgMCwgCi0gICAgICA0LCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCi0gICAgICAwLCAg
IDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICA1LCAgIDAsICAgMCwgICAwLCAxMDEsICAg
MCwgCi0gICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICA2LCAgIDAsICAg
MCwgICAwLCAxMDEsICAgMCwgCi0gICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0g
ICAgICA3LCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCi0gICAgICAwLCAgIDUsIDI0MiwgIDMy
LCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAzMCwgCi0gICAgIDE2
LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAgIDU0LCAgIDAsICAgMCwgICA1LCAyNDIs
ICAzMiwgCi0gICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAgIDcwLCAgMzAs
ICAxNiwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNSwg
Ci0gICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICA3MCwg
IDMwLCAgMTYsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCi0gICAg
ICAwLCAgIDUsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAg
NzAsICAzMCwgCi0gICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAgIDU0LCAg
IDAsICAgMCwgICA1LCAyNDIsICAzMiwgCi0gICAgIDE2LCAgIDAsICAgNCwgICAwLCAgIDAsICAg
MCwgCi0gICAgIDcwLCAgMzAsICAxNiwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICA1
NCwgICAwLCAgIDAsICAgNSwgCi0gICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDUsICAgMCwgCi0g
ICAgICAwLCAgIDAsICA3MCwgIDMwLCAgMTYsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAw
LCAgNTQsICAgMCwgCi0gICAgICAwLCAgIDUsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICA2
LCAgIDAsICAgMCwgICAwLCAgNzAsICAzMCwgCi0gICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAs
ICAgMCwgCi0gICAgIDU0LCAgIDAsICAgMCwgICA1LCAyNDIsICAzMiwgCi0gICAgIDE2LCAgIDAs
ICAgNywgICAwLCAgIDAsICAgMCwgCi0gICAgIDcwLCAgMzAsICAxNiwgICAwLCAgIDEsICAgMCwg
Ci0gICAgICAwLCAgIDAsICA2MiwgICAwLCAgIDAsICAgMSwgCi0gICAgIDgzLCAgODQsICA2NSwg
IDg0LCAxMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgOSwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgOSwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICA5LCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwCi19OwpJbmRleDogU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2Nv
bXBpbGVkL2NsZWFyc2luZ2xlMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9jbGVh
cnNpbmdsZTExcHMuaAkocmV2aXNpb24gMTY4MTAzKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFyc2lu
Z2xlMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExMCArMCwwIEBACi0jaWYgMAotLy8KLS8v
IEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIw
MC4xNjM4NAotLy8KLS8vCi0vLy8KLS8vCi0vLyBJbnB1dCBzaWduYXR1cmU6Ci0vLwotLy8gTmFt
ZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQg
ICBVc2VkCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0t
LS0tLS0gLS0tLS0tLSAtLS0tLS0KLS8vIFNWX1Bvc2l0aW9uICAgICAgICAgICAgICAwICAgeHl6
dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAotLy8gQ09MT1IgICAgICAgICAgICAg
ICAgICAgIDAgICB4eXp3ICAgICAgICAxICAgICBOT05FICAgZmxvYXQgICB4eXp3Ci0vLwotLy8K
LS8vIE91dHB1dCBzaWduYXR1cmU6Ci0vLwotLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXgg
ICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCi0vLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KLS8v
IFNWX1RhcmdldCAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgIFRBUkdFVCAgIGZs
b2F0ICAgeHl6dwotLy8KLXBzXzRfMAotZGNsX2lucHV0X3BzIGxpbmVhciB2MS54eXp3Ci1kY2xf
b3V0cHV0IG8wLnh5encKLW1vdiBvMC54eXp3LCB2MS54eXp3Ci1yZXQgCi0vLyBBcHByb3hpbWF0
ZWx5IDIgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAotI2VuZGlmCi0KLWNvbnN0IEJZVEUgZ19QU19D
bGVhclNpbmdsZVtdID0KLXsKLSAgICAgNjgsICA4OCwgIDY2LCAgNjcsICAxMywgMTUyLCAKLSAg
ICAgMzIsICA0OSwgMjIyLCAyMzYsICA5MiwgIDIwLCAKLSAgICAxODgsICA3MSwgIDg4LCAgNDYs
IDE2MywgMjQxLCAKLSAgICAxODgsIDIzOCwgICAxLCAgIDAsICAgMCwgICAwLCAKLSAgICAyMDgs
ICAgMSwgICAwLCAgIDAsICAgNSwgICAwLCAKLSAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwg
ICAwLCAKLSAgICAxNDAsICAgMCwgICAwLCAgIDAsIDIyNCwgICAwLCAKLSAgICAgIDAsICAgMCwg
IDIwLCAgIDEsICAgMCwgICAwLCAKLSAgICAgODQsICAgMSwgICAwLCAgIDAsICA4MiwgIDY4LCAK
LSAgICAgNjksICA3MCwgIDgwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAg
MjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKLSAgICAyNTUsIDI1NSwgICAwLCAgIDEsICAg
MCwgICAwLCAKLSAgICAgMjgsICAgMCwgICAwLCAgIDAsICA3NywgMTA1LCAKLSAgICAgOTksIDEx
NCwgMTExLCAxMTUsIDExMSwgMTAyLCAKLSAgICAxMTYsICAzMiwgIDQwLCAgODIsICA0MSwgIDMy
LCAKLSAgICAgNzIsICA3NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAKLSAgICAxMDQsICA5NywgMTAw
LCAxMDEsIDExNCwgIDMyLCAKLSAgICAgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAKLSAg
ICAxMDEsIDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAKLSAgICAgNDgsICA0NiwgIDU3LCAgNTAs
ICA0OCwgIDQ4LCAKLSAgICAgNDYsICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAKLSAgICAgIDAs
IDE3MSwgIDczLCAgODMsICA3MSwgIDc4LCAKLSAgICAgNzYsICAgMCwgICAwLCAgIDAsICAgMiwg
ICAwLCAKLSAgICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKLSAgICAgNTYsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAK
LSAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgIDE1LCAg
IDAsICAgMCwgICAwLCAKLSAgICAgNjgsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDMsICAgMCwgICAwLCAgIDAsICAg
MSwgICAwLCAKLSAgICAgIDAsICAgMCwgIDE1LCAgMTUsICAgMCwgICAwLCAKLSAgICAgODMsICA4
NiwgIDk1LCAgODAsIDExMSwgMTE1LCAKLSAgICAxMDUsIDExNiwgMTA1LCAxMTEsIDExMCwgICAw
LCAKLSAgICAgNjcsICA3OSwgIDc2LCAgNzksICA4MiwgICAwLCAKLSAgICAxNzEsIDE3MSwgIDc5
LCAgODMsICA3MSwgIDc4LCAKLSAgICAgNDQsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKLSAg
ICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKLSAgICAgMzIsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDMs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgIDE1LCAgIDAsICAgMCwg
ICAwLCAKLSAgICAgODMsICA4NiwgIDk1LCAgODQsICA5NywgMTE0LCAKLSAgICAxMDMsIDEwMSwg
MTE2LCAgIDAsIDE3MSwgMTcxLCAKLSAgICAgODMsICA3MiwgIDY4LCAgODIsICA1NiwgICAwLCAK
LSAgICAgIDAsICAgMCwgIDY0LCAgIDAsICAgMCwgICAwLCAKLSAgICAgMTQsICAgMCwgICAwLCAg
IDAsICA5OCwgIDE2LCAKLSAgICAgIDAsICAgMywgMjQyLCAgMTYsICAxNiwgICAwLCAKLSAgICAg
IDEsICAgMCwgICAwLCAgIDAsIDEwMSwgICAwLCAKLSAgICAgIDAsICAgMywgMjQyLCAgMzIsICAx
NiwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKLSAgICAgIDAsICAg
NSwgMjQyLCAgMzIsICAxNiwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgIDMw
LCAKLSAgICAgMTYsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKLSAgICAgNjIsICAgMCwgICAw
LCAgIDEsICA4MywgIDg0LCAKLSAgICAgNjUsICA4NCwgMTE2LCAgIDAsICAgMCwgICAwLCAKLSAg
ICAgIDIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKLSAgICAgIDIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwg
ICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
LSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MiwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAg
ICAgIDAsICAgMAotfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVT
djIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9jbGVhcnNpbnQxMXBzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9k
M2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFyc2ludDExcHMuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9jb21waWxlZC9jbGVhcnNpbnQxMXBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOTYg
QEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIg
Q29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8KKy8vIElucHV0IHNpZ25h
dHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIg
U3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0t
LS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAg
ICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisvLyBD
T0xPUiAgICAgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDEgICAgIE5PTkUgICAgIGlu
dCAgIHh5encKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAg
ICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQK
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAt
LS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAg
ICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3CisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAg
MSAgIHh5encgICAgICAgIDEgICBUQVJHRVQgICAgIGludCAgIHh5encKKy8vIFNWX1RBUkdFVCAg
ICAgICAgICAgICAgICAyICAgeHl6dyAgICAgICAgMiAgIFRBUkdFVCAgICAgaW50ICAgeHl6dwor
Ly8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDMgICB4eXp3ICAgICAgICAzICAgVEFSR0VUICAg
ICBpbnQgICB4eXp3CisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgNCAgIHh5encgICAgICAg
IDQgICBUQVJHRVQgICAgIGludCAgIHh5encKKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICA1
ICAgeHl6dyAgICAgICAgNSAgIFRBUkdFVCAgICAgaW50ICAgeHl6dworLy8gU1ZfVEFSR0VUICAg
ICAgICAgICAgICAgIDYgICB4eXp3ICAgICAgICA2ICAgVEFSR0VUICAgICBpbnQgICB4eXp3Cisv
LyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgNyAgIHh5encgICAgICAgIDcgICBUQVJHRVQgICAg
IGludCAgIHh5encKKy8vCitwc180XzAKK2RjbF9pbnB1dF9wcyBjb25zdGFudCB2MS54eXp3Citk
Y2xfb3V0cHV0IG8wLnh5encKK2RjbF9vdXRwdXQgbzEueHl6dworZGNsX291dHB1dCBvMi54eXp3
CitkY2xfb3V0cHV0IG8zLnh5encKK2RjbF9vdXRwdXQgbzQueHl6dworZGNsX291dHB1dCBvNS54
eXp3CitkY2xfb3V0cHV0IG82Lnh5encKK2RjbF9vdXRwdXQgbzcueHl6dworbW92IG8wLnh5encs
IHYxLnh5encKK21vdiBvMS54eXp3LCB2MS54eXp3Cittb3YgbzIueHl6dywgdjEueHl6dworbW92
IG8zLnh5encsIHYxLnh5encKK21vdiBvNC54eXp3LCB2MS54eXp3Cittb3YgbzUueHl6dywgdjEu
eHl6dworbW92IG82Lnh5encsIHYxLnh5encKK21vdiBvNy54eXp3LCB2MS54eXp3CityZXQgCisv
LyBBcHByb3hpbWF0ZWx5IDkgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0
IEJZVEUgZ19QU19DbGVhclNpbnRbXSA9Cit7CisgICAgIDY4LCAgODgsICA2NiwgIDY3LCAyNTQs
ICA3NCwgCisgICAgMjE4LCAgMjQsICA3OCwgMTM2LCAyMjMsIDEzMywgCisgICAgIDkyLCAgNDAs
IDExNSwgMTUyLCAxODgsICAxMSwgCisgICAgMjIyLCAgMzYsICAgMSwgICAwLCAgIDAsICAgMCwg
CisgICAgIDg4LCAgIDMsICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICA1Miwg
ICAwLCAgIDAsICAgMCwgCisgICAgMTQwLCAgIDAsICAgMCwgICAwLCAyMjQsICAgMCwgCisgICAg
ICAwLCAgIDAsIDE4OCwgICAxLCAgIDAsICAgMCwgCisgICAgMjIwLCAgIDIsICAgMCwgICAwLCAg
ODIsICA2OCwgCisgICAgIDY5LCAgNzAsICA4MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAg
MCwgICAxLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAgNzcsIDEwNSwgCisg
ICAgIDk5LCAxMTQsIDExMSwgMTE1LCAxMTEsIDEwMiwgCisgICAgMTE2LCAgMzIsICA0MCwgIDgy
LCAgNDEsICAzMiwgCisgICAgIDcyLCAgNzYsICA4MywgIDc2LCAgMzIsICA4MywgCisgICAgMTA0
LCAgOTcsIDEwMCwgMTAxLCAxMTQsICAzMiwgCisgICAgIDY3LCAxMTEsIDEwOSwgMTEyLCAxMDUs
IDEwOCwgCisgICAgMTAxLCAxMTQsICAzMiwgIDU3LCAgNDYsICA1MSwgCisgICAgIDQ4LCAgNDYs
ICA1NywgIDUwLCAgNDgsICA0OCwgCisgICAgIDQ2LCAgNDksICA1NCwgIDUxLCAgNTYsICA1Miwg
CisgICAgICAwLCAxNzEsICA3MywgIDgzLCAgNzEsICA3OCwgCisgICAgIDc2LCAgIDAsICAgMCwg
ICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwgCisgICAg
IDU2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAg
IDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgIDY4LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAg
MCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgIDE1LCAgIDAsICAgMCwgCisg
ICAgIDgzLCAgODYsICA5NSwgIDgwLCAgNzksICA4MywgCisgICAgIDczLCAgODQsICA3MywgIDc5
LCAgNzgsICAgMCwgCisgICAgIDY3LCAgNzksICA3NiwgIDc5LCAgODIsICAgMCwgCisgICAgMTcx
LCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCisgICAgMjEyLCAgIDAsICAgMCwgICAwLCAgIDgs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwg
ICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAg
IDEsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAg
IDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAx
NSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAw
LCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAw
LCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAs
ICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDUsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwg
ICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAg
MjAwLCAgIDAsICAgMCwgICAwLCAgIDYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDYsICAgMCwgCisgICAgICAwLCAg
IDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDcsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAg
MCwgICAwLCAgIDcsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisg
ICAgIDgzLCAgODYsICA5NSwgIDg0LCAgNjUsICA4MiwgCisgICAgIDcxLCAgNjksICA4NCwgICAw
LCAxNzEsIDE3MSwgCisgICAgIDgzLCAgNzIsICA2OCwgIDgyLCAgMjQsICAgMSwgCisgICAgICAw
LCAgIDAsICA2NCwgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAgIDAsICAgMCwgICAwLCAgOTgs
ICAgOCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDE2LCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAs
ICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0Miwg
IDMyLCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAg
ICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAx
MDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAzLCAg
IDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAg
MCwgCisgICAgICA0LCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0
MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICA1LCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisg
ICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICA2LCAgIDAsICAgMCwgICAw
LCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICA3
LCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDUsIDI0MiwgIDMyLCAgMTYs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAzMCwgCisgICAgIDE2LCAgIDAs
ICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA1LCAyNDIsICAzMiwg
CisgICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAgMzAsICAxNiwg
ICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNSwgCisgICAg
MjQyLCAgMzIsICAxNiwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgIDMwLCAg
MTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAg
IDUsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgNzAsICAz
MCwgCisgICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAg
MCwgICA1LCAyNDIsICAzMiwgCisgICAgIDE2LCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCisg
ICAgIDcwLCAgMzAsICAxNiwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICA1NCwgICAw
LCAgIDAsICAgNSwgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDUsICAgMCwgCisgICAgICAw
LCAgIDAsICA3MCwgIDMwLCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgNTQs
ICAgMCwgCisgICAgICAwLCAgIDUsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICA2LCAgIDAs
ICAgMCwgICAwLCAgNzAsICAzMCwgCisgICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwg
CisgICAgIDU0LCAgIDAsICAgMCwgICA1LCAyNDIsICAzMiwgCisgICAgIDE2LCAgIDAsICAgNywg
ICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAgMzAsICAxNiwgICAwLCAgIDEsICAgMCwgCisgICAg
ICAwLCAgIDAsICA2MiwgICAwLCAgIDAsICAgMSwgCisgICAgIDgzLCAgODQsICA2NSwgIDg0LCAx
MTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgOSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgOSwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICA5LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwCit9OwpJbmRleDogU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVk
L2NsZWFyc2ludDExdnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvY2xlYXJzaW50MTF2
cy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2
Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFyc2ludDExdnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEzMSBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWlj
cm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLwor
Ly8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAg
IEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0t
LS0tCisvLyBQT1NJVElPTiAgICAgICAgICAgICAgICAgMCAgIHh5eiAgICAgICAgIDAgICAgIE5P
TkUgICBmbG9hdCAgIHh5eiAKKy8vIENPTE9SICAgICAgICAgICAgICAgICAgICAwICAgeHl6dyAg
ICAgICAgMSAgICAgTk9ORSAgICAgaW50ICAgeHl6dworLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0
dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBT
eXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0t
LS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9QT1NJVElPTiAgICAg
ICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgIHh5encKKy8vIENP
TE9SICAgICAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMSAgICAgTk9ORSAgICAgaW50
ICAgeHl6dworLy8KK3ZzXzRfMAorZGNsX2lucHV0IHYwLnh5egorZGNsX2lucHV0IHYxLnh5encK
K2RjbF9vdXRwdXRfc2l2IG8wLnh5encsIHBvc2l0aW9uCitkY2xfb3V0cHV0IG8xLnh5encKK21v
diBvMC54eXosIHYwLnh5engKK21vdiBvMC53LCBsKDEuMDAwMDAwKQorbW92IG8xLnh5encsIHYx
Lnh5encKK3JldCAKKy8vIEFwcHJveGltYXRlbHkgNCBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCisj
ZW5kaWYKKworY29uc3QgQllURSBnX1ZTX0NsZWFyU2ludFtdID0KK3sKKyAgICAgNjgsICA4OCwg
IDY2LCAgNjcsIDI1NCwgIDEwLCAKKyAgICAyMjgsICAyMywgMTA5LCAgMzcsICA1NiwgMTkyLCAK
KyAgICAgODEsIDE3NSwgMTEzLCAxNDgsICAxMywgMjQ5LCAKKyAgICAyMzYsIDExOCwgICAxLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgNDgsICAgMiwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAg
IDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxNDAsICAgMCwgICAwLCAgIDAsIDIy
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDQ4LCAgIDEsICAgMCwgICAwLCAKKyAgICAxODAsICAg
MSwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgIDgwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKKyAg
ICAyNTQsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAs
ICA3NywgMTA1LCAKKyAgICAgOTksIDExNCwgMTExLCAxMTUsIDExMSwgMTAyLCAKKyAgICAxMTYs
ICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAKKyAgICAgNzIsICA3NiwgIDgzLCAgNzYsICAzMiwg
IDgzLCAKKyAgICAxMDQsICA5NywgMTAwLCAxMDEsIDExNCwgIDMyLCAKKyAgICAgNjcsIDExMSwg
MTA5LCAxMTIsIDEwNSwgMTA4LCAKKyAgICAxMDEsIDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAK
KyAgICAgNDgsICA0NiwgIDU3LCAgNTAsICA0OCwgIDQ4LCAKKyAgICAgNDYsICA0OSwgIDU0LCAg
NTEsICA1NiwgIDUyLCAKKyAgICAgIDAsIDE3MSwgIDczLCAgODMsICA3MSwgIDc4LCAKKyAgICAg
NzIsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA4LCAgIDAsICAg
MCwgICAwLCAKKyAgICAgNTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICA3LCAgIDcsICAgMCwgICAwLCAKKyAgICAgNjUsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDIsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE1LCAgMTUs
ICAgMCwgICAwLCAKKyAgICAgODAsICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAKKyAgICAgNzks
ICA3OCwgICAwLCAgNjcsICA3OSwgIDc2LCAKKyAgICAgNzksICA4MiwgICAwLCAxNzEsICA3OSwg
IDgzLCAKKyAgICAgNzEsICA3OCwgIDc2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAgMCwg
ICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU2LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAgICAg
IDAsICAgMCwgIDY4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAg
MCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDgw
LCAKKyAgICAgNzksICA4MywgIDczLCAgODQsICA3MywgIDc5LCAKKyAgICAgNzgsICAgMCwgIDY3
LCAgNzksICA3NiwgIDc5LCAKKyAgICAgODIsICAgMCwgMTcxLCAxNzEsICA4MywgIDcyLCAKKyAg
ICAgNjgsICA4MiwgMTI0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgNjQsICAgMCwgICAxLCAgIDAs
ICAzMSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDk1LCAgIDAsICAgMCwgICAzLCAKKyAgICAxMTQs
ICAxNiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDk1LCAgIDAsICAgMCwg
ICAzLCAKKyAgICAyNDIsICAxNiwgIDE2LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwg
MTAzLCAgIDAsICAgMCwgICA0LCAKKyAgICAyNDIsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAxMDEsICAgMCwgICAwLCAg
IDMsIDI0MiwgIDMyLCAKKyAgICAgMTYsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
NTQsICAgMCwgICAwLCAgIDUsIDExNCwgIDMyLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgNzAsICAxOCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgIDU0LCAgIDAsICAgMCwgICA1LCAKKyAgICAxMzAsICAzMiwgIDE2LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAxLCAgNjQsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTI4
LCAgNjMsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNSwgMjQyLCAgMzIsICAxNiwgICAwLCAKKyAg
ICAgIDEsICAgMCwgICAwLCAgIDAsICA3MCwgIDMwLCAKKyAgICAgMTYsICAgMCwgICAxLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgNjIsICAgMCwgICAwLCAgIDEsICA4MywgIDg0LCAKKyAgICAgNjUs
ICA4NCwgMTE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9j
b21waWxlZC9jbGVhcnVpbnQxMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFy
dWludDExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9jbGVhcnVpbnQxMXBzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOTYgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVk
IGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0Cisv
LworLy8KKy8vLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAg
ICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0t
LS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAw
ICAgICAgUE9TICAgZmxvYXQgICAgICAgCisvLyBDT0xPUiAgICAgICAgICAgICAgICAgICAgMCAg
IHh5encgICAgICAgIDEgICAgIE5PTkUgICAgdWludCAgIHh5encKKy8vCisvLworLy8gT3V0cHV0
IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVn
aXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0t
LS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VU
ICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgIHVpbnQgICB4eXp3
CisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMSAgIHh5encgICAgICAgIDEgICBUQVJHRVQg
ICAgdWludCAgIHh5encKKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICAyICAgeHl6dyAgICAg
ICAgMiAgIFRBUkdFVCAgICB1aW50ICAgeHl6dworLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAg
IDMgICB4eXp3ICAgICAgICAzICAgVEFSR0VUICAgIHVpbnQgICB4eXp3CisvLyBTVl9UQVJHRVQg
ICAgICAgICAgICAgICAgNCAgIHh5encgICAgICAgIDQgICBUQVJHRVQgICAgdWludCAgIHh5encK
Ky8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICA1ICAgeHl6dyAgICAgICAgNSAgIFRBUkdFVCAg
ICB1aW50ICAgeHl6dworLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDYgICB4eXp3ICAgICAg
ICA2ICAgVEFSR0VUICAgIHVpbnQgICB4eXp3CisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAg
NyAgIHh5encgICAgICAgIDcgICBUQVJHRVQgICAgdWludCAgIHh5encKKy8vCitwc180XzAKK2Rj
bF9pbnB1dF9wcyBjb25zdGFudCB2MS54eXp3CitkY2xfb3V0cHV0IG8wLnh5encKK2RjbF9vdXRw
dXQgbzEueHl6dworZGNsX291dHB1dCBvMi54eXp3CitkY2xfb3V0cHV0IG8zLnh5encKK2RjbF9v
dXRwdXQgbzQueHl6dworZGNsX291dHB1dCBvNS54eXp3CitkY2xfb3V0cHV0IG82Lnh5encKK2Rj
bF9vdXRwdXQgbzcueHl6dworbW92IG8wLnh5encsIHYxLnh5encKK21vdiBvMS54eXp3LCB2MS54
eXp3Cittb3YgbzIueHl6dywgdjEueHl6dworbW92IG8zLnh5encsIHYxLnh5encKK21vdiBvNC54
eXp3LCB2MS54eXp3Cittb3YgbzUueHl6dywgdjEueHl6dworbW92IG82Lnh5encsIHYxLnh5encK
K21vdiBvNy54eXp3LCB2MS54eXp3CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDkgaW5zdHJ1Y3Rp
b24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19DbGVhclVpbnRbXSA9Cit7
CisgICAgIDY4LCAgODgsICA2NiwgIDY3LCAxOTksICA3MiwgCisgICAgMTY3LCAxNjUsICAxNiwg
MTc1LCAgODYsIDE4NSwgCisgICAgIDM4LCAgNzEsICAgMiwgMTY5LCAxODAsICAzOCwgCisgICAg
MjMxLCAyMDQsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDg4LCAgIDMsICAgMCwgICAwLCAg
IDUsICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgMTQwLCAg
IDAsICAgMCwgICAwLCAyMjQsICAgMCwgCisgICAgICAwLCAgIDAsIDE4OCwgICAxLCAgIDAsICAg
MCwgCisgICAgMjIwLCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAsICA4
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAw
LCAgIDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAgIDI4
LCAgIDAsICAgMCwgICAwLCAgNzcsIDEwNSwgCisgICAgIDk5LCAxMTQsIDExMSwgMTE1LCAxMTEs
IDEwMiwgCisgICAgMTE2LCAgMzIsICA0MCwgIDgyLCAgNDEsICAzMiwgCisgICAgIDcyLCAgNzYs
ICA4MywgIDc2LCAgMzIsICA4MywgCisgICAgMTA0LCAgOTcsIDEwMCwgMTAxLCAxMTQsICAzMiwg
CisgICAgIDY3LCAxMTEsIDEwOSwgMTEyLCAxMDUsIDEwOCwgCisgICAgMTAxLCAxMTQsICAzMiwg
IDU3LCAgNDYsICA1MSwgCisgICAgIDQ4LCAgNDYsICA1NywgIDUwLCAgNDgsICA0OCwgCisgICAg
IDQ2LCAgNDksICA1NCwgIDUxLCAgNTYsICA1MiwgCisgICAgICAwLCAxNzEsICA3MywgIDgzLCAg
NzEsICA3OCwgCisgICAgIDc2LCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAg
IDAsICAgOCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU2LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisg
ICAgIDY4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAw
LCAgIDAsICAxNSwgIDE1LCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYsICA5NSwgIDgwLCAgNzks
ICA4MywgCisgICAgIDczLCAgODQsICA3MywgIDc5LCAgNzgsICAgMCwgCisgICAgIDY3LCAgNzks
ICA3NiwgIDc5LCAgODIsICAgMCwgCisgICAgMTcxLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwg
CisgICAgMjEyLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwg
ICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAg
IDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAx
NSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAw
LCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAw
LCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAs
ICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwg
ICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAg
MjAwLCAgIDAsICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAg
IDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDYsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAg
MCwgICAwLCAgIDYsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisg
ICAgMjAwLCAgIDAsICAgMCwgICAwLCAgIDcsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDcsICAgMCwgCisgICAgICAw
LCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYsICA5NSwgIDg0LCAgNjUs
ICA4MiwgCisgICAgIDcxLCAgNjksICA4NCwgICAwLCAxNzEsIDE3MSwgCisgICAgIDgzLCAgNzIs
ICA2OCwgIDgyLCAgMjQsICAgMSwgCisgICAgICAwLCAgIDAsICA2NCwgICAwLCAgIDAsICAgMCwg
CisgICAgIDcwLCAgIDAsICAgMCwgICAwLCAgOTgsICAgOCwgCisgICAgICAwLCAgIDMsIDI0Miwg
IDE2LCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAg
ICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAx
MDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAxLCAg
IDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAg
MCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0
MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisg
ICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICA0LCAgIDAsICAgMCwgICAw
LCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICA1
LCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYs
ICAgMCwgCisgICAgICA2LCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMs
IDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICA3LCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwg
CisgICAgICAwLCAgIDUsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgNzAsICAzMCwgCisgICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAg
IDU0LCAgIDAsICAgMCwgICA1LCAyNDIsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMSwgICAwLCAg
IDAsICAgMCwgCisgICAgIDcwLCAgMzAsICAxNiwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAg
IDAsICA1NCwgICAwLCAgIDAsICAgNSwgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDIsICAg
MCwgCisgICAgICAwLCAgIDAsICA3MCwgIDMwLCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAg
MCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDUsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisg
ICAgICAzLCAgIDAsICAgMCwgICAwLCAgNzAsICAzMCwgCisgICAgIDE2LCAgIDAsICAgMSwgICAw
LCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA1LCAyNDIsICAzMiwgCisgICAgIDE2
LCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAgMzAsICAxNiwgICAwLCAgIDEs
ICAgMCwgCisgICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNSwgCisgICAgMjQyLCAgMzIs
ICAxNiwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgIDMwLCAgMTYsICAgMCwg
CisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDUsIDI0Miwg
IDMyLCAgMTYsICAgMCwgCisgICAgICA2LCAgIDAsICAgMCwgICAwLCAgNzAsICAzMCwgCisgICAg
IDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA1LCAy
NDIsICAzMiwgCisgICAgIDE2LCAgIDAsICAgNywgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAg
MzAsICAxNiwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICA2MiwgICAwLCAgIDAsICAg
MSwgCisgICAgIDgzLCAgODQsICA2NSwgIDg0LCAxMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAg
OSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgOSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAx
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICA5LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwCit9OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9y
ZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL2NsZWFydWludDExdnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDEx
L3NoYWRlcnMvY29tcGlsZWQvY2xlYXJ1aW50MTF2cy5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2Nv
bXBpbGVkL2NsZWFydWludDExdnMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzMSBAQAor
I2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21w
aWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJl
OgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNW
YWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0t
IC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBQT1NJVElPTiAgICAgICAgICAg
ICAgICAgMCAgIHh5eiAgICAgICAgIDAgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8vIENPTE9S
ICAgICAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMSAgICAgTk9ORSAgICB1aW50ICAg
eHl6dworLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAg
ICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0t
LS0gLS0tLS0tCisvLyBTVl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAg
ICAgICBQT1MgICBmbG9hdCAgIHh5encKKy8vIENPTE9SICAgICAgICAgICAgICAgICAgICAwICAg
eHl6dyAgICAgICAgMSAgICAgTk9ORSAgICB1aW50ICAgeHl6dworLy8KK3ZzXzRfMAorZGNsX2lu
cHV0IHYwLnh5egorZGNsX2lucHV0IHYxLnh5encKK2RjbF9vdXRwdXRfc2l2IG8wLnh5encsIHBv
c2l0aW9uCitkY2xfb3V0cHV0IG8xLnh5encKK21vdiBvMC54eXosIHYwLnh5engKK21vdiBvMC53
LCBsKDEuMDAwMDAwKQorbW92IG8xLnh5encsIHYxLnh5encKK3JldCAKKy8vIEFwcHJveGltYXRl
bHkgNCBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCisjZW5kaWYKKworY29uc3QgQllURSBnX1ZTX0Ns
ZWFyVWludFtdID0KK3sKKyAgICAgNjgsICA4OCwgIDY2LCAgNjcsIDE0MywgMjE3LCAKKyAgICAg
IDgsICA3NSwgMTI2LCAxODAsIDEyOSwgMTE0LCAKKyAgICAxNDUsIDE5MiwgMTQyLCAyMTEsIDE3
OCwgMjA4LCAKKyAgICAyNTUsIDI1MSwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNDgsICAg
MiwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAw
LCAKKyAgICAxNDAsICAgMCwgICAwLCAgIDAsIDIyMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDQ4
LCAgIDEsICAgMCwgICAwLCAKKyAgICAxODAsICAgMSwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAg
ICAgNjksICA3MCwgIDgwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgs
ICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKKyAgICAyNTQsIDI1NSwgICAwLCAgIDEsICAgMCwg
ICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAsICA3NywgMTA1LCAKKyAgICAgOTksIDExNCwg
MTExLCAxMTUsIDExMSwgMTAyLCAKKyAgICAxMTYsICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAK
KyAgICAgNzIsICA3NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAKKyAgICAxMDQsICA5NywgMTAwLCAx
MDEsIDExNCwgIDMyLCAKKyAgICAgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAKKyAgICAx
MDEsIDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAKKyAgICAgNDgsICA0NiwgIDU3LCAgNTAsICA0
OCwgIDQ4LCAKKyAgICAgNDYsICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAKKyAgICAgIDAsIDE3
MSwgIDczLCAgODMsICA3MSwgIDc4LCAKKyAgICAgNzIsICAgMCwgICAwLCAgIDAsICAgMiwgICAw
LCAKKyAgICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTYsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDMsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICA3LCAgIDcs
ICAgMCwgICAwLCAKKyAgICAgNjUsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMSwg
ICAwLCAKKyAgICAgIDAsICAgMCwgIDE1LCAgMTUsICAgMCwgICAwLCAKKyAgICAgODAsICA3OSwg
IDgzLCAgNzMsICA4NCwgIDczLCAKKyAgICAgNzksICA3OCwgICAwLCAgNjcsICA3OSwgIDc2LCAK
KyAgICAgNzksICA4MiwgICAwLCAxNzEsICA3OSwgIDgzLCAKKyAgICAgNzEsICA3OCwgIDc2LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAgMCwgICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAg
IDAsICAgMCwgIDU2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDY4LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAx
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDgwLCAKKyAgICAgNzksICA4MywgIDczLCAgODQs
ICA3MywgIDc5LCAKKyAgICAgNzgsICAgMCwgIDY3LCAgNzksICA3NiwgIDc5LCAKKyAgICAgODIs
ICAgMCwgMTcxLCAxNzEsICA4MywgIDcyLCAKKyAgICAgNjgsICA4MiwgMTI0LCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgNjQsICAgMCwgICAxLCAgIDAsICAzMSwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDk1LCAgIDAsICAgMCwgICAzLCAKKyAgICAxMTQsICAxNiwgIDE2LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgIDk1LCAgIDAsICAgMCwgICAzLCAKKyAgICAyNDIsICAxNiwgIDE2LCAg
IDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgMTAzLCAgIDAsICAgMCwgICA0LCAKKyAgICAy
NDIsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAg
MCwgICAwLCAKKyAgICAxMDEsICAgMCwgICAwLCAgIDMsIDI0MiwgIDMyLCAKKyAgICAgMTYsICAg
MCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDUsIDExNCwgIDMy
LCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsICAxOCwgIDE2
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU0LCAgIDAsICAgMCwgICA1LCAKKyAg
ICAxMzAsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgNjQs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTI4LCAgNjMsICA1NCwgICAwLCAKKyAgICAgIDAs
ICAgNSwgMjQyLCAgMzIsICAxNiwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICA3MCwg
IDMwLCAKKyAgICAgMTYsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNjIsICAgMCwg
ICAwLCAgIDEsICA4MywgIDg0LCAKKyAgICAgNjUsICA4NCwgMTE2LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgNCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJH
TEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaDExdnMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2gxMXZzLmgJKHJldmlzaW9uIDE2
ODEwMykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIv
ZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaDExdnMuaAkod29ya2luZyBjb3B5KQpA
QCAtMSwxMzQgKzAsMCBAQAotI2lmIDAKLS8vCi0vLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChS
KSBITFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKLS8vCi0vLwotLy8vCi0vLwot
Ly8gSW5wdXQgc2lnbmF0dXJlOgotLy8KLS8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAg
TWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAotLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCi0vLyBQ
T1NJVElPTiAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDAgICAgIE5PTkUgICBmbG9h
dCAgIHh5ICAKLS8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHkgICAgICAgICAgMSAg
ICAgTk9ORSAgIGZsb2F0ICAgeHkgIAotLy8KLS8vCi0vLyBPdXRwdXQgc2lnbmF0dXJlOgotLy8K
LS8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAg
Rm9ybWF0ICAgVXNlZAotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0t
LS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCi0vLyBTVl9QT1NJVElPTiAgICAgICAgICAgICAg
MCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgIHh5encKLS8vIFRFWENPT1JEICAg
ICAgICAgICAgICAgICAwICAgeHkgICAgICAgICAgMSAgICAgTk9ORSAgIGZsb2F0ICAgeHkgIAot
Ly8KLXZzXzRfMAotZGNsX2lucHV0IHYwLnh5Ci1kY2xfaW5wdXQgdjEueHkKLWRjbF9vdXRwdXRf
c2l2IG8wLnh5encsIHBvc2l0aW9uCi1kY2xfb3V0cHV0IG8xLnh5Ci1tb3YgbzAueHksIHYwLnh5
eHgKLW1vdiBvMC56dywgbCgwLDAsMCwxLjAwMDAwMCkKLW1vdiBvMS54eSwgdjEueHl4eAotcmV0
IAotLy8gQXBwcm94aW1hdGVseSA0IGluc3RydWN0aW9uIHNsb3RzIHVzZWQKLSNlbmRpZgotCi1j
b25zdCBCWVRFIGdfVlNfUGFzc3Rocm91Z2hbXSA9Ci17Ci0gICAgIDY4LCAgODgsICA2NiwgIDY3
LCAxOTcsIDIxNCwgCi0gICAgMTg0LCAgODUsIDI0MCwgIDk0LCAgNzEsICA0OCwgCi0gICAgMTY1
LCAgMzQsIDE0MiwgMjMzLCAgIDAsIDEzNSwgCi0gICAgMTkzLCAxNzgsICAgMSwgICAwLCAgIDAs
ICAgMCwgCi0gICAgIDY4LCAgIDIsICAgMCwgICAwLCAgIDUsICAgMCwgCi0gICAgICAwLCAgIDAs
ICA1MiwgICAwLCAgIDAsICAgMCwgCi0gICAgMTQwLCAgIDAsICAgMCwgICAwLCAyMjQsICAgMCwg
Ci0gICAgICAwLCAgIDAsICA1NiwgICAxLCAgIDAsICAgMCwgCi0gICAgMjAwLCAgIDEsICAgMCwg
ICAwLCAgODIsICA2OCwgCi0gICAgIDY5LCAgNzAsICA4MCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCi0gICAgMjU0LCAy
NTUsICAgMCwgICAxLCAgIDAsICAgMCwgCi0gICAgIDI4LCAgIDAsICAgMCwgICAwLCAgNzcsIDEw
NSwgCi0gICAgIDk5LCAxMTQsIDExMSwgMTE1LCAxMTEsIDEwMiwgCi0gICAgMTE2LCAgMzIsICA0
MCwgIDgyLCAgNDEsICAzMiwgCi0gICAgIDcyLCAgNzYsICA4MywgIDc2LCAgMzIsICA4MywgCi0g
ICAgMTA0LCAgOTcsIDEwMCwgMTAxLCAxMTQsICAzMiwgCi0gICAgIDY3LCAxMTEsIDEwOSwgMTEy
LCAxMDUsIDEwOCwgCi0gICAgMTAxLCAxMTQsICAzMiwgIDU3LCAgNDYsICA1MSwgCi0gICAgIDQ4
LCAgNDYsICA1NywgIDUwLCAgNDgsICA0OCwgCi0gICAgIDQ2LCAgNDksICA1NCwgIDUxLCAgNTYs
ICA1MiwgCi0gICAgICAwLCAxNzEsICA3MywgIDgzLCAgNzEsICA3OCwgCi0gICAgIDc2LCAgIDAs
ICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgIDU2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMywgICAzLCAgIDAsICAgMCwgCi0gICAgIDY1LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAg
IDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMywgICAzLCAgIDAsICAg
MCwgCi0gICAgIDgwLCAgNzksICA4MywgIDczLCAgODQsICA3MywgCi0gICAgIDc5LCAgNzgsICAg
MCwgIDg0LCAgNjksICA4OCwgCi0gICAgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgsICAgMCwgCi0g
ICAgMTcxLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCi0gICAgIDgwLCAgIDAsICAgMCwgICAw
LCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwgCi0gICAgIDU2
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAgIDY4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwg
ICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMywgIDEyLCAgIDAsICAgMCwgCi0gICAg
IDgzLCAgODYsICA5NSwgIDgwLCAgNzksICA4MywgCi0gICAgIDczLCAgODQsICA3MywgIDc5LCAg
NzgsICAgMCwgCi0gICAgIDg0LCAgNjksICA4OCwgIDY3LCAgNzksICA3OSwgCi0gICAgIDgyLCAg
NjgsICAgMCwgMTcxLCAxNzEsIDE3MSwgCi0gICAgIDgzLCAgNzIsICA2OCwgIDgyLCAxMzYsICAg
MCwgCi0gICAgICAwLCAgIDAsICA2NCwgICAwLCAgIDEsICAgMCwgCi0gICAgIDM0LCAgIDAsICAg
MCwgICAwLCAgOTUsICAgMCwgCi0gICAgICAwLCAgIDMsICA1MCwgIDE2LCAgMTYsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgOTUsICAgMCwgCi0gICAgICAwLCAgIDMsICA1MCwgIDE2
LCAgMTYsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAxMDMsICAgMCwgCi0gICAgICAw
LCAgIDQsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEs
ICAgMCwgCi0gICAgICAwLCAgIDAsIDEwMSwgICAwLCAgIDAsICAgMywgCi0gICAgIDUwLCAgMzIs
ICAxNiwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNSwg
Ci0gICAgIDUwLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICA3MCwg
IDE2LCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCi0gICAg
ICAwLCAgIDgsIDE5NCwgIDMyLCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDIsICA2NCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAxMjgsICA2
MywgCi0gICAgIDU0LCAgIDAsICAgMCwgICA1LCAgNTAsICAzMiwgCi0gICAgIDE2LCAgIDAsICAg
MSwgICAwLCAgIDAsICAgMCwgCi0gICAgIDcwLCAgMTYsICAxNiwgICAwLCAgIDEsICAgMCwgCi0g
ICAgICAwLCAgIDAsICA2MiwgICAwLCAgIDAsICAgMSwgCi0gICAgIDgzLCAgODQsICA2NSwgIDg0
LCAxMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICA0LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwCi19OwpJbmRleDogU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBp
bGVkL3Bhc3N0aHJvdWdoMmQxMXZzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0
aHJvdWdoMmQxMXZzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2gy
ZDExdnMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzNCBAQAorI2lmIDAKKy8vCisvLyBH
ZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAu
MTYzODQKKy8vCisvLworLy8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUg
ICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAg
VXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0t
LS0tIC0tLS0tLS0gLS0tLS0tCisvLyBQT1NJVElPTiAgICAgICAgICAgICAgICAgMCAgIHh5ICAg
ICAgICAgIDAgICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKKy8vIFRFWENPT1JEICAgICAgICAgICAg
ICAgICAwICAgeHkgICAgICAgICAgMSAgICAgTk9ORSAgIGZsb2F0ICAgeHkgIAorLy8KKy8vCisv
LyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAg
TWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBT
Vl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9h
dCAgIHh5encKKy8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHkgICAgICAgICAgMSAg
ICAgTk9ORSAgIGZsb2F0ICAgeHkgIAorLy8KK3ZzXzRfMAorZGNsX2lucHV0IHYwLnh5CitkY2xf
aW5wdXQgdjEueHkKK2RjbF9vdXRwdXRfc2l2IG8wLnh5encsIHBvc2l0aW9uCitkY2xfb3V0cHV0
IG8xLnh5Cittb3YgbzAueHksIHYwLnh5eHgKK21vdiBvMC56dywgbCgwLDAsMCwxLjAwMDAwMCkK
K21vdiBvMS54eSwgdjEueHl4eAorcmV0IAorLy8gQXBwcm94aW1hdGVseSA0IGluc3RydWN0aW9u
IHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfVlNfUGFzc3Rocm91Z2gyRFtdID0K
K3sKKyAgICAgNjgsICA4OCwgIDY2LCAgNjcsIDE5NywgMjE0LCAKKyAgICAxODQsICA4NSwgMjQw
LCAgOTQsICA3MSwgIDQ4LCAKKyAgICAxNjUsICAzNCwgMTQyLCAyMzMsICAgMCwgMTM1LCAKKyAg
ICAxOTMsIDE3OCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNjgsICAgMiwgICAwLCAgIDAs
ICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxNDAs
ICAgMCwgICAwLCAgIDAsIDIyNCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU2LCAgIDEsICAgMCwg
ICAwLCAKKyAgICAyMDAsICAgMSwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwg
IDgwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAg
IDAsICAgMCwgICA0LCAKKyAgICAyNTQsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAg
MjgsICAgMCwgICAwLCAgIDAsICA3NywgMTA1LCAKKyAgICAgOTksIDExNCwgMTExLCAxMTUsIDEx
MSwgMTAyLCAKKyAgICAxMTYsICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAKKyAgICAgNzIsICA3
NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAKKyAgICAxMDQsICA5NywgMTAwLCAxMDEsIDExNCwgIDMy
LCAKKyAgICAgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAKKyAgICAxMDEsIDExNCwgIDMy
LCAgNTcsICA0NiwgIDUxLCAKKyAgICAgNDgsICA0NiwgIDU3LCAgNTAsICA0OCwgIDQ4LCAKKyAg
ICAgNDYsICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAKKyAgICAgIDAsIDE3MSwgIDczLCAgODMs
ICA3MSwgIDc4LCAKKyAgICAgNzYsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTYsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDMsICAgMCwgICAwLCAK
KyAgICAgNjUsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAzLCAgIDMsICAgMCwgICAwLCAKKyAgICAgODAsICA3OSwgIDgzLCAgNzMsICA4
NCwgIDczLCAKKyAgICAgNzksICA3OCwgICAwLCAgODQsICA2OSwgIDg4LCAKKyAgICAgNjcsICA3
OSwgIDc5LCAgODIsICA2OCwgICAwLCAKKyAgICAxNzEsIDE3MSwgIDc5LCAgODMsICA3MSwgIDc4
LCAKKyAgICAgODAsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA4
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE1LCAgIDAsICAgMCwgICAwLCAKKyAgICAgNjgs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAzLCAgMTIsICAgMCwgICAwLCAKKyAgICAgODMsICA4NiwgIDk1LCAgODAsICA3OSwgIDgzLCAK
KyAgICAgNzMsICA4NCwgIDczLCAgNzksICA3OCwgICAwLCAKKyAgICAgODQsICA2OSwgIDg4LCAg
NjcsICA3OSwgIDc5LCAKKyAgICAgODIsICA2OCwgICAwLCAxNzEsIDE3MSwgMTcxLCAKKyAgICAg
ODMsICA3MiwgIDY4LCAgODIsIDEzNiwgICAwLCAKKyAgICAgIDAsICAgMCwgIDY0LCAgIDAsICAg
MSwgICAwLCAKKyAgICAgMzQsICAgMCwgICAwLCAgIDAsICA5NSwgICAwLCAKKyAgICAgIDAsICAg
MywgIDUwLCAgMTYsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA5NSwgICAw
LCAKKyAgICAgIDAsICAgMywgIDUwLCAgMTYsICAxNiwgICAwLCAKKyAgICAgIDEsICAgMCwgICAw
LCAgIDAsIDEwMywgICAwLCAKKyAgICAgIDAsICAgNCwgMjQyLCAgMzIsICAxNiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgMTAxLCAgIDAs
ICAgMCwgICAzLCAKKyAgICAgNTAsICAzMiwgIDE2LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAs
ICAgMCwgIDU0LCAgIDAsICAgMCwgICA1LCAKKyAgICAgNTAsICAzMiwgIDE2LCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAgMTYsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgOCwgMTk0LCAgMzIsICAxNiwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMiwgIDY0LCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsIDEyOCwgIDYzLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDUsICA1
MCwgIDMyLCAKKyAgICAgMTYsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsICAx
NiwgIDE2LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDYyLCAgIDAsICAgMCwgICAx
LCAKKyAgICAgODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA0
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICA0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDQsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2gzZDExZ3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2gzZDExZ3MuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hh
ZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaDNkMTFncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTkyIEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wg
U2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vCisvLyBJbnB1
dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJl
Z2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAt
LS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BPU0lU
SU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgeHl6
dworLy8gTEFZRVIgICAgICAgICAgICAgICAgICAgIDAgICB4ICAgICAgICAgICAxICAgICBOT05F
ICAgIHVpbnQgICB4ICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5eiAgICAg
ICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVy
ZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lz
VmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0t
LSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAgICAg
ICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICB4eXp3CisvLyBTVl9S
RU5ERVJUQVJHRVRBUlJBWUlOREVYICAgICAwICAgeCAgICAgICAgICAgMSAgUlRJTkRFWCAgICB1
aW50ICAgeCAgIAorLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4eXogICAgICAgICAy
ICAgICBOT05FICAgZmxvYXQgICB4eXogCisvLworZ3NfNF8wCitkY2xfaW5wdXRfc2l2IHZbM11b
MF0ueHl6dywgcG9zaXRpb24KK2RjbF9pbnB1dCB2WzNdWzFdLngKK2RjbF9pbnB1dCB2WzNdWzJd
Lnh5egorZGNsX3RlbXBzIDEKK2RjbF9pbnB1dHByaW1pdGl2ZSB0cmlhbmdsZSAKK2RjbF9vdXRw
dXR0b3BvbG9neSB0cmlhbmdsZXN0cmlwIAorZGNsX291dHB1dF9zaXYgbzAueHl6dywgcG9zaXRp
b24KK2RjbF9vdXRwdXRfc2l2IG8xLngsIHJlbmRlcnRhcmdldF9hcnJheV9pbmRleAorZGNsX291
dHB1dCBvMi54eXoKK2RjbF9tYXhvdXQgMworbW92IHIwLngsIGwoMCkKK2xvb3AgCisgIGlnZSBy
MC55LCByMC54LCBsKDMpCisgIGJyZWFrY19ueiByMC55CisgIG1vdiBvMC54eXp3LCB2W3IwLngg
KyAwXVswXS54eXp3CisgIG1vdiBvMS54LCB2W3IwLnggKyAwXVsxXS54CisgIG1vdiBvMi54eXos
IHZbcjAueCArIDBdWzJdLnh5engKKyAgZW1pdCAKKyAgaWFkZCByMC54LCByMC54LCBsKDEpCitl
bmRsb29wIAorcmV0IAorLy8gQXBwcm94aW1hdGVseSAxMSBpbnN0cnVjdGlvbiBzbG90cyB1c2Vk
CisjZW5kaWYKKworY29uc3QgQllURSBnX0dTX1Bhc3N0aHJvdWdoM0RbXSA9Cit7CisgICAgIDY4
LCAgODgsICA2NiwgIDY3LCAgMjEsICA5MiwgCisgICAgMTg4LCAyMDMsICAyMiwgIDQ5LCAxNzcs
IDIzOSwgCisgICAgMTIxLCAyMzMsIDE0OCwgMTM1LCAyMTIsICAyNywgCisgICAgMTcyLCAyMDks
ICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDcyLCAgIDMsICAgMCwgICAwLCAgIDUsICAgMCwg
CisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgMTQwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMSwgCisgICAgICAwLCAgIDAsIDEzNiwgICAxLCAgIDAsICAgMCwgCisgICAg
MjA0LCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAsICA4MCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
NCwgCisgICAgIDgzLCAgNzEsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAg
MCwgICAwLCAgNzcsIDEwNSwgCisgICAgIDk5LCAxMTQsIDExMSwgMTE1LCAxMTEsIDEwMiwgCisg
ICAgMTE2LCAgMzIsICA0MCwgIDgyLCAgNDEsICAzMiwgCisgICAgIDcyLCAgNzYsICA4MywgIDc2
LCAgMzIsICA4MywgCisgICAgMTA0LCAgOTcsIDEwMCwgMTAxLCAxMTQsICAzMiwgCisgICAgIDY3
LCAxMTEsIDEwOSwgMTEyLCAxMDUsIDEwOCwgCisgICAgMTAxLCAxMTQsICAzMiwgIDU3LCAgNDYs
ICA1MSwgCisgICAgIDQ4LCAgNDYsICA1NywgIDUwLCAgNDgsICA0OCwgCisgICAgIDQ2LCAgNDks
ICA1NCwgIDUxLCAgNTYsICA1MiwgCisgICAgICAwLCAxNzEsICA3MywgIDgzLCAgNzEsICA3OCwg
CisgICAgMTA4LCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwg
ICAwLCAgIDAsICAgMCwgCisgICAgIDgwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgIDE1LCAgIDAsICAgMCwgCisgICAgIDkyLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MSwgICAxLCAgIDAsICAgMCwgCisgICAgIDk4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAw
LCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgNywgICA3LCAgIDAsICAgMCwgCisgICAgIDgz
LCAgODYsICA5NSwgIDgwLCAgNzksICA4MywgCisgICAgIDczLCAgODQsICA3MywgIDc5LCAgNzgs
ICAgMCwgCisgICAgIDc2LCAgNjUsICA4OSwgIDY5LCAgODIsICAgMCwgCisgICAgIDg0LCAgNjks
ICA4OCwgIDY3LCAgNzksICA3OSwgCisgICAgIDgyLCAgNjgsICAgMCwgMTcxLCAgNzksICA4Mywg
CisgICAgIDcxLCAgNzgsIDEyOCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwg
ICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsICA4MCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTUsICAgMCwgCisgICAgICAwLCAg
IDAsICA5MiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAg
MCwgICAwLCAgIDEsICAxNCwgCisgICAgICAwLCAgIDAsIDExOCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAw
LCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDcsICAgOCwgCisgICAgICAw
LCAgIDAsICA4MywgIDg2LCAgOTUsICA4MCwgCisgICAgIDc5LCAgODMsICA3MywgIDg0LCAgNzMs
ICA3OSwgCisgICAgIDc4LCAgIDAsICA4MywgIDg2LCAgOTUsICA4MiwgCisgICAgIDY5LCAgNzgs
ICA2OCwgIDY5LCAgODIsICA4NCwgCisgICAgIDY1LCAgODIsICA3MSwgIDY5LCAgODQsICA2NSwg
CisgICAgIDgyLCAgODIsICA2NSwgIDg5LCAgNzMsICA3OCwgCisgICAgIDY4LCAgNjksICA4OCwg
ICAwLCAgODQsICA2OSwgCisgICAgIDg4LCAgNjcsICA3OSwgIDc5LCAgODIsICA2OCwgCisgICAg
ICAwLCAxNzEsICA4MywgIDcyLCAgNjgsICA4MiwgCisgICAgIDYwLCAgIDEsICAgMCwgICAwLCAg
NjQsICAgMCwgCisgICAgICAyLCAgIDAsICA3OSwgICAwLCAgIDAsICAgMCwgCisgICAgIDk3LCAg
IDAsICAgMCwgICA1LCAyNDIsICAxNiwgCisgICAgIDMyLCAgIDAsICAgMywgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICA5
NSwgICAwLCAgIDAsICAgNCwgCisgICAgIDE4LCAgMTYsICAzMiwgICAwLCAgIDMsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDk1LCAgIDAsICAgMCwgICA0
LCAxMTQsICAxNiwgCisgICAgIDMyLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAy
LCAgIDAsICAgMCwgICAwLCAxMDQsICAgMCwgCisgICAgICAwLCAgIDIsICAgMSwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDkzLCAgMjQsICAgMCwgICAxLCAgOTIsICA0MCwgCisgICAgICAwLCAgIDEs
IDEwMywgICAwLCAgIDAsICAgNCwgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTAzLCAgIDAsICAgMCwg
ICA0LCAgMTgsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAg
ICA0LCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDExNCwgIDMyLCAg
MTYsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgOTQsICAgMCwgCisgICAgICAwLCAg
IDIsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA1LCAgMTgsICAg
MCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgNjQsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA0OCwgICAwLCAgIDAsICAgMSwgCisg
ICAgIDMzLCAgIDAsICAgMCwgICA3LCAgMzQsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgIDEwLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMSwgIDY0LCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDMs
ICAgMCwgCisgICAgICA0LCAgIDMsICAyNiwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDcsIDI0MiwgIDMyLCAgMTYsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAzMCwgCisgICAgMTYwLCAgIDAsICAxMCwg
ICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNywgCisgICAgIDE4LCAgMzIsICAxNiwgICAwLCAg
IDEsICAgMCwgCisgICAgICAwLCAgIDAsICAxMCwgIDE2LCAxNjAsICAgMCwgCisgICAgIDEwLCAg
IDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAg
MCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA3LCAxMTQsICAzMiwgCisgICAgIDE2LCAgIDAsICAg
MiwgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAgMTgsIDE2MCwgICAwLCAgMTAsICAgMCwgCisg
ICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAw
LCAgMTksICAgMCwgCisgICAgICAwLCAgIDEsICAzMCwgICAwLCAgIDAsICAgNywgCisgICAgIDE4
LCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxMCwgICAwLCAgMTYs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICA2NCwgCisgICAgICAwLCAgIDAs
ICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDIyLCAgIDAsICAgMCwgICAxLCAgNjIsICAgMCwg
CisgICAgICAwLCAgIDEsICA4MywgIDg0LCAgNjUsICA4NCwgCisgICAgMTE2LCAgIDAsICAgMCwg
ICAwLCAgMTEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAxMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAs
ICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJH
TEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaDNkMTF2cy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVu
ZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaDNkMTF2cy5oCShyZXZpc2lv
biAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9k
M2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdoM2QxMXZzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNTYgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAo
UikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8K
Ky8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAg
IE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8g
UE9TSVRJT04gICAgICAgICAgICAgICAgIDAgICB4eSAgICAgICAgICAwICAgICBOT05FICAgZmxv
YXQgICB4eSAgCisvLyBMQVlFUiAgICAgICAgICAgICAgICAgICAgMCAgIHggICAgICAgICAgIDEg
ICAgIE5PTkUgICAgdWludCAgIHggICAKKy8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAg
eHl6ICAgICAgICAgMiAgICAgTk9ORSAgIGZsb2F0ICAgeHl6IAorLy8KKy8vCisvLyBPdXRwdXQg
c2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdp
c3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0t
LS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9QT1NJVElP
TiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgIHh5encK
Ky8vIExBWUVSICAgICAgICAgICAgICAgICAgICAwICAgeCAgICAgICAgICAgMSAgICAgTk9ORSAg
ICB1aW50ICAgeCAgIAorLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4eXogICAgICAg
ICAyICAgICBOT05FICAgZmxvYXQgICB4eXogCisvLwordnNfNF8wCitkY2xfaW5wdXQgdjAueHkK
K2RjbF9pbnB1dCB2MS54CitkY2xfaW5wdXQgdjIueHl6CitkY2xfb3V0cHV0X3NpdiBvMC54eXp3
LCBwb3NpdGlvbgorZGNsX291dHB1dCBvMS54CitkY2xfb3V0cHV0IG8yLnh5egorbW92IG8wLnh5
LCB2MC54eXh4Cittb3YgbzAuencsIGwoMCwwLDAsMS4wMDAwMDApCittb3YgbzEueCwgdjEueAor
bW92IG8yLnh5eiwgdjIueHl6eAorcmV0IAorLy8gQXBwcm94aW1hdGVseSA1IGluc3RydWN0aW9u
IHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfVlNfUGFzc3Rocm91Z2gzRFtdID0K
K3sKKyAgICAgNjgsICA4OCwgIDY2LCAgNjcsICA5MiwgIDYwLCAKKyAgICAgMTUsIDE4OCwgIDkw
LCAxNTcsIDI0OSwgMjE1LCAKKyAgICAyMDIsIDE0MiwgIDU4LCAxMjcsIDEwMywgMjAwLCAKKyAg
ICAxODEsICA4NywgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAxNjgsICAgMiwgICAwLCAgIDAs
ICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxNDAs
ICAgMCwgICAwLCAgIDAsIDI1MiwgICAwLCAKKyAgICAgIDAsICAgMCwgMTEyLCAgIDEsICAgMCwg
ICAwLCAKKyAgICAgNDQsICAgMiwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwg
IDgwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAg
IDAsICAgMCwgICA0LCAKKyAgICAyNTQsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAg
MjgsICAgMCwgICAwLCAgIDAsICA3NywgMTA1LCAKKyAgICAgOTksIDExNCwgMTExLCAxMTUsIDEx
MSwgMTAyLCAKKyAgICAxMTYsICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAKKyAgICAgNzIsICA3
NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAKKyAgICAxMDQsICA5NywgMTAwLCAxMDEsIDExNCwgIDMy
LCAKKyAgICAgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAKKyAgICAxMDEsIDExNCwgIDMy
LCAgNTcsICA0NiwgIDUxLCAKKyAgICAgNDgsICA0NiwgIDU3LCAgNTAsICA0OCwgIDQ4LCAKKyAg
ICAgNDYsICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAKKyAgICAgIDAsIDE3MSwgIDczLCAgODMs
ICA3MSwgIDc4LCAKKyAgICAxMDQsICAgMCwgICAwLCAgIDAsICAgMywgICAwLCAKKyAgICAgIDAs
ICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgODAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDMsICAgMCwgICAwLCAK
KyAgICAgODksICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAxLCAgIDEsICAgMCwgICAwLCAKKyAgICAgOTUsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAg
MCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA3LCAgIDcsICAgMCwgICAw
LCAKKyAgICAgODAsICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAKKyAgICAgNzksICA3OCwgICAw
LCAgNzYsICA2NSwgIDg5LCAKKyAgICAgNjksICA4MiwgICAwLCAgODQsICA2OSwgIDg4LCAKKyAg
ICAgNjcsICA3OSwgIDc5LCAgODIsICA2OCwgICAwLCAKKyAgICAgNzksICA4MywgIDcxLCAgNzgs
IDEwOCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDgs
ICAgMCwgICAwLCAgIDAsICA4MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMywgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTUsICAgMCwgICAwLCAgIDAsICA5MiwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDEsICAxNCwgICAwLCAgIDAsICA5OCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMywgICAwLCAKKyAgICAgIDAsICAg
MCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDcsICAgOCwgICAwLCAgIDAsICA4MywgIDg2
LCAKKyAgICAgOTUsICA4MCwgIDc5LCAgODMsICA3MywgIDg0LCAKKyAgICAgNzMsICA3OSwgIDc4
LCAgIDAsICA3NiwgIDY1LCAKKyAgICAgODksICA2OSwgIDgyLCAgIDAsICA4NCwgIDY5LCAKKyAg
ICAgODgsICA2NywgIDc5LCAgNzksICA4MiwgIDY4LCAKKyAgICAgIDAsIDE3MSwgIDgzLCAgNzIs
ICA2OCwgIDgyLCAKKyAgICAxODAsICAgMCwgICAwLCAgIDAsICA2NCwgICAwLCAKKyAgICAgIDEs
ICAgMCwgIDQ1LCAgIDAsICAgMCwgICAwLCAKKyAgICAgOTUsICAgMCwgICAwLCAgIDMsICA1MCwg
IDE2LCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgOTUsICAgMCwg
ICAwLCAgIDMsICAxOCwgIDE2LCAKKyAgICAgMTYsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgOTUsICAgMCwgICAwLCAgIDMsIDExNCwgIDE2LCAKKyAgICAgMTYsICAgMCwgICAyLCAg
IDAsICAgMCwgICAwLCAKKyAgICAxMDMsICAgMCwgICAwLCAgIDQsIDI0MiwgIDMyLCAKKyAgICAg
MTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsIDEw
MSwgICAwLCAKKyAgICAgIDAsICAgMywgIDE4LCAgMzIsICAxNiwgICAwLCAKKyAgICAgIDEsICAg
MCwgICAwLCAgIDAsIDEwMSwgICAwLCAKKyAgICAgIDAsICAgMywgMTE0LCAgMzIsICAxNiwgICAw
LCAKKyAgICAgIDIsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNSwgIDUw
LCAgMzIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgIDE2LCAKKyAg
ICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDgs
IDE5NCwgIDMyLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIs
ICA2NCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAxMjgsICA2Mywg
IDU0LCAgIDAsICAgMCwgICA1LCAKKyAgICAgMTgsICAzMiwgIDE2LCAgIDAsICAgMSwgICAwLCAK
KyAgICAgIDAsICAgMCwgIDEwLCAgMTYsICAxNiwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAg
IDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNSwgMTE0LCAgMzIsICAxNiwgICAwLCAKKyAgICAg
IDIsICAgMCwgICAwLCAgIDAsICA3MCwgIDE4LCAKKyAgICAgMTYsICAgMCwgICAyLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgNjIsICAgMCwgICAwLCAgIDEsICA4MywgIDg0LCAKKyAgICAgNjUsICA4
NCwgMTE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDUsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDYsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21w
aWxlZC9wYXNzdGhyb3VnaGRlcHRoMmQxMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVk
L3Bhc3N0aHJvdWdoZGVwdGgyZDExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9w
YXNzdGhyb3VnaGRlcHRoMmQxMXBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNDYgQEAK
KyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29t
cGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8gUmVzb3VyY2UgQmluZGluZ3M6
CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1h
dCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8vIFNh
bXBsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVyICAgICAgTkEgICAgICAgICAg
TkEgICAgMCAgICAgICAgMQorLy8gVGV4dHVyZUYgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
eHR1cmUgIGZsb2F0NCAgICAgICAgICAyZCAgICAwICAgICAgICAxCisvLworLy8KKy8vCisvLyBJ
bnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNr
IFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BP
U0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAg
ICAgIAorLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4eSAgICAgICAgICAxICAgICBO
T05FICAgZmxvYXQgICB4eSAgCisvLworLy8KKy8vIE91dHB1dCBzaWduYXR1cmU6CisvLworLy8g
TmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3Jt
YXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0g
LS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX0RFUFRIICAgICAgICAgICAgICAgICAwICAg
IE4vQSAgIG9EZXB0aCAgICBERVBUSCAgIGZsb2F0ICAgIFlFUworLy8KK3BzXzRfMAorZGNsX3Nh
bXBsZXIgczAsIG1vZGVfZGVmYXVsdAorZGNsX3Jlc291cmNlX3RleHR1cmUyZCAoZmxvYXQsZmxv
YXQsZmxvYXQsZmxvYXQpIHQwCitkY2xfaW5wdXRfcHMgbGluZWFyIHYxLnh5CitkY2xfb3V0cHV0
IG9EZXB0aAorZGNsX3RlbXBzIDEKK3NhbXBsZSByMC54eXp3LCB2MS54eXh4LCB0MC54eXp3LCBz
MAorbW92IG9EZXB0aCwgcjAueAorcmV0IAorLy8gQXBwcm94aW1hdGVseSAzIGluc3RydWN0aW9u
IHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hEZXB0aDJE
W10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMjA1LCAxMjcsIAorICAgIDE0OCwgMTcw
LCAxNjgsICA5MSwgMTk0LCAxMzMsIAorICAgIDE4MCwgMTgxLCAgMTcsICA1MSwgIDEzLCAgNTMs
IAorICAgICA0OCwgIDcyLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMCwgICAyLCAgIDAs
ICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAg
IDIyMCwgICAwLCAgIDAsICAgMCwgIDUyLCAgIDEsIAorICAgICAgMCwgICAwLCAxMDQsICAgMSwg
ICAwLCAgIDAsIAorICAgIDIzMiwgICAxLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwg
IDcwLCAxNjAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAor
ICAgIDEwOSwgICAwLCAgIDAsICAgMCwgIDkyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMCwgICAw
LCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDUsICAgMCwgICAwLCAgIDAs
IAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgMjU1LCAyNTUsIAorICAgIDI1NSwgMjU1LCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDEzLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgODMsICA5NywgMTA5LCAxMTIsIAorICAgIDEwOCwgMTAxLCAxMTQsICAgMCwg
IDg0LCAxMDEsIAorICAgIDEyMCwgMTE2LCAxMTcsIDExNCwgMTAxLCAgNzAsIAorICAgICAgMCwg
IDc3LCAxMDUsICA5OSwgMTE0LCAxMTEsIAorICAgIDExNSwgMTExLCAxMDIsIDExNiwgIDMyLCAg
NDAsIAorICAgICA4MiwgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsIAorICAgICA3NiwgIDMyLCAg
ODMsIDEwNCwgIDk3LCAxMDAsIAorICAgIDEwMSwgMTE0LCAgMzIsICA2NywgMTExLCAxMDksIAor
ICAgIDExMiwgMTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsIAorICAgICA1NywgIDQ2LCAgNTEsICA0
OCwgIDQ2LCAgNTcsIAorICAgICA1MCwgIDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsIAorICAgICA1
MSwgIDU2LCAgNTIsICAgMCwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAw
LCAgNTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAzLCAgIDMsIAorICAgICAgMCwg
ICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAg
NzksIAorICAgICA3OCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5LCAg
ODIsICA2OCwgICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAor
ICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAg
MCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgMjU1
LCAyNTUsIAorICAgIDI1NSwgMjU1LCAgIDEsICAxNCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2
LCAgOTUsICA2OCwgIDY5LCAgODAsIAorICAgICA4NCwgIDcyLCAgIDAsIDE3MSwgMTcxLCAxNzEs
IAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgMTIwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNjQs
ICAgMCwgICAwLCAgIDAsIAorICAgICAzMCwgICAwLCAgIDAsICAgMCwgIDkwLCAgIDAsIAorICAg
ICAgMCwgICAzLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDg4LCAgMjQsIAorICAgICAgMCwgICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgIDg1LCAgODUsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAg
IDMsIAorICAgICA1MCwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAx
MDEsICAgMCwgICAwLCAgIDIsIAorICAgICAgMSwgMTkyLCAgIDAsICAgMCwgMTA0LCAgIDAsIAor
ICAgICAgMCwgICAyLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA2OSwgICAwLCAgIDAsICAg
OSwgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3
MCwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgOTYsIAorICAgICAxNiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNCwgICAxLCAxOTIs
IAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDYyLCAgIDAsIAorICAgICAgMCwgICAxLCAgODMsICA4NCwgIDY1LCAgODQsIAorICAg
IDExNiwgICAwLCAgIDAsICAgMCwgICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFz
c3Rocm91Z2hsdW0xMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdo
bHVtMTFwcy5oCShyZXZpc2lvbiAxNjgxMDMpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hs
dW0xMXBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUyICswLDAgQEAKLSNpZiAwCi0vLwotLy8g
R2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAw
LjE2Mzg0Ci0vLwotLy8KLS8vLwotLy8gUmVzb3VyY2UgQmluZGluZ3M6Ci0vLwotLy8gTmFtZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1hdCAgICAgICAgIERpbSBT
bG90IEVsZW1lbnRzCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KLS8vIFNhbXBsZXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzYW1wbGVyICAgICAgTkEgICAgICAgICAgTkEgICAgMCAgICAgICAg
MQotLy8gVGV4dHVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmUgIGZsb2F0NCAg
ICAgICAgICAyZCAgICAwICAgICAgICAxCi0vLwotLy8KLS8vCi0vLyBJbnB1dCBzaWduYXR1cmU6
Ci0vLwotLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1Zh
bHVlICBGb3JtYXQgICBVc2VkCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0g
LS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KLS8vIFNWX1BPU0lUSU9OICAgICAgICAg
ICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAotLy8gVEVYQ09P
UkQgICAgICAgICAgICAgICAgIDAgICB4eSAgICAgICAgICAxICAgICBOT05FICAgZmxvYXQgICB4
eSAgCi0vLwotLy8KLS8vIE91dHB1dCBzaWduYXR1cmU6Ci0vLwotLy8gTmFtZSAgICAgICAgICAg
ICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCi0vLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0t
LSAtLS0tLS0KLS8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAg
IFRBUkdFVCAgIGZsb2F0ICAgeHl6dwotLy8KLXBzXzRfMAotZGNsX3NhbXBsZXIgczAsIG1vZGVf
ZGVmYXVsdAotZGNsX3Jlc291cmNlX3RleHR1cmUyZCAoZmxvYXQsZmxvYXQsZmxvYXQsZmxvYXQp
IHQwCi1kY2xfaW5wdXRfcHMgbGluZWFyIHYxLnh5Ci1kY2xfb3V0cHV0IG8wLnh5encKLWRjbF90
ZW1wcyAxCi1zYW1wbGUgcjAueHl6dywgdjEueHl4eCwgdDAueHl6dywgczAKLW1vdiBvMC54eXos
IHIwLnh4eHgKLW1vdiBvMC53LCBsKDEuMDAwMDAwKQotcmV0IAotLy8gQXBwcm94aW1hdGVseSA0
IGluc3RydWN0aW9uIHNsb3RzIHVzZWQKLSNlbmRpZgotCi1jb25zdCBCWVRFIGdfUFNfUGFzc3Ro
cm91Z2hMdW1bXSA9Ci17Ci0gICAgIDY4LCAgODgsICA2NiwgIDY3LCAyNDQsICAgOSwgCi0gICAg
MjEzLCAxNDcsICAxOSwgMjQ5LCAgNzAsIDExMSwgCi0gICAgMTU3LCAgOTIsIDI0MywgMTYwLCAg
NDAsIDE0NCwgCi0gICAgMjM4LCAyMjEsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAgMTI4LCAg
IDIsICAgMCwgICAwLCAgIDUsICAgMCwgCi0gICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAg
MCwgCi0gICAgMjIwLCAgIDAsICAgMCwgICAwLCAgNTIsICAgMSwgCi0gICAgICAwLCAgIDAsIDEw
NCwgICAxLCAgIDAsICAgMCwgCi0gICAgICA0LCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCi0g
ICAgIDY5LCAgNzAsIDE2MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCi0gICAgIDI4
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCi0gICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAs
ICAgMCwgCi0gICAgMTA4LCAgIDAsICAgMCwgICAwLCAgOTIsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMywgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAg
MTAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgNSwgICAwLCAg
IDAsICAgMCwgCi0gICAgICA0LCAgIDAsICAgMCwgICAwLCAyNTUsIDI1NSwgCi0gICAgMjU1LCAy
NTUsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgMTMsICAg
MCwgCi0gICAgICAwLCAgIDAsICA4MywgIDk3LCAxMDksIDExMiwgCi0gICAgMTA4LCAxMDEsIDEx
NCwgICAwLCAgODQsIDEwMSwgCi0gICAgMTIwLCAxMTYsIDExNywgMTE0LCAxMDEsICAgMCwgCi0g
ICAgIDc3LCAxMDUsICA5OSwgMTE0LCAxMTEsIDExNSwgCi0gICAgMTExLCAxMDIsIDExNiwgIDMy
LCAgNDAsICA4MiwgCi0gICAgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsICA3NiwgCi0gICAgIDMy
LCAgODMsIDEwNCwgIDk3LCAxMDAsIDEwMSwgCi0gICAgMTE0LCAgMzIsICA2NywgMTExLCAxMDks
IDExMiwgCi0gICAgMTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsICA1NywgCi0gICAgIDQ2LCAgNTEs
ICA0OCwgIDQ2LCAgNTcsICA1MCwgCi0gICAgIDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsICA1MSwg
Ci0gICAgIDU2LCAgNTIsICAgMCwgMTcxLCAgNzMsICA4MywgCi0gICAgIDcxLCAgNzgsICA4MCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCi0gICAg
ICAwLCAgIDAsICA1NiwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgMTUsICAgMCwgCi0gICAgICAwLCAgIDAsICA2OCwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MywgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMywgCi0g
ICAgICAwLCAgIDAsICA4MywgIDg2LCAgOTUsICA4MCwgCi0gICAgIDc5LCAgODMsICA3MywgIDg0
LCAgNzMsICA3OSwgCi0gICAgIDc4LCAgIDAsICA4NCwgIDY5LCAgODgsICA2NywgCi0gICAgIDc5
LCAgNzksICA4MiwgIDY4LCAgIDAsIDE3MSwgCi0gICAgMTcxLCAxNzEsICA3OSwgIDgzLCAgNzEs
ICA3OCwgCi0gICAgIDQ0LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgOCwgICAwLCAgIDAsICAgMCwgCi0gICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAg
IDgzLCAgODYsICA5NSwgIDg0LCAgNjUsICA4MiwgCi0gICAgIDcxLCAgNjksICA4NCwgICAwLCAx
NzEsIDE3MSwgCi0gICAgIDgzLCAgNzIsICA2OCwgIDgyLCAxNDgsICAgMCwgCi0gICAgICAwLCAg
IDAsICA2NCwgICAwLCAgIDAsICAgMCwgCi0gICAgIDM3LCAgIDAsICAgMCwgICAwLCAgOTAsICAg
MCwgCi0gICAgICAwLCAgIDMsICAgMCwgIDk2LCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MCwgICAwLCAgODgsICAyNCwgCi0gICAgICAwLCAgIDQsICAgMCwgMTEyLCAgMTYsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgODUsICA4NSwgCi0gICAgICAwLCAgIDAsICA5OCwgIDE2
LCAgIDAsICAgMywgCi0gICAgIDUwLCAgMTYsICAxNiwgICAwLCAgIDEsICAgMCwgCi0gICAgICAw
LCAgIDAsIDEwMSwgICAwLCAgIDAsICAgMywgCi0gICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAwLCAgIDAsIDEwNCwgICAwLCAgIDAsICAgMiwgCi0gICAgICAxLCAgIDAs
ICAgMCwgICAwLCAgNjksICAgMCwgCi0gICAgICAwLCAgIDksIDI0MiwgICAwLCAgMTYsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAxNiwgCi0gICAgIDE2LCAgIDAsICAgMSwg
ICAwLCAgIDAsICAgMCwgCi0gICAgIDcwLCAxMjYsICAxNiwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgIDk2LCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
NTQsICAgMCwgCi0gICAgICAwLCAgIDUsIDExNCwgIDMyLCAgMTYsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDYsICAgMCwgCi0gICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCi0gICAgIDU0LCAgIDAsICAgMCwgICA1LCAxMzAsICAzMiwgCi0gICAgIDE2LCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCi0g
ICAgMTI4LCAgNjMsICA2MiwgICAwLCAgIDAsICAgMSwgCi0gICAgIDgzLCAgODQsICA2NSwgIDg0
LCAxMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAx
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwCi19OwpJbmRleDogU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBp
bGVkL3Bhc3N0aHJvdWdobHVtMmQxMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bh
c3N0aHJvdWdobHVtMmQxMXBzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Ro
cm91Z2hsdW0yZDExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1MiBAQAorI2lmIDAK
Ky8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5
LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5kaW5nczoKKy8vCisv
LyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0ICAgICAg
ICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAt
LS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8gU2FtcGxlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZXIgICAgICBOQSAgICAgICAgICBOQSAgICAw
ICAgICAgICAxCisvLyBUZXh0dXJlRiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAg
ZmxvYXQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNp
Z25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0
ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t
IC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04g
ICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisv
LyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBm
bG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAg
ICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVz
ZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAg
ICAgICAwICAgVEFSR0VUICAgZmxvYXQgICB4eXp3CisvLworcHNfNF8wCitkY2xfc2FtcGxlciBz
MCwgbW9kZV9kZWZhdWx0CitkY2xfcmVzb3VyY2VfdGV4dHVyZTJkIChmbG9hdCxmbG9hdCxmbG9h
dCxmbG9hdCkgdDAKK2RjbF9pbnB1dF9wcyBsaW5lYXIgdjEueHkKK2RjbF9vdXRwdXQgbzAueHl6
dworZGNsX3RlbXBzIDEKK3NhbXBsZSByMC54eXp3LCB2MS54eXh4LCB0MC54eXp3LCBzMAorbW92
IG8wLnh5eiwgcjAueHh4eAorbW92IG8wLncsIGwoMS4wMDAwMDApCityZXQgCisvLyBBcHByb3hp
bWF0ZWx5IDQgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19Q
U19QYXNzdGhyb3VnaEx1bTJEW10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgIDc1LCAg
NjUsIAorICAgIDIyNCwgIDU0LCAxMjMsIDEyMSwgIDc4LCAxMzIsIAorICAgIDE4MCwgIDg5LCAg
OTMsIDE0NiwgIDMxLCAyMDksIAorICAgIDExNCwgIDM1LCAgIDEsICAgMCwgICAwLCAgIDAsIAor
ICAgIDEyOCwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAg
MCwgICAwLCAgIDAsIAorICAgIDIyMCwgICAwLCAgIDAsICAgMCwgIDUyLCAgIDEsIAorICAgICAg
MCwgICAwLCAxMDQsICAgMSwgICAwLCAgIDAsIAorICAgICAgNCwgICAyLCAgIDAsICAgMCwgIDgy
LCAgNjgsIAorICAgICA2OSwgIDcwLCAxNjAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAs
IAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAs
ICAgMSwgICAwLCAgIDAsIAorICAgIDEwOSwgICAwLCAgIDAsICAgMCwgIDkyLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAg
IDAsIAorICAgIDEwMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDUsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgMjU1LCAyNTUsIAor
ICAgIDI1NSwgMjU1LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAg
MCwgIDEzLCAgIDAsIAorICAgICAgMCwgICAwLCAgODMsICA5NywgMTA5LCAxMTIsIAorICAgIDEw
OCwgMTAxLCAxMTQsICAgMCwgIDg0LCAxMDEsIAorICAgIDEyMCwgMTE2LCAxMTcsIDExNCwgMTAx
LCAgNzAsIAorICAgICAgMCwgIDc3LCAxMDUsICA5OSwgMTE0LCAxMTEsIAorICAgIDExNSwgMTEx
LCAxMDIsIDExNiwgIDMyLCAgNDAsIAorICAgICA4MiwgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMs
IAorICAgICA3NiwgIDMyLCAgODMsIDEwNCwgIDk3LCAxMDAsIAorICAgIDEwMSwgMTE0LCAgMzIs
ICA2NywgMTExLCAxMDksIAorICAgIDExMiwgMTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsIAorICAg
ICA1NywgIDQ2LCAgNTEsICA0OCwgIDQ2LCAgNTcsIAorICAgICA1MCwgIDQ4LCAgNDgsICA0Niwg
IDQ5LCAgNTQsIAorICAgICA1MSwgIDU2LCAgNTIsICAgMCwgIDczLCAgODMsIAorICAgICA3MSwg
IDc4LCAgODAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAg
IDAsIAorICAgICAgMCwgICAwLCAgNTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAz
LCAgIDMsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgz
LCAgNzMsICA4NCwgIDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcs
IAorICAgICA3OSwgIDc5LCAgODIsICA2OCwgICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNzks
ICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAg
IDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAg
ODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgMTQ4LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAgICAzNywgICAwLCAgIDAsICAg
MCwgIDkwLCAgIDAsIAorICAgICAgMCwgICAzLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDg4LCAgMjQsIAorICAgICAgMCwgICA0LCAgIDAsIDExMiwgIDE2
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg1LCAgODUsIAorICAgICAgMCwgICAw
LCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgICA1MCwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAs
IAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDMsIAorICAgIDI0MiwgIDMyLCAgMTYs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDQsICAgMCwgICAwLCAgIDIsIAorICAg
ICAgMSwgICAwLCAgIDAsICAgMCwgIDY5LCAgIDAsIAorICAgICAgMCwgICA5LCAyNDIsICAgMCwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgMTYsIAorICAgICAxNiwg
ICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2LCAgMTYsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAxMTQsICAzMiwgIDE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA2LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNSwgMTMwLCAgMzIsIAorICAgICAx
NiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgIDY0LCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgIDEyOCwgIDYzLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0
LCAgNjUsICA4NCwgMTE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6
IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hh
ZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaGx1bTNkMTFwcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9j
b21waWxlZC9wYXNzdGhyb3VnaGx1bTNkMTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBp
bGVkL3Bhc3N0aHJvdWdobHVtM2QxMXBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNjEg
QEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIg
Q29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8gUmVzb3VyY2UgQmluZGlu
Z3M6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZv
cm1hdCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8v
IFNhbXBsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVyICAgICAgTkEgICAgICAg
ICAgTkEgICAgMCAgICAgICAgMQorLy8gVGV4dHVyZUYgICAgICAgICAgICAgICAgICAgICAgICAg
IHRleHR1cmUgIGZsb2F0NCAgICAgICAgICAzZCAgICAwICAgICAgICAxCisvLworLy8KKy8vCisv
LyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBN
YXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNW
X1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0
ICAgICAgIAorLy8gU1ZfUkVOREVSVEFSR0VUQVJSQVlJTkRFWCAgICAgMCAgIHggICAgICAgICAg
IDEgIFJUSU5ERVggICAgdWludCAgICAgICAKKy8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAw
ICAgeHl6ICAgICAgICAgMiAgICAgTk9ORSAgIGZsb2F0ICAgeHl6IAorLy8KKy8vCisvLyBPdXRw
dXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBS
ZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0g
LS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJH
RVQgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICBUQVJHRVQgICBmbG9hdCAgIHh5
encKKy8vCitwc180XzAKK2RjbF9zYW1wbGVyIHMwLCBtb2RlX2RlZmF1bHQKK2RjbF9yZXNvdXJj
ZV90ZXh0dXJlM2QgKGZsb2F0LGZsb2F0LGZsb2F0LGZsb2F0KSB0MAorZGNsX2lucHV0X3BzIGxp
bmVhciB2Mi54eXoKK2RjbF9vdXRwdXQgbzAueHl6dworZGNsX3RlbXBzIDEKK3NhbXBsZSByMC54
eXp3LCB2Mi54eXp4LCB0MC54eXp3LCBzMAorbW92IG8wLnh5eiwgcjAueHh4eAorbW92IG8wLncs
IGwoMS4wMDAwMDApCityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDQgaW5zdHJ1Y3Rpb24gc2xvdHMg
dXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaEx1bTNEW10gPQorewor
ICAgICA2OCwgIDg4LCAgNjYsICA2NywgMTM5LCAxODMsIAorICAgIDEyNiwgIDcwLCAgNTksIDE3
MSwgMTE3LCAgNzgsIAorICAgICA1OCwgMTY4LCAyNTMsIDIwNiwgMjQxLCAgNjcsIAorICAgIDIz
NiwgMTE3LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDE3NiwgICAyLCAgIDAsICAgMCwgICA1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDIyMCwgICAw
LCAgIDAsICAgMCwgMTAwLCAgIDEsIAorICAgICAgMCwgICAwLCAxNTIsICAgMSwgICAwLCAgIDAs
IAorICAgICA1MiwgICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxNjAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgIDEwOSwg
ICAwLCAgIDAsICAgMCwgIDkyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMCwgICAwLCAgIDAsICAg
MCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDUsICAgMCwgICAwLCAgIDAsIAorICAgICAg
OCwgICAwLCAgIDAsICAgMCwgMjU1LCAyNTUsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDEzLCAgIDAsIAorICAgICAgMCwgICAw
LCAgODMsICA5NywgMTA5LCAxMTIsIAorICAgIDEwOCwgMTAxLCAxMTQsICAgMCwgIDg0LCAxMDEs
IAorICAgIDEyMCwgMTE2LCAxMTcsIDExNCwgMTAxLCAgNzAsIAorICAgICAgMCwgIDc3LCAxMDUs
ICA5OSwgMTE0LCAxMTEsIAorICAgIDExNSwgMTExLCAxMDIsIDExNiwgIDMyLCAgNDAsIAorICAg
ICA4MiwgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsIAorICAgICA3NiwgIDMyLCAgODMsIDEwNCwg
IDk3LCAxMDAsIAorICAgIDEwMSwgMTE0LCAgMzIsICA2NywgMTExLCAxMDksIAorICAgIDExMiwg
MTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsIAorICAgICA1NywgIDQ2LCAgNTEsICA0OCwgIDQ2LCAg
NTcsIAorICAgICA1MCwgIDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsIAorICAgICA1MSwgIDU2LCAg
NTIsICAgMCwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAxMjgsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMywgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgODAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMTgs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwg
ICA3LCAgIDcsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwg
IDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODMsICA4NiwgIDk1LCAg
ODIsIAorICAgICA2OSwgIDc4LCAgNjgsICA2OSwgIDgyLCAgODQsIAorICAgICA2NSwgIDgyLCAg
NzEsICA2OSwgIDg0LCAgNjUsIAorICAgICA4MiwgIDgyLCAgNjUsICA4OSwgIDczLCAgNzgsIAor
ICAgICA2OCwgIDY5LCAgODgsICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAgNzksICA3
OSwgIDgyLCAgNjgsIAorICAgICAgMCwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0
NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAw
LCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUs
ICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAg
ICA4MywgIDcyLCAgNjgsICA4MiwgMTQ4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwg
ICAwLCAgIDAsIAorICAgICAzNywgICAwLCAgIDAsICAgMCwgIDkwLCAgIDAsIAorICAgICAgMCwg
ICAzLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg4LCAg
NDAsIAorICAgICAgMCwgICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDg1LCAgODUsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAor
ICAgIDExNCwgIDE2LCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAg
MCwgICAwLCAgIDMsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAxMDQsICAgMCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDY5
LCAgIDAsIAorICAgICAgMCwgICA5LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDcwLCAgMTgsIAorICAgICAxNiwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAs
IAorICAgICA3MCwgMTI2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICA5NiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAg
ICAgMCwgICA1LCAxMTQsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICA2LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwg
ICAwLCAgIDAsICAgNSwgMTMwLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDEyOCwgIDYzLCAg
NjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0LCAgNjUsICA4NCwgMTE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3Vn
aGx1bWFscGhhMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaGx1
bWFscGhhMTFwcy5oCShyZXZpc2lvbiAxNjgxMDMpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91
Z2hsdW1hbHBoYTExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMSwxNDggKzAsMCBAQAotI2lmIDAK
LS8vCi0vLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5
LjMwLjkyMDAuMTYzODQKLS8vCi0vLwotLy8vCi0vLyBSZXNvdXJjZSBCaW5kaW5nczoKLS8vCi0v
LyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0ICAgICAg
ICAgRGltIFNsb3QgRWxlbWVudHMKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAt
LS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQotLy8gU2FtcGxlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZXIgICAgICBOQSAgICAgICAgICBOQSAgICAw
ICAgICAgICAxCi0vLyBUZXh0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAg
ZmxvYXQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKLS8vCi0vLwotLy8KLS8vIElucHV0IHNp
Z25hdHVyZToKLS8vCi0vLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0
ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t
IC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQotLy8gU1ZfUE9TSVRJT04g
ICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCi0v
LyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBm
bG9hdCAgIHh5ICAKLS8vCi0vLwotLy8gT3V0cHV0IHNpZ25hdHVyZToKLS8vCi0vLyBOYW1lICAg
ICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVz
ZWQKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLQotLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAg
ICAgICAwICAgVEFSR0VUICAgZmxvYXQgICB4eXp3Ci0vLwotcHNfNF8wCi1kY2xfc2FtcGxlciBz
MCwgbW9kZV9kZWZhdWx0Ci1kY2xfcmVzb3VyY2VfdGV4dHVyZTJkIChmbG9hdCxmbG9hdCxmbG9h
dCxmbG9hdCkgdDAKLWRjbF9pbnB1dF9wcyBsaW5lYXIgdjEueHkKLWRjbF9vdXRwdXQgbzAueHl6
dwotZGNsX3RlbXBzIDEKLXNhbXBsZSByMC54eXp3LCB2MS54eXh4LCB0MC54eXp3LCBzMAotbW92
IG8wLnh5encsIHIwLnh4eHcKLXJldCAKLS8vIEFwcHJveGltYXRlbHkgMyBpbnN0cnVjdGlvbiBz
bG90cyB1c2VkCi0jZW5kaWYKLQotY29uc3QgQllURSBnX1BTX1Bhc3N0aHJvdWdoTHVtQWxwaGFb
XSA9Ci17Ci0gICAgIDY4LCAgODgsICA2NiwgIDY3LCAxODUsICAxNCwgCi0gICAgIDg0LCAyMjMs
IDE5MiwgIDQyLCAgMTYsIDEzMywgCi0gICAgIDQ2LCAxMDAsICA5NSwgMjIxLCAxODMsICA5Nywg
Ci0gICAgMTkyLCAgMjMsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAgMTA4LCAgIDIsICAgMCwg
ICAwLCAgIDUsICAgMCwgCi0gICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCi0gICAg
MjIwLCAgIDAsICAgMCwgICAwLCAgNTIsICAgMSwgCi0gICAgICAwLCAgIDAsIDEwNCwgICAxLCAg
IDAsICAgMCwgCi0gICAgMjQwLCAgIDEsICAgMCwgICAwLCAgODIsICA2OCwgCi0gICAgIDY5LCAg
NzAsIDE2MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCi0gICAgIDI4LCAgIDAsICAg
MCwgICAwLCAgIDAsICAgNCwgCi0gICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwgCi0g
ICAgMTA4LCAgIDAsICAgMCwgICAwLCAgOTIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMywgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAgMTAwLCAgIDAs
ICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgNSwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICA0LCAgIDAsICAgMCwgICAwLCAyNTUsIDI1NSwgCi0gICAgMjU1LCAyNTUsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgMTMsICAgMCwgCi0gICAg
ICAwLCAgIDAsICA4MywgIDk3LCAxMDksIDExMiwgCi0gICAgMTA4LCAxMDEsIDExNCwgICAwLCAg
ODQsIDEwMSwgCi0gICAgMTIwLCAxMTYsIDExNywgMTE0LCAxMDEsICAgMCwgCi0gICAgIDc3LCAx
MDUsICA5OSwgMTE0LCAxMTEsIDExNSwgCi0gICAgMTExLCAxMDIsIDExNiwgIDMyLCAgNDAsICA4
MiwgCi0gICAgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsICA3NiwgCi0gICAgIDMyLCAgODMsIDEw
NCwgIDk3LCAxMDAsIDEwMSwgCi0gICAgMTE0LCAgMzIsICA2NywgMTExLCAxMDksIDExMiwgCi0g
ICAgMTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsICA1NywgCi0gICAgIDQ2LCAgNTEsICA0OCwgIDQ2
LCAgNTcsICA1MCwgCi0gICAgIDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsICA1MSwgCi0gICAgIDU2
LCAgNTIsICAgMCwgMTcxLCAgNzMsICA4MywgCi0gICAgIDcxLCAgNzgsICA4MCwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCi0gICAgICAwLCAgIDAs
ICA1NiwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgMTUsICAgMCwgCi0gICAgICAwLCAgIDAsICA2OCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMywgICAwLCAg
IDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMywgCi0gICAgICAwLCAg
IDAsICA4MywgIDg2LCAgOTUsICA4MCwgCi0gICAgIDc5LCAgODMsICA3MywgIDg0LCAgNzMsICA3
OSwgCi0gICAgIDc4LCAgIDAsICA4NCwgIDY5LCAgODgsICA2NywgCi0gICAgIDc5LCAgNzksICA4
MiwgIDY4LCAgIDAsIDE3MSwgCi0gICAgMTcxLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCi0g
ICAgIDQ0LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgOCwgICAw
LCAgIDAsICAgMCwgCi0gICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCi0gICAgIDgzLCAgODYs
ICA5NSwgIDg0LCAgNjUsICA4MiwgCi0gICAgIDcxLCAgNjksICA4NCwgICAwLCAxNzEsIDE3MSwg
Ci0gICAgIDgzLCAgNzIsICA2OCwgIDgyLCAxMjgsICAgMCwgCi0gICAgICAwLCAgIDAsICA2NCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgIDMyLCAgIDAsICAgMCwgICAwLCAgOTAsICAgMCwgCi0gICAg
ICAwLCAgIDMsICAgMCwgIDk2LCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
ODgsICAyNCwgCi0gICAgICAwLCAgIDQsICAgMCwgMTEyLCAgMTYsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgODUsICA4NSwgCi0gICAgICAwLCAgIDAsICA5OCwgIDE2LCAgIDAsICAg
MywgCi0gICAgIDUwLCAgMTYsICAxNiwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsIDEw
MSwgICAwLCAgIDAsICAgMywgCi0gICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsIDEwNCwgICAwLCAgIDAsICAgMiwgCi0gICAgICAxLCAgIDAsICAgMCwgICAw
LCAgNjksICAgMCwgCi0gICAgICAwLCAgIDksIDI0MiwgICAwLCAgMTYsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMCwgICAwLCAgNzAsICAxNiwgCi0gICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAs
ICAgMCwgCi0gICAgIDcwLCAxMjYsICAxNiwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMCwgIDk2LCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwg
Ci0gICAgICAwLCAgIDUsIDI0MiwgIDMyLCAgMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDYsICAxMiwgCi0gICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAg
IDYyLCAgIDAsICAgMCwgICAxLCAgODMsICA4NCwgCi0gICAgIDY1LCAgODQsIDExNiwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAKLX07CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91
Z2hsdW1hbHBoYTJkMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3Vn
aGx1bWFscGhhMmQxMXBzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91
Z2hsdW1hbHBoYTJkMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQ4IEBACisjaWYg
MAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBpbGVy
IDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8K
Ky8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAg
ICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBTYW1wbGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlciAgICAgIE5BICAgICAgICAgIE5BICAg
IDAgICAgICAgIDEKKy8vIFRleHR1cmVGICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJl
ICBmbG9hdDQgICAgICAgICAgMmQgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8gSW5wdXQg
c2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdp
c3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0t
LS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9QT1NJVElP
TiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgICAgICAK
Ky8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHkgICAgICAgICAgMSAgICAgTk9ORSAg
IGZsb2F0ICAgeHkgIAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUg
ICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAg
VXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0t
LS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAgIHh5encg
ICAgICAgIDAgICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8vCitwc180XzAKK2RjbF9zYW1wbGVy
IHMwLCBtb2RlX2RlZmF1bHQKK2RjbF9yZXNvdXJjZV90ZXh0dXJlMmQgKGZsb2F0LGZsb2F0LGZs
b2F0LGZsb2F0KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2MS54eQorZGNsX291dHB1dCBvMC54
eXp3CitkY2xfdGVtcHMgMQorc2FtcGxlIHIwLnh5encsIHYxLnh5eHgsIHQwLnh5encsIHMwCitt
b3YgbzAueHl6dywgcjAueHh4dworcmV0IAorLy8gQXBwcm94aW1hdGVseSAzIGluc3RydWN0aW9u
IHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hMdW1BbHBo
YTJEW10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMjExLCAgMTIsIAorICAgIDEyMiwg
MjA2LCAyMDksIDI1NSwgMTM3LCAxMzIsIAorICAgIDE2MywgMTY0LCAgODcsIDIwMiwgIDMxLCAg
NjAsIAorICAgICA3OSwgMjQ0LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwOCwgICAyLCAg
IDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAor
ICAgIDIyMCwgICAwLCAgIDAsICAgMCwgIDUyLCAgIDEsIAorICAgICAgMCwgICAwLCAxMDQsICAg
MSwgICAwLCAgIDAsIAorICAgIDI0MCwgICAxLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2
OSwgIDcwLCAxNjAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAs
IAorICAgIDEwOSwgICAwLCAgIDAsICAgMCwgIDkyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMCwg
ICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDUsICAgMCwgICAwLCAg
IDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgMjU1LCAyNTUsIAorICAgIDI1NSwgMjU1LCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDEzLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgODMsICA5NywgMTA5LCAxMTIsIAorICAgIDEwOCwgMTAxLCAxMTQsICAg
MCwgIDg0LCAxMDEsIAorICAgIDEyMCwgMTE2LCAxMTcsIDExNCwgMTAxLCAgNzAsIAorICAgICAg
MCwgIDc3LCAxMDUsICA5OSwgMTE0LCAxMTEsIAorICAgIDExNSwgMTExLCAxMDIsIDExNiwgIDMy
LCAgNDAsIAorICAgICA4MiwgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsIAorICAgICA3NiwgIDMy
LCAgODMsIDEwNCwgIDk3LCAxMDAsIAorICAgIDEwMSwgMTE0LCAgMzIsICA2NywgMTExLCAxMDks
IAorICAgIDExMiwgMTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsIAorICAgICA1NywgIDQ2LCAgNTEs
ICA0OCwgIDQ2LCAgNTcsIAorICAgICA1MCwgIDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsIAorICAg
ICA1MSwgIDU2LCAgNTIsICAgMCwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAzLCAgIDMsIAorICAgICAg
MCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDcz
LCAgNzksIAorICAgICA3OCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5
LCAgODIsICA2OCwgICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgs
IAorICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgs
ICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4Mywg
IDg2LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAx
NzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgMTI4LCAgIDAsIAorICAgICAgMCwgICAwLCAg
NjQsICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgIDkwLCAgIDAsIAor
ICAgICAgMCwgICAzLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDg4LCAgMjQsIAorICAgICAgMCwgICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDg1LCAgODUsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAw
LCAgIDMsIAorICAgICA1MCwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAw
LCAxMDEsICAgMCwgICAwLCAgIDMsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAxMDQsICAgMCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgIDY5LCAgIDAsIAorICAgICAgMCwgICA5LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgMTYsIAorICAgICAxNiwgICAwLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgICA3MCwgMTI2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAg
IDAsIAorICAgICAgMCwgICA1LCAyNDIsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICA2LCAgMTIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA2MiwgICAwLCAgIDAsICAgMSwgIDgzLCAgODQsIAorICAgICA2NSwgIDg0LCAxMTYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwCit9OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0
aHJvdWdobHVtYWxwaGEzZDExcHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Ro
cm91Z2hsdW1hbHBoYTNkMTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0
aHJvdWdobHVtYWxwaGEzZDExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1NyBAQAor
I2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21w
aWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5kaW5nczoK
Ky8vCisvLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0
ICAgICAgICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8gU2Ft
cGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZXIgICAgICBOQSAgICAgICAgICBO
QSAgICAwICAgICAgICAxCisvLyBUZXh0dXJlRiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4
dHVyZSAgZmxvYXQ0ICAgICAgICAgIDNkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElu
cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sg
UmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
IC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9T
SVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAg
ICAgCisvLyBTVl9SRU5ERVJUQVJHRVRBUlJBWUlOREVYICAgICAwICAgeCAgICAgICAgICAgMSAg
UlRJTkRFWCAgICB1aW50ICAgICAgIAorLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4
eXogICAgICAgICAyICAgICBOT05FICAgZmxvYXQgICB4eXogCisvLworLy8KKy8vIE91dHB1dCBz
aWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lz
dGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0t
LSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1RBUkdFVCAg
ICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgIFRBUkdFVCAgIGZsb2F0ICAgeHl6dwor
Ly8KK3BzXzRfMAorZGNsX3NhbXBsZXIgczAsIG1vZGVfZGVmYXVsdAorZGNsX3Jlc291cmNlX3Rl
eHR1cmUzZCAoZmxvYXQsZmxvYXQsZmxvYXQsZmxvYXQpIHQwCitkY2xfaW5wdXRfcHMgbGluZWFy
IHYyLnh5egorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorc2FtcGxlIHIwLnh5encs
IHYyLnh5engsIHQwLnh5encsIHMwCittb3YgbzAueHl6dywgcjAueHh4dworcmV0IAorLy8gQXBw
cm94aW1hdGVseSAzIGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRF
IGdfUFNfUGFzc3Rocm91Z2hMdW1BbHBoYTNEW10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2
NywgIDc5LCAxNTIsIAorICAgICAzOCwgMTgzLCAxOTEsIDIzMiwgMjM0LCAgNzQsIAorICAgICAy
MCwgMjE2LCAxNTksICA5OCwgMTMwLCAgODksIAorICAgICA2NywgMjMwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgIDE1NiwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAw
LCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDIyMCwgICAwLCAgIDAsICAgMCwgMTAwLCAgIDEs
IAorICAgICAgMCwgICAwLCAxNTIsICAgMSwgICAwLCAgIDAsIAorICAgICAzMiwgICAyLCAgIDAs
ICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxNjAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwg
ICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwg
MjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgIDEwOSwgICAwLCAgIDAsICAgMCwgIDkyLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgIDEwMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDUsICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAgMCwgMjU1
LCAyNTUsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAw
LCAgIDAsICAgMCwgIDEzLCAgIDAsIAorICAgICAgMCwgICAwLCAgODMsICA5NywgMTA5LCAxMTIs
IAorICAgIDEwOCwgMTAxLCAxMTQsICAgMCwgIDg0LCAxMDEsIAorICAgIDEyMCwgMTE2LCAxMTcs
IDExNCwgMTAxLCAgNzAsIAorICAgICAgMCwgIDc3LCAxMDUsICA5OSwgMTE0LCAxMTEsIAorICAg
IDExNSwgMTExLCAxMDIsIDExNiwgIDMyLCAgNDAsIAorICAgICA4MiwgIDQxLCAgMzIsICA3Miwg
IDc2LCAgODMsIAorICAgICA3NiwgIDMyLCAgODMsIDEwNCwgIDk3LCAxMDAsIAorICAgIDEwMSwg
MTE0LCAgMzIsICA2NywgMTExLCAxMDksIAorICAgIDExMiwgMTA1LCAxMDgsIDEwMSwgMTE0LCAg
MzIsIAorICAgICA1NywgIDQ2LCAgNTEsICA0OCwgIDQ2LCAgNTcsIAorICAgICA1MCwgIDQ4LCAg
NDgsICA0NiwgIDQ5LCAgNTQsIAorICAgICA1MSwgIDU2LCAgNTIsICAgMCwgIDczLCAgODMsIAor
ICAgICA3MSwgIDc4LCAxMjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAg
MCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgODAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAw
LCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMTgsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA3LCAgIDcsIAorICAgICAgMCwg
ICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAg
NzksIAorICAgICA3OCwgICAwLCAgODMsICA4NiwgIDk1LCAgODIsIAorICAgICA2OSwgIDc4LCAg
NjgsICA2OSwgIDgyLCAgODQsIAorICAgICA2NSwgIDgyLCAgNzEsICA2OSwgIDg0LCAgNjUsIAor
ICAgICA4MiwgIDgyLCAgNjUsICA4OSwgIDczLCAgNzgsIAorICAgICA2OCwgIDY5LCAgODgsICAg
MCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgsIAorICAgICAg
MCwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUs
ICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAg
ICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4Miwg
MTI4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwg
ICAwLCAgIDAsICAgMCwgIDkwLCAgIDAsIAorICAgICAgMCwgICAzLCAgIDAsICA5NiwgIDE2LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg4LCAgNDAsIAorICAgICAgMCwgICA0LCAg
IDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg1LCAgODUsIAor
ICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgIDExNCwgIDE2LCAgMTYsICAg
MCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDMsIAorICAgIDI0
MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDQsICAgMCwgICAw
LCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDY5LCAgIDAsIAorICAgICAgMCwgICA5
LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgMTgs
IAorICAgICAxNiwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2LCAgMTYs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAyNDIsICAzMiwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA2LCAgMTIsIAorICAgICAxNiwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA2MiwgICAwLCAgIDAsICAgMSwgIDgzLCAg
ODQsIAorICAgICA2NSwgIDg0LCAxMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAg
IDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwCit9
OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9k
M2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocjJkMTFwcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hh
ZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHIyZDExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9j
b21waWxlZC9wYXNzdGhyb3VnaHIyZDExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1
NCBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRl
ciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5k
aW5nczoKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAg
Rm9ybWF0ICAgICAgICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQor
Ly8gU2FtcGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZXIgICAgICBOQSAgICAg
ICAgICBOQSAgICAwICAgICAgICAxCisvLyBUZXh0dXJlRiAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGV4dHVyZSAgZmxvYXQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8K
Ky8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAg
IE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8g
U1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxv
YXQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEg
ICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8v
CisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUg
IEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0t
LS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAg
IDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgZmxvYXQgICB4eXp3CisvLworcHNfNF8wCitk
Y2xfc2FtcGxlciBzMCwgbW9kZV9kZWZhdWx0CitkY2xfcmVzb3VyY2VfdGV4dHVyZTJkIChmbG9h
dCxmbG9hdCxmbG9hdCxmbG9hdCkgdDAKK2RjbF9pbnB1dF9wcyBsaW5lYXIgdjEueHkKK2RjbF9v
dXRwdXQgbzAueHl6dworZGNsX3RlbXBzIDEKK3NhbXBsZSByMC54eXp3LCB2MS54eXh4LCB0MC54
eXp3LCBzMAorbW92IG8wLngsIHIwLngKK21vdiBvMC55encsIGwoMCwwLDAsMS4wMDAwMDApCity
ZXQgCisvLyBBcHByb3hpbWF0ZWx5IDQgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisK
K2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFIyRFtdID0KK3sKKyAgICAgNjgsICA4OCwgIDY2
LCAgNjcsIDE2NSwgMjQxLCAKKyAgICAxNjksIDEyMywgIDcyLCAyMTYsIDEyNiwgMTEwLCAKKyAg
ICAyMTIsICAyNiwgIDk4LCAyNDcsICA0MiwgIDIwLCAKKyAgICAgNzMsIDEyOSwgICAxLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAxNDAsICAgMiwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAs
ICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAyMjAsICAgMCwgICAwLCAgIDAsICA1Miwg
ICAxLCAKKyAgICAgIDAsICAgMCwgMTA0LCAgIDEsICAgMCwgICAwLCAKKyAgICAgMTYsICAgMiwg
ICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgMTYwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKKyAgICAy
NTUsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAxMDksICAgMCwgICAwLCAgIDAsICA5
MiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAx
LCAgIDAsICAgMCwgICAwLCAKKyAgICAxMDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICA1LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAs
IDI1NSwgMjU1LCAKKyAgICAyNTUsIDI1NSwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEs
ICAgMCwgICAwLCAgIDAsICAxMywgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgOTcsIDEwOSwg
MTEyLCAKKyAgICAxMDgsIDEwMSwgMTE0LCAgIDAsICA4NCwgMTAxLCAKKyAgICAxMjAsIDExNiwg
MTE3LCAxMTQsIDEwMSwgIDcwLCAKKyAgICAgIDAsICA3NywgMTA1LCAgOTksIDExNCwgMTExLCAK
KyAgICAxMTUsIDExMSwgMTAyLCAxMTYsICAzMiwgIDQwLCAKKyAgICAgODIsICA0MSwgIDMyLCAg
NzIsICA3NiwgIDgzLCAKKyAgICAgNzYsICAzMiwgIDgzLCAxMDQsICA5NywgMTAwLCAKKyAgICAx
MDEsIDExNCwgIDMyLCAgNjcsIDExMSwgMTA5LCAKKyAgICAxMTIsIDEwNSwgMTA4LCAxMDEsIDEx
NCwgIDMyLCAKKyAgICAgNTcsICA0NiwgIDUxLCAgNDgsICA0NiwgIDU3LCAKKyAgICAgNTAsICA0
OCwgIDQ4LCAgNDYsICA0OSwgIDU0LCAKKyAgICAgNTEsICA1NiwgIDUyLCAgIDAsICA3MywgIDgz
LCAKKyAgICAgNzEsICA3OCwgIDgwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAgMCwgICAw
LCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU2LCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAgICAgIDAs
ICAgMCwgIDY4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwg
ICAwLCAgIDAsICAgMywgICAzLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDgwLCAK
KyAgICAgNzksICA4MywgIDczLCAgODQsICA3MywgIDc5LCAKKyAgICAgNzgsICAgMCwgIDg0LCAg
NjksICA4OCwgIDY3LCAKKyAgICAgNzksICA3OSwgIDgyLCAgNjgsICAgMCwgMTcxLCAKKyAgICAx
NzEsIDE3MSwgIDc5LCAgODMsICA3MSwgIDc4LCAKKyAgICAgNDQsICAgMCwgICAwLCAgIDAsICAg
MSwgICAwLCAKKyAgICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgMzIsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE1
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgODMsICA4NiwgIDk1LCAgODQsICA2NSwgIDgyLCAKKyAg
ICAgNzEsICA2OSwgIDg0LCAgIDAsIDE3MSwgMTcxLCAKKyAgICAgODMsICA3MiwgIDY4LCAgODIs
IDE2MCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDY0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgNDAs
ICAgMCwgICAwLCAgIDAsICA5MCwgICAwLCAKKyAgICAgIDAsICAgMywgICAwLCAgOTYsICAxNiwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4OCwgIDI0LCAKKyAgICAgIDAsICAgNCwg
ICAwLCAxMTIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4NSwgIDg1LCAK
KyAgICAgIDAsICAgMCwgIDk4LCAgMTYsICAgMCwgICAzLCAKKyAgICAgNTAsICAxNiwgIDE2LCAg
IDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgMTAxLCAgIDAsICAgMCwgICAzLCAKKyAgICAy
NDIsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTA0LCAgIDAsICAg
MCwgICAyLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICA2OSwgICAwLCAKKyAgICAgIDAsICAg
OSwgMjQyLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgIDE2
LCAKKyAgICAgMTYsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsIDEyNiwgIDE2
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgOTYsICAxNiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNSwgIDE4LCAgMzIs
ICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxMCwgICAwLCAKKyAgICAgMTYs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDgsIDIyNiwg
IDMyLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICA2NCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAxMjgsICA2MywgIDYyLCAg
IDAsICAgMCwgICAxLCAKKyAgICAgODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICA0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyMmRp
MTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVT
djIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHIyZGkxMXBzLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyMmRpMTFwcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTY4IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBN
aWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8v
CisvLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cwor
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0t
LS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBUZXh0dXJlSSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGV4dHVyZSAgIHNpbnQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8K
Ky8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAg
IE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8g
U1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxv
YXQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEg
ICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8v
CisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUg
IEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0t
LS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAg
IDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3CisvLworcHNfNF8wCitk
Y2xfcmVzb3VyY2VfdGV4dHVyZTJkIChzaW50LHNpbnQsc2ludCxzaW50KSB0MAorZGNsX2lucHV0
X3BzIGxpbmVhciB2MS54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5m
b191aW50IHIwLnh5encsIGwoMCksIHQwLnh5encKK3V0b2YgcjAueHksIHIwLnh5eHgKK211bCBy
MC54eSwgcjAueHl4eCwgdjEueHl4eAorZnRvaSByMC54eSwgcjAueHl4eAorbW92IHIwLnp3LCBs
KDAsMCwwLDApCitsZCByMC54eXp3LCByMC54eXp3LCB0MC54eXp3Cittb3YgbzAueCwgcjAueAor
bW92IG8wLnl6dywgbCgwLDAsMCwwKQorcmV0IAorLy8gQXBwcm94aW1hdGVseSA5IGluc3RydWN0
aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hSMkRJ
W10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMTc1LCAgMzQsIAorICAgICA1OCwgIDYz
LCAgNzcsIDEzOCwgMTg2LCAgNDEsIAorICAgICAzMywgMjM5LCAxMDcsIDIzMSwgIDUxLCAxMjIs
IAorICAgIDE5NCwgMjI5LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDIwOCwgICAyLCAgIDAs
ICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAg
IDE4MCwgICAwLCAgIDAsICAgMCwgIDEyLCAgIDEsIAorICAgICAgMCwgICAwLCAgNjQsICAgMSwg
ICAwLCAgIDAsIAorICAgICA4NCwgICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwg
IDcwLCAxMjAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAor
ICAgICA2OSwgICAwLCAgIDAsICAgMCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAg
MCwgICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAx
LCAxMjAsIDExNiwgMTE3LCAxMTQsIAorICAgIDEwMSwgIDczLCAgIDAsICA3NywgMTA1LCAgOTks
IAorICAgIDExNCwgMTExLCAxMTUsIDExMSwgMTAyLCAxMTYsIAorICAgICAzMiwgIDQwLCAgODIs
ICA0MSwgIDMyLCAgNzIsIAorICAgICA3NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAxMDQsIAorICAg
ICA5NywgMTAwLCAxMDEsIDExNCwgIDMyLCAgNjcsIAorICAgIDExMSwgMTA5LCAxMTIsIDEwNSwg
MTA4LCAxMDEsIAorICAgIDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAgNDgsIAorICAgICA0Niwg
IDU3LCAgNTAsICA0OCwgIDQ4LCAgNDYsIAorICAgICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAg
IDAsIAorICAgICA3MywgIDgzLCAgNzEsICA3OCwgIDgwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAgMCwgIDU2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAg
MCwgICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAx
NSwgICAwLCAgIDAsICAgMCwgIDY4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAzLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAzLCAgIDAsICAgMCwgIDgzLCAgODYs
IAorICAgICA5NSwgIDgwLCAgNzksICA4MywgIDczLCAgODQsIAorICAgICA3MywgIDc5LCAgNzgs
ICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgsIAorICAg
ICAgMCwgMTcxLCAxNzEsIDE3MSwgIDc5LCAgODMsIAorICAgICA3MSwgIDc4LCAgNDQsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODQsIAor
ICAgICA2NSwgIDgyLCAgNzEsICA2OSwgIDg0LCAgIDAsIAorICAgIDE3MSwgMTcxLCAgODMsICA3
MiwgIDY4LCAgODIsIAorICAgICAxMiwgICAxLCAgIDAsICAgMCwgIDY0LCAgIDAsIAorICAgICAg
MCwgICAwLCAgNjcsICAgMCwgICAwLCAgIDAsIAorICAgICA4OCwgIDI0LCAgIDAsICAgNCwgICAw
LCAxMTIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1MSwgIDUx
LCAgIDAsICAgMCwgIDk4LCAgMTYsIAorICAgICAgMCwgICAzLCAgNTAsICAxNiwgIDE2LCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIs
ICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTA0LCAgIDAsIAorICAg
ICAgMCwgICAyLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA2MSwgIDE2LCAgIDAsICAgNywg
MjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwg
IDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg2LCAgIDAsIAorICAgICAgMCwgICA1LCAg
NTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDAsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NiwgICAwLCAgIDAsICAg
NywgIDUwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3
MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxNiwgIDE2
LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDI3LCAgIDAsIAorICAgICAgMCwgICA1
LCAgNTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDAs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAs
ICAgOCwgMTk0LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMiwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNDUsICAgMCwgICAwLCAgIDcsIAorICAgIDI0MiwgICAwLCAgMTYsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxNCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDcwLCAxMjYsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA1NCwgICAwLCAgIDAsICAgNSwgIDE4LCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDgsIAorICAgIDIyNiwgIDMyLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICA2NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDYyLCAgIDAsIAorICAgICAgMCwgICAxLCAgODMs
ICA4NCwgIDY1LCAgODQsIAorICAgIDExNiwgICAwLCAgIDAsICAgMCwgICA5LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAKK307Cklu
ZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDEx
L3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyMmR1aTExcHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRl
cnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyMmR1aTExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9j
b21waWxlZC9wYXNzdGhyb3VnaHIyZHVpMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTY5IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hh
ZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJp
bmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBl
ICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0t
CisvLyBUZXh0dXJlVUkgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAgIHVpbnQ0ICAg
ICAgICAgIDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToK
Ky8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFs
dWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAt
LS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAgICAgICAg
ICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisvLyBURVhDT09S
RCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBmbG9hdCAgIHh5
ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAg
ICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
IC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAg
VEFSR0VUICAgIHVpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2VfdGV4dHVyZTJk
ICh1aW50LHVpbnQsdWludCx1aW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2MS54eQorZGNs
X291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191aW50IHIwLnh5encsIGwoMCks
IHQwLnh5encKK3V0b2YgcjAueHksIHIwLnh5eHgKK211bCByMC54eSwgcjAueHl4eCwgdjEueHl4
eAorZnRvaSByMC54eSwgcjAueHl4eAorbW92IHIwLnp3LCBsKDAsMCwwLDApCitsZCByMC54eXp3
LCByMC54eXp3LCB0MC54eXp3Cittb3YgbzAueCwgcjAueAorbW92IG8wLnl6dywgbCgwLDAsMCww
KQorcmV0IAorLy8gQXBwcm94aW1hdGVseSA5IGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRp
ZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hSMkRVSVtdID0KK3sKKyAgICAgNjgsICA4
OCwgIDY2LCAgNjcsIDE2NiwgMTc1LCAKKyAgICAgODYsIDExMywgMTc1LCAxOTYsIDIyMiwgMTE5
LCAKKyAgICAxMDIsIDEwOCwgICAxLCAgMTcsIDE1OCwgIDg4LCAKKyAgICAgMjQsIDEyNCwgICAx
LCAgIDAsICAgMCwgICAwLCAKKyAgICAyMTIsICAgMiwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxODQsICAgMCwgICAwLCAgIDAs
ICAxNiwgICAxLCAKKyAgICAgIDAsICAgMCwgIDY4LCAgIDEsICAgMCwgICAwLCAKKyAgICAgODgs
ICAgMiwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgMTI0LCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAK
KyAgICAyNTUsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAgNzAsICAgMCwgICAwLCAg
IDAsICA2MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDQsICAgMCwgICAwLCAgIDAsICAgNCwgICAwLCAKKyAgICAgIDAsICAgMCwgMjU1LCAyNTUsIDI1
NSwgMjU1LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAg
MCwgIDEzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgODQsIDEwMSwgMTIwLCAxMTYsIDExNywgMTE0
LCAKKyAgICAxMDEsICA4NSwgIDczLCAgIDAsICA3NywgMTA1LCAKKyAgICAgOTksIDExNCwgMTEx
LCAxMTUsIDExMSwgMTAyLCAKKyAgICAxMTYsICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAKKyAg
ICAgNzIsICA3NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAKKyAgICAxMDQsICA5NywgMTAwLCAxMDEs
IDExNCwgIDMyLCAKKyAgICAgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAKKyAgICAxMDEs
IDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAKKyAgICAgNDgsICA0NiwgIDU3LCAgNTAsICA0OCwg
IDQ4LCAKKyAgICAgNDYsICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAKKyAgICAgIDAsIDE3MSwg
MTcxLCAxNzEsICA3MywgIDgzLCAKKyAgICAgNzEsICA3OCwgIDgwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDIsICAgMCwgICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU2LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAx
NSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDY4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMywgICAzLCAKKyAgICAgIDAsICAgMCwgIDgz
LCAgODYsICA5NSwgIDgwLCAKKyAgICAgNzksICA4MywgIDczLCAgODQsICA3MywgIDc5LCAKKyAg
ICAgNzgsICAgMCwgIDg0LCAgNjksICA4OCwgIDY3LCAKKyAgICAgNzksICA3OSwgIDgyLCAgNjgs
ICAgMCwgMTcxLCAKKyAgICAxNzEsIDE3MSwgIDc5LCAgODMsICA3MSwgIDc4LCAKKyAgICAgNDQs
ICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgMzIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgIDE1LCAgIDAsICAgMCwgICAwLCAKKyAgICAgODMsICA4NiwgIDk1LCAg
ODQsICA2NSwgIDgyLCAKKyAgICAgNzEsICA2OSwgIDg0LCAgIDAsIDE3MSwgMTcxLCAKKyAgICAg
ODMsICA3MiwgIDY4LCAgODIsICAxMiwgICAxLCAKKyAgICAgIDAsICAgMCwgIDY0LCAgIDAsICAg
MCwgICAwLCAKKyAgICAgNjcsICAgMCwgICAwLCAgIDAsICA4OCwgIDI0LCAKKyAgICAgIDAsICAg
NCwgICAwLCAxMTIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA2OCwgIDY4
LCAKKyAgICAgIDAsICAgMCwgIDk4LCAgMTYsICAgMCwgICAzLCAKKyAgICAgNTAsICAxNiwgIDE2
LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgMTAxLCAgIDAsICAgMCwgICAzLCAKKyAg
ICAyNDIsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTA0LCAgIDAs
ICAgMCwgICAyLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICA2MSwgIDE2LCAKKyAgICAgIDAs
ICAgNywgMjQyLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwg
IDY0LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsIDEyNiwg
IDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDg2LCAgIDAsICAgMCwgICA1LCAK
KyAgICAgNTAsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAg
IDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NiwgICAwLCAKKyAgICAg
IDAsICAgNywgIDUwLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3
MCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsICAx
NiwgIDE2LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDI3LCAgIDAsICAgMCwgICA1
LCAKKyAgICAgNTAsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcw
LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAg
ICAgIDAsICAgOCwgMTk0LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMiwgIDY0LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgNDUsICAgMCwgICAwLCAgIDcsIDI0MiwgICAwLCAKKyAgICAgMTYsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsICAxNCwgIDE2LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgIDcwLCAxMjYsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNSwgIDE4LCAgMzIsICAxNiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAxMCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDgsIDIyNiwgIDMyLCAKKyAgICAgMTYsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICA2NCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDYyLCAgIDAsICAgMCwgICAxLCAKKyAg
ICAgODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA5LCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAK
K307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVy
L2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyM2QxMXBzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9z
aGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocjNkMTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJz
L2NvbXBpbGVkL3Bhc3N0aHJvdWdocjNkMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTYzIEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hh
ZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJp
bmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBl
ICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0t
CisvLyBTYW1wbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlciAgICAgIE5BICAg
ICAgICAgIE5BICAgIDAgICAgICAgIDEKKy8vIFRleHR1cmVGICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXh0dXJlICBmbG9hdDQgICAgICAgICAgM2QgICAgMCAgICAgICAgMQorLy8KKy8vCisv
LworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4
ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisv
LyBTVl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBm
bG9hdCAgICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAgICB4ICAgICAg
ICAgICAxICBSVElOREVYICAgIHVpbnQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAg
ICAgMCAgIHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8vCisvLworLy8g
T3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1h
c2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1Zf
VEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgZmxvYXQg
ICB4eXp3CisvLworcHNfNF8wCitkY2xfc2FtcGxlciBzMCwgbW9kZV9kZWZhdWx0CitkY2xfcmVz
b3VyY2VfdGV4dHVyZTNkIChmbG9hdCxmbG9hdCxmbG9hdCxmbG9hdCkgdDAKK2RjbF9pbnB1dF9w
cyBsaW5lYXIgdjIueHl6CitkY2xfb3V0cHV0IG8wLnh5encKK2RjbF90ZW1wcyAxCitzYW1wbGUg
cjAueHl6dywgdjIueHl6eCwgdDAueHl6dywgczAKK21vdiBvMC54LCByMC54Cittb3YgbzAueXp3
LCBsKDAsMCwwLDEuMDAwMDAwKQorcmV0IAorLy8gQXBwcm94aW1hdGVseSA0IGluc3RydWN0aW9u
IHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hSM0RbXSA9
Cit7CisgICAgIDY4LCAgODgsICA2NiwgIDY3LCAxNTQsIDEyNiwgCisgICAgMTU3LCAxMTAsICA1
NSwgIDIyLCAxMTgsIDE5NSwgCisgICAgMjIyLCAgMTYsICAgNCwgIDQ0LCAgIDQsIDE4NiwgCisg
ICAgMTc1LCAxOTMsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTg4LCAgIDIsICAgMCwgICAw
LCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgMjIw
LCAgIDAsICAgMCwgICAwLCAxMDAsICAgMSwgCisgICAgICAwLCAgIDAsIDE1MiwgICAxLCAgIDAs
ICAgMCwgCisgICAgIDY0LCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAs
IDE2MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAg
MTA5LCAgIDAsICAgMCwgICAwLCAgOTIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTAwLCAgIDAsICAg
MCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgNSwgICAwLCAgIDAsICAgMCwgCisg
ICAgICA4LCAgIDAsICAgMCwgICAwLCAyNTUsIDI1NSwgCisgICAgMjU1LCAyNTUsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgMTMsICAgMCwgCisgICAgICAw
LCAgIDAsICA4MywgIDk3LCAxMDksIDExMiwgCisgICAgMTA4LCAxMDEsIDExNCwgICAwLCAgODQs
IDEwMSwgCisgICAgMTIwLCAxMTYsIDExNywgMTE0LCAxMDEsICA3MCwgCisgICAgICAwLCAgNzcs
IDEwNSwgIDk5LCAxMTQsIDExMSwgCisgICAgMTE1LCAxMTEsIDEwMiwgMTE2LCAgMzIsICA0MCwg
CisgICAgIDgyLCAgNDEsICAzMiwgIDcyLCAgNzYsICA4MywgCisgICAgIDc2LCAgMzIsICA4Mywg
MTA0LCAgOTcsIDEwMCwgCisgICAgMTAxLCAxMTQsICAzMiwgIDY3LCAxMTEsIDEwOSwgCisgICAg
MTEyLCAxMDUsIDEwOCwgMTAxLCAxMTQsICAzMiwgCisgICAgIDU3LCAgNDYsICA1MSwgIDQ4LCAg
NDYsICA1NywgCisgICAgIDUwLCAgNDgsICA0OCwgIDQ2LCAgNDksICA1NCwgCisgICAgIDUxLCAg
NTYsICA1MiwgICAwLCAgNzMsICA4MywgCisgICAgIDcxLCAgNzgsIDEyOCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsICA4
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgMTUsICAgMCwgCisgICAgICAwLCAgIDAsICA5MiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAs
IDExOCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwg
ICAwLCAgIDcsICAgNywgCisgICAgICAwLCAgIDAsICA4MywgIDg2LCAgOTUsICA4MCwgCisgICAg
IDc5LCAgODMsICA3MywgIDg0LCAgNzMsICA3OSwgCisgICAgIDc4LCAgIDAsICA4MywgIDg2LCAg
OTUsICA4MiwgCisgICAgIDY5LCAgNzgsICA2OCwgIDY5LCAgODIsICA4NCwgCisgICAgIDY1LCAg
ODIsICA3MSwgIDY5LCAgODQsICA2NSwgCisgICAgIDgyLCAgODIsICA2NSwgIDg5LCAgNzMsICA3
OCwgCisgICAgIDY4LCAgNjksICA4OCwgICAwLCAgODQsICA2OSwgCisgICAgIDg4LCAgNjcsICA3
OSwgIDc5LCAgODIsICA2OCwgCisgICAgICAwLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCisg
ICAgIDQ0LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwgICAw
LCAgIDAsICAgMCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYs
ICA5NSwgIDg0LCAgNjUsICA4MiwgCisgICAgIDcxLCAgNjksICA4NCwgICAwLCAxNzEsIDE3MSwg
CisgICAgIDgzLCAgNzIsICA2OCwgIDgyLCAxNjAsICAgMCwgCisgICAgICAwLCAgIDAsICA2NCwg
ICAwLCAgIDAsICAgMCwgCisgICAgIDQwLCAgIDAsICAgMCwgICAwLCAgOTAsICAgMCwgCisgICAg
ICAwLCAgIDMsICAgMCwgIDk2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
ODgsICA0MCwgCisgICAgICAwLCAgIDQsICAgMCwgMTEyLCAgMTYsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgODUsICA4NSwgCisgICAgICAwLCAgIDAsICA5OCwgIDE2LCAgIDAsICAg
MywgCisgICAgMTE0LCAgMTYsICAxNiwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsIDEw
MSwgICAwLCAgIDAsICAgMywgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsIDEwNCwgICAwLCAgIDAsICAgMiwgCisgICAgICAxLCAgIDAsICAgMCwgICAw
LCAgNjksICAgMCwgCisgICAgICAwLCAgIDksIDI0MiwgICAwLCAgMTYsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgNzAsICAxOCwgCisgICAgIDE2LCAgIDAsICAgMiwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDcwLCAxMjYsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgIDk2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwg
CisgICAgICAwLCAgIDUsICAxOCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgMTAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
IDU0LCAgIDAsICAgMCwgICA4LCAyMjYsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAyLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgMTI4LCAgNjMsICA2MiwgICAwLCAgIDAsICAgMSwgCisgICAgIDgzLCAgODQsICA2
NSwgIDg0LCAxMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwCit9OwpJbmRleDogU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJz
L2NvbXBpbGVkL3Bhc3N0aHJvdWdocjNkaTExcHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGls
ZWQvcGFzc3Rocm91Z2hyM2RpMTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bh
c3N0aHJvdWdocjNkaTExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE3NSBAQAorI2lm
IDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxl
ciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5kaW5nczoKKy8v
CisvLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0ICAg
ICAgICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8gVGV4dHVy
ZUkgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmUgICBzaW50NCAgICAgICAgICAzZCAg
ICAwICAgICAgICAxCisvLworLy8KKy8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFt
ZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQg
ICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0t
LS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6
dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAorLy8gU1ZfUkVOREVSVEFSR0VUQVJS
QVlJTkRFWCAgICAgMCAgIHggICAgICAgICAgIDEgIFJUSU5ERVggICAgdWludCAgICAgICAKKy8v
IFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHl6ICAgICAgICAgMiAgICAgTk9ORSAgIGZs
b2F0ICAgeHl6IAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAg
ICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNl
ZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0t
IC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAgIHh5encgICAg
ICAgIDAgICBUQVJHRVQgICAgIGludCAgIHh5encKKy8vCitwc180XzAKK2RjbF9yZXNvdXJjZV90
ZXh0dXJlM2QgKHNpbnQsc2ludCxzaW50LHNpbnQpIHQwCitkY2xfaW5wdXRfcHMgbGluZWFyIHYy
Lnh5egorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191aW50IHIwLnh5
encsIGwoMCksIHQwLnh5encKK3V0b2YgcjAueHl6LCByMC54eXp4CittdWwgcjAueHl6LCByMC54
eXp4LCB2Mi54eXp4CitmdG9pIHIwLnh5eiwgcjAueHl6eAorbW92IHIwLncsIGwoMCkKK2xkIHIw
Lnh5encsIHIwLnh5encsIHQwLnh5encKK21vdiBvMC54LCByMC54Cittb3YgbzAueXp3LCBsKDAs
MCwwLDApCityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDkgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAor
I2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFIzRElbXSA9Cit7CisgICAgIDY4
LCAgODgsICA2NiwgIDY3LCAgMzIsIDIyOSwgCisgICAgMTY4LCAgNTcsIDE3OSwgIDEyLCAyMDUs
IDE1OCwgCisgICAgMTQ2LCAgMzksIDE2MSwgMTMzLCAgIDYsIDEzNywgCisgICAgMjUwLCAxMjEs
ICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMjQ0LCAgIDIsICAgMCwgICAwLCAgIDUsICAgMCwg
CisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgMTgwLCAgIDAsICAgMCwg
ICAwLCAgNjAsICAgMSwgCisgICAgICAwLCAgIDAsIDExMiwgICAxLCAgIDAsICAgMCwgCisgICAg
MTIwLCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAsIDEyMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
NCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAgIDY5LCAgIDAsICAg
MCwgICAwLCAgNjAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsIDI1NSwgMjU1
LCAyNTUsIDI1NSwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAw
LCAgIDAsICAxMywgICAwLCAgIDAsICAgMCwgCisgICAgIDg0LCAxMDEsIDEyMCwgMTE2LCAxMTcs
IDExNCwgCisgICAgMTAxLCAgNzMsICAgMCwgIDc3LCAxMDUsICA5OSwgCisgICAgMTE0LCAxMTEs
IDExNSwgMTExLCAxMDIsIDExNiwgCisgICAgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIsICA3Miwg
CisgICAgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIDEwNCwgCisgICAgIDk3LCAxMDAsIDEwMSwg
MTE0LCAgMzIsICA2NywgCisgICAgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIDEwMSwgCisgICAg
MTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsICA0OCwgCisgICAgIDQ2LCAgNTcsICA1MCwgIDQ4LCAg
NDgsICA0NiwgCisgICAgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsICAgMCwgCisgICAgIDczLCAg
ODMsICA3MSwgIDc4LCAxMjgsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAg
MCwgCisgICAgICA4LCAgIDAsICAgMCwgICAwLCAgODAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDE1LCAgIDAsICAgMCwgICAw
LCAgOTIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICA0
LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAxMTgsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICA3LCAgIDcsICAgMCwg
ICAwLCAgODMsICA4NiwgCisgICAgIDk1LCAgODAsICA3OSwgIDgzLCAgNzMsICA4NCwgCisgICAg
IDczLCAgNzksICA3OCwgICAwLCAgODMsICA4NiwgCisgICAgIDk1LCAgODIsICA2OSwgIDc4LCAg
NjgsICA2OSwgCisgICAgIDgyLCAgODQsICA2NSwgIDgyLCAgNzEsICA2OSwgCisgICAgIDg0LCAg
NjUsICA4MiwgIDgyLCAgNjUsICA4OSwgCisgICAgIDczLCAgNzgsICA2OCwgIDY5LCAgODgsICAg
MCwgCisgICAgIDg0LCAgNjksICA4OCwgIDY3LCAgNzksICA3OSwgCisgICAgIDgyLCAgNjgsICAg
MCwgMTcxLCAgNzksICA4MywgCisgICAgIDcxLCAgNzgsICA0NCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsICAzMiwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTUs
ICAgMCwgCisgICAgICAwLCAgIDAsICA4MywgIDg2LCAgOTUsICA4NCwgCisgICAgIDY1LCAgODIs
ICA3MSwgIDY5LCAgODQsICAgMCwgCisgICAgMTcxLCAxNzEsICA4MywgIDcyLCAgNjgsICA4Miwg
CisgICAgICAwLCAgIDEsICAgMCwgICAwLCAgNjQsICAgMCwgCisgICAgICAwLCAgIDAsICA2NCwg
ICAwLCAgIDAsICAgMCwgCisgICAgIDg4LCAgNDAsICAgMCwgICA0LCAgIDAsIDExMiwgCisgICAg
IDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDUxLCAgNTEsICAgMCwgICAwLCAg
OTgsICAxNiwgCisgICAgICAwLCAgIDMsIDExNCwgIDE2LCAgMTYsICAgMCwgCisgICAgICAyLCAg
IDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAxMDQsICAgMCwgCisgICAgICAwLCAgIDIsICAg
MSwgICAwLCAgIDAsICAgMCwgCisgICAgIDYxLCAgMTYsICAgMCwgICA3LCAyNDIsICAgMCwgCisg
ICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgNjQsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgMTI2LCAgMTYsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgODYsICAgMCwgCisgICAgICAwLCAgIDUsIDExNCwgICAwLCAgMTYs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAgMiwgCisgICAgIDE2LCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU2LCAgIDAsICAgMCwgICA3LCAxMTQsICAgMCwg
CisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAgIDIsICAxNiwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgIDE4LCAgMTYsICAgMCwgCisgICAg
ICAyLCAgIDAsICAgMCwgICAwLCAgMjcsICAgMCwgCisgICAgICAwLCAgIDUsIDExNCwgICAwLCAg
MTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAgMiwgCisgICAgIDE2LCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA1LCAxMzAsICAg
MCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgNjQsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA0NSwgICAwLCAgIDAsICAgNywgCisg
ICAgMjQyLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgIDE0
LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsIDEyNiwgCisgICAgIDE2
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA1LCAgMTgs
ICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDEwLCAgIDAs
ICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgOCwg
CisgICAgMjI2LCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwg
IDY0LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
NjIsICAgMCwgCisgICAgICAwLCAgIDEsICA4MywgIDg0LCAgNjUsICA4NCwgCisgICAgMTE2LCAg
IDAsICAgMCwgICAwLCAgIDksICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3Vn
aHIzZHVpMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHIzZHVp
MTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdM
RVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocjNkdWkxMXBz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNzYgQEAKKyNpZiAwCisvLworLy8gR2VuZXJh
dGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0
CisvLworLy8KKy8vLworLy8gUmVzb3VyY2UgQmluZGluZ3M6CisvLworLy8gTmFtZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1hdCAgICAgICAgIERpbSBTbG90IEVs
ZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0t
LS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8vIFRleHR1cmVVSSAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0dXJlICAgdWludDQgICAgICAgICAgM2QgICAgMCAgICAgICAgMQorLy8K
Ky8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAg
IEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0t
LS0tCisvLyBTVl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQ
T1MgICBmbG9hdCAgICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAgICB4
ICAgICAgICAgICAxICBSVElOREVYICAgIHVpbnQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAg
ICAgICAgICAgMCAgIHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8vCisv
LworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRl
eCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQor
Ly8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAg
IHVpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2VfdGV4dHVyZTNkICh1aW50LHVp
bnQsdWludCx1aW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2Mi54eXoKK2RjbF9vdXRwdXQg
bzAueHl6dworZGNsX3RlbXBzIDEKK3Jlc2luZm9fdWludCByMC54eXp3LCBsKDApLCB0MC54eXp3
Cit1dG9mIHIwLnh5eiwgcjAueHl6eAorbXVsIHIwLnh5eiwgcjAueHl6eCwgdjIueHl6eAorZnRv
aSByMC54eXosIHIwLnh5engKK21vdiByMC53LCBsKDApCitsZCByMC54eXp3LCByMC54eXp3LCB0
MC54eXp3Cittb3YgbzAueCwgcjAueAorbW92IG8wLnl6dywgbCgwLDAsMCwwKQorcmV0IAorLy8g
QXBwcm94aW1hdGVseSA5IGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBC
WVRFIGdfUFNfUGFzc3Rocm91Z2hSM0RVSVtdID0KK3sKKyAgICAgNjgsICA4OCwgIDY2LCAgNjcs
ICAgOCwgIDY5LCAKKyAgICAyMDMsICAzMSwgIDE5LCAgODMsIDI0NywgMTY0LCAKKyAgICAxNTAs
IDE3MCwgMjUwLCAyMzEsIDE5MywgMTk4LCAKKyAgICAxNTUsIDIzNCwgICAxLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAyNDgsICAgMiwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxODQsICAgMCwgICAwLCAgIDAsICA2NCwgICAxLCAK
KyAgICAgIDAsICAgMCwgMTE2LCAgIDEsICAgMCwgICAwLCAKKyAgICAxMjQsICAgMiwgICAwLCAg
IDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgMTI0LCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKKyAgICAyNTUsIDI1
NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAgNzAsICAgMCwgICAwLCAgIDAsICA2MCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAw
LCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgMjU1LCAyNTUsIDI1NSwgMjU1LCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDEzLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgODQsIDEwMSwgMTIwLCAxMTYsIDExNywgMTE0LCAKKyAgICAxMDEs
ICA4NSwgIDczLCAgIDAsICA3NywgMTA1LCAKKyAgICAgOTksIDExNCwgMTExLCAxMTUsIDExMSwg
MTAyLCAKKyAgICAxMTYsICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAKKyAgICAgNzIsICA3Niwg
IDgzLCAgNzYsICAzMiwgIDgzLCAKKyAgICAxMDQsICA5NywgMTAwLCAxMDEsIDExNCwgIDMyLCAK
KyAgICAgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAKKyAgICAxMDEsIDExNCwgIDMyLCAg
NTcsICA0NiwgIDUxLCAKKyAgICAgNDgsICA0NiwgIDU3LCAgNTAsICA0OCwgIDQ4LCAKKyAgICAg
NDYsICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAKKyAgICAgIDAsIDE3MSwgMTcxLCAxNzEsICA3
MywgIDgzLCAKKyAgICAgNzEsICA3OCwgMTI4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAg
MCwgICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDgwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAz
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDkyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgNCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEs
ICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgMTE4LCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAgMCwgICAwLCAgIDAsICAgNywgICA3LCAK
KyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDgwLCAKKyAgICAgNzksICA4MywgIDczLCAg
ODQsICA3MywgIDc5LCAKKyAgICAgNzgsICAgMCwgIDgzLCAgODYsICA5NSwgIDgyLCAKKyAgICAg
NjksICA3OCwgIDY4LCAgNjksICA4MiwgIDg0LCAKKyAgICAgNjUsICA4MiwgIDcxLCAgNjksICA4
NCwgIDY1LCAKKyAgICAgODIsICA4MiwgIDY1LCAgODksICA3MywgIDc4LCAKKyAgICAgNjgsICA2
OSwgIDg4LCAgIDAsICA4NCwgIDY5LCAKKyAgICAgODgsICA2NywgIDc5LCAgNzksICA4MiwgIDY4
LCAKKyAgICAgIDAsIDE3MSwgIDc5LCAgODMsICA3MSwgIDc4LCAKKyAgICAgNDQsICAgMCwgICAw
LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgMzIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgIDE1LCAgIDAsICAgMCwgICAwLCAKKyAgICAgODMsICA4NiwgIDk1LCAgODQsICA2NSwg
IDgyLCAKKyAgICAgNzEsICA2OSwgIDg0LCAgIDAsIDE3MSwgMTcxLCAKKyAgICAgODMsICA3Miwg
IDY4LCAgODIsICAgMCwgICAxLCAKKyAgICAgIDAsICAgMCwgIDY0LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgNjQsICAgMCwgICAwLCAgIDAsICA4OCwgIDQwLCAKKyAgICAgIDAsICAgNCwgICAwLCAx
MTIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA2OCwgIDY4LCAKKyAgICAg
IDAsICAgMCwgIDk4LCAgMTYsICAgMCwgICAzLCAKKyAgICAxMTQsICAxNiwgIDE2LCAgIDAsICAg
MiwgICAwLCAKKyAgICAgIDAsICAgMCwgMTAxLCAgIDAsICAgMCwgICAzLCAKKyAgICAyNDIsICAz
MiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTA0LCAgIDAsICAgMCwgICAy
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICA2MSwgIDE2LCAKKyAgICAgIDAsICAgNywgMjQy
LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgIDY0LCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsIDEyNiwgIDE2LCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDg2LCAgIDAsICAgMCwgICA1LCAKKyAgICAxMTQs
ICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAgIDIsICAxNiwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NiwgICAwLCAKKyAgICAgIDAsICAgNywg
MTE0LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgICAyLCAK
KyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsICAxOCwgIDE2LCAg
IDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgIDI3LCAgIDAsICAgMCwgICA1LCAKKyAgICAx
MTQsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAgIDIsICAx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAg
NSwgMTMwLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgIDY0
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNDUsICAgMCwgICAw
LCAgIDcsIDI0MiwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgNzAsICAxNCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAxMjYs
ICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAs
ICAgNSwgIDE4LCAgMzIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxMCwg
ICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwg
ICAwLCAgIDgsIDIyNiwgIDMyLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDIsICA2NCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgIDYyLCAgIDAsICAgMCwgICAxLCAKKyAgICAgODMsICA4NCwgIDY1LCAgODQsIDEx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA5LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQv
cGFzc3Rocm91Z2hyZzJkMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhy
b3VnaHJnMmQxMXBzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hy
ZzJkMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTU0IEBACisjaWYgMAorLy8KKy8v
IEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIw
MC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5hbWUg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAgICAgICBEaW0g
U2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0t
LS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBTYW1wbGVyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2FtcGxlciAgICAgIE5BICAgICAgICAgIE5BICAgIDAgICAgICAg
IDEKKy8vIFRleHR1cmVGICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlICBmbG9hdDQg
ICAgICAgICAgMmQgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJl
OgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNW
YWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0t
IC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9QT1NJVElPTiAgICAgICAg
ICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgICAgICAKKy8vIFRFWENP
T1JEICAgICAgICAgICAgICAgICAwICAgeHkgICAgICAgICAgMSAgICAgTk9ORSAgIGZsb2F0ICAg
eHkgIAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAg
ICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0t
LS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAg
ICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8vCitwc180XzAKK2RjbF9zYW1wbGVyIHMwLCBtb2Rl
X2RlZmF1bHQKK2RjbF9yZXNvdXJjZV90ZXh0dXJlMmQgKGZsb2F0LGZsb2F0LGZsb2F0LGZsb2F0
KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2MS54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xf
dGVtcHMgMQorc2FtcGxlIHIwLnh5encsIHYxLnh5eHgsIHQwLnh5encsIHMwCittb3YgbzAueHks
IHIwLnh5eHgKK21vdiBvMC56dywgbCgwLDAsMCwxLjAwMDAwMCkKK3JldCAKKy8vIEFwcHJveGlt
YXRlbHkgNCBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCisjZW5kaWYKKworY29uc3QgQllURSBnX1BT
X1Bhc3N0aHJvdWdoUkcyRFtdID0KK3sKKyAgICAgNjgsICA4OCwgIDY2LCAgNjcsIDEwNiwgMTI5
LCAKKyAgICAgODksICA3NCwgIDg3LCAgNjgsIDE3NiwgMTI1LCAKKyAgICAgNTgsICA0NCwgIDE3
LCAyMDgsIDIyMywgMTI2LCAKKyAgICAgNzEsIDEzMiwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAxNDAsICAgMiwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAyMjAsICAgMCwgICAwLCAgIDAsICA1MiwgICAxLCAKKyAgICAgIDAs
ICAgMCwgMTA0LCAgIDEsICAgMCwgICAwLCAKKyAgICAgMTYsICAgMiwgICAwLCAgIDAsICA4Miwg
IDY4LCAKKyAgICAgNjksICA3MCwgMTYwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgMjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKKyAgICAyNTUsIDI1NSwgICAwLCAg
IDEsICAgMCwgICAwLCAKKyAgICAxMDksICAgMCwgICAwLCAgIDAsICA5MiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAw
LCAKKyAgICAxMDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA1
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAsIDI1NSwgMjU1LCAKKyAg
ICAyNTUsIDI1NSwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAs
ICAxMywgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgOTcsIDEwOSwgMTEyLCAKKyAgICAxMDgs
IDEwMSwgMTE0LCAgIDAsICA4NCwgMTAxLCAKKyAgICAxMjAsIDExNiwgMTE3LCAxMTQsIDEwMSwg
IDcwLCAKKyAgICAgIDAsICA3NywgMTA1LCAgOTksIDExNCwgMTExLCAKKyAgICAxMTUsIDExMSwg
MTAyLCAxMTYsICAzMiwgIDQwLCAKKyAgICAgODIsICA0MSwgIDMyLCAgNzIsICA3NiwgIDgzLCAK
KyAgICAgNzYsICAzMiwgIDgzLCAxMDQsICA5NywgMTAwLCAKKyAgICAxMDEsIDExNCwgIDMyLCAg
NjcsIDExMSwgMTA5LCAKKyAgICAxMTIsIDEwNSwgMTA4LCAxMDEsIDExNCwgIDMyLCAKKyAgICAg
NTcsICA0NiwgIDUxLCAgNDgsICA0NiwgIDU3LCAKKyAgICAgNTAsICA0OCwgIDQ4LCAgNDYsICA0
OSwgIDU0LCAKKyAgICAgNTEsICA1NiwgIDUyLCAgIDAsICA3MywgIDgzLCAKKyAgICAgNzEsICA3
OCwgIDgwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAgMCwgICAwLCAgIDAsICAgOCwgICAw
LCAKKyAgICAgIDAsICAgMCwgIDU2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDY4LCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMywg
ICAzLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDgwLCAKKyAgICAgNzksICA4Mywg
IDczLCAgODQsICA3MywgIDc5LCAKKyAgICAgNzgsICAgMCwgIDg0LCAgNjksICA4OCwgIDY3LCAK
KyAgICAgNzksICA3OSwgIDgyLCAgNjgsICAgMCwgMTcxLCAKKyAgICAxNzEsIDE3MSwgIDc5LCAg
ODMsICA3MSwgIDc4LCAKKyAgICAgNDQsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAg
IDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgMzIsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE1LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgODMsICA4NiwgIDk1LCAgODQsICA2NSwgIDgyLCAKKyAgICAgNzEsICA2OSwgIDg0
LCAgIDAsIDE3MSwgMTcxLCAKKyAgICAgODMsICA3MiwgIDY4LCAgODIsIDE2MCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDY0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgNDAsICAgMCwgICAwLCAgIDAs
ICA5MCwgICAwLCAKKyAgICAgIDAsICAgMywgICAwLCAgOTYsICAxNiwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICA4OCwgIDI0LCAKKyAgICAgIDAsICAgNCwgICAwLCAxMTIsICAxNiwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4NSwgIDg1LCAKKyAgICAgIDAsICAgMCwg
IDk4LCAgMTYsICAgMCwgICAzLCAKKyAgICAgNTAsICAxNiwgIDE2LCAgIDAsICAgMSwgICAwLCAK
KyAgICAgIDAsICAgMCwgMTAxLCAgIDAsICAgMCwgICAzLCAKKyAgICAyNDIsICAzMiwgIDE2LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTA0LCAgIDAsICAgMCwgICAyLCAKKyAgICAg
IDEsICAgMCwgICAwLCAgIDAsICA2OSwgICAwLCAKKyAgICAgIDAsICAgOSwgMjQyLCAgIDAsICAx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgIDE2LCAKKyAgICAgMTYsICAg
MCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsIDEyNiwgIDE2LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgOTYsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNSwgIDUwLCAgMzIsICAxNiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDgsIDE5NCwgIDMyLCAKKyAgICAgMTYs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICA2NCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAxMjgsICA2MywgIDYyLCAgIDAsICAgMCwgICAxLCAK
KyAgICAgODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA0LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZzJkaTExcHMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZzJkaTExcHMuaAkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEv
c2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnMmRpMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTY4IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIp
IEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJl
c291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBUeXBlICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0t
IC0tLS0tLS0tCisvLyBUZXh0dXJlSSAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAg
IHNpbnQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNp
Z25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0
ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t
IC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04g
ICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisv
LyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBm
bG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAg
ICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVz
ZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAg
ICAgICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2Vf
dGV4dHVyZTJkIChzaW50LHNpbnQsc2ludCxzaW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2
MS54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191aW50IHIwLnh5
encsIGwoMCksIHQwLnh5encKK3V0b2YgcjAueHksIHIwLnh5eHgKK211bCByMC54eSwgcjAueHl4
eCwgdjEueHl4eAorZnRvaSByMC54eSwgcjAueHl4eAorbW92IHIwLnp3LCBsKDAsMCwwLDApCits
ZCByMC54eXp3LCByMC54eXp3LCB0MC54eXp3Cittb3YgbzAueHksIHIwLnh5eHgKK21vdiBvMC56
dywgbCgwLDAsMCwwKQorcmV0IAorLy8gQXBwcm94aW1hdGVseSA5IGluc3RydWN0aW9uIHNsb3Rz
IHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hSRzJESVtdID0KK3sK
KyAgICAgNjgsICA4OCwgIDY2LCAgNjcsICAgMCwgIDIyLCAKKyAgICAxNDQsIDE2MSwgMTQ2LCAg
OTMsIDIyNSwgIDgxLCAKKyAgICAyMjUsIDE5MSwgIDUzLCAgNTEsIDIzOSwgIDk2LCAKKyAgICAx
NzMsICAyMSwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAyMDgsICAgMiwgICAwLCAgIDAsICAg
NSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxODAsICAg
MCwgICAwLCAgIDAsICAxMiwgICAxLCAKKyAgICAgIDAsICAgMCwgIDY0LCAgIDEsICAgMCwgICAw
LCAKKyAgICAgODQsICAgMiwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgMTIw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAs
ICAgMCwgICA0LCAKKyAgICAyNTUsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAgNjks
ICAgMCwgICAwLCAgIDAsICA2MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgNCwgICAwLCAKKyAgICAgIDAsICAgMCwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAK
KyAgICAgIDAsICAgMCwgIDEzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgODQsIDEwMSwgMTIwLCAx
MTYsIDExNywgMTE0LCAKKyAgICAxMDEsICA3MywgICAwLCAgNzcsIDEwNSwgIDk5LCAKKyAgICAx
MTQsIDExMSwgMTE1LCAxMTEsIDEwMiwgMTE2LCAKKyAgICAgMzIsICA0MCwgIDgyLCAgNDEsICAz
MiwgIDcyLCAKKyAgICAgNzYsICA4MywgIDc2LCAgMzIsICA4MywgMTA0LCAKKyAgICAgOTcsIDEw
MCwgMTAxLCAxMTQsICAzMiwgIDY3LCAKKyAgICAxMTEsIDEwOSwgMTEyLCAxMDUsIDEwOCwgMTAx
LCAKKyAgICAxMTQsICAzMiwgIDU3LCAgNDYsICA1MSwgIDQ4LCAKKyAgICAgNDYsICA1NywgIDUw
LCAgNDgsICA0OCwgIDQ2LCAKKyAgICAgNDksICA1NCwgIDUxLCAgNTYsICA1MiwgICAwLCAKKyAg
ICAgNzMsICA4MywgIDcxLCAgNzgsICA4MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDgsICAgMCwgICAwLCAgIDAsICA1NiwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMywg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTUsICAgMCwg
ICAwLCAgIDAsICA2OCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMywgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMywgICAwLCAgIDAsICA4MywgIDg2LCAKKyAgICAg
OTUsICA4MCwgIDc5LCAgODMsICA3MywgIDg0LCAKKyAgICAgNzMsICA3OSwgIDc4LCAgIDAsICA4
NCwgIDY5LCAKKyAgICAgODgsICA2NywgIDc5LCAgNzksICA4MiwgIDY4LCAKKyAgICAgIDAsIDE3
MSwgMTcxLCAxNzEsICA3OSwgIDgzLCAKKyAgICAgNzEsICA3OCwgIDQ0LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDMy
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAxNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDg0LCAKKyAgICAgNjUs
ICA4MiwgIDcxLCAgNjksICA4NCwgICAwLCAKKyAgICAxNzEsIDE3MSwgIDgzLCAgNzIsICA2OCwg
IDgyLCAKKyAgICAgMTIsICAgMSwgICAwLCAgIDAsICA2NCwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDY3LCAgIDAsICAgMCwgICAwLCAKKyAgICAgODgsICAyNCwgICAwLCAgIDQsICAgMCwgMTEyLCAK
KyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTEsICA1MSwgICAwLCAg
IDAsICA5OCwgIDE2LCAKKyAgICAgIDAsICAgMywgIDUwLCAgMTYsICAxNiwgICAwLCAKKyAgICAg
IDEsICAgMCwgICAwLCAgIDAsIDEwMSwgICAwLCAKKyAgICAgIDAsICAgMywgMjQyLCAgMzIsICAx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsIDEwNCwgICAwLCAKKyAgICAgIDAsICAg
MiwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNjEsICAxNiwgICAwLCAgIDcsIDI0MiwgICAw
LCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICA2NCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAxMjYsICAxNiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICA4NiwgICAwLCAKKyAgICAgIDAsICAgNSwgIDUwLCAgIDAs
ICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgICAwLCAKKyAgICAgMTYs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTYsICAgMCwgICAwLCAgIDcsICA1MCwg
ICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsICAgMCwg
IDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAgMTYsICAxNiwgICAwLCAK
KyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAyNywgICAwLCAKKyAgICAgIDAsICAgNSwgIDUwLCAg
IDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgICAwLCAKKyAgICAg
MTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDgsIDE5
NCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICA2
NCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDQ1
LCAgIDAsICAgMCwgICA3LCAKKyAgICAyNDIsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDcwLCAgMTQsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICA3MCwgMTI2LCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQs
ICAgMCwgICAwLCAgIDUsICA1MCwgIDMyLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgNzAsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDU0LCAgIDAsICAgMCwgICA4LCAKKyAgICAxOTQsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAyLCAgNjQsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICA2MiwgICAwLCAKKyAgICAgIDAsICAgMSwgIDgzLCAgODQsICA2
NSwgIDg0LCAKKyAgICAxMTYsICAgMCwgICAwLCAgIDAsICAgOSwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICA0LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwCit9OwpJbmRleDogU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJz
L2NvbXBpbGVkL3Bhc3N0aHJvdWdocmcyZHVpMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21w
aWxlZC9wYXNzdGhyb3VnaHJnMmR1aTExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxl
ZC9wYXNzdGhyb3VnaHJnMmR1aTExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2OSBA
QAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBD
b21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5kaW5n
czoKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9y
bWF0ICAgICAgICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8g
VGV4dHVyZVVJICAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmUgICB1aW50NCAgICAgICAg
ICAyZCAgICAwICAgICAgICAxCisvLworLy8KKy8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLwor
Ly8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBG
b3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0t
LS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAw
ICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAorLy8gVEVYQ09PUkQgICAg
ICAgICAgICAgICAgIDAgICB4eSAgICAgICAgICAxICAgICBOT05FICAgZmxvYXQgICB4eSAgCisv
LworLy8KKy8vIE91dHB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAg
SW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0t
LS0KKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgIFRBUkdF
VCAgICB1aW50ICAgeHl6dworLy8KK3BzXzRfMAorZGNsX3Jlc291cmNlX3RleHR1cmUyZCAodWlu
dCx1aW50LHVpbnQsdWludCkgdDAKK2RjbF9pbnB1dF9wcyBsaW5lYXIgdjEueHkKK2RjbF9vdXRw
dXQgbzAueHl6dworZGNsX3RlbXBzIDEKK3Jlc2luZm9fdWludCByMC54eXp3LCBsKDApLCB0MC54
eXp3Cit1dG9mIHIwLnh5LCByMC54eXh4CittdWwgcjAueHksIHIwLnh5eHgsIHYxLnh5eHgKK2Z0
b2kgcjAueHksIHIwLnh5eHgKK21vdiByMC56dywgbCgwLDAsMCwwKQorbGQgcjAueHl6dywgcjAu
eHl6dywgdDAueHl6dworbW92IG8wLnh5LCByMC54eXh4Cittb3YgbzAuencsIGwoMCwwLDAsMCkK
K3JldCAKKy8vIEFwcHJveGltYXRlbHkgOSBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCisjZW5kaWYK
KworY29uc3QgQllURSBnX1BTX1Bhc3N0aHJvdWdoUkcyRFVJW10gPQoreworICAgICA2OCwgIDg4
LCAgNjYsICA2NywgMTMwLCAxNjQsIAorICAgIDE0MCwgMjAyLCAyMjUsIDE2NCwgICA0LCAxMjMs
IAorICAgIDIxOCwgMTIyLCAgMTMsICA0NiwgIDIyLCAgIDMsIAorICAgIDE0NiwgMjAxLCAgIDEs
ICAgMCwgICAwLCAgIDAsIAorICAgIDIxMiwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwgICAwLCAgIDAsICAgMCwg
IDE2LCAgIDEsIAorICAgICAgMCwgICAwLCAgNjgsICAgMSwgICAwLCAgIDAsIAorICAgICA4OCwg
ICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxMjQsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAor
ICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA3MCwgICAwLCAgIDAsICAg
MCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAg
NCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1
LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAw
LCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAxLCAxMjAsIDExNiwgMTE3LCAxMTQs
IAorICAgIDEwMSwgIDg1LCAgNzMsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwgMTE0LCAxMTEs
IDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIsIAorICAg
ICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAxMDAsIDEwMSwg
MTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAorICAgIDEwMSwg
MTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1MCwgIDQ4LCAg
NDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAgMCwgMTcxLCAx
NzEsIDE3MSwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAzLCAgIDMsIAorICAgICAgMCwgICAwLCAgODMs
ICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAg
ICA3OCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5LCAgODIsICA2OCwg
ICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwg
ICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAg
IDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4
NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4
MywgIDcyLCAgNjgsICA4MiwgIDEyLCAgIDEsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAw
LCAgIDAsIAorICAgICA2NywgICAwLCAgIDAsICAgMCwgIDg4LCAgMjQsIAorICAgICAgMCwgICA0
LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDY4LCAgNjgs
IAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgICA1MCwgIDE2LCAgMTYs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDMsIAorICAg
IDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDQsICAgMCwg
ICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDYxLCAgMTYsIAorICAgICAgMCwg
ICA3LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAg
NjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2LCAg
MTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgODYsICAgMCwgICAwLCAgIDUsIAor
ICAgICA1MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAg
MCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU2LCAgIDAsIAorICAgICAg
MCwgICA3LCAgNTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcw
LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE2
LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjcsICAgMCwgICAwLCAgIDUs
IAorICAgICA1MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAs
ICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAg
ICAgMCwgICA4LCAxOTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAyLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICA0NSwgICAwLCAgIDAsICAgNywgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE0LCAgMTYsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAgNTAsICAzMiwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgOCwgMTk0LCAgMzIsIAorICAgICAxNiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAg
ICA4MywgIDg0LCAgNjUsICA4NCwgMTE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDksICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAor
fTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIv
ZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnM2QxMXBzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9z
aGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmczZDExcHMuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9jb21waWxlZC9wYXNzdGhyb3VnaHJnM2QxMXBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNjMgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBT
aGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8gUmVzb3VyY2Ug
QmluZGluZ3M6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5
cGUgIEZvcm1hdCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0t
LS0KKy8vIFNhbXBsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVyICAgICAgTkEg
ICAgICAgICAgTkEgICAgMCAgICAgICAgMQorLy8gVGV4dHVyZUYgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRleHR1cmUgIGZsb2F0NCAgICAgICAgICAzZCAgICAwICAgICAgICAxCisvLworLy8K
Ky8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5k
ZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0K
Ky8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAg
IGZsb2F0ICAgICAgIAorLy8gU1ZfUkVOREVSVEFSR0VUQVJSQVlJTkRFWCAgICAgMCAgIHggICAg
ICAgICAgIDEgIFJUSU5ERVggICAgdWludCAgICAgICAKKy8vIFRFWENPT1JEICAgICAgICAgICAg
ICAgICAwICAgeHl6ICAgICAgICAgMiAgICAgTk9ORSAgIGZsb2F0ICAgeHl6IAorLy8KKy8vCisv
LyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAg
TWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBT
Vl9UQVJHRVQgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICBUQVJHRVQgICBmbG9h
dCAgIHh5encKKy8vCitwc180XzAKK2RjbF9zYW1wbGVyIHMwLCBtb2RlX2RlZmF1bHQKK2RjbF9y
ZXNvdXJjZV90ZXh0dXJlM2QgKGZsb2F0LGZsb2F0LGZsb2F0LGZsb2F0KSB0MAorZGNsX2lucHV0
X3BzIGxpbmVhciB2Mi54eXoKK2RjbF9vdXRwdXQgbzAueHl6dworZGNsX3RlbXBzIDEKK3NhbXBs
ZSByMC54eXp3LCB2Mi54eXp4LCB0MC54eXp3LCBzMAorbW92IG8wLnh5LCByMC54eXh4Cittb3Yg
bzAuencsIGwoMCwwLDAsMS4wMDAwMDApCityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDQgaW5zdHJ1
Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFJH
M0RbXSA9Cit7CisgICAgIDY4LCAgODgsICA2NiwgIDY3LCAxNDIsIDI0MSwgCisgICAgIDU4LCAg
NDksIDIyMywgIDc4LCAgODcsICAxMCwgCisgICAgIDEyLCAgNzgsICA0NywgMTgyLCAgNjYsIDE0
OSwgCisgICAgMjQyLCAxMTEsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTg4LCAgIDIsICAg
MCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisg
ICAgMjIwLCAgIDAsICAgMCwgICAwLCAxMDAsICAgMSwgCisgICAgICAwLCAgIDAsIDE1MiwgICAx
LCAgIDAsICAgMCwgCisgICAgIDY0LCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5
LCAgNzAsIDE2MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwg
CisgICAgMTA5LCAgIDAsICAgMCwgICAwLCAgOTIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTAwLCAg
IDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgNSwgICAwLCAgIDAsICAg
MCwgCisgICAgICA4LCAgIDAsICAgMCwgICAwLCAyNTUsIDI1NSwgCisgICAgMjU1LCAyNTUsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgMTMsICAgMCwgCisg
ICAgICAwLCAgIDAsICA4MywgIDk3LCAxMDksIDExMiwgCisgICAgMTA4LCAxMDEsIDExNCwgICAw
LCAgODQsIDEwMSwgCisgICAgMTIwLCAxMTYsIDExNywgMTE0LCAxMDEsICA3MCwgCisgICAgICAw
LCAgNzcsIDEwNSwgIDk5LCAxMTQsIDExMSwgCisgICAgMTE1LCAxMTEsIDEwMiwgMTE2LCAgMzIs
ICA0MCwgCisgICAgIDgyLCAgNDEsICAzMiwgIDcyLCAgNzYsICA4MywgCisgICAgIDc2LCAgMzIs
ICA4MywgMTA0LCAgOTcsIDEwMCwgCisgICAgMTAxLCAxMTQsICAzMiwgIDY3LCAxMTEsIDEwOSwg
CisgICAgMTEyLCAxMDUsIDEwOCwgMTAxLCAxMTQsICAzMiwgCisgICAgIDU3LCAgNDYsICA1MSwg
IDQ4LCAgNDYsICA1NywgCisgICAgIDUwLCAgNDgsICA0OCwgIDQ2LCAgNDksICA1NCwgCisgICAg
IDUxLCAgNTYsICA1MiwgICAwLCAgNzMsICA4MywgCisgICAgIDcxLCAgNzgsIDEyOCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAg
IDAsICA4MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgMTUsICAgMCwgCisgICAgICAwLCAgIDAsICA5MiwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAw
LCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAw
LCAgIDAsIDExOCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAs
ICAgMCwgICAwLCAgIDcsICAgNywgCisgICAgICAwLCAgIDAsICA4MywgIDg2LCAgOTUsICA4MCwg
CisgICAgIDc5LCAgODMsICA3MywgIDg0LCAgNzMsICA3OSwgCisgICAgIDc4LCAgIDAsICA4Mywg
IDg2LCAgOTUsICA4MiwgCisgICAgIDY5LCAgNzgsICA2OCwgIDY5LCAgODIsICA4NCwgCisgICAg
IDY1LCAgODIsICA3MSwgIDY5LCAgODQsICA2NSwgCisgICAgIDgyLCAgODIsICA2NSwgIDg5LCAg
NzMsICA3OCwgCisgICAgIDY4LCAgNjksICA4OCwgICAwLCAgODQsICA2OSwgCisgICAgIDg4LCAg
NjcsICA3OSwgIDc5LCAgODIsICA2OCwgCisgICAgICAwLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3
OCwgCisgICAgIDQ0LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAg
OCwgICAwLCAgIDAsICAgMCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgIDgz
LCAgODYsICA5NSwgIDg0LCAgNjUsICA4MiwgCisgICAgIDcxLCAgNjksICA4NCwgICAwLCAxNzEs
IDE3MSwgCisgICAgIDgzLCAgNzIsICA2OCwgIDgyLCAxNjAsICAgMCwgCisgICAgICAwLCAgIDAs
ICA2NCwgICAwLCAgIDAsICAgMCwgCisgICAgIDQwLCAgIDAsICAgMCwgICAwLCAgOTAsICAgMCwg
CisgICAgICAwLCAgIDMsICAgMCwgIDk2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgODgsICA0MCwgCisgICAgICAwLCAgIDQsICAgMCwgMTEyLCAgMTYsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgODUsICA4NSwgCisgICAgICAwLCAgIDAsICA5OCwgIDE2LCAg
IDAsICAgMywgCisgICAgMTE0LCAgMTYsICAxNiwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAg
IDAsIDEwMSwgICAwLCAgIDAsICAgMywgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsIDEwNCwgICAwLCAgIDAsICAgMiwgCisgICAgICAxLCAgIDAsICAg
MCwgICAwLCAgNjksICAgMCwgCisgICAgICAwLCAgIDksIDI0MiwgICAwLCAgMTYsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAxOCwgCisgICAgIDE2LCAgIDAsICAgMiwgICAw
LCAgIDAsICAgMCwgCisgICAgIDcwLCAxMjYsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgIDk2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQs
ICAgMCwgCisgICAgICAwLCAgIDUsICA1MCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgNzAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgIDU0LCAgIDAsICAgMCwgICA4LCAxOTQsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgMTI4LCAgNjMsICA2MiwgICAwLCAgIDAsICAgMSwgCisgICAgIDgzLCAg
ODQsICA2NSwgIDg0LCAxMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwCit9OwpJbmRl
eDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9z
aGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmczZGkxMXBzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJz
L2NvbXBpbGVkL3Bhc3N0aHJvdWdocmczZGkxMXBzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29t
cGlsZWQvcGFzc3Rocm91Z2hyZzNkaTExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE3
NSBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRl
ciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5k
aW5nczoKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAg
Rm9ybWF0ICAgICAgICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQor
Ly8gVGV4dHVyZUkgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmUgICBzaW50NCAgICAg
ICAgICAzZCAgICAwICAgICAgICAxCisvLworLy8KKy8vCisvLyBJbnB1dCBzaWduYXR1cmU6Cisv
LworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVl
ICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0t
LS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BPU0lUSU9OICAgICAgICAgICAg
ICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAorLy8gU1ZfUkVOREVS
VEFSR0VUQVJSQVlJTkRFWCAgICAgMCAgIHggICAgICAgICAgIDEgIFJUSU5ERVggICAgdWludCAg
ICAgICAKKy8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHl6ICAgICAgICAgMiAgICAg
Tk9ORSAgIGZsb2F0ICAgeHl6IAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8v
IE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9y
bWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0t
IC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAg
IHh5encgICAgICAgIDAgICBUQVJHRVQgICAgIGludCAgIHh5encKKy8vCitwc180XzAKK2RjbF9y
ZXNvdXJjZV90ZXh0dXJlM2QgKHNpbnQsc2ludCxzaW50LHNpbnQpIHQwCitkY2xfaW5wdXRfcHMg
bGluZWFyIHYyLnh5egorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191
aW50IHIwLnh5encsIGwoMCksIHQwLnh5encKK3V0b2YgcjAueHl6LCByMC54eXp4CittdWwgcjAu
eHl6LCByMC54eXp4LCB2Mi54eXp4CitmdG9pIHIwLnh5eiwgcjAueHl6eAorbW92IHIwLncsIGwo
MCkKK2xkIHIwLnh5encsIHIwLnh5encsIHQwLnh5encKK21vdiBvMC54eSwgcjAueHl4eAorbW92
IG8wLnp3LCBsKDAsMCwwLDApCityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDkgaW5zdHJ1Y3Rpb24g
c2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFJHM0RJW10g
PQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMTc3LCAgMjAsIAorICAgIDE4NCwgMjE5LCAg
NjMsIDEyNSwgMjM4LCAyMjgsIAorICAgICA5MCwgIDQ0LCAxODAsIDExMSwgMjIxLCAgIDQsIAor
ICAgIDE5MywgMTM4LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDI0NCwgICAyLCAgIDAsICAg
MCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4
MCwgICAwLCAgIDAsICAgMCwgIDYwLCAgIDEsIAorICAgICAgMCwgICAwLCAxMTIsICAgMSwgICAw
LCAgIDAsIAorICAgIDEyMCwgICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcw
LCAxMjAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAg
ICA2OSwgICAwLCAgIDAsICAgMCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwg
ICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAxLCAx
MjAsIDExNiwgMTE3LCAxMTQsIAorICAgIDEwMSwgIDczLCAgIDAsICA3NywgMTA1LCAgOTksIAor
ICAgIDExNCwgMTExLCAxMTUsIDExMSwgMTAyLCAxMTYsIAorICAgICAzMiwgIDQwLCAgODIsICA0
MSwgIDMyLCAgNzIsIAorICAgICA3NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAxMDQsIAorICAgICA5
NywgMTAwLCAxMDEsIDExNCwgIDMyLCAgNjcsIAorICAgIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4
LCAxMDEsIAorICAgIDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAgNDgsIAorICAgICA0NiwgIDU3
LCAgNTAsICA0OCwgIDQ4LCAgNDYsIAorICAgICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAgIDAs
IAorICAgICA3MywgIDgzLCAgNzEsICA3OCwgMTI4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAgMCwgIDgwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwg
ICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxNSwg
ICAwLCAgIDAsICAgMCwgIDkyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgMTE4LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAg
NywgICA3LCAgIDAsICAgMCwgIDgzLCAgODYsIAorICAgICA5NSwgIDgwLCAgNzksICA4MywgIDcz
LCAgODQsIAorICAgICA3MywgIDc5LCAgNzgsICAgMCwgIDgzLCAgODYsIAorICAgICA5NSwgIDgy
LCAgNjksICA3OCwgIDY4LCAgNjksIAorICAgICA4MiwgIDg0LCAgNjUsICA4MiwgIDcxLCAgNjks
IAorICAgICA4NCwgIDY1LCAgODIsICA4MiwgIDY1LCAgODksIAorICAgICA3MywgIDc4LCAgNjgs
ICA2OSwgIDg4LCAgIDAsIAorICAgICA4NCwgIDY5LCAgODgsICA2NywgIDc5LCAgNzksIAorICAg
ICA4MiwgIDY4LCAgIDAsIDE3MSwgIDc5LCAgODMsIAorICAgICA3MSwgIDc4LCAgNDQsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODQsIAor
ICAgICA2NSwgIDgyLCAgNzEsICA2OSwgIDg0LCAgIDAsIAorICAgIDE3MSwgMTcxLCAgODMsICA3
MiwgIDY4LCAgODIsIAorICAgICAgMCwgICAxLCAgIDAsICAgMCwgIDY0LCAgIDAsIAorICAgICAg
MCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAgICA4OCwgIDQwLCAgIDAsICAgNCwgICAw
LCAxMTIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1MSwgIDUx
LCAgIDAsICAgMCwgIDk4LCAgMTYsIAorICAgICAgMCwgICAzLCAxMTQsICAxNiwgIDE2LCAgIDAs
IAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIs
ICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTA0LCAgIDAsIAorICAg
ICAgMCwgICAyLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA2MSwgIDE2LCAgIDAsICAgNywg
MjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwg
IDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg2LCAgIDAsIAorICAgICAgMCwgICA1LCAx
MTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDIsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NiwgICAwLCAgIDAsICAg
NywgMTE0LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3
MCwgICAyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxOCwgIDE2
LCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgIDI3LCAgIDAsIAorICAgICAgMCwgICA1
LCAxMTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDIs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAs
ICAgNSwgMTMwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNDUsICAgMCwg
ICAwLCAgIDcsIAorICAgIDI0MiwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNzAsICAxNCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAx
MjYsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAg
IDAsICAgNSwgIDUwLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA3MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQsICAg
MCwgICAwLCAgIDgsIAorICAgIDE5NCwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDIsICA2NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDYyLCAgIDAsIAorICAgICAgMCwgICAxLCAgODMsICA4NCwgIDY1LCAgODQs
IAorICAgIDExNiwgICAwLCAgIDAsICAgMCwgICA5LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGls
ZWQvcGFzc3Rocm91Z2hyZzNkdWkxMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bh
c3N0aHJvdWdocmczZHVpMTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0
aHJvdWdocmczZHVpMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTc2IEBACisjaWYg
MAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBpbGVy
IDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8K
Ky8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAg
ICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBUZXh0dXJl
VUkgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAgIHVpbnQ0ICAgICAgICAgIDNkICAg
IDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1l
ICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAg
IFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0t
LS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3
ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisvLyBTVl9SRU5ERVJUQVJHRVRBUlJB
WUlOREVYICAgICAwICAgeCAgICAgICAgICAgMSAgUlRJTkRFWCAgICB1aW50ICAgICAgIAorLy8g
VEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4eXogICAgICAgICAyICAgICBOT05FICAgZmxv
YXQgICB4eXogCisvLworLy8KKy8vIE91dHB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAg
ICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2Vk
CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0g
LS0tLS0tLSAtLS0tLS0KKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAg
ICAgMCAgIFRBUkdFVCAgICB1aW50ICAgeHl6dworLy8KK3BzXzRfMAorZGNsX3Jlc291cmNlX3Rl
eHR1cmUzZCAodWludCx1aW50LHVpbnQsdWludCkgdDAKK2RjbF9pbnB1dF9wcyBsaW5lYXIgdjIu
eHl6CitkY2xfb3V0cHV0IG8wLnh5encKK2RjbF90ZW1wcyAxCityZXNpbmZvX3VpbnQgcjAueHl6
dywgbCgwKSwgdDAueHl6dwordXRvZiByMC54eXosIHIwLnh5engKK211bCByMC54eXosIHIwLnh5
engsIHYyLnh5engKK2Z0b2kgcjAueHl6LCByMC54eXp4Cittb3YgcjAudywgbCgwKQorbGQgcjAu
eHl6dywgcjAueHl6dywgdDAueHl6dworbW92IG8wLnh5LCByMC54eXh4Cittb3YgbzAuencsIGwo
MCwwLDAsMCkKK3JldCAKKy8vIEFwcHJveGltYXRlbHkgOSBpbnN0cnVjdGlvbiBzbG90cyB1c2Vk
CisjZW5kaWYKKworY29uc3QgQllURSBnX1BTX1Bhc3N0aHJvdWdoUkczRFVJW10gPQoreworICAg
ICA2OCwgIDg4LCAgNjYsICA2NywgIDQ0LCAgNzUsIAorICAgIDEyMiwgMTQxLCAxNzYsICAxOSwg
MjMxLCAxOTIsIAorICAgIDE2NSwgMjUyLCAyMTAsICAzMCwgMTIxLCAgMTgsIAorICAgICA3Nywg
IDg5LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDI0OCwgICAyLCAgIDAsICAgMCwgICA1LCAg
IDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwgICAwLCAg
IDAsICAgMCwgIDY0LCAgIDEsIAorICAgICAgMCwgICAwLCAxMTYsICAgMSwgICAwLCAgIDAsIAor
ICAgIDEyNCwgICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxMjQsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA3MCwgICAw
LCAgIDAsICAgMCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAs
IAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUs
IDI1NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAxLCAxMjAsIDExNiwg
MTE3LCAxMTQsIAorICAgIDEwMSwgIDg1LCAgNzMsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwg
MTE0LCAxMTEsIDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAg
MzIsIAorICAgICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAx
MDAsIDEwMSwgMTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAor
ICAgIDEwMSwgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1
MCwgIDQ4LCAgNDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAg
MCwgMTcxLCAxNzEsIDE3MSwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAxMjgsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAw
LCAgODAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwg
ICAwLCAxMTgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAg
IDAsICAgMCwgICA3LCAgIDcsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAor
ICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODMsICA4
NiwgIDk1LCAgODIsIAorICAgICA2OSwgIDc4LCAgNjgsICA2OSwgIDgyLCAgODQsIAorICAgICA2
NSwgIDgyLCAgNzEsICA2OSwgIDg0LCAgNjUsIAorICAgICA4MiwgIDgyLCAgNjUsICA4OSwgIDcz
LCAgNzgsIAorICAgICA2OCwgIDY5LCAgODgsICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3
LCAgNzksICA3OSwgIDgyLCAgNjgsIAorICAgICAgMCwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgs
IAorICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgs
ICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4Mywg
IDg2LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAx
NzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgICAwLCAgIDEsIAorICAgICAgMCwgICAwLCAg
NjQsICAgMCwgICAwLCAgIDAsIAorICAgICA2NCwgICAwLCAgIDAsICAgMCwgIDg4LCAgNDAsIAor
ICAgICAgMCwgICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDY4LCAgNjgsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgIDEx
NCwgIDE2LCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAw
LCAgIDMsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAxMDQsICAgMCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDYxLCAgMTYs
IAorICAgICAgMCwgICA3LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICA3MCwgMTI2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgODYsICAgMCwg
ICAwLCAgIDUsIAorICAgIDExNCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNzAsICAgMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU2LCAg
IDAsIAorICAgICAgMCwgICA3LCAxMTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDcwLCAgIDIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA3MCwgIDE4LCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjcsICAg
MCwgICAwLCAgIDUsIAorICAgIDExNCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNzAsICAgMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0
LCAgIDAsIAorICAgICAgMCwgICA1LCAxMzAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICA0NSwgICAwLCAgIDAsICAgNywgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE0LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAgNTAsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgIDcwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgOCwgMTk0LCAgMzIsIAorICAgICAxNiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4
MywgIDg0LCAgNjUsICA4NCwgMTE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDksICAgMCwgICAw
LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsK
SW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNk
MTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYjExcHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRl
cnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2IxMXBzLmgJKHJldmlzaW9uIDE2ODEwMykKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYjExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMSwxNTIg
KzAsMCBAQAotI2lmIDAKLS8vCi0vLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNo
YWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKLS8vCi0vLwotLy8vCi0vLyBSZXNvdXJjZSBC
aW5kaW5nczoKLS8vCi0vLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlw
ZSAgRm9ybWF0ICAgICAgICAgRGltIFNsb3QgRWxlbWVudHMKLS8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0t
LQotLy8gU2FtcGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZXIgICAgICBOQSAg
ICAgICAgICBOQSAgICAwICAgICAgICAxCi0vLyBUZXh0dXJlICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGV4dHVyZSAgZmxvYXQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKLS8vCi0vLwot
Ly8KLS8vIElucHV0IHNpZ25hdHVyZToKLS8vCi0vLyBOYW1lICAgICAgICAgICAgICAgICBJbmRl
eCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKLS8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQot
Ly8gU1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAg
ZmxvYXQgICAgICAgCi0vLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAg
IDEgICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKLS8vCi0vLwotLy8gT3V0cHV0IHNpZ25hdHVyZToK
LS8vCi0vLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFs
dWUgIEZvcm1hdCAgIFVzZWQKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAt
LS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQotLy8gU1ZfVEFSR0VUICAgICAgICAgICAg
ICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgZmxvYXQgICB4eXp3Ci0vLwotcHNfNF8w
Ci1kY2xfc2FtcGxlciBzMCwgbW9kZV9kZWZhdWx0Ci1kY2xfcmVzb3VyY2VfdGV4dHVyZTJkIChm
bG9hdCxmbG9hdCxmbG9hdCxmbG9hdCkgdDAKLWRjbF9pbnB1dF9wcyBsaW5lYXIgdjEueHkKLWRj
bF9vdXRwdXQgbzAueHl6dwotZGNsX3RlbXBzIDEKLXNhbXBsZSByMC54eXp3LCB2MS54eXh4LCB0
MC54eXp3LCBzMAotbW92IG8wLnh5eiwgcjAueHl6eAotbW92IG8wLncsIGwoMS4wMDAwMDApCi1y
ZXQgCi0vLyBBcHByb3hpbWF0ZWx5IDQgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAotI2VuZGlmCi0K
LWNvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFJHQltdID0KLXsKLSAgICAgNjgsICA4OCwgIDY2
LCAgNjcsIDEyNSwgMTg2LCAKLSAgICAyNTAsIDI0MiwgMTEzLCAyNTUsICA1OSwgMjM5LCAKLSAg
ICAxMTksIDE1OCwgMjM3LCAgNzgsIDIyMCwgIDQzLCAKLSAgICAxNjAsICA0NiwgICAxLCAgIDAs
ICAgMCwgICAwLCAKLSAgICAxMjgsICAgMiwgICAwLCAgIDAsICAgNSwgICAwLCAKLSAgICAgIDAs
ICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKLSAgICAyMjAsICAgMCwgICAwLCAgIDAsICA1Miwg
ICAxLCAKLSAgICAgIDAsICAgMCwgMTA0LCAgIDEsICAgMCwgICAwLCAKLSAgICAgIDQsICAgMiwg
ICAwLCAgIDAsICA4MiwgIDY4LCAKLSAgICAgNjksICA3MCwgMTYwLCAgIDAsICAgMCwgICAwLCAK
LSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAyLCAg
IDAsICAgMCwgICAwLCAKLSAgICAgMjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKLSAgICAy
NTUsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKLSAgICAxMDgsICAgMCwgICAwLCAgIDAsICA5
MiwgICAwLCAKLSAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKLSAgICAgIDAsICAgMCwgICAx
LCAgIDAsICAgMCwgICAwLCAKLSAgICAxMDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKLSAg
ICAgIDAsICAgMCwgICA1LCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDQsICAgMCwgICAwLCAgIDAs
IDI1NSwgMjU1LCAKLSAgICAyNTUsIDI1NSwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDEs
ICAgMCwgICAwLCAgIDAsICAxMywgICAwLCAKLSAgICAgIDAsICAgMCwgIDgzLCAgOTcsIDEwOSwg
MTEyLCAKLSAgICAxMDgsIDEwMSwgMTE0LCAgIDAsICA4NCwgMTAxLCAKLSAgICAxMjAsIDExNiwg
MTE3LCAxMTQsIDEwMSwgICAwLCAKLSAgICAgNzcsIDEwNSwgIDk5LCAxMTQsIDExMSwgMTE1LCAK
LSAgICAxMTEsIDEwMiwgMTE2LCAgMzIsICA0MCwgIDgyLCAKLSAgICAgNDEsICAzMiwgIDcyLCAg
NzYsICA4MywgIDc2LCAKLSAgICAgMzIsICA4MywgMTA0LCAgOTcsIDEwMCwgMTAxLCAKLSAgICAx
MTQsICAzMiwgIDY3LCAxMTEsIDEwOSwgMTEyLCAKLSAgICAxMDUsIDEwOCwgMTAxLCAxMTQsICAz
MiwgIDU3LCAKLSAgICAgNDYsICA1MSwgIDQ4LCAgNDYsICA1NywgIDUwLCAKLSAgICAgNDgsICA0
OCwgIDQ2LCAgNDksICA1NCwgIDUxLCAKLSAgICAgNTYsICA1MiwgICAwLCAxNzEsICA3MywgIDgz
LCAKLSAgICAgNzEsICA3OCwgIDgwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDIsICAgMCwgICAw
LCAgIDAsICAgOCwgICAwLCAKLSAgICAgIDAsICAgMCwgIDU2LCAgIDAsICAgMCwgICAwLCAKLSAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKLSAgICAgIDAsICAgMCwgICAzLCAgIDAs
ICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxNSwgICAwLCAKLSAgICAgIDAs
ICAgMCwgIDY4LCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKLSAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDEsICAgMCwg
ICAwLCAgIDAsICAgMywgICAzLCAKLSAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDgwLCAK
LSAgICAgNzksICA4MywgIDczLCAgODQsICA3MywgIDc5LCAKLSAgICAgNzgsICAgMCwgIDg0LCAg
NjksICA4OCwgIDY3LCAKLSAgICAgNzksICA3OSwgIDgyLCAgNjgsICAgMCwgMTcxLCAKLSAgICAx
NzEsIDE3MSwgIDc5LCAgODMsICA3MSwgIDc4LCAKLSAgICAgNDQsICAgMCwgICAwLCAgIDAsICAg
MSwgICAwLCAKLSAgICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKLSAgICAgMzIsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKLSAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgIDE1
LCAgIDAsICAgMCwgICAwLCAKLSAgICAgODMsICA4NiwgIDk1LCAgODQsICA2NSwgIDgyLCAKLSAg
ICAgNzEsICA2OSwgIDg0LCAgIDAsIDE3MSwgMTcxLCAKLSAgICAgODMsICA3MiwgIDY4LCAgODIs
IDE0OCwgICAwLCAKLSAgICAgIDAsICAgMCwgIDY0LCAgIDAsICAgMCwgICAwLCAKLSAgICAgMzcs
ICAgMCwgICAwLCAgIDAsICA5MCwgICAwLCAKLSAgICAgIDAsICAgMywgICAwLCAgOTYsICAxNiwg
ICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4OCwgIDI0LCAKLSAgICAgIDAsICAgNCwg
ICAwLCAxMTIsICAxNiwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4NSwgIDg1LCAK
LSAgICAgIDAsICAgMCwgIDk4LCAgMTYsICAgMCwgICAzLCAKLSAgICAgNTAsICAxNiwgIDE2LCAg
IDAsICAgMSwgICAwLCAKLSAgICAgIDAsICAgMCwgMTAxLCAgIDAsICAgMCwgICAzLCAKLSAgICAy
NDIsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgMTA0LCAgIDAsICAg
MCwgICAyLCAKLSAgICAgIDEsICAgMCwgICAwLCAgIDAsICA2OSwgICAwLCAKLSAgICAgIDAsICAg
OSwgMjQyLCAgIDAsICAxNiwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgIDE2
LCAKLSAgICAgMTYsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKLSAgICAgNzAsIDEyNiwgIDE2
LCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgOTYsICAxNiwgICAwLCAKLSAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKLSAgICAgIDAsICAgNSwgMTE0LCAgMzIs
ICAxNiwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgICAyLCAKLSAgICAgMTYs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgNTQsICAgMCwgICAwLCAgIDUsIDEzMCwg
IDMyLCAKLSAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDEsICA2NCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAxMjgsICA2MywgIDYyLCAgIDAsICAgMCwgICAxLCAK
LSAgICAgODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKLSAgICAgIDAsICAgMCwgICA0LCAg
IDAsICAgMCwgICAwLCAKLSAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAg
IDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDEsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKLSAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDMs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
LSAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKLSAgICAgIDAsICAgMCwgICAwLCAg
IDAKLX07CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2IyZDExcHMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2IyZDExcHMuaAkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEv
c2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYjJkMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTUyIEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIp
IEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJl
c291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBUeXBlICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0t
IC0tLS0tLS0tCisvLyBTYW1wbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlciAg
ICAgIE5BICAgICAgICAgIE5BICAgIDAgICAgICAgIDEKKy8vIFRleHR1cmVGICAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXh0dXJlICBmbG9hdDQgICAgICAgICAgMmQgICAgMCAgICAgICAgMQor
Ly8KKy8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAg
ICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0g
LS0tLS0tCisvLyBTVl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAg
ICBQT1MgICBmbG9hdCAgICAgICAKKy8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHkg
ICAgICAgICAgMSAgICAgTk9ORSAgIGZsb2F0ICAgeHkgIAorLy8KKy8vCisvLyBPdXRwdXQgc2ln
bmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3Rl
ciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0g
LS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAg
ICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8v
Citwc180XzAKK2RjbF9zYW1wbGVyIHMwLCBtb2RlX2RlZmF1bHQKK2RjbF9yZXNvdXJjZV90ZXh0
dXJlMmQgKGZsb2F0LGZsb2F0LGZsb2F0LGZsb2F0KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2
MS54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorc2FtcGxlIHIwLnh5encsIHYx
Lnh5eHgsIHQwLnh5encsIHMwCittb3YgbzAueHl6LCByMC54eXp4Cittb3YgbzAudywgbCgxLjAw
MDAwMCkKK3JldCAKKy8vIEFwcHJveGltYXRlbHkgNCBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCisj
ZW5kaWYKKworY29uc3QgQllURSBnX1BTX1Bhc3N0aHJvdWdoUkdCMkRbXSA9Cit7CisgICAgIDY4
LCAgODgsICA2NiwgIDY3LCAxNzMsIDE3NywgCisgICAgIDQzLCAgMjYsIDEwMywgMjQ1LCAgNjAs
IDIwOSwgCisgICAgIDU2LCAgNjcsICA2NiwgMjMxLCAgODEsIDE2NSwgCisgICAgIDY0LCAgNjks
ICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTI4LCAgIDIsICAgMCwgICAwLCAgIDUsICAgMCwg
CisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgMjIwLCAgIDAsICAgMCwg
ICAwLCAgNTIsICAgMSwgCisgICAgICAwLCAgIDAsIDEwNCwgICAxLCAgIDAsICAgMCwgCisgICAg
ICA0LCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAsIDE2MCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
NCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAgMTA5LCAgIDAsICAg
MCwgICAwLCAgOTIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTAwLCAgIDAsICAgMCwgICAwLCAgIDIs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgNSwgICAwLCAgIDAsICAgMCwgCisgICAgICA0LCAgIDAs
ICAgMCwgICAwLCAyNTUsIDI1NSwgCisgICAgMjU1LCAyNTUsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgMTMsICAgMCwgCisgICAgICAwLCAgIDAsICA4Mywg
IDk3LCAxMDksIDExMiwgCisgICAgMTA4LCAxMDEsIDExNCwgICAwLCAgODQsIDEwMSwgCisgICAg
MTIwLCAxMTYsIDExNywgMTE0LCAxMDEsICA3MCwgCisgICAgICAwLCAgNzcsIDEwNSwgIDk5LCAx
MTQsIDExMSwgCisgICAgMTE1LCAxMTEsIDEwMiwgMTE2LCAgMzIsICA0MCwgCisgICAgIDgyLCAg
NDEsICAzMiwgIDcyLCAgNzYsICA4MywgCisgICAgIDc2LCAgMzIsICA4MywgMTA0LCAgOTcsIDEw
MCwgCisgICAgMTAxLCAxMTQsICAzMiwgIDY3LCAxMTEsIDEwOSwgCisgICAgMTEyLCAxMDUsIDEw
OCwgMTAxLCAxMTQsICAzMiwgCisgICAgIDU3LCAgNDYsICA1MSwgIDQ4LCAgNDYsICA1NywgCisg
ICAgIDUwLCAgNDgsICA0OCwgIDQ2LCAgNDksICA1NCwgCisgICAgIDUxLCAgNTYsICA1MiwgICAw
LCAgNzMsICA4MywgCisgICAgIDcxLCAgNzgsICA4MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAy
LCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsICA1NiwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTUsICAgMCwg
CisgICAgICAwLCAgIDAsICA2OCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAg
ICAxLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMywgCisgICAgICAwLCAgIDAsICA4MywgIDg2LCAg
OTUsICA4MCwgCisgICAgIDc5LCAgODMsICA3MywgIDg0LCAgNzMsICA3OSwgCisgICAgIDc4LCAg
IDAsICA4NCwgIDY5LCAgODgsICA2NywgCisgICAgIDc5LCAgNzksICA4MiwgIDY4LCAgIDAsIDE3
MSwgCisgICAgMTcxLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCisgICAgIDQ0LCAgIDAsICAg
MCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwgCisg
ICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYsICA5NSwgIDg0LCAgNjUs
ICA4MiwgCisgICAgIDcxLCAgNjksICA4NCwgICAwLCAxNzEsIDE3MSwgCisgICAgIDgzLCAgNzIs
ICA2OCwgIDgyLCAxNDgsICAgMCwgCisgICAgICAwLCAgIDAsICA2NCwgICAwLCAgIDAsICAgMCwg
CisgICAgIDM3LCAgIDAsICAgMCwgICAwLCAgOTAsICAgMCwgCisgICAgICAwLCAgIDMsICAgMCwg
IDk2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgODgsICAyNCwgCisgICAg
ICAwLCAgIDQsICAgMCwgMTEyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
ODUsICA4NSwgCisgICAgICAwLCAgIDAsICA5OCwgIDE2LCAgIDAsICAgMywgCisgICAgIDUwLCAg
MTYsICAxNiwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsIDEwMSwgICAwLCAgIDAsICAg
MywgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsIDEw
NCwgICAwLCAgIDAsICAgMiwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgNjksICAgMCwgCisg
ICAgICAwLCAgIDksIDI0MiwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgNzAsICAxNiwgCisgICAgIDE2LCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDcw
LCAxMjYsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgIDk2LCAgMTYs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDUs
IDExNCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAgMiwg
CisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwg
ICA1LCAxMzAsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAxLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgMTI4LCAgNjMsICA2MiwgICAwLCAg
IDAsICAgMSwgCisgICAgIDgzLCAgODQsICA2NSwgIDg0LCAxMTYsICAgMCwgCisgICAgICAwLCAg
IDAsICAgNCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwCit9OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdM
RVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiMmRpMTFw
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
cmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYjJkaTExcHMuaAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVu
ZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYjJkaTExcHMuaAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDE2NiBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkg
TWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisv
LworLy8vCisvLyBSZXNvdXJjZSBCaW5kaW5nczoKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0ICAgICAgICAgRGltIFNsb3QgRWxlbWVudHMK
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0t
LS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8gVGV4dHVyZUkgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRleHR1cmUgICBzaW50NCAgICAgICAgICAyZCAgICAwICAgICAgICAxCisvLworLy8KKy8v
CisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXgg
ICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8v
IFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZs
b2F0ICAgICAgIAorLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4eSAgICAgICAgICAx
ICAgICBOT05FICAgZmxvYXQgICB4eSAgCisvLworLy8KKy8vIE91dHB1dCBzaWduYXR1cmU6Cisv
LworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVl
ICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0t
LS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAg
ICAwICAgeHl6dyAgICAgICAgMCAgIFRBUkdFVCAgICAgaW50ICAgeHl6dworLy8KK3BzXzRfMAor
ZGNsX3Jlc291cmNlX3RleHR1cmUyZCAoc2ludCxzaW50LHNpbnQsc2ludCkgdDAKK2RjbF9pbnB1
dF9wcyBsaW5lYXIgdjEueHkKK2RjbF9vdXRwdXQgbzAueHl6dworZGNsX3RlbXBzIDEKK3Jlc2lu
Zm9fdWludCByMC54eXp3LCBsKDApLCB0MC54eXp3Cit1dG9mIHIwLnh5LCByMC54eXh4CittdWwg
cjAueHksIHIwLnh5eHgsIHYxLnh5eHgKK2Z0b2kgcjAueHksIHIwLnh5eHgKK21vdiByMC56dywg
bCgwLDAsMCwwKQorbGQgcjAueHl6dywgcjAueHl6dywgdDAueHl6dworbW92IG8wLnh5eiwgcjAu
eHl6eAorbW92IG8wLncsIGwoMCkKK3JldCAKKy8vIEFwcHJveGltYXRlbHkgOSBpbnN0cnVjdGlv
biBzbG90cyB1c2VkCisjZW5kaWYKKworY29uc3QgQllURSBnX1BTX1Bhc3N0aHJvdWdoUkdCMkRJ
W10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMjQ5LCAgMjYsIAorICAgIDIxMiwgMTcw
LCAgIDMsICAxNywgMjQwLCAxODgsIAorICAgIDIyMCwgMTY0LCAyNDQsIDE2NywgMjAyLCAxMDMs
IAorICAgICAgMiwgMTkwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDE5NiwgICAyLCAgIDAs
ICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAg
IDE4MCwgICAwLCAgIDAsICAgMCwgIDEyLCAgIDEsIAorICAgICAgMCwgICAwLCAgNjQsICAgMSwg
ICAwLCAgIDAsIAorICAgICA3MiwgICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwg
IDcwLCAxMjAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAor
ICAgICA2OSwgICAwLCAgIDAsICAgMCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAg
MCwgICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAx
LCAxMjAsIDExNiwgMTE3LCAxMTQsIAorICAgIDEwMSwgIDczLCAgIDAsICA3NywgMTA1LCAgOTks
IAorICAgIDExNCwgMTExLCAxMTUsIDExMSwgMTAyLCAxMTYsIAorICAgICAzMiwgIDQwLCAgODIs
ICA0MSwgIDMyLCAgNzIsIAorICAgICA3NiwgIDgzLCAgNzYsICAzMiwgIDgzLCAxMDQsIAorICAg
ICA5NywgMTAwLCAxMDEsIDExNCwgIDMyLCAgNjcsIAorICAgIDExMSwgMTA5LCAxMTIsIDEwNSwg
MTA4LCAxMDEsIAorICAgIDExNCwgIDMyLCAgNTcsICA0NiwgIDUxLCAgNDgsIAorICAgICA0Niwg
IDU3LCAgNTAsICA0OCwgIDQ4LCAgNDYsIAorICAgICA0OSwgIDU0LCAgNTEsICA1NiwgIDUyLCAg
IDAsIAorICAgICA3MywgIDgzLCAgNzEsICA3OCwgIDgwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAgMCwgIDU2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAg
MCwgICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAx
NSwgICAwLCAgIDAsICAgMCwgIDY4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAzLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAzLCAgIDAsICAgMCwgIDgzLCAgODYs
IAorICAgICA5NSwgIDgwLCAgNzksICA4MywgIDczLCAgODQsIAorICAgICA3MywgIDc5LCAgNzgs
ICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgsIAorICAg
ICAgMCwgMTcxLCAxNzEsIDE3MSwgIDc5LCAgODMsIAorICAgICA3MSwgIDc4LCAgNDQsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODQsIAor
ICAgICA2NSwgIDgyLCAgNzEsICA2OSwgIDg0LCAgIDAsIAorICAgIDE3MSwgMTcxLCAgODMsICA3
MiwgIDY4LCAgODIsIAorICAgICAgMCwgICAxLCAgIDAsICAgMCwgIDY0LCAgIDAsIAorICAgICAg
MCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAgICA4OCwgIDI0LCAgIDAsICAgNCwgICAw
LCAxMTIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1MSwgIDUx
LCAgIDAsICAgMCwgIDk4LCAgMTYsIAorICAgICAgMCwgICAzLCAgNTAsICAxNiwgIDE2LCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIs
ICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTA0LCAgIDAsIAorICAg
ICAgMCwgICAyLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA2MSwgIDE2LCAgIDAsICAgNywg
MjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwg
IDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg2LCAgIDAsIAorICAgICAgMCwgICA1LCAg
NTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDAsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NiwgICAwLCAgIDAsICAg
NywgIDUwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3
MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxNiwgIDE2
LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDI3LCAgIDAsIAorICAgICAgMCwgICA1
LCAgNTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDAs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAs
ICAgOCwgMTk0LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMiwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNDUsICAgMCwgICAwLCAgIDcsIAorICAgIDI0MiwgICAwLCAgMTYsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxNCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDcwLCAxMjYsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA1NCwgICAwLCAgIDAsICAgNSwgMTE0LCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICA3MCwgICAyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDUsIAorICAgIDEzMCwgIDMyLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICA2NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDYyLCAgIDAsIAorICAgICAgMCwgICAxLCAgODMsICA4NCwgIDY1LCAgODQs
IAorICAgIDExNiwgICAwLCAgIDAsICAgMCwgICA5LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGls
ZWQvcGFzc3Rocm91Z2hyZ2IyZHVpMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9w
YXNzdGhyb3VnaHJnYjJkdWkxMXBzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFz
c3Rocm91Z2hyZ2IyZHVpMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTY3IEBACisj
aWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBp
bGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgor
Ly8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQg
ICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBUZXh0
dXJlVUkgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAgIHVpbnQ0ICAgICAgICAgIDJk
ICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBO
YW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1h
dCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAt
LS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAgICB4
eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAg
ICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKKy8vCisv
LworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRl
eCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQor
Ly8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAg
IHVpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2VfdGV4dHVyZTJkICh1aW50LHVp
bnQsdWludCx1aW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2MS54eQorZGNsX291dHB1dCBv
MC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191aW50IHIwLnh5encsIGwoMCksIHQwLnh5encK
K3V0b2YgcjAueHksIHIwLnh5eHgKK211bCByMC54eSwgcjAueHl4eCwgdjEueHl4eAorZnRvaSBy
MC54eSwgcjAueHl4eAorbW92IHIwLnp3LCBsKDAsMCwwLDApCitsZCByMC54eXp3LCByMC54eXp3
LCB0MC54eXp3Cittb3YgbzAueHl6LCByMC54eXp4Cittb3YgbzAudywgbCgwKQorcmV0IAorLy8g
QXBwcm94aW1hdGVseSA5IGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBC
WVRFIGdfUFNfUGFzc3Rocm91Z2hSR0IyRFVJW10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2
NywgMTU4LCAxMzMsIAorICAgIDE1MywgMjQ1LCAgMTQsIDIxMiwgIDI5LCAgMjMsIAorICAgICA4
OSwgIDQxLCAyNDIsIDE3MywgIDU4LCAxODYsIAorICAgICAzNiwgIDIwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgIDIwMCwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAw
LCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwgICAwLCAgIDAsICAgMCwgIDE2LCAgIDEs
IAorICAgICAgMCwgICAwLCAgNjgsICAgMSwgICAwLCAgIDAsIAorICAgICA3NiwgICAyLCAgIDAs
ICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxMjQsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwg
MjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA3MCwgICAwLCAgIDAsICAgMCwgIDYwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAg
IDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTMsICAg
MCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAxLCAxMjAsIDExNiwgMTE3LCAxMTQsIAorICAgIDEw
MSwgIDg1LCAgNzMsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwgMTE0LCAxMTEsIDExNSwgMTEx
LCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIsIAorICAgICA3MiwgIDc2
LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAxMDAsIDEwMSwgMTE0LCAgMzIs
IAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAorICAgIDEwMSwgMTE0LCAgMzIs
ICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1MCwgIDQ4LCAgNDgsIAorICAg
ICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAgMCwgMTcxLCAxNzEsIDE3MSwg
IDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwg
ICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTYsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgICAzLCAgIDMsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1
LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAgICA3OCwgICAw
LCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5LCAgODIsICA2OCwgICAwLCAxNzEs
IAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAg
ICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAg
ODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAg
NjgsICA4MiwgICAwLCAgIDEsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAor
ICAgICA2NCwgICAwLCAgIDAsICAgMCwgIDg4LCAgMjQsIAorICAgICAgMCwgICA0LCAgIDAsIDEx
MiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDY4LCAgNjgsIAorICAgICAg
MCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgICA1MCwgIDE2LCAgMTYsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDMsIAorICAgIDI0MiwgIDMy
LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDQsICAgMCwgICAwLCAgIDIs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDYxLCAgMTYsIAorICAgICAgMCwgICA3LCAyNDIs
ICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgNjQsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2LCAgMTYsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgODYsICAgMCwgICAwLCAgIDUsIAorICAgICA1MCwg
ICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAgMCwgIDE2LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU2LCAgIDAsIAorICAgICAgMCwgICA3LCAg
NTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDAsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE2LCAgMTYsICAg
MCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjcsICAgMCwgICAwLCAgIDUsIAorICAgICA1
MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAgMCwgIDE2
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA4
LCAxOTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgNjQs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICA0NSwgICAwLCAgIDAsICAgNywgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICA3MCwgIDE0LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAg
IDAsIAorICAgICAgMCwgICA1LCAxMTQsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDcwLCAgIDIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA1NCwgICAwLCAgIDAsICAgNSwgMTMwLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0LCAgNjUsICA4NCwgMTE2
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDksICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9w
YXNzdGhyb3VnaHJnYjNkMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhy
b3VnaHJnYjNkMTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdo
cmdiM2QxMXBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNjEgQEAKKyNpZiAwCisvLwor
Ly8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45
MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8gUmVzb3VyY2UgQmluZGluZ3M6CisvLworLy8gTmFt
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1hdCAgICAgICAgIERp
bSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0t
LS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8vIFNhbXBsZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzYW1wbGVyICAgICAgTkEgICAgICAgICAgTkEgICAgMCAgICAg
ICAgMQorLy8gVGV4dHVyZUYgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmUgIGZsb2F0
NCAgICAgICAgICAzZCAgICAwICAgICAgICAxCisvLworLy8KKy8vCisvLyBJbnB1dCBzaWduYXR1
cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5
c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0t
LS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BPU0lUSU9OICAgICAg
ICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAorLy8gU1Zf
UkVOREVSVEFSR0VUQVJSQVlJTkRFWCAgICAgMCAgIHggICAgICAgICAgIDEgIFJUSU5ERVggICAg
dWludCAgICAgICAKKy8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHl6ICAgICAgICAg
MiAgICAgTk9ORSAgIGZsb2F0ICAgeHl6IAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgor
Ly8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1
ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0t
LS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAg
ICAgMCAgIHh5encgICAgICAgIDAgICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8vCitwc180XzAK
K2RjbF9zYW1wbGVyIHMwLCBtb2RlX2RlZmF1bHQKK2RjbF9yZXNvdXJjZV90ZXh0dXJlM2QgKGZs
b2F0LGZsb2F0LGZsb2F0LGZsb2F0KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2Mi54eXoKK2Rj
bF9vdXRwdXQgbzAueHl6dworZGNsX3RlbXBzIDEKK3NhbXBsZSByMC54eXp3LCB2Mi54eXp4LCB0
MC54eXp3LCBzMAorbW92IG8wLnh5eiwgcjAueHl6eAorbW92IG8wLncsIGwoMS4wMDAwMDApCity
ZXQgCisvLyBBcHByb3hpbWF0ZWx5IDQgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisK
K2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFJHQjNEW10gPQoreworICAgICA2OCwgIDg4LCAg
NjYsICA2NywgMTUxLCAxOTIsIAorICAgICAzMCwgMTI4LCAxODUsIDE4NywgIDY3LCAxMjYsIAor
ICAgIDE2MiwgIDE5LCAxNDcsICAyNCwgIDk2LCAyMzYsIAorICAgICA2NiwgMTE0LCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgIDE3NiwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDIyMCwgICAwLCAgIDAsICAgMCwgMTAw
LCAgIDEsIAorICAgICAgMCwgICAwLCAxNTIsICAgMSwgICAwLCAgIDAsIAorICAgICA1MiwgICAy
LCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxNjAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIs
ICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAg
IDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgIDEwOSwgICAwLCAgIDAsICAgMCwg
IDkyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDUsICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAg
MCwgMjU1LCAyNTUsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgIDEzLCAgIDAsIAorICAgICAgMCwgICAwLCAgODMsICA5NywgMTA5
LCAxMTIsIAorICAgIDEwOCwgMTAxLCAxMTQsICAgMCwgIDg0LCAxMDEsIAorICAgIDEyMCwgMTE2
LCAxMTcsIDExNCwgMTAxLCAgNzAsIAorICAgICAgMCwgIDc3LCAxMDUsICA5OSwgMTE0LCAxMTEs
IAorICAgIDExNSwgMTExLCAxMDIsIDExNiwgIDMyLCAgNDAsIAorICAgICA4MiwgIDQxLCAgMzIs
ICA3MiwgIDc2LCAgODMsIAorICAgICA3NiwgIDMyLCAgODMsIDEwNCwgIDk3LCAxMDAsIAorICAg
IDEwMSwgMTE0LCAgMzIsICA2NywgMTExLCAxMDksIAorICAgIDExMiwgMTA1LCAxMDgsIDEwMSwg
MTE0LCAgMzIsIAorICAgICA1NywgIDQ2LCAgNTEsICA0OCwgIDQ2LCAgNTcsIAorICAgICA1MCwg
IDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsIAorICAgICA1MSwgIDU2LCAgNTIsICAgMCwgIDczLCAg
ODMsIAorICAgICA3MSwgIDc4LCAxMjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAg
IDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgODAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAg
MCwgICAwLCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA0
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAw
LCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMTgsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA3LCAgIDcsIAorICAg
ICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwg
IDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODMsICA4NiwgIDk1LCAgODIsIAorICAgICA2OSwg
IDc4LCAgNjgsICA2OSwgIDgyLCAgODQsIAorICAgICA2NSwgIDgyLCAgNzEsICA2OSwgIDg0LCAg
NjUsIAorICAgICA4MiwgIDgyLCAgNjUsICA4OSwgIDczLCAgNzgsIAorICAgICA2OCwgIDY5LCAg
ODgsICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgsIAor
ICAgICAgMCwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwgICAwLCAgIDAsICAg
MCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICAz
MiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAgODIs
IAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAgNjgs
ICA4MiwgMTQ4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAg
ICAzNywgICAwLCAgIDAsICAgMCwgIDkwLCAgIDAsIAorICAgICAgMCwgICAzLCAgIDAsICA5Niwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg4LCAgNDAsIAorICAgICAgMCwg
ICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg1LCAg
ODUsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgIDExNCwgIDE2LCAg
MTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDMsIAor
ICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDQsICAg
MCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDY5LCAgIDAsIAorICAgICAg
MCwgICA5LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcw
LCAgMTgsIAorICAgICAxNiwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2
LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICA5NiwgIDE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAxMTQs
ICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDIsIAorICAg
ICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNSwg
MTMwLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwg
IDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgIDEyOCwgIDYzLCAgNjIsICAgMCwgICAwLCAg
IDEsIAorICAgICA4MywgIDg0LCAgNjUsICA4NCwgMTE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
cmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYjNkaTExcHMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2IzZGkxMXBzLmgJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVy
L2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2IzZGkxMXBzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxNzMgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jv
c29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8v
LworLy8gUmVzb3VyY2UgQmluZGluZ3M6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFR5cGUgIEZvcm1hdCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0t
LS0tIC0tLS0gLS0tLS0tLS0KKy8vIFRleHR1cmVJICAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXh0dXJlICAgc2ludDQgICAgICAgICAgM2QgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8g
SW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFz
ayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9Q
T1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAg
ICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAgICB4ICAgICAgICAgICAx
ICBSVElOREVYICAgIHVpbnQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAg
IHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8vCisvLworLy8gT3V0cHV0
IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVn
aXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0t
LS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VU
ICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3
CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2VfdGV4dHVyZTNkIChzaW50LHNpbnQsc2ludCxzaW50
KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2Mi54eXoKK2RjbF9vdXRwdXQgbzAueHl6dworZGNs
X3RlbXBzIDEKK3Jlc2luZm9fdWludCByMC54eXp3LCBsKDApLCB0MC54eXp3Cit1dG9mIHIwLnh5
eiwgcjAueHl6eAorbXVsIHIwLnh5eiwgcjAueHl6eCwgdjIueHl6eAorZnRvaSByMC54eXosIHIw
Lnh5engKK21vdiByMC53LCBsKDApCitsZCByMC54eXp3LCByMC54eXp3LCB0MC54eXp3Cittb3Yg
bzAueHl6LCByMC54eXp4Cittb3YgbzAudywgbCgwKQorcmV0IAorLy8gQXBwcm94aW1hdGVseSA5
IGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Ro
cm91Z2hSR0IzRElbXSA9Cit7CisgICAgIDY4LCAgODgsICA2NiwgIDY3LCAxNTksIDE1MCwgCisg
ICAgMjEwLCAgNjcsIDE0OSwgMTE2LCAyMjEsICA2MiwgCisgICAgMjA3LCAgODIsIDE1NywgMjEw
LCAgIDksIDEwMCwgCisgICAgMTMxLCAyMDQsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMjMy
LCAgIDIsICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAs
ICAgMCwgCisgICAgMTgwLCAgIDAsICAgMCwgICAwLCAgNjAsICAgMSwgCisgICAgICAwLCAgIDAs
IDExMiwgICAxLCAgIDAsICAgMCwgCisgICAgMTA4LCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwg
CisgICAgIDY5LCAgNzAsIDEyMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAg
IDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAg
IDAsICAgMCwgCisgICAgIDY5LCAgIDAsICAgMCwgICAwLCAgNjAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDgsICAg
MCwgCisgICAgICAwLCAgIDAsIDI1NSwgMjU1LCAyNTUsIDI1NSwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAxMywgICAwLCAgIDAsICAgMCwgCisg
ICAgIDg0LCAxMDEsIDEyMCwgMTE2LCAxMTcsIDExNCwgCisgICAgMTAxLCAgNzMsICAgMCwgIDc3
LCAxMDUsICA5OSwgCisgICAgMTE0LCAxMTEsIDExNSwgMTExLCAxMDIsIDExNiwgCisgICAgIDMy
LCAgNDAsICA4MiwgIDQxLCAgMzIsICA3MiwgCisgICAgIDc2LCAgODMsICA3NiwgIDMyLCAgODMs
IDEwNCwgCisgICAgIDk3LCAxMDAsIDEwMSwgMTE0LCAgMzIsICA2NywgCisgICAgMTExLCAxMDks
IDExMiwgMTA1LCAxMDgsIDEwMSwgCisgICAgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsICA0OCwg
CisgICAgIDQ2LCAgNTcsICA1MCwgIDQ4LCAgNDgsICA0NiwgCisgICAgIDQ5LCAgNTQsICA1MSwg
IDU2LCAgNTIsICAgMCwgCisgICAgIDczLCAgODMsICA3MSwgIDc4LCAxMjgsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICA4LCAgIDAsICAgMCwgICAwLCAg
ODAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAg
IDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgIDE1LCAgIDAsICAgMCwgICAwLCAgOTIsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICA0LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAw
LCAxMTgsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAs
ICAgMCwgCisgICAgICA3LCAgIDcsICAgMCwgICAwLCAgODMsICA4NiwgCisgICAgIDk1LCAgODAs
ICA3OSwgIDgzLCAgNzMsICA4NCwgCisgICAgIDczLCAgNzksICA3OCwgICAwLCAgODMsICA4Niwg
CisgICAgIDk1LCAgODIsICA2OSwgIDc4LCAgNjgsICA2OSwgCisgICAgIDgyLCAgODQsICA2NSwg
IDgyLCAgNzEsICA2OSwgCisgICAgIDg0LCAgNjUsICA4MiwgIDgyLCAgNjUsICA4OSwgCisgICAg
IDczLCAgNzgsICA2OCwgIDY5LCAgODgsICAgMCwgCisgICAgIDg0LCAgNjksICA4OCwgIDY3LCAg
NzksICA3OSwgCisgICAgIDgyLCAgNjgsICAgMCwgMTcxLCAgNzksICA4MywgCisgICAgIDcxLCAg
NzgsICA0NCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDgsICAg
MCwgCisgICAgICAwLCAgIDAsICAzMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTUsICAgMCwgCisgICAgICAwLCAgIDAsICA4MywgIDg2
LCAgOTUsICA4NCwgCisgICAgIDY1LCAgODIsICA3MSwgIDY5LCAgODQsICAgMCwgCisgICAgMTcx
LCAxNzEsICA4MywgIDcyLCAgNjgsICA4MiwgCisgICAgMjQ0LCAgIDAsICAgMCwgICAwLCAgNjQs
ICAgMCwgCisgICAgICAwLCAgIDAsICA2MSwgICAwLCAgIDAsICAgMCwgCisgICAgIDg4LCAgNDAs
ICAgMCwgICA0LCAgIDAsIDExMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgIDUxLCAgNTEsICAgMCwgICAwLCAgOTgsICAxNiwgCisgICAgICAwLCAgIDMsIDExNCwg
IDE2LCAgMTYsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAg
ICAwLCAgIDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAx
MDQsICAgMCwgCisgICAgICAwLCAgIDIsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDYxLCAg
MTYsICAgMCwgICA3LCAyNDIsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAxLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3
MCwgMTI2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgODYsICAgMCwgCisg
ICAgICAwLCAgIDUsIDExNCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgNzAsICAgMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU2
LCAgIDAsICAgMCwgICA3LCAxMTQsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDcwLCAgIDIsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICA3MCwgIDE4LCAgMTYsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgMjcsICAgMCwg
CisgICAgICAwLCAgIDUsIDExNCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgNzAsICAgMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
IDU0LCAgIDAsICAgMCwgICA1LCAxMzAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAxLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICA0NSwgICAwLCAgIDAsICAgNywgCisgICAgMjQyLCAgIDAsICAxNiwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICA3MCwgIDE0LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgNzAsIDEyNiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgIDU0LCAgIDAsICAgMCwgICA1LCAxMTQsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgIDcwLCAgIDIsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICA1NCwgICAwLCAgIDAsICAgNSwgCisgICAgMTMwLCAgMzIsICAxNiwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgIDY0LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgNjIsICAgMCwgCisgICAgICAwLCAgIDEsICA4MywgIDg0LCAgNjUsICA4NCwg
CisgICAgMTE2LCAgIDAsICAgMCwgICAwLCAgIDksICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxl
ZC9wYXNzdGhyb3VnaHJnYjNkdWkxMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bh
c3N0aHJvdWdocmdiM2R1aTExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNz
dGhyb3VnaHJnYjNkdWkxMXBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNzQgQEAKKyNp
ZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGls
ZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8gUmVzb3VyY2UgQmluZGluZ3M6Cisv
LworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1hdCAg
ICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8vIFRleHR1
cmVVSSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlICAgdWludDQgICAgICAgICAgM2Qg
ICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5h
bWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0
ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0t
LS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5
encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFS
UkFZSU5ERVggICAgIDAgICB4ICAgICAgICAgICAxICBSVElOREVYICAgIHVpbnQgICAgICAgCisv
LyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBm
bG9hdCAgIHh5eiAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAg
ICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVz
ZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAg
ICAgICAwICAgVEFSR0VUICAgIHVpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2Vf
dGV4dHVyZTNkICh1aW50LHVpbnQsdWludCx1aW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2
Mi54eXoKK2RjbF9vdXRwdXQgbzAueHl6dworZGNsX3RlbXBzIDEKK3Jlc2luZm9fdWludCByMC54
eXp3LCBsKDApLCB0MC54eXp3Cit1dG9mIHIwLnh5eiwgcjAueHl6eAorbXVsIHIwLnh5eiwgcjAu
eHl6eCwgdjIueHl6eAorZnRvaSByMC54eXosIHIwLnh5engKK21vdiByMC53LCBsKDApCitsZCBy
MC54eXp3LCByMC54eXp3LCB0MC54eXp3Cittb3YgbzAueHl6LCByMC54eXp4Cittb3YgbzAudywg
bCgwKQorcmV0IAorLy8gQXBwcm94aW1hdGVseSA5IGluc3RydWN0aW9uIHNsb3RzIHVzZWQKKyNl
bmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hSR0IzRFVJW10gPQoreworICAgICA2
OCwgIDg4LCAgNjYsICA2NywgMTIwLCAgNTAsIAorICAgIDE4MiwgMjUxLCAyMTYsICAgOCwgIDg1
LCAgOTIsIAorICAgIDEyNywgMTUxLCAxOTQsICA2NCwgMjQ4LCAxNTEsIAorICAgICA1NSwgMTYz
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDIzNiwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAs
IAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwgICAwLCAgIDAs
ICAgMCwgIDY0LCAgIDEsIAorICAgICAgMCwgICAwLCAxMTYsICAgMSwgICAwLCAgIDAsIAorICAg
IDExMiwgICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxMjQsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA3MCwgICAwLCAg
IDAsICAgMCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgNCwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1
NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAxLCAxMjAsIDExNiwgMTE3
LCAxMTQsIAorICAgIDEwMSwgIDg1LCAgNzMsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwgMTE0
LCAxMTEsIDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIs
IAorICAgICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAxMDAs
IDEwMSwgMTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAorICAg
IDEwMSwgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1MCwg
IDQ4LCAgNDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAgMCwg
MTcxLCAxNzEsIDE3MSwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAxMjgsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAg
ODAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAw
LCAxMTgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAs
ICAgMCwgICA3LCAgIDcsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAg
ICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODMsICA4Niwg
IDk1LCAgODIsIAorICAgICA2OSwgIDc4LCAgNjgsICA2OSwgIDgyLCAgODQsIAorICAgICA2NSwg
IDgyLCAgNzEsICA2OSwgIDg0LCAgNjUsIAorICAgICA4MiwgIDgyLCAgNjUsICA4OSwgIDczLCAg
NzgsIAorICAgICA2OCwgIDY5LCAgODgsICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAg
NzksICA3OSwgIDgyLCAgNjgsIAorICAgICAgMCwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAor
ICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAg
MCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2
LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEs
IAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgMjQ0LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjQs
ICAgMCwgICAwLCAgIDAsIAorICAgICA2MSwgICAwLCAgIDAsICAgMCwgIDg4LCAgNDAsIAorICAg
ICAgMCwgICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDY4LCAgNjgsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgIDExNCwg
IDE2LCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAg
IDMsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAx
MDQsICAgMCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDYxLCAgMTYsIAor
ICAgICAgMCwgICA3LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3
MCwgMTI2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgODYsICAgMCwgICAw
LCAgIDUsIAorICAgIDExNCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNzAsICAgMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU2LCAgIDAs
IAorICAgICAgMCwgICA3LCAxMTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDcwLCAgIDIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICA3MCwgIDE4LCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjcsICAgMCwg
ICAwLCAgIDUsIAorICAgIDExNCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNzAsICAgMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAg
IDAsIAorICAgICAgMCwgICA1LCAxMzAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA0NSwgICAwLCAgIDAsICAgNywgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE0LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0
LCAgIDAsIAorICAgICAgMCwgICA1LCAxMTQsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDcwLCAgIDIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICA1NCwgICAwLCAgIDAsICAgNSwgMTMwLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0LCAgNjUsICA4NCwg
MTE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDksICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxl
ZC9wYXNzdGhyb3VnaHJnYmExMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0
aHJvdWdocmdiYTExcHMuaAkocmV2aXNpb24gMTY4MTAzKQorKysgU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0
aHJvdWdocmdiYTExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMSwxNDEgKzAsMCBAQAotI2lmIDAK
LS8vCi0vLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5
LjMwLjkyMDAuMTYzODQKLS8vCi0vLwotLy8vCi0vLyBSZXNvdXJjZSBCaW5kaW5nczoKLS8vCi0v
LyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0ICAgICAg
ICAgRGltIFNsb3QgRWxlbWVudHMKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAt
LS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQotLy8gU2FtcGxlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZXIgICAgICBOQSAgICAgICAgICBOQSAgICAw
ICAgICAgICAxCi0vLyBUZXh0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAg
ZmxvYXQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKLS8vCi0vLwotLy8KLS8vIElucHV0IHNp
Z25hdHVyZToKLS8vCi0vLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0
ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t
IC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQotLy8gU1ZfUE9TSVRJT04g
ICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCi0v
LyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBm
bG9hdCAgIHh5ICAKLS8vCi0vLwotLy8gT3V0cHV0IHNpZ25hdHVyZToKLS8vCi0vLyBOYW1lICAg
ICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVz
ZWQKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLQotLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAg
ICAgICAwICAgVEFSR0VUICAgZmxvYXQgICB4eXp3Ci0vLwotcHNfNF8wCi1kY2xfc2FtcGxlciBz
MCwgbW9kZV9kZWZhdWx0Ci1kY2xfcmVzb3VyY2VfdGV4dHVyZTJkIChmbG9hdCxmbG9hdCxmbG9h
dCxmbG9hdCkgdDAKLWRjbF9pbnB1dF9wcyBsaW5lYXIgdjEueHkKLWRjbF9vdXRwdXQgbzAueHl6
dwotc2FtcGxlIG8wLnh5encsIHYxLnh5eHgsIHQwLnh5encsIHMwCi1yZXQgCi0vLyBBcHByb3hp
bWF0ZWx5IDIgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAotI2VuZGlmCi0KLWNvbnN0IEJZVEUgZ19Q
U19QYXNzdGhyb3VnaFJHQkFbXSA9Ci17Ci0gICAgIDY4LCAgODgsICA2NiwgIDY3LCAxNTEsIDE1
MiwgCi0gICAgICA4LCAxMDIsIDE3NCwgMTM1LCAgNzYsICA1NywgCi0gICAgMTAwLCAxNDYsICA1
OSwgIDc0LCAyMDUsICAzNSwgCi0gICAgMjA2LCAgMjEsICAgMSwgICAwLCAgIDAsICAgMCwgCi0g
ICAgIDgwLCAgIDIsICAgMCwgICAwLCAgIDUsICAgMCwgCi0gICAgICAwLCAgIDAsICA1MiwgICAw
LCAgIDAsICAgMCwgCi0gICAgMjIwLCAgIDAsICAgMCwgICAwLCAgNTIsICAgMSwgCi0gICAgICAw
LCAgIDAsIDEwNCwgICAxLCAgIDAsICAgMCwgCi0gICAgMjEyLCAgIDEsICAgMCwgICAwLCAgODIs
ICA2OCwgCi0gICAgIDY5LCAgNzAsIDE2MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwg
Ci0gICAgIDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCi0gICAgMjU1LCAyNTUsICAgMCwg
ICAxLCAgIDAsICAgMCwgCi0gICAgMTA4LCAgIDAsICAgMCwgICAwLCAgOTIsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAg
MCwgCi0gICAgMTAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
NSwgICAwLCAgIDAsICAgMCwgCi0gICAgICA0LCAgIDAsICAgMCwgICAwLCAyNTUsIDI1NSwgCi0g
ICAgMjU1LCAyNTUsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAw
LCAgMTMsICAgMCwgCi0gICAgICAwLCAgIDAsICA4MywgIDk3LCAxMDksIDExMiwgCi0gICAgMTA4
LCAxMDEsIDExNCwgICAwLCAgODQsIDEwMSwgCi0gICAgMTIwLCAxMTYsIDExNywgMTE0LCAxMDEs
ICAgMCwgCi0gICAgIDc3LCAxMDUsICA5OSwgMTE0LCAxMTEsIDExNSwgCi0gICAgMTExLCAxMDIs
IDExNiwgIDMyLCAgNDAsICA4MiwgCi0gICAgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsICA3Niwg
Ci0gICAgIDMyLCAgODMsIDEwNCwgIDk3LCAxMDAsIDEwMSwgCi0gICAgMTE0LCAgMzIsICA2Nywg
MTExLCAxMDksIDExMiwgCi0gICAgMTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsICA1NywgCi0gICAg
IDQ2LCAgNTEsICA0OCwgIDQ2LCAgNTcsICA1MCwgCi0gICAgIDQ4LCAgNDgsICA0NiwgIDQ5LCAg
NTQsICA1MSwgCi0gICAgIDU2LCAgNTIsICAgMCwgMTcxLCAgNzMsICA4MywgCi0gICAgIDcxLCAg
NzgsICA4MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDgsICAg
MCwgCi0gICAgICAwLCAgIDAsICA1NiwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTUsICAgMCwgCi0gICAgICAwLCAgIDAsICA2OCwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDMs
ICAgMywgCi0gICAgICAwLCAgIDAsICA4MywgIDg2LCAgOTUsICA4MCwgCi0gICAgIDc5LCAgODMs
ICA3MywgIDg0LCAgNzMsICA3OSwgCi0gICAgIDc4LCAgIDAsICA4NCwgIDY5LCAgODgsICA2Nywg
Ci0gICAgIDc5LCAgNzksICA4MiwgIDY4LCAgIDAsIDE3MSwgCi0gICAgMTcxLCAxNzEsICA3OSwg
IDgzLCAgNzEsICA3OCwgCi0gICAgIDQ0LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwgCi0gICAgIDMyLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAzLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAg
MCwgCi0gICAgIDgzLCAgODYsICA5NSwgIDg0LCAgNjUsICA4MiwgCi0gICAgIDcxLCAgNjksICA4
NCwgICAwLCAxNzEsIDE3MSwgCi0gICAgIDgzLCAgNzIsICA2OCwgIDgyLCAxMDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsICA2NCwgICAwLCAgIDAsICAgMCwgCi0gICAgIDI1LCAgIDAsICAgMCwgICAw
LCAgOTAsICAgMCwgCi0gICAgICAwLCAgIDMsICAgMCwgIDk2LCAgMTYsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMCwgICAwLCAgODgsICAyNCwgCi0gICAgICAwLCAgIDQsICAgMCwgMTEyLCAgMTYs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgODUsICA4NSwgCi0gICAgICAwLCAgIDAs
ICA5OCwgIDE2LCAgIDAsICAgMywgCi0gICAgIDUwLCAgMTYsICAxNiwgICAwLCAgIDEsICAgMCwg
Ci0gICAgICAwLCAgIDAsIDEwMSwgICAwLCAgIDAsICAgMywgCi0gICAgMjQyLCAgMzIsICAxNiwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICA2OSwgICAwLCAgIDAsICAgOSwgCi0gICAg
MjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICA3MCwgIDE2LCAg
MTYsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgNzAsIDEyNiwgCi0gICAgIDE2LCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgOTYsICAxNiwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICA2MiwgICAwLCAgIDAsICAgMSwgCi0gICAgIDgzLCAgODQsICA2
NSwgIDg0LCAxMTYsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCi0g
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMiwgICAw
LCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
Ci0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAxLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCi0gICAgICAwLCAgIDAsICAgMCwgICAwCi19OwpJbmRleDogU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJz
L2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiYTJkMTFwcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21w
aWxlZC9wYXNzdGhyb3VnaHJnYmEyZDExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxl
ZC9wYXNzdGhyb3VnaHJnYmEyZDExcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MSBA
QAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBD
b21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5kaW5n
czoKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9y
bWF0ICAgICAgICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8g
U2FtcGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZXIgICAgICBOQSAgICAgICAg
ICBOQSAgICAwICAgICAgICAxCisvLyBUZXh0dXJlRiAgICAgICAgICAgICAgICAgICAgICAgICAg
dGV4dHVyZSAgZmxvYXQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8v
IElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1h
c2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1Zf
UE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQg
ICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAg
IE5PTkUgICBmbG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisv
LyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZv
cm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAg
ICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgZmxvYXQgICB4eXp3CisvLworcHNfNF8wCitkY2xf
c2FtcGxlciBzMCwgbW9kZV9kZWZhdWx0CitkY2xfcmVzb3VyY2VfdGV4dHVyZTJkIChmbG9hdCxm
bG9hdCxmbG9hdCxmbG9hdCkgdDAKK2RjbF9pbnB1dF9wcyBsaW5lYXIgdjEueHkKK2RjbF9vdXRw
dXQgbzAueHl6dworc2FtcGxlIG8wLnh5encsIHYxLnh5eHgsIHQwLnh5encsIHMwCityZXQgCisv
LyBBcHByb3hpbWF0ZWx5IDIgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0
IEJZVEUgZ19QU19QYXNzdGhyb3VnaFJHQkEyRFtdID0KK3sKKyAgICAgNjgsICA4OCwgIDY2LCAg
NjcsIDE4NSwgMjQ2LCAKKyAgICAyMTcsICA4NSwgMTEyLCAyNDUsIDI0NywgMTIxLCAKKyAgICAx
MTQsIDIyOSwgMTg2LCAxMzgsIDIxNSwgMTM0LCAKKyAgICAgMTgsICAgMSwgICAxLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgODAsICAgMiwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAsICAg
MCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAyMjAsICAgMCwgICAwLCAgIDAsICA1MiwgICAx
LCAKKyAgICAgIDAsICAgMCwgMTA0LCAgIDEsICAgMCwgICAwLCAKKyAgICAyMTIsICAgMSwgICAw
LCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgMTYwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAKKyAgICAyNTUs
IDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAxMDksICAgMCwgICAwLCAgIDAsICA5Miwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAg
IDAsICAgMCwgICAwLCAKKyAgICAxMDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICA1LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAsIDI1
NSwgMjU1LCAKKyAgICAyNTUsIDI1NSwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAg
MCwgICAwLCAgIDAsICAxMywgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgOTcsIDEwOSwgMTEy
LCAKKyAgICAxMDgsIDEwMSwgMTE0LCAgIDAsICA4NCwgMTAxLCAKKyAgICAxMjAsIDExNiwgMTE3
LCAxMTQsIDEwMSwgIDcwLCAKKyAgICAgIDAsICA3NywgMTA1LCAgOTksIDExNCwgMTExLCAKKyAg
ICAxMTUsIDExMSwgMTAyLCAxMTYsICAzMiwgIDQwLCAKKyAgICAgODIsICA0MSwgIDMyLCAgNzIs
ICA3NiwgIDgzLCAKKyAgICAgNzYsICAzMiwgIDgzLCAxMDQsICA5NywgMTAwLCAKKyAgICAxMDEs
IDExNCwgIDMyLCAgNjcsIDExMSwgMTA5LCAKKyAgICAxMTIsIDEwNSwgMTA4LCAxMDEsIDExNCwg
IDMyLCAKKyAgICAgNTcsICA0NiwgIDUxLCAgNDgsICA0NiwgIDU3LCAKKyAgICAgNTAsICA0OCwg
IDQ4LCAgNDYsICA0OSwgIDU0LCAKKyAgICAgNTEsICA1NiwgIDUyLCAgIDAsICA3MywgIDgzLCAK
KyAgICAgNzEsICA3OCwgIDgwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAgMCwgICAwLCAg
IDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU2LCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxNSwgICAwLCAKKyAgICAgIDAsICAg
MCwgIDY4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAw
LCAgIDAsICAgMywgICAzLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDgwLCAKKyAg
ICAgNzksICA4MywgIDczLCAgODQsICA3MywgIDc5LCAKKyAgICAgNzgsICAgMCwgIDg0LCAgNjks
ICA4OCwgIDY3LCAKKyAgICAgNzksICA3OSwgIDgyLCAgNjgsICAgMCwgMTcxLCAKKyAgICAxNzEs
IDE3MSwgIDc5LCAgODMsICA3MSwgIDc4LCAKKyAgICAgNDQsICAgMCwgICAwLCAgIDAsICAgMSwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICA4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgMzIsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE1LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgODMsICA4NiwgIDk1LCAgODQsICA2NSwgIDgyLCAKKyAgICAg
NzEsICA2OSwgIDg0LCAgIDAsIDE3MSwgMTcxLCAKKyAgICAgODMsICA3MiwgIDY4LCAgODIsIDEw
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDY0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjUsICAg
MCwgICAwLCAgIDAsICA5MCwgICAwLCAKKyAgICAgIDAsICAgMywgICAwLCAgOTYsICAxNiwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4OCwgIDI0LCAKKyAgICAgIDAsICAgNCwgICAw
LCAxMTIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4NSwgIDg1LCAKKyAg
ICAgIDAsICAgMCwgIDk4LCAgMTYsICAgMCwgICAzLCAKKyAgICAgNTAsICAxNiwgIDE2LCAgIDAs
ICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgMTAxLCAgIDAsICAgMCwgICAzLCAKKyAgICAyNDIs
ICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDY5LCAgIDAsICAgMCwg
ICA5LCAKKyAgICAyNDIsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDcwLCAgMTYsICAxNiwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICA3MCwgMTI2LCAK
KyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICA5NiwgIDE2LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDYyLCAgIDAsICAgMCwgICAxLCAKKyAgICAg
ODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAKK307
CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2JhMmRpMTFwcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEv
c2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYmEyZGkxMXBzLmgJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3No
YWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2JhMmRpMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTU4IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIp
IEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJl
c291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBUeXBlICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0t
IC0tLS0tLS0tCisvLyBUZXh0dXJlSSAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAg
IHNpbnQ0ICAgICAgICAgIDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNp
Z25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0
ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t
IC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04g
ICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisv
LyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBm
bG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAg
ICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVz
ZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAg
ICAgICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2Vf
dGV4dHVyZTJkIChzaW50LHNpbnQsc2ludCxzaW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2
MS54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191aW50IHIwLnh5
encsIGwoMCksIHQwLnh5encKK3V0b2YgcjAueHksIHIwLnh5eHgKK211bCByMC54eSwgcjAueHl4
eCwgdjEueHl4eAorZnRvaSByMC54eSwgcjAueHl4eAorbW92IHIwLnp3LCBsKDAsMCwwLDApCits
ZCBvMC54eXp3LCByMC54eXp3LCB0MC54eXp3CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDcgaW5z
dHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3Vn
aFJHQkEyRElbXSA9Cit7CisgICAgIDY4LCAgODgsICA2NiwgIDY3LCAxNTQsICAyMiwgCisgICAg
IDE5LCAxOTUsICA2NCwgMTI0LCAgMTUsICA0MywgCisgICAgIDMyLCAxNjMsIDE0MiwgIDMxLCAg
OTcsIDIzOSwgCisgICAgIDIyLCAgIDksICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTU2LCAg
IDIsICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAg
MCwgCisgICAgMTgwLCAgIDAsICAgMCwgICAwLCAgMTIsICAgMSwgCisgICAgICAwLCAgIDAsICA2
NCwgICAxLCAgIDAsICAgMCwgCisgICAgIDMyLCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisg
ICAgIDY5LCAgNzAsIDEyMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAs
ICAgMCwgCisgICAgIDY5LCAgIDAsICAgMCwgICAwLCAgNjAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwg
CisgICAgICAwLCAgIDAsIDI1NSwgMjU1LCAyNTUsIDI1NSwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAxMywgICAwLCAgIDAsICAgMCwgCisgICAg
IDg0LCAxMDEsIDEyMCwgMTE2LCAxMTcsIDExNCwgCisgICAgMTAxLCAgNzMsICAgMCwgIDc3LCAx
MDUsICA5OSwgCisgICAgMTE0LCAxMTEsIDExNSwgMTExLCAxMDIsIDExNiwgCisgICAgIDMyLCAg
NDAsICA4MiwgIDQxLCAgMzIsICA3MiwgCisgICAgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIDEw
NCwgCisgICAgIDk3LCAxMDAsIDEwMSwgMTE0LCAgMzIsICA2NywgCisgICAgMTExLCAxMDksIDEx
MiwgMTA1LCAxMDgsIDEwMSwgCisgICAgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsICA0OCwgCisg
ICAgIDQ2LCAgNTcsICA1MCwgIDQ4LCAgNDgsICA0NiwgCisgICAgIDQ5LCAgNTQsICA1MSwgIDU2
LCAgNTIsICAgMCwgCisgICAgIDczLCAgODMsICA3MSwgIDc4LCAgODAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICA4LCAgIDAsICAgMCwgICAwLCAgNTYs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAs
ICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgIDE1LCAgIDAsICAgMCwgICAwLCAgNjgsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDMsICAgMCwgICAwLCAg
ODMsICA4NiwgCisgICAgIDk1LCAgODAsICA3OSwgIDgzLCAgNzMsICA4NCwgCisgICAgIDczLCAg
NzksICA3OCwgICAwLCAgODQsICA2OSwgCisgICAgIDg4LCAgNjcsICA3OSwgIDc5LCAgODIsICA2
OCwgCisgICAgICAwLCAxNzEsIDE3MSwgMTcxLCAgNzksICA4MywgCisgICAgIDcxLCAgNzgsICA0
NCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisg
ICAgICAwLCAgIDAsICAzMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgMTUsICAgMCwgCisgICAgICAwLCAgIDAsICA4MywgIDg2LCAgOTUs
ICA4NCwgCisgICAgIDY1LCAgODIsICA3MSwgIDY5LCAgODQsICAgMCwgCisgICAgMTcxLCAxNzEs
ICA4MywgIDcyLCAgNjgsICA4MiwgCisgICAgMjE2LCAgIDAsICAgMCwgICAwLCAgNjQsICAgMCwg
CisgICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgMCwgCisgICAgIDg4LCAgMjQsICAgMCwg
ICA0LCAgIDAsIDExMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
IDUxLCAgNTEsICAgMCwgICAwLCAgOTgsICAxNiwgCisgICAgICAwLCAgIDMsICA1MCwgIDE2LCAg
MTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAxMDEsICAgMCwgCisgICAgICAwLCAg
IDMsIDI0MiwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAxMDQsICAg
MCwgCisgICAgICAwLCAgIDIsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDYxLCAgMTYsICAg
MCwgICA3LCAyNDIsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAxLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgMTI2
LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgODYsICAgMCwgCisgICAgICAw
LCAgIDUsICA1MCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAs
ICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU2LCAgIDAs
ICAgMCwgICA3LCAgNTAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgIDcwLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwg
IDE2LCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgMjcsICAgMCwgCisgICAg
ICAwLCAgIDUsICA1MCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
NzAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAg
IDAsICAgMCwgICA4LCAxOTQsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAyLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICA0NSwgICAwLCAgIDAsICAgNywgCisgICAgMjQyLCAgMzIsICAxNiwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgIDE0LCAgMTYsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgNzAsIDEyNiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDYyLCAgIDAsICAgMCwgICAxLCAgODMsICA4NCwgCisgICAgIDY1LCAgODQs
IDExNiwgICAwLCAgIDAsICAgMCwgCisgICAgICA3LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwg
ICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGls
ZWQvcGFzc3Rocm91Z2hyZ2JhMmR1aTExcHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQv
cGFzc3Rocm91Z2hyZ2JhMmR1aTExcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9w
YXNzdGhyb3VnaHJnYmEyZHVpMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTU4IEBA
CisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENv
bXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJpbmRpbmdz
OgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3Jt
YXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBU
ZXh0dXJlVUkgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAgIHVpbnQ0ICAgICAgICAg
IDJkICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToKKy8vCisv
LyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZv
cm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0t
LSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAg
ICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisvLyBURVhDT09SRCAgICAg
ICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKKy8v
CisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJ
bmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0t
LQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VU
ICAgIHVpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2VfdGV4dHVyZTJkICh1aW50
LHVpbnQsdWludCx1aW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2MS54eQorZGNsX291dHB1
dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191aW50IHIwLnh5encsIGwoMCksIHQwLnh5
encKK3V0b2YgcjAueHksIHIwLnh5eHgKK211bCByMC54eSwgcjAueHl4eCwgdjEueHl4eAorZnRv
aSByMC54eSwgcjAueHl4eAorbW92IHIwLnp3LCBsKDAsMCwwLDApCitsZCBvMC54eXp3LCByMC54
eXp3LCB0MC54eXp3CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDcgaW5zdHJ1Y3Rpb24gc2xvdHMg
dXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFJHQkEyRFVJW10gPQor
eworICAgICA2OCwgIDg4LCAgNjYsICA2NywgIDcwLCAyNTQsIAorICAgIDE0OSwgMTI0LCAxODAs
IDE2NCwgMTUyLCAxODYsIAorICAgIDIxOCwgMTc1LCAgODEsICA2NywgIDc2LCAgMzAsIAorICAg
ICAyOCwgIDc1LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDE2MCwgICAyLCAgIDAsICAgMCwg
ICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwg
ICAwLCAgIDAsICAgMCwgIDE2LCAgIDEsIAorICAgICAgMCwgICAwLCAgNjgsICAgMSwgICAwLCAg
IDAsIAorICAgICAzNiwgICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAx
MjQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA3
MCwgICAwLCAgIDAsICAgMCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAw
LCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAw
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAs
IAorICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAxLCAxMjAs
IDExNiwgMTE3LCAxMTQsIAorICAgIDEwMSwgIDg1LCAgNzMsICAgMCwgIDc3LCAxMDUsIAorICAg
ICA5OSwgMTE0LCAxMTEsIDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4Miwg
IDQxLCAgMzIsIAorICAgICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwg
IDk3LCAxMDAsIDEwMSwgMTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAx
MDgsIAorICAgIDEwMSwgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAg
NTcsICA1MCwgIDQ4LCAgNDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAor
ICAgICAgMCwgMTcxLCAxNzEsIDE3MSwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAzLCAgIDMsIAorICAg
ICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwg
IDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwg
IDc5LCAgODIsICA2OCwgICAwLCAxNzEsIAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAg
NzgsIAorICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDgsICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4
MywgIDg2LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcx
LCAxNzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgMjE2LCAgIDAsIAorICAgICAgMCwgICAw
LCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgMCwgIDg4LCAgMjQs
IAorICAgICAgMCwgICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDY4LCAgNjgsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAg
ICA1MCwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwg
ICAwLCAgIDMsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAxMDQsICAgMCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDYxLCAg
MTYsIAorICAgICAgMCwgICA3LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA3MCwgMTI2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgODYsICAg
MCwgICAwLCAgIDUsIAorICAgICA1MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNzAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU2
LCAgIDAsIAorICAgICAgMCwgICA3LCAgNTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDcwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICA3MCwgIDE2LCAgMTYsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjcs
ICAgMCwgICAwLCAgIDUsIAorICAgICA1MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgNzAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDU0LCAgIDAsIAorICAgICAgMCwgICA4LCAxOTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAyLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICA0NSwgICAwLCAgIDAsICAgNywgMjQyLCAgMzIsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE0LCAgMTYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDYyLCAgIDAsIAorICAgICAgMCwgICAxLCAgODMsICA4NCwgIDY1
LCAgODQsIAorICAgIDExNiwgICAwLCAgIDAsICAgMCwgICA3LCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMv
Y29tcGlsZWQvcGFzc3Rocm91Z2hyZ2JhM2QxMXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBp
bGVkL3Bhc3N0aHJvdWdocmdiYTNkMTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVk
L3Bhc3N0aHJvdWdocmdiYTNkMTFwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUwIEBA
CisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENv
bXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIFJlc291cmNlIEJpbmRpbmdz
OgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3Jt
YXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBT
YW1wbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlciAgICAgIE5BICAgICAgICAg
IE5BICAgIDAgICAgICAgIDEKKy8vIFRleHR1cmVGICAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXh0dXJlICBmbG9hdDQgICAgICAgICAgM2QgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8g
SW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFz
ayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9Q
T1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAg
ICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAgICB4ICAgICAgICAgICAx
ICBSVElOREVYICAgIHVpbnQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAg
IHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8vCisvLworLy8gT3V0cHV0
IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVn
aXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0t
LS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VU
ICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgZmxvYXQgICB4eXp3
CisvLworcHNfNF8wCitkY2xfc2FtcGxlciBzMCwgbW9kZV9kZWZhdWx0CitkY2xfcmVzb3VyY2Vf
dGV4dHVyZTNkIChmbG9hdCxmbG9hdCxmbG9hdCxmbG9hdCkgdDAKK2RjbF9pbnB1dF9wcyBsaW5l
YXIgdjIueHl6CitkY2xfb3V0cHV0IG8wLnh5encKK3NhbXBsZSBvMC54eXp3LCB2Mi54eXp4LCB0
MC54eXp3LCBzMAorcmV0IAorLy8gQXBwcm94aW1hdGVseSAyIGluc3RydWN0aW9uIHNsb3RzIHVz
ZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfUGFzc3Rocm91Z2hSR0JBM0RbXSA9Cit7Cisg
ICAgIDY4LCAgODgsICA2NiwgIDY3LCAyMTAsIDI0NSwgCisgICAgIDY5LCAyMjksIDIwOCwgMTc2
LCAxOTEsICA5MywgCisgICAgIDgxLCAgMTIsIDE3NCwgMTM2LCAgIDAsIDE4NCwgCisgICAgIDgz
LCAyMDgsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTI4LCAgIDIsICAgMCwgICAwLCAgIDUs
ICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgMjIwLCAgIDAs
ICAgMCwgICAwLCAxMDAsICAgMSwgCisgICAgICAwLCAgIDAsIDE1MiwgICAxLCAgIDAsICAgMCwg
CisgICAgICA0LCAgIDIsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAsIDE2MCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAgMTA5LCAg
IDAsICAgMCwgICAwLCAgOTIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTAwLCAgIDAsICAgMCwgICAw
LCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgNSwgICAwLCAgIDAsICAgMCwgCisgICAgICA4
LCAgIDAsICAgMCwgICAwLCAyNTUsIDI1NSwgCisgICAgMjU1LCAyNTUsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgMTMsICAgMCwgCisgICAgICAwLCAgIDAs
ICA4MywgIDk3LCAxMDksIDExMiwgCisgICAgMTA4LCAxMDEsIDExNCwgICAwLCAgODQsIDEwMSwg
CisgICAgMTIwLCAxMTYsIDExNywgMTE0LCAxMDEsICA3MCwgCisgICAgICAwLCAgNzcsIDEwNSwg
IDk5LCAxMTQsIDExMSwgCisgICAgMTE1LCAxMTEsIDEwMiwgMTE2LCAgMzIsICA0MCwgCisgICAg
IDgyLCAgNDEsICAzMiwgIDcyLCAgNzYsICA4MywgCisgICAgIDc2LCAgMzIsICA4MywgMTA0LCAg
OTcsIDEwMCwgCisgICAgMTAxLCAxMTQsICAzMiwgIDY3LCAxMTEsIDEwOSwgCisgICAgMTEyLCAx
MDUsIDEwOCwgMTAxLCAxMTQsICAzMiwgCisgICAgIDU3LCAgNDYsICA1MSwgIDQ4LCAgNDYsICA1
NywgCisgICAgIDUwLCAgNDgsICA0OCwgIDQ2LCAgNDksICA1NCwgCisgICAgIDUxLCAgNTYsICA1
MiwgICAwLCAgNzMsICA4MywgCisgICAgIDcxLCAgNzgsIDEyOCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsICA4MCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTUs
ICAgMCwgCisgICAgICAwLCAgIDAsICA5MiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwg
CisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsIDExOCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAg
IDcsICAgNywgCisgICAgICAwLCAgIDAsICA4MywgIDg2LCAgOTUsICA4MCwgCisgICAgIDc5LCAg
ODMsICA3MywgIDg0LCAgNzMsICA3OSwgCisgICAgIDc4LCAgIDAsICA4MywgIDg2LCAgOTUsICA4
MiwgCisgICAgIDY5LCAgNzgsICA2OCwgIDY5LCAgODIsICA4NCwgCisgICAgIDY1LCAgODIsICA3
MSwgIDY5LCAgODQsICA2NSwgCisgICAgIDgyLCAgODIsICA2NSwgIDg5LCAgNzMsICA3OCwgCisg
ICAgIDY4LCAgNjksICA4OCwgICAwLCAgODQsICA2OSwgCisgICAgIDg4LCAgNjcsICA3OSwgIDc5
LCAgODIsICA2OCwgCisgICAgICAwLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCisgICAgIDQ0
LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYsICA5NSwg
IDg0LCAgNjUsICA4MiwgCisgICAgIDcxLCAgNjksICA4NCwgICAwLCAxNzEsIDE3MSwgCisgICAg
IDgzLCAgNzIsICA2OCwgIDgyLCAxMDAsICAgMCwgCisgICAgICAwLCAgIDAsICA2NCwgICAwLCAg
IDAsICAgMCwgCisgICAgIDI1LCAgIDAsICAgMCwgICAwLCAgOTAsICAgMCwgCisgICAgICAwLCAg
IDMsICAgMCwgIDk2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgODgsICA0
MCwgCisgICAgICAwLCAgIDQsICAgMCwgMTEyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgODUsICA4NSwgCisgICAgICAwLCAgIDAsICA5OCwgIDE2LCAgIDAsICAgMywgCisg
ICAgMTE0LCAgMTYsICAxNiwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsIDEwMSwgICAw
LCAgIDAsICAgMywgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICA2OSwgICAwLCAgIDAsICAgOSwgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgIDE4LCAgMTYsICAgMCwgCisgICAgICAyLCAgIDAs
ICAgMCwgICAwLCAgNzAsIDEyNiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgOTYsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA2Miwg
ICAwLCAgIDAsICAgMSwgCisgICAgIDgzLCAgODQsICA2NSwgIDg0LCAxMTYsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwCit9OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdi
YTNkaTExcHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hyZ2JhM2Rp
MTFwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdM
RVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiYTNkaTEx
cHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2NSBAQAorI2lmIDAKKy8vCisvLyBHZW5l
cmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYz
ODQKKy8vCisvLworLy8vCisvLyBSZXNvdXJjZSBCaW5kaW5nczoKKy8vCisvLyBOYW1lICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0ICAgICAgICAgRGltIFNsb3Qg
RWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tIC0t
LS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8gVGV4dHVyZUkgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRleHR1cmUgICBzaW50NCAgICAgICAgICAzZCAgICAwICAgICAgICAxCisv
LworLy8KKy8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAg
ICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAt
LS0tLS0KKy8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAg
IFBPUyAgIGZsb2F0ICAgICAgIAorLy8gU1ZfUkVOREVSVEFSR0VUQVJSQVlJTkRFWCAgICAgMCAg
IHggICAgICAgICAgIDEgIFJUSU5ERVggICAgdWludCAgICAgICAKKy8vIFRFWENPT1JEICAgICAg
ICAgICAgICAgICAwICAgeHl6ICAgICAgICAgMiAgICAgTk9ORSAgIGZsb2F0ICAgeHl6IAorLy8K
Ky8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIElu
ZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0t
CisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICBUQVJHRVQg
ICAgIGludCAgIHh5encKKy8vCitwc180XzAKK2RjbF9yZXNvdXJjZV90ZXh0dXJlM2QgKHNpbnQs
c2ludCxzaW50LHNpbnQpIHQwCitkY2xfaW5wdXRfcHMgbGluZWFyIHYyLnh5egorZGNsX291dHB1
dCBvMC54eXp3CitkY2xfdGVtcHMgMQorcmVzaW5mb191aW50IHIwLnh5encsIGwoMCksIHQwLnh5
encKK3V0b2YgcjAueHl6LCByMC54eXp4CittdWwgcjAueHl6LCByMC54eXp4LCB2Mi54eXp4Citm
dG9pIHIwLnh5eiwgcjAueHl6eAorbW92IHIwLncsIGwoMCkKK2xkIG8wLnh5encsIHIwLnh5encs
IHQwLnh5encKK3JldCAKKy8vIEFwcHJveGltYXRlbHkgNyBpbnN0cnVjdGlvbiBzbG90cyB1c2Vk
CisjZW5kaWYKKworY29uc3QgQllURSBnX1BTX1Bhc3N0aHJvdWdoUkdCQTNESVtdID0KK3sKKyAg
ICAgNjgsICA4OCwgIDY2LCAgNjcsIDE1MiwgMjQ4LCAKKyAgICAyMTQsIDEzMCwgIDM5LCAgIDks
ICA3MCwgIDgxLCAKKyAgICAgMjUsIDE2NiwgIDY5LCAgODUsICAzMCwgMjI5LCAKKyAgICAxMzIs
IDE5NywgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAxOTIsICAgMiwgICAwLCAgIDAsICAgNSwg
ICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxODAsICAgMCwg
ICAwLCAgIDAsICA2MCwgICAxLCAKKyAgICAgIDAsICAgMCwgMTEyLCAgIDEsICAgMCwgICAwLCAK
KyAgICAgNjgsICAgMiwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgMTIwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAsICAg
MCwgICA0LCAKKyAgICAyNTUsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAgNjksICAg
MCwgICAwLCAgIDAsICA2MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgMjU1
LCAyNTUsIDI1NSwgMjU1LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDEzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgODQsIDEwMSwgMTIwLCAxMTYs
IDExNywgMTE0LCAKKyAgICAxMDEsICA3MywgICAwLCAgNzcsIDEwNSwgIDk5LCAKKyAgICAxMTQs
IDExMSwgMTE1LCAxMTEsIDEwMiwgMTE2LCAKKyAgICAgMzIsICA0MCwgIDgyLCAgNDEsICAzMiwg
IDcyLCAKKyAgICAgNzYsICA4MywgIDc2LCAgMzIsICA4MywgMTA0LCAKKyAgICAgOTcsIDEwMCwg
MTAxLCAxMTQsICAzMiwgIDY3LCAKKyAgICAxMTEsIDEwOSwgMTEyLCAxMDUsIDEwOCwgMTAxLCAK
KyAgICAxMTQsICAzMiwgIDU3LCAgNDYsICA1MSwgIDQ4LCAKKyAgICAgNDYsICA1NywgIDUwLCAg
NDgsICA0OCwgIDQ2LCAKKyAgICAgNDksICA1NCwgIDUxLCAgNTYsICA1MiwgICAwLCAKKyAgICAg
NzMsICA4MywgIDcxLCAgNzgsIDEyOCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDgsICAgMCwgICAwLCAgIDAsICA4MCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMywgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTUsICAgMCwgICAw
LCAgIDAsICA5MiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDQsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsIDExOCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMywg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDcsICAgNywg
ICAwLCAgIDAsICA4MywgIDg2LCAKKyAgICAgOTUsICA4MCwgIDc5LCAgODMsICA3MywgIDg0LCAK
KyAgICAgNzMsICA3OSwgIDc4LCAgIDAsICA4MywgIDg2LCAKKyAgICAgOTUsICA4MiwgIDY5LCAg
NzgsICA2OCwgIDY5LCAKKyAgICAgODIsICA4NCwgIDY1LCAgODIsICA3MSwgIDY5LCAKKyAgICAg
ODQsICA2NSwgIDgyLCAgODIsICA2NSwgIDg5LCAKKyAgICAgNzMsICA3OCwgIDY4LCAgNjksICA4
OCwgICAwLCAKKyAgICAgODQsICA2OSwgIDg4LCAgNjcsICA3OSwgIDc5LCAKKyAgICAgODIsICA2
OCwgICAwLCAxNzEsICA3OSwgIDgzLCAKKyAgICAgNzEsICA3OCwgIDQ0LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDMy
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAxNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDg0LCAKKyAgICAgNjUs
ICA4MiwgIDcxLCAgNjksICA4NCwgICAwLCAKKyAgICAxNzEsIDE3MSwgIDgzLCAgNzIsICA2OCwg
IDgyLCAKKyAgICAyMDQsICAgMCwgICAwLCAgIDAsICA2NCwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDUxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgODgsICA0MCwgICAwLCAgIDQsICAgMCwgMTEyLCAK
KyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTEsICA1MSwgICAwLCAg
IDAsICA5OCwgIDE2LCAKKyAgICAgIDAsICAgMywgMTE0LCAgMTYsICAxNiwgICAwLCAKKyAgICAg
IDIsICAgMCwgICAwLCAgIDAsIDEwMSwgICAwLCAKKyAgICAgIDAsICAgMywgMjQyLCAgMzIsICAx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsIDEwNCwgICAwLCAKKyAgICAgIDAsICAg
MiwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNjEsICAxNiwgICAwLCAgIDcsIDI0MiwgICAw
LCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICA2NCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAxMjYsICAxNiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICA4NiwgICAwLCAKKyAgICAgIDAsICAgNSwgMTE0LCAgIDAs
ICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgICAyLCAKKyAgICAgMTYs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTYsICAgMCwgICAwLCAgIDcsIDExNCwg
ICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAsICAgMiwg
IDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcwLCAgMTgsICAxNiwgICAwLCAK
KyAgICAgIDIsICAgMCwgICAwLCAgIDAsICAyNywgICAwLCAKKyAgICAgIDAsICAgNSwgMTE0LCAg
IDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgICAyLCAKKyAgICAg
MTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDUsIDEz
MCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICA2
NCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDQ1LCAgIDAsICAgMCwgICA3
LCAKKyAgICAyNDIsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDcw
LCAgMTQsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA3MCwgMTI2LCAKKyAg
ICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNjIsICAgMCwgICAwLCAgIDEs
ICA4MywgIDg0LCAKKyAgICAgNjUsICA4NCwgMTE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDcs
ICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDIsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVu
ZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYmEzZHVpMTFwcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVy
ZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9wYXNzdGhyb3VnaHJnYmEzZHVpMTFwcy5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJl
ci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocmdiYTNkdWkxMXBzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxNjUgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1p
Y3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8K
Ky8vLworLy8gUmVzb3VyY2UgQmluZGluZ3M6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1hdCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0t
LS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8vIFRleHR1cmVVSSAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXh0dXJlICAgdWludDQgICAgICAgICAgM2QgICAgMCAgICAgICAgMQorLy8KKy8vCisvLwor
Ly8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAg
TWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBT
Vl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9h
dCAgICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAgICB4ICAgICAgICAg
ICAxICBSVElOREVYICAgIHVpbnQgICAgICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAg
MCAgIHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8vCisvLworLy8gT3V0
cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sg
UmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
IC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFS
R0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgIHVpbnQgICB4
eXp3CisvLworcHNfNF8wCitkY2xfcmVzb3VyY2VfdGV4dHVyZTNkICh1aW50LHVpbnQsdWludCx1
aW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2Mi54eXoKK2RjbF9vdXRwdXQgbzAueHl6dwor
ZGNsX3RlbXBzIDEKK3Jlc2luZm9fdWludCByMC54eXp3LCBsKDApLCB0MC54eXp3Cit1dG9mIHIw
Lnh5eiwgcjAueHl6eAorbXVsIHIwLnh5eiwgcjAueHl6eCwgdjIueHl6eAorZnRvaSByMC54eXos
IHIwLnh5engKK21vdiByMC53LCBsKDApCitsZCBvMC54eXp3LCByMC54eXp3LCB0MC54eXp3City
ZXQgCisvLyBBcHByb3hpbWF0ZWx5IDcgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisK
K2NvbnN0IEJZVEUgZ19QU19QYXNzdGhyb3VnaFJHQkEzRFVJW10gPQoreworICAgICA2OCwgIDg4
LCAgNjYsICA2NywgIDI0LCAxNzEsIAorICAgIDIzOCwgMTI3LCAyNDMsICAzMywgMTgzLCAxODMs
IAorICAgIDIyOCwgMjI1LCAgNjksIDE1OSwgIDk4LCAyMjcsIAorICAgIDI1MywgIDY5LCAgIDEs
ICAgMCwgICAwLCAgIDAsIAorICAgIDE5NiwgICAyLCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgIDE4NCwgICAwLCAgIDAsICAgMCwg
IDY0LCAgIDEsIAorICAgICAgMCwgICAwLCAxMTYsICAgMSwgICAwLCAgIDAsIAorICAgICA3Miwg
ICAyLCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAxMjQsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAor
ICAgIDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICA3MCwgICAwLCAgIDAsICAg
MCwgIDYwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAg
NCwgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1
LCAyNTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAw
LCAgMTMsICAgMCwgICAwLCAgIDAsIAorICAgICA4NCwgMTAxLCAxMjAsIDExNiwgMTE3LCAxMTQs
IAorICAgIDEwMSwgIDg1LCAgNzMsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwgMTE0LCAxMTEs
IDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIsIAorICAg
ICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAxMDAsIDEwMSwg
MTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAorICAgIDEwMSwg
MTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1MCwgIDQ4LCAg
NDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAgMCwgMTcxLCAx
NzEsIDE3MSwgIDczLCAgODMsIAorICAgICA3MSwgIDc4LCAxMjgsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMywgICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgODAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMTgs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwg
ICA3LCAgIDcsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwg
IDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODMsICA4NiwgIDk1LCAg
ODIsIAorICAgICA2OSwgIDc4LCAgNjgsICA2OSwgIDgyLCAgODQsIAorICAgICA2NSwgIDgyLCAg
NzEsICA2OSwgIDg0LCAgNjUsIAorICAgICA4MiwgIDgyLCAgNjUsICA4OSwgIDczLCAgNzgsIAor
ICAgICA2OCwgIDY5LCAgODgsICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAgNzksICA3
OSwgIDgyLCAgNjgsIAorICAgICAgMCwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0
NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAw
LCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUs
ICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAg
ICA4MywgIDcyLCAgNjgsICA4MiwgMjA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwg
ICAwLCAgIDAsIAorICAgICA1MSwgICAwLCAgIDAsICAgMCwgIDg4LCAgNDAsIAorICAgICAgMCwg
ICA0LCAgIDAsIDExMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDY4LCAg
NjgsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAwLCAgIDMsIAorICAgIDExNCwgIDE2LCAg
MTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDEsICAgMCwgICAwLCAgIDMsIAor
ICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDQsICAg
MCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDYxLCAgMTYsIAorICAgICAg
MCwgICA3LCAyNDIsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAx
LCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2
LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgODYsICAgMCwgICAwLCAgIDUs
IAorICAgIDExNCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAs
ICAgMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU2LCAgIDAsIAorICAg
ICAgMCwgICA3LCAxMTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDcwLCAgIDIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwg
IDE4LCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjcsICAgMCwgICAwLCAg
IDUsIAorICAgIDExNCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
NzAsICAgMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAor
ICAgICAgMCwgICA1LCAxMzAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA0
NSwgICAwLCAgIDAsICAgNywgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICA3MCwgIDE0LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDYyLCAgIDAs
IAorICAgICAgMCwgICAxLCAgODMsICA4NCwgIDY1LCAgODQsIAorICAgIDExNiwgICAwLCAgIDAs
ICAgMCwgICA3LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAy
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWYyZGFycmF5cHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3Jl
bmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWYyZGFycmF5cHMuaAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIv
ZDNkMTEvc2hhZGVycy9jb21waWxlZC9zd2l6emxlZjJkYXJyYXlwcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjc5IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQg
KFIpIEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8v
IEJ1ZmZlciBEZWZpbml0aW9uczogCisvLworLy8gY2J1ZmZlciBTd2l6emxlUHJvcGVydGllcwor
Ly8geworLy8KKy8vICAgdWludDQgU3dpenpsZUluZGljZXM7ICAgICAgICAgICAgICAvLyBPZmZz
ZXQ6ICAgIDAgU2l6ZTogICAgMTYKKy8vCisvLyB9CisvLworLy8KKy8vIFJlc291cmNlIEJpbmRp
bmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBG
b3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisv
LyBTYW1wbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlciAgICAgIE5BICAgICAg
ICAgIE5BICAgIDAgICAgICAgIDEKKy8vIFRleHR1cmVGMkRBcnJheSAgICAgICAgICAgICAgICAg
ICB0ZXh0dXJlICBmbG9hdDQgICAgIDJkYXJyYXkgICAgMCAgICAgICAgMQorLy8gU3dpenpsZVBy
b3BlcnRpZXMgICAgICAgICAgICAgICAgIGNidWZmZXIgICAgICBOQSAgICAgICAgICBOQSAgICAw
ICAgICAgICAxCisvLworLy8KKy8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAg
ICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBV
c2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0t
LS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAg
ICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAorLy8gU1ZfUkVOREVSVEFSR0VUQVJSQVlJ
TkRFWCAgICAgMCAgIHggICAgICAgICAgIDEgIFJUSU5ERVggICAgdWludCAgIHggICAKKy8vIFRF
WENPT1JEICAgICAgICAgICAgICAgICAwICAgeHl6ICAgICAgICAgMiAgICAgTk9ORSAgIGZsb2F0
ICAgeHkgIAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAg
ICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAor
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0t
LS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAgIHh5encgICAgICAg
IDAgICBUQVJHRVQgICBmbG9hdCAgIHh5encKKy8vCitwc180XzAKK2RjbF9jb25zdGFudGJ1ZmZl
ciBjYjBbMV0sIGltbWVkaWF0ZUluZGV4ZWQKK2RjbF9zYW1wbGVyIHMwLCBtb2RlX2RlZmF1bHQK
K2RjbF9yZXNvdXJjZV90ZXh0dXJlMmRhcnJheSAoZmxvYXQsZmxvYXQsZmxvYXQsZmxvYXQpIHQw
CitkY2xfaW5wdXRfcHNfc2l2IGNvbnN0YW50IHYxLngsIHJlbmRlcnRhcmdldF9hcnJheV9pbmRl
eAorZGNsX2lucHV0X3BzIGxpbmVhciB2Mi54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVt
cHMgMQorZGNsX2luZGV4YWJsZVRlbXAgeDBbNl0sIDQKK3V0b2YgcjAueiwgdjEueAorbW92IHIw
Lnh5LCB2Mi54eXh4CitzYW1wbGUgcjAueHl6dywgcjAueHl6eCwgdDAueHl6dywgczAKK21vdiB4
MFswXS54LCByMC54Cittb3YgeDBbMV0ueCwgcjAueQorbW92IHgwWzJdLngsIHIwLnoKK21vdiB4
MFszXS54LCByMC53Cittb3YgeDBbNF0ueCwgbCgwKQorbW92IHgwWzVdLngsIGwoMS4wMDAwMDAp
Cittb3YgcjAueCwgY2IwWzBdLngKK21vdiBvMC54LCB4MFtyMC54ICsgMF0ueAorbW92IHIwLngs
IGNiMFswXS55Cittb3YgbzAueSwgeDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0uegor
bW92IG8wLnosIHgwW3IwLnggKyAwXS54Cittb3YgcjAueCwgY2IwWzBdLncKK21vdiBvMC53LCB4
MFtyMC54ICsgMF0ueAorcmV0IAorLy8gQXBwcm94aW1hdGVseSAxOCBpbnN0cnVjdGlvbiBzbG90
cyB1c2VkCisjZW5kaWYKKworY29uc3QgQllURSBnX1BTX1N3aXp6bGVGMkRBcnJheVtdID0KK3sK
KyAgICAgNjgsICA4OCwgIDY2LCAgNjcsIDE2MSwgMTEyLCAKKyAgICAxNzYsIDEzMSwgMjE2LCAy
NDYsICAyNywgIDY1LCAKKyAgICAgMzksIDI0NiwgIDcyLCAxNjEsIDIzMSwgIDgxLCAKKyAgICAy
MjksIDE0MywgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAyMDQsICAgNCwgICAwLCAgIDAsICAg
NSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAxMDQsICAg
MSwgICAwLCAgIDAsIDI0MCwgICAxLCAKKyAgICAgIDAsICAgMCwgIDM2LCAgIDIsICAgMCwgICAw
LCAKKyAgICAgODAsICAgNCwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3MCwgIDQ0
LCAgIDEsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsIDE2OCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAwLCAgIDAs
ICAgMCwgICA0LCAKKyAgICAyNTUsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAgICAyNDgs
ICAgMCwgICAwLCAgIDAsIDEyNCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAxMzIsICAgMCwgICAwLCAg
IDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA1LCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDUsICAgMCwgICAwLCAgIDAsIDI1NSwgMjU1LCAKKyAgICAyNTUsIDI1NSwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAxMywgICAwLCAKKyAgICAgIDAsICAg
MCwgMTQ4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDEsICAgMCwgICAwLCAgIDAsICA4MywgIDk3LCAKKyAgICAxMDksIDExMiwgMTA4LCAxMDEs
IDExNCwgICAwLCAKKyAgICAgODQsIDEwMSwgMTIwLCAxMTYsIDExNywgMTE0LCAKKyAgICAxMDEs
ICA3MCwgIDUwLCAgNjgsICA2NSwgMTE0LCAKKyAgICAxMTQsICA5NywgMTIxLCAgIDAsICA4Mywg
MTE5LCAKKyAgICAxMDUsIDEyMiwgMTIyLCAxMDgsIDEwMSwgIDgwLCAKKyAgICAxMTQsIDExMSwg
MTEyLCAxMDEsIDExNCwgMTE2LCAKKyAgICAxMDUsIDEwMSwgMTE1LCAgIDAsIDE3MSwgMTcxLCAK
KyAgICAxNDgsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgMTkyLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAyMTYsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDIsICAg
MCwgICAwLCAgIDAsIDIzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgODMsIDExOSwgMTA1LCAxMjIsIDEyMiwgMTA4LCAKKyAgICAxMDEsICA3MywgMTEw
LCAxMDAsIDEwNSwgIDk5LCAKKyAgICAxMDEsIDExNSwgICAwLCAxNzEsICAgMSwgICAwLCAKKyAg
ICAgMTksICAgMCwgICAxLCAgIDAsICAgNCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDc3LCAxMDUsICA5OSwgMTE0LCAKKyAgICAxMTEs
IDExNSwgMTExLCAxMDIsIDExNiwgIDMyLCAKKyAgICAgNDAsICA4MiwgIDQxLCAgMzIsICA3Miwg
IDc2LCAKKyAgICAgODMsICA3NiwgIDMyLCAgODMsIDEwNCwgIDk3LCAKKyAgICAxMDAsIDEwMSwg
MTE0LCAgMzIsICA2NywgMTExLCAKKyAgICAxMDksIDExMiwgMTA1LCAxMDgsIDEwMSwgMTE0LCAK
KyAgICAgMzIsICA1NywgIDQ2LCAgNTEsICA0OCwgIDQ2LCAKKyAgICAgNTcsICA1MCwgIDQ4LCAg
NDgsICA0NiwgIDQ5LCAKKyAgICAgNTQsICA1MSwgIDU2LCAgNTIsICAgMCwgMTcxLCAKKyAgICAg
NzMsICA4MywgIDcxLCAgNzgsIDEyOCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDgsICAgMCwgICAwLCAgIDAsICA4MCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMywgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTUsICAgMCwgICAw
LCAgIDAsICA5MiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDQsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDEsICAgMSwgICAwLCAgIDAsIDExOCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMywg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDcsICAgMywg
ICAwLCAgIDAsICA4MywgIDg2LCAKKyAgICAgOTUsICA4MCwgIDc5LCAgODMsICA3MywgIDg0LCAK
KyAgICAgNzMsICA3OSwgIDc4LCAgIDAsICA4MywgIDg2LCAKKyAgICAgOTUsICA4MiwgIDY5LCAg
NzgsICA2OCwgIDY5LCAKKyAgICAgODIsICA4NCwgIDY1LCAgODIsICA3MSwgIDY5LCAKKyAgICAg
ODQsICA2NSwgIDgyLCAgODIsICA2NSwgIDg5LCAKKyAgICAgNzMsICA3OCwgIDY4LCAgNjksICA4
OCwgICAwLCAKKyAgICAgODQsICA2OSwgIDg4LCAgNjcsICA3OSwgIDc5LCAKKyAgICAgODIsICA2
OCwgICAwLCAxNzEsICA3OSwgIDgzLCAKKyAgICAgNzEsICA3OCwgIDQ0LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgOCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDMy
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAxNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAgODYsICA5NSwgIDg0LCAKKyAgICAgNjUs
ICA4MiwgIDcxLCAgNjksICA4NCwgICAwLCAKKyAgICAxNzEsIDE3MSwgIDgzLCAgNzIsICA2OCwg
IDgyLCAKKyAgICAgMzYsICAgMiwgICAwLCAgIDAsICA2NCwgICAwLCAKKyAgICAgIDAsICAgMCwg
MTM3LCAgIDAsICAgMCwgICAwLCAKKyAgICAgODksICAgMCwgICAwLCAgIDQsICA3MCwgMTQyLCAK
KyAgICAgMzIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAg
IDAsICA5MCwgICAwLCAKKyAgICAgIDAsICAgMywgICAwLCAgOTYsICAxNiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICA4OCwgIDY0LCAKKyAgICAgIDAsICAgNCwgICAwLCAxMTIsICAx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA4NSwgIDg1LCAKKyAgICAgIDAsICAg
MCwgMTAwLCAgIDgsICAgMCwgICA0LCAKKyAgICAgMTgsICAxNiwgIDE2LCAgIDAsICAgMSwgICAw
LCAKKyAgICAgIDAsICAgMCwgICA0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgOTgsICAxNiwgICAw
LCAgIDMsICA1MCwgIDE2LCAKKyAgICAgMTYsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAxMDEsICAgMCwgICAwLCAgIDMsIDI0MiwgIDMyLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAxMDQsICAgMCwgICAwLCAgIDIsICAgMSwgICAwLCAKKyAgICAgIDAs
ICAgMCwgMTA1LCAgIDAsICAgMCwgICA0LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgNiwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICA0LCAgIDAsICAgMCwgICAwLCAKKyAgICAgODYsICAgMCwg
ICAwLCAgIDUsICA2NiwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgMTAsICAxNiwgIDE2LCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU0LCAg
IDAsICAgMCwgICA1LCAKKyAgICAgNTAsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgIDcwLCAgMTYsICAxNiwgICAwLCAKKyAgICAgIDIsICAgMCwgICAwLCAgIDAsICA2
OSwgICAwLCAKKyAgICAgIDAsICAgOSwgMjQyLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICA3MCwgICAyLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgNzAsIDEyNiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgOTYsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAg
ICAgIDAsICAgNiwgIDE4LCAgNDgsICAzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDEwLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgNDgsICAzMiwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDI2LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAK
KyAgICAgIDAsICAgNiwgIDE4LCAgNDgsICAzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgIDQyLCAgIDAsICAxNiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgNDgsICAz
MiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMywgICAwLCAKKyAgICAgIDAsICAg
MCwgIDU4LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAw
LCAKKyAgICAgIDAsICAgNiwgIDE4LCAgNDgsICAzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgNCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgNjQsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgNDgs
ICAzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAxLCAgNjQsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTI4LCAgNjMsICA1NCwg
ICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAxMCwgMTI4LCAKKyAgICAgMzIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNywgIDE4LCAg
MzIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxMCwgIDQ4LCAKKyAgICAg
MzIsICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTAsICAgMCwgIDE2LCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU0LCAgIDAsICAgMCwgICA2LCAKKyAgICAgMTgsICAg
MCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDI2LCAxMjgsICAzMiwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU0
LCAgIDAsICAgMCwgICA3LCAKKyAgICAgMzQsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDEwLCAgNDgsICAzMiwgICA0LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAxMCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQs
ICAgMCwgICAwLCAgIDYsICAxOCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgNDIsIDEyOCwgIDMyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDcsICA2NiwgIDMyLCAK
KyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTAsICA0OCwgIDMyLCAg
IDQsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDEwLCAgIDAsICAxNiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgIDAsICAx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1OCwgMTI4LCAKKyAgICAgMzIsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAw
LCAKKyAgICAgIDAsICAgNywgMTMwLCAgMzIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAxMCwgIDQ4LCAKKyAgICAgMzIsICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgMTAsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDYyLCAgIDAs
ICAgMCwgICAxLCAKKyAgICAgODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKKyAgICAgIDAs
ICAgMCwgIDE4LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDYsICAgMCwgICAwLCAgIDAsICAxMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAx
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWYyZHBzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJl
ci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGVmMmRwcy5oCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFk
ZXJzL2NvbXBpbGVkL3N3aXp6bGVmMmRwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjU3
IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVy
IENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIEJ1ZmZlciBEZWZpbml0
aW9uczogCisvLworLy8gY2J1ZmZlciBTd2l6emxlUHJvcGVydGllcworLy8geworLy8KKy8vICAg
dWludDQgU3dpenpsZUluZGljZXM7ICAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgIDAgU2l6ZTog
ICAgMTYKKy8vCisvLyB9CisvLworLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5h
bWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAgICAgICBE
aW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t
LS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBTYW1wbGVyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2FtcGxlciAgICAgIE5BICAgICAgICAgIE5BICAgIDAgICAg
ICAgIDEKKy8vIFRleHR1cmVGMkQgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlICBmbG9h
dDQgICAgICAgICAgMmQgICAgMCAgICAgICAgMQorLy8gU3dpenpsZVByb3BlcnRpZXMgICAgICAg
ICAgICAgICAgIGNidWZmZXIgICAgICBOQSAgICAgICAgICBOQSAgICAwICAgICAgICAxCisvLwor
Ly8KKy8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAg
SW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0t
LS0KKy8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBP
UyAgIGZsb2F0ICAgICAgIAorLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4eSAgICAg
ICAgICAxICAgICBOT05FICAgZmxvYXQgICB4eSAgCisvLworLy8KKy8vIE91dHB1dCBzaWduYXR1
cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5
c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0t
LS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1RBUkdFVCAgICAgICAg
ICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgIFRBUkdFVCAgIGZsb2F0ICAgeHl6dworLy8KK3Bz
XzRfMAorZGNsX2NvbnN0YW50YnVmZmVyIGNiMFsxXSwgaW1tZWRpYXRlSW5kZXhlZAorZGNsX3Nh
bXBsZXIgczAsIG1vZGVfZGVmYXVsdAorZGNsX3Jlc291cmNlX3RleHR1cmUyZCAoZmxvYXQsZmxv
YXQsZmxvYXQsZmxvYXQpIHQwCitkY2xfaW5wdXRfcHMgbGluZWFyIHYxLnh5CitkY2xfb3V0cHV0
IG8wLnh5encKK2RjbF90ZW1wcyAxCitkY2xfaW5kZXhhYmxlVGVtcCB4MFs2XSwgNAorc2FtcGxl
IHIwLnh5encsIHYxLnh5eHgsIHQwLnh5encsIHMwCittb3YgeDBbMF0ueCwgcjAueAorbW92IHgw
WzFdLngsIHIwLnkKK21vdiB4MFsyXS54LCByMC56Cittb3YgeDBbM10ueCwgcjAudworbW92IHgw
WzRdLngsIGwoMCkKK21vdiB4MFs1XS54LCBsKDEuMDAwMDAwKQorbW92IHIwLngsIGNiMFswXS54
Cittb3YgbzAueCwgeDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0ueQorbW92IG8wLnks
IHgwW3IwLnggKyAwXS54Cittb3YgcjAueCwgY2IwWzBdLnoKK21vdiBvMC56LCB4MFtyMC54ICsg
MF0ueAorbW92IHIwLngsIGNiMFswXS53Cittb3YgbzAudywgeDBbcjAueCArIDBdLngKK3JldCAK
Ky8vIEFwcHJveGltYXRlbHkgMTYgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2Nv
bnN0IEJZVEUgZ19QU19Td2l6emxlRjJEW10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2Nywg
MTYyLCAxNTEsIAorICAgICA4MiwgIDEyLCAgMjIsIDIxNCwgMTQzLCAyMTYsIAorICAgICA1Nywg
IDg0LCAgMTIsICA3NiwgMTA5LCAxMjAsIAorICAgIDE2MiwgMjAxLCAgIDEsICAgMCwgICAwLCAg
IDAsIAorICAgICA5NiwgICA0LCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAg
NTIsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMCwgICAxLCAgIDAsICAgMCwgMTg4LCAgIDEsIAor
ICAgICAgMCwgICAwLCAyNDAsICAgMSwgICAwLCAgIDAsIAorICAgIDIyOCwgICAzLCAgIDAsICAg
MCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgNDAsICAgMSwgICAwLCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgMTY0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAw
LCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1
LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgIDI0NCwgICAwLCAgIDAsICAgMCwgMTI0LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgIDEzMiwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDUsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgMjU1LCAy
NTUsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAg
IDAsICAgMCwgIDEzLCAgIDAsIAorICAgICAgMCwgICAwLCAxNDMsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDgz
LCAgOTcsIAorICAgIDEwOSwgMTEyLCAxMDgsIDEwMSwgMTE0LCAgIDAsIAorICAgICA4NCwgMTAx
LCAxMjAsIDExNiwgMTE3LCAxMTQsIAorICAgIDEwMSwgIDcwLCAgNTAsICA2OCwgICAwLCAgODMs
IAorICAgIDExOSwgMTA1LCAxMjIsIDEyMiwgMTA4LCAxMDEsIAorICAgICA4MCwgMTE0LCAxMTEs
IDExMiwgMTAxLCAxMTQsIAorICAgIDExNiwgMTA1LCAxMDEsIDExNSwgICAwLCAxNzEsIAorICAg
IDE3MSwgMTcxLCAxNDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwg
MTg4LCAgIDAsIAorICAgICAgMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAyMTIsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDIsICAgMCwgICAwLCAgIDAsIAorICAgIDIyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgODMsIDExOSwgMTA1LCAxMjIsIAorICAgIDEyMiwgMTA4LCAxMDEsICA3
MywgMTEwLCAxMDAsIAorICAgIDEwNSwgIDk5LCAxMDEsIDExNSwgICAwLCAxNzEsIAorICAgICAg
MSwgICAwLCAgMTksICAgMCwgICAxLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDc3LCAxMDUsIAorICAgICA5OSwgMTE0
LCAxMTEsIDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4MiwgIDQxLCAgMzIs
IAorICAgICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwgIDk3LCAxMDAs
IDEwMSwgMTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIAorICAg
IDEwMSwgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAgNTcsICA1MCwg
IDQ4LCAgNDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAorICAgICAgMCwg
MTcxLCAgNzMsICA4MywgIDcxLCAgNzgsIAorICAgICA4MCwgICAwLCAgIDAsICAgMCwgICAyLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICA1NiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAg
MCwgICAwLCAgIDAsIAorICAgICA2OCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMywgICAwLCAgIDAsIAorICAgICA4MywgIDg2
LCAgOTUsICA4MCwgIDc5LCAgODMsIAorICAgICA3MywgIDg0LCAgNzMsICA3OSwgIDc4LCAgIDAs
IAorICAgICA4NCwgIDY5LCAgODgsICA2NywgIDc5LCAgNzksIAorICAgICA4MiwgIDY4LCAgIDAs
IDE3MSwgMTcxLCAxNzEsIAorICAgICA3OSwgIDgzLCAgNzEsICA3OCwgIDQ0LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAwLCAgIDAsICAgMCwg
IDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAxNSwgICAwLCAgIDAsICAgMCwgIDgzLCAgODYsIAorICAgICA5NSwgIDg0LCAg
NjUsICA4MiwgIDcxLCAgNjksIAorICAgICA4NCwgICAwLCAxNzEsIDE3MSwgIDgzLCAgNzIsIAor
ICAgICA2OCwgIDgyLCAyMzYsICAgMSwgICAwLCAgIDAsIAorICAgICA2NCwgICAwLCAgIDAsICAg
MCwgMTIzLCAgIDAsIAorICAgICAgMCwgICAwLCAgODksICAgMCwgICAwLCAgIDQsIAorICAgICA3
MCwgMTQyLCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICA5MCwgICAwLCAgIDAsICAgMywgICAwLCAgOTYsIAorICAgICAxNiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA4OCwgIDI0LCAgIDAsICAgNCwgICAwLCAxMTIs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA4NSwgIDg1LCAgIDAs
ICAgMCwgIDk4LCAgMTYsIAorICAgICAgMCwgICAzLCAgNTAsICAxNiwgIDE2LCAgIDAsIAorICAg
ICAgMSwgICAwLCAgIDAsICAgMCwgMTAxLCAgIDAsIAorICAgICAgMCwgICAzLCAyNDIsICAzMiwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTA0LCAgIDAsIAorICAgICAgMCwg
ICAyLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDEwNSwgICAwLCAgIDAsICAgNCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDYsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAg
IDAsICAgMCwgIDY5LCAgIDAsIAorICAgICAgMCwgICA5LCAyNDIsICAgMCwgIDE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgMTYsIAorICAgICAxNiwgICAwLCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgICA3MCwgMTI2LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICA5NiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0
LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgs
ICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgMjYsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgNDIsICAgMCwgIDE2LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAg
MTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAzLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNTgsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICA2NCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2
LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA1LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDEsICA2NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxMjgs
ICA2MywgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICAgMCwgIDE2LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAxMjgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwg
ICA3LCAgMTgsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAg
NDgsIAorICAgICAzMiwgICA0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAg
MTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDYsIAor
ICAgICAxOCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMjYsIDEy
OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDcsIAorICAgICAzNCwgIDMyLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICA0OCwgIDMyLCAgIDQsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgIDEwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICA0MiwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNywg
IDY2LCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwg
IDQ4LCAgMzIsICAgNCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAg
MTgsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU4LCAxMjgsIAor
ICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA3LCAxMzAsICAzMiwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDEwLCAgNDgsIAorICAgICAzMiwgICA0LCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAxMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0LCAgNjUsICA4NCwgMTE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNiwgICAwLCAgIDAsICAgMCwgIDEwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgNSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9zd2l6emxl
ZjNkcHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWYzZHBzLmgJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVy
L2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWYzZHBzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNjYgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikg
SExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8gQnVm
ZmVyIERlZmluaXRpb25zOiAKKy8vCisvLyBjYnVmZmVyIFN3aXp6bGVQcm9wZXJ0aWVzCisvLyB7
CisvLworLy8gICB1aW50NCBTd2l6emxlSW5kaWNlczsgICAgICAgICAgICAgIC8vIE9mZnNldDog
ICAgMCBTaXplOiAgICAxNgorLy8KKy8vIH0KKy8vCisvLworLy8gUmVzb3VyY2UgQmluZGluZ3M6
CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1h
dCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8vIFNh
bXBsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVyICAgICAgTkEgICAgICAgICAg
TkEgICAgMCAgICAgICAgMQorLy8gVGV4dHVyZUYzRCAgICAgICAgICAgICAgICAgICAgICAgIHRl
eHR1cmUgIGZsb2F0NCAgICAgICAgICAzZCAgICAwICAgICAgICAxCisvLyBTd2l6emxlUHJvcGVy
dGllcyAgICAgICAgICAgICAgICAgY2J1ZmZlciAgICAgIE5BICAgICAgICAgIE5BICAgIDAgICAg
ICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAg
ICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQK
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAt
LS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJT04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAg
ICAwICAgICAgUE9TICAgZmxvYXQgICAgICAgCisvLyBTVl9SRU5ERVJUQVJHRVRBUlJBWUlOREVY
ICAgICAwICAgeCAgICAgICAgICAgMSAgUlRJTkRFWCAgICB1aW50ICAgICAgIAorLy8gVEVYQ09P
UkQgICAgICAgICAgICAgICAgIDAgICB4eXogICAgICAgICAyICAgICBOT05FICAgZmxvYXQgICB4
eXogCisvLworLy8KKy8vIE91dHB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAg
ICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0t
LSAtLS0tLS0KKy8vIFNWX1RBUkdFVCAgICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAg
IFRBUkdFVCAgIGZsb2F0ICAgeHl6dworLy8KK3BzXzRfMAorZGNsX2NvbnN0YW50YnVmZmVyIGNi
MFsxXSwgaW1tZWRpYXRlSW5kZXhlZAorZGNsX3NhbXBsZXIgczAsIG1vZGVfZGVmYXVsdAorZGNs
X3Jlc291cmNlX3RleHR1cmUzZCAoZmxvYXQsZmxvYXQsZmxvYXQsZmxvYXQpIHQwCitkY2xfaW5w
dXRfcHMgbGluZWFyIHYyLnh5egorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorZGNs
X2luZGV4YWJsZVRlbXAgeDBbNl0sIDQKK3NhbXBsZSByMC54eXp3LCB2Mi54eXp4LCB0MC54eXp3
LCBzMAorbW92IHgwWzBdLngsIHIwLngKK21vdiB4MFsxXS54LCByMC55Cittb3YgeDBbMl0ueCwg
cjAuegorbW92IHgwWzNdLngsIHIwLncKK21vdiB4MFs0XS54LCBsKDApCittb3YgeDBbNV0ueCwg
bCgxLjAwMDAwMCkKK21vdiByMC54LCBjYjBbMF0ueAorbW92IG8wLngsIHgwW3IwLnggKyAwXS54
Cittb3YgcjAueCwgY2IwWzBdLnkKK21vdiBvMC55LCB4MFtyMC54ICsgMF0ueAorbW92IHIwLngs
IGNiMFswXS56Cittb3YgbzAueiwgeDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0udwor
bW92IG8wLncsIHgwW3IwLnggKyAwXS54CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDE2IGluc3Ry
dWN0aW9uIHNsb3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfU3dpenpsZUYzRFtd
ID0KK3sKKyAgICAgNjgsICA4OCwgIDY2LCAgNjcsIDExMiwgIDIzLCAKKyAgICAgMzksIDIxOSwg
MTQxLCAgMTAsIDE3MCwgIDIyLCAKKyAgICAxNjUsIDIwNCwgMTIzLCAxNDksIDI0OCwgIDg0LCAK
KyAgICAxODQsIDExNywgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAxNDQsICAgNCwgICAwLCAg
IDAsICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDUyLCAgIDAsICAgMCwgICAwLCAKKyAgICAx
MDAsICAgMSwgICAwLCAgIDAsIDIzNiwgICAxLCAKKyAgICAgIDAsICAgMCwgIDMyLCAgIDIsICAg
MCwgICAwLCAKKyAgICAgMjAsICAgNCwgICAwLCAgIDAsICA4MiwgIDY4LCAKKyAgICAgNjksICA3
MCwgIDQwLCAgIDEsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsIDE2NCwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMjgsICAgMCwgICAw
LCAgIDAsICAgMCwgICA0LCAKKyAgICAyNTUsIDI1NSwgICAwLCAgIDEsICAgMCwgICAwLCAKKyAg
ICAyNDQsICAgMCwgICAwLCAgIDAsIDEyNCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAzLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAxMzIsICAgMCwg
ICAwLCAgIDAsICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA1LCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDgsICAgMCwgICAwLCAgIDAsIDI1NSwgMjU1LCAKKyAgICAyNTUsIDI1NSwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAxMywgICAwLCAKKyAgICAg
IDAsICAgMCwgMTQzLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICA4MywgIDk3LCAKKyAgICAxMDksIDExMiwgMTA4
LCAxMDEsIDExNCwgICAwLCAKKyAgICAgODQsIDEwMSwgMTIwLCAxMTYsIDExNywgMTE0LCAKKyAg
ICAxMDEsICA3MCwgIDUxLCAgNjgsICAgMCwgIDgzLCAKKyAgICAxMTksIDEwNSwgMTIyLCAxMjIs
IDEwOCwgMTAxLCAKKyAgICAgODAsIDExNCwgMTExLCAxMTIsIDEwMSwgMTE0LCAKKyAgICAxMTYs
IDEwNSwgMTAxLCAxMTUsICAgMCwgMTcxLCAKKyAgICAxNzEsIDE3MSwgMTQzLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsIDE4OCwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgMjEyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAy
MjgsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDgzLCAxMTksIDEw
NSwgMTIyLCAKKyAgICAxMjIsIDEwOCwgMTAxLCAgNzMsIDExMCwgMTAwLCAKKyAgICAxMDUsICA5
OSwgMTAxLCAxMTUsICAgMCwgMTcxLCAKKyAgICAgIDEsICAgMCwgIDE5LCAgIDAsICAgMSwgICAw
LCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICA3NywgMTA1LCAKKyAgICAgOTksIDExNCwgMTExLCAxMTUsIDExMSwgMTAyLCAKKyAg
ICAxMTYsICAzMiwgIDQwLCAgODIsICA0MSwgIDMyLCAKKyAgICAgNzIsICA3NiwgIDgzLCAgNzYs
ICAzMiwgIDgzLCAKKyAgICAxMDQsICA5NywgMTAwLCAxMDEsIDExNCwgIDMyLCAKKyAgICAgNjcs
IDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAKKyAgICAxMDEsIDExNCwgIDMyLCAgNTcsICA0Niwg
IDUxLCAKKyAgICAgNDgsICA0NiwgIDU3LCAgNTAsICA0OCwgIDQ4LCAKKyAgICAgNDYsICA0OSwg
IDU0LCAgNTEsICA1NiwgIDUyLCAKKyAgICAgIDAsIDE3MSwgIDczLCAgODMsICA3MSwgIDc4LCAK
KyAgICAxMjgsICAgMCwgICAwLCAgIDAsICAgMywgICAwLCAKKyAgICAgIDAsICAgMCwgICA4LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgODAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE1LCAgIDAsICAgMCwgICAwLCAKKyAgICAgOTIsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICA0LCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAx
LCAgIDAsICAgMCwgICAwLCAKKyAgICAxMTgsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDMsICAgMCwgICAwLCAgIDAs
ICAgMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICA3LCAgIDcsICAgMCwgICAwLCAKKyAgICAgODMs
ICA4NiwgIDk1LCAgODAsICA3OSwgIDgzLCAKKyAgICAgNzMsICA4NCwgIDczLCAgNzksICA3OCwg
ICAwLCAKKyAgICAgODMsICA4NiwgIDk1LCAgODIsICA2OSwgIDc4LCAKKyAgICAgNjgsICA2OSwg
IDgyLCAgODQsICA2NSwgIDgyLCAKKyAgICAgNzEsICA2OSwgIDg0LCAgNjUsICA4MiwgIDgyLCAK
KyAgICAgNjUsICA4OSwgIDczLCAgNzgsICA2OCwgIDY5LCAKKyAgICAgODgsICAgMCwgIDg0LCAg
NjksICA4OCwgIDY3LCAKKyAgICAgNzksICA3OSwgIDgyLCAgNjgsICAgMCwgMTcxLCAKKyAgICAg
NzksICA4MywgIDcxLCAgNzgsICA0NCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDgsICAgMCwgICAwLCAgIDAsICAzMiwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMywgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTUsICAgMCwgICAw
LCAgIDAsICA4MywgIDg2LCAKKyAgICAgOTUsICA4NCwgIDY1LCAgODIsICA3MSwgIDY5LCAKKyAg
ICAgODQsICAgMCwgMTcxLCAxNzEsICA4MywgIDcyLCAKKyAgICAgNjgsICA4MiwgMjM2LCAgIDEs
ICAgMCwgICAwLCAKKyAgICAgNjQsICAgMCwgICAwLCAgIDAsIDEyMywgICAwLCAKKyAgICAgIDAs
ICAgMCwgIDg5LCAgIDAsICAgMCwgICA0LCAKKyAgICAgNzAsIDE0MiwgIDMyLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgIDAsICAgMCwgICAwLCAKKyAgICAgOTAsICAgMCwg
ICAwLCAgIDMsICAgMCwgIDk2LCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgODgsICA0MCwgICAwLCAgIDQsICAgMCwgMTEyLCAKKyAgICAgMTYsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAKKyAgICAgODUsICA4NSwgICAwLCAgIDAsICA5OCwgIDE2LCAKKyAgICAg
IDAsICAgMywgMTE0LCAgMTYsICAxNiwgICAwLCAKKyAgICAgIDIsICAgMCwgICAwLCAgIDAsIDEw
MSwgICAwLCAKKyAgICAgIDAsICAgMywgMjQyLCAgMzIsICAxNiwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsIDEwNCwgICAwLCAKKyAgICAgIDAsICAgMiwgICAxLCAgIDAsICAgMCwgICAw
LCAKKyAgICAxMDUsICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICA2
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDQsICAgMCwgICAwLCAgIDAsICA2OSwgICAwLCAKKyAg
ICAgIDAsICAgOSwgMjQyLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICA3MCwgIDE4LCAKKyAgICAgMTYsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNzAs
IDEyNiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgOTYsICAxNiwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwg
IDE4LCAgNDgsICAzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgIDEwLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgNDgsICAzMiwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAgICAgIDAsICAgMCwgIDI2LCAgIDAsICAx
NiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAg
NiwgIDE4LCAgNDgsICAzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMiwgICAw
LCAKKyAgICAgIDAsICAgMCwgIDQyLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgNDgsICAzMiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMywgICAwLCAKKyAgICAgIDAsICAgMCwgIDU4LCAgIDAs
ICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAs
ICAgNiwgIDE4LCAgNDgsICAzMiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAgNjQsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgNDgsICAzMiwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgNSwgICAwLCAKKyAgICAgIDAsICAgMCwgICAxLCAg
NjQsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgMTI4LCAgNjMsICA1NCwgICAwLCAKKyAgICAg
IDAsICAgNiwgIDE4LCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAx
MCwgMTI4LCAKKyAgICAgMzIsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAg
MCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNywgIDE4LCAgMzIsICAxNiwgICAw
LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxMCwgIDQ4LCAKKyAgICAgMzIsICAgNCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTAsICAgMCwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAg
ICAgIDAsICAgMCwgIDU0LCAgIDAsICAgMCwgICA2LCAKKyAgICAgMTgsICAgMCwgIDE2LCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDI2LCAxMjgsICAzMiwgICAwLCAKKyAgICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDU0LCAgIDAsICAgMCwg
ICA3LCAKKyAgICAgMzQsICAzMiwgIDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
IDEwLCAgNDgsICAzMiwgICA0LCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxMCwgICAwLCAK
KyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAg
IDYsICAxOCwgICAwLCAKKyAgICAgMTYsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
NDIsIDEyOCwgIDMyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgNTQsICAgMCwgICAwLCAgIDcsICA2NiwgIDMyLCAKKyAgICAgMTYsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTAsICA0OCwgIDMyLCAgIDQsICAgMCwgICAw
LCAKKyAgICAgIDAsICAgMCwgIDEwLCAgIDAsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAsICAgNiwgIDE4LCAgIDAsICAxNiwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICA1OCwgMTI4LCAKKyAgICAgMzIsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICA1NCwgICAwLCAKKyAgICAgIDAs
ICAgNywgMTMwLCAgMzIsICAxNiwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAxMCwg
IDQ4LCAKKyAgICAgMzIsICAgNCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgMTAsICAgMCwg
IDE2LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgIDYyLCAgIDAsICAgMCwgICAxLCAK
KyAgICAgODMsICA4NCwgIDY1LCAgODQsIDExNiwgICAwLCAKKyAgICAgIDAsICAgMCwgIDE2LCAg
IDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAg
IDAsICAgMCwgICAyLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDEsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAKKyAgICAgIDYsICAgMCwgICAwLCAgIDAsICAxMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAwLCAKKyAg
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDUs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAK
KyAgICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAKKyAgICAgIDAsICAgMCwgICAwLCAg
IDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRl
cmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWkyZGFycmF5cHMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDEx
L3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZWkyZGFycmF5cHMuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVy
cy9jb21waWxlZC9zd2l6emxlaTJkYXJyYXlwcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
Mjg3IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hh
ZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIEJ1ZmZlciBEZWZp
bml0aW9uczogCisvLworLy8gY2J1ZmZlciBTd2l6emxlUHJvcGVydGllcworLy8geworLy8KKy8v
ICAgdWludDQgU3dpenpsZUluZGljZXM7ICAgICAgICAgICAgICAvLyBPZmZzZXQ6ICAgIDAgU2l6
ZTogICAgMTYKKy8vCisvLyB9CisvLworLy8KKy8vIFJlc291cmNlIEJpbmRpbmdzOgorLy8KKy8v
IE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3JtYXQgICAgICAg
ICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0t
LS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBUZXh0dXJlSTJE
QXJyYXkgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAgIHNpbnQ0ICAgICAyZGFycmF5ICAgIDAg
ICAgICAgIDEKKy8vIFN3aXp6bGVQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICBjYnVmZmVyICAg
ICAgTkEgICAgICAgICAgTkEgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8gSW5wdXQgc2ln
bmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3Rl
ciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0g
LS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9QT1NJVElPTiAg
ICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAgICAgICAKKy8v
IFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAgICB4ICAgICAgICAgICAxICBSVElOREVY
ICAgIHVpbnQgICB4ICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5eiAgICAg
ICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVy
ZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lz
VmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0t
LSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAg
ICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3CisvLworcHNf
NF8wCitkY2xfY29uc3RhbnRidWZmZXIgY2IwWzFdLCBpbW1lZGlhdGVJbmRleGVkCitkY2xfcmVz
b3VyY2VfdGV4dHVyZTJkYXJyYXkgKHNpbnQsc2ludCxzaW50LHNpbnQpIHQwCitkY2xfaW5wdXRf
cHNfc2l2IGNvbnN0YW50IHYxLngsIHJlbmRlcnRhcmdldF9hcnJheV9pbmRleAorZGNsX2lucHV0
X3BzIGxpbmVhciB2Mi54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorZGNsX2lu
ZGV4YWJsZVRlbXAgeDBbNl0sIDQKK3Jlc2luZm9fdWludCByMC54eXp3LCBsKDApLCB0MC54eXp3
Cit1dG9mIHIwLnh5LCByMC54eXh4CittdWwgcjAueHksIHIwLnh5eHgsIHYyLnh5eHgKK2Z0b2kg
cjAueHksIHIwLnh5eHgKK21vdiByMC56LCB2MS54Cittb3YgcjAudywgbCgwKQorbGQgcjAueHl6
dywgcjAueHl6dywgdDAueHl6dworbW92IHgwWzBdLngsIHIwLngKK21vdiB4MFsxXS54LCByMC55
Cittb3YgeDBbMl0ueCwgcjAuegorbW92IHgwWzNdLngsIHIwLncKK21vdiB4MFs0XS54LCBsKDAp
Cittb3YgeDBbNV0ueCwgbCgxKQorbW92IHIwLngsIGNiMFswXS54Cittb3YgbzAueCwgeDBbcjAu
eCArIDBdLngKK21vdiByMC54LCBjYjBbMF0ueQorbW92IG8wLnksIHgwW3IwLnggKyAwXS54Citt
b3YgcjAueCwgY2IwWzBdLnoKK21vdiBvMC56LCB4MFtyMC54ICsgMF0ueAorbW92IHIwLngsIGNi
MFswXS53Cittb3YgbzAudywgeDBbcjAueCArIDBdLngKK3JldCAKKy8vIEFwcHJveGltYXRlbHkg
MjIgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19QU19Td2l6
emxlSTJEQXJyYXlbXSA9Cit7CisgICAgIDY4LCAgODgsICA2NiwgIDY3LCAgNzUsICA3NiwgCisg
ICAgICA0LCAyMDAsIDE3OSwgMTkyLCAxNDgsIDE0MiwgCisgICAgMTkxLCAgNDEsIDIwOSwgMTQx
LCAxMjIsIDIwMywgCisgICAgMTg0LCAgNzQsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMjQw
LCAgIDQsICAgMCwgICAwLCAgIDUsICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDY0LCAgIDEsICAgMCwgICAwLCAyMDAsICAgMSwgCisgICAgICAwLCAgIDAs
IDI1MiwgICAxLCAgIDAsICAgMCwgCisgICAgMTE2LCAgIDQsICAgMCwgICAwLCAgODIsICA2OCwg
CisgICAgIDY5LCAgNzAsICAgNCwgICAxLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwg
ICAwLCAxMjgsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAg
IDI4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAg
IDAsICAgMCwgCisgICAgMjA4LCAgIDAsICAgMCwgICAwLCAgOTIsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDUsICAg
MCwgCisgICAgICAwLCAgIDAsIDI1NSwgMjU1LCAyNTUsIDI1NSwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAxMywgICAwLCAgIDAsICAgMCwgCisg
ICAgMTA4LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEs
ICAgMCwgCisgICAgICAwLCAgIDAsICA4NCwgMTAxLCAxMjAsIDExNiwgCisgICAgMTE3LCAxMTQs
IDEwMSwgIDczLCAgNTAsICA2OCwgCisgICAgIDY1LCAxMTQsIDExNCwgIDk3LCAxMjEsICAgMCwg
CisgICAgIDgzLCAxMTksIDEwNSwgMTIyLCAxMjIsIDEwOCwgCisgICAgMTAxLCAgODAsIDExNCwg
MTExLCAxMTIsIDEwMSwgCisgICAgMTE0LCAxMTYsIDEwNSwgMTAxLCAxMTUsICAgMCwgCisgICAg
MTcxLCAxNzEsIDEwOCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAx
NTIsICAgMCwgCisgICAgICAwLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsIDE3NiwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MiwgICAwLCAgIDAsICAgMCwgCisgICAgMTkyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICA4MywgMTE5LCAxMDUsIDEyMiwgCisgICAgMTIyLCAxMDgsIDEwMSwgIDcz
LCAxMTAsIDEwMCwgCisgICAgMTA1LCAgOTksIDEwMSwgMTE1LCAgIDAsIDE3MSwgCisgICAgICAx
LCAgIDAsICAxOSwgICAwLCAgIDEsICAgMCwgCisgICAgICA0LCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzcsIDEwNSwgCisgICAgIDk5LCAxMTQs
IDExMSwgMTE1LCAxMTEsIDEwMiwgCisgICAgMTE2LCAgMzIsICA0MCwgIDgyLCAgNDEsICAzMiwg
CisgICAgIDcyLCAgNzYsICA4MywgIDc2LCAgMzIsICA4MywgCisgICAgMTA0LCAgOTcsIDEwMCwg
MTAxLCAxMTQsICAzMiwgCisgICAgIDY3LCAxMTEsIDEwOSwgMTEyLCAxMDUsIDEwOCwgCisgICAg
MTAxLCAxMTQsICAzMiwgIDU3LCAgNDYsICA1MSwgCisgICAgIDQ4LCAgNDYsICA1NywgIDUwLCAg
NDgsICA0OCwgCisgICAgIDQ2LCAgNDksICA1NCwgIDUxLCAgNTYsICA1MiwgCisgICAgICAwLCAx
NzEsICA3MywgIDgzLCAgNzEsICA3OCwgCisgICAgMTI4LCAgIDAsICAgMCwgICAwLCAgIDMsICAg
MCwgCisgICAgICAwLCAgIDAsICAgOCwgICAwLCAgIDAsICAgMCwgCisgICAgIDgwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxNSwgICAw
LCAgIDAsICAgMCwgCisgICAgIDkyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgNCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAxLCAgIDAsICAgMCwgCisgICAgMTE4LCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgNywg
ICAzLCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYsICA5NSwgIDgwLCAgNzksICA4MywgCisgICAg
IDczLCAgODQsICA3MywgIDc5LCAgNzgsICAgMCwgCisgICAgIDgzLCAgODYsICA5NSwgIDgyLCAg
NjksICA3OCwgCisgICAgIDY4LCAgNjksICA4MiwgIDg0LCAgNjUsICA4MiwgCisgICAgIDcxLCAg
NjksICA4NCwgIDY1LCAgODIsICA4MiwgCisgICAgIDY1LCAgODksICA3MywgIDc4LCAgNjgsICA2
OSwgCisgICAgIDg4LCAgIDAsICA4NCwgIDY5LCAgODgsICA2NywgCisgICAgIDc5LCAgNzksICA4
MiwgIDY4LCAgIDAsIDE3MSwgCisgICAgIDc5LCAgODMsICA3MSwgIDc4LCAgNDQsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICA4LCAgIDAsICAgMCwgICAw
LCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDE1LCAgIDAsICAgMCwgICAwLCAgODMsICA4NiwgCisgICAgIDk1LCAgODQs
ICA2NSwgIDgyLCAgNzEsICA2OSwgCisgICAgIDg0LCAgIDAsIDE3MSwgMTcxLCAgODMsICA3Miwg
CisgICAgIDY4LCAgODIsIDExMiwgICAyLCAgIDAsICAgMCwgCisgICAgIDY0LCAgIDAsICAgMCwg
ICAwLCAxNTYsICAgMCwgCisgICAgICAwLCAgIDAsICA4OSwgICAwLCAgIDAsICAgNCwgCisgICAg
IDcwLCAxNDIsICAzMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAg
IDAsICAgMCwgCisgICAgIDg4LCAgNjQsICAgMCwgICA0LCAgIDAsIDExMiwgCisgICAgIDE2LCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDUxLCAgNTEsICAgMCwgICAwLCAxMDAsICAg
OCwgCisgICAgICAwLCAgIDQsICAxOCwgIDE2LCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAg
MCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICA5OCwgIDE2LCAgIDAsICAgMywgCisg
ICAgIDUwLCAgMTYsICAxNiwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsIDEwMSwgICAw
LCAgIDAsICAgMywgCisgICAgMjQyLCAgMzIsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsIDEwNCwgICAwLCAgIDAsICAgMiwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAxMDUs
ICAgMCwgCisgICAgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICA2LCAgIDAs
ICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICA2MSwgIDE2LCAgIDAsICAgNywg
CisgICAgMjQyLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwg
IDY0LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsIDEyNiwgCisgICAg
IDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDg2LCAgIDAsICAgMCwgICA1LCAg
NTAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAg
IDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA1NiwgICAwLCAgIDAsICAg
NywgCisgICAgIDUwLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3
MCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAxNiwgCisg
ICAgIDE2LCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgIDI3LCAgIDAsICAgMCwgICA1
LCAgNTAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDcw
LCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAs
ICAgNSwgCisgICAgIDY2LCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAxMCwgIDE2LCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwg
CisgICAgICAwLCAgIDUsIDEzMCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDEsICA2NCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
IDQ1LCAgIDAsICAgMCwgICA3LCAyNDIsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgIDcwLCAgMTQsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICA3MCwgMTI2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAg
MCwgCisgICAgICAwLCAgIDYsICAxOCwgIDQ4LCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxMCwgICAwLCAgMTYsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwgIDQ4
LCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAw
LCAgIDAsICAyNiwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQs
ICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwgIDQ4LCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICA0MiwgICAwLCAgMTYsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwg
IDQ4LCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMCwgCisgICAg
ICAwLCAgIDAsICA1OCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
NTQsICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwgIDQ4LCAgMzIsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgIDY0LCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsICAx
OCwgIDQ4LCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDUsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMSwgIDY0LCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAw
LCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwgICAwLCAgMTYsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgMTAsIDEyOCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDcs
ICAxOCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTAsICA0OCwg
CisgICAgIDMyLCAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDEwLCAgIDAsICAxNiwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNiwgCisgICAg
IDE4LCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAyNiwgMTI4LCAg
MzIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICA1NCwgICAwLCAgIDAsICAgNywgCisgICAgIDM0LCAgMzIsICAxNiwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAxMCwgIDQ4LCAgMzIsICAgNCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgMTAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgIDU0LCAgIDAsICAgMCwgICA2LCAgMTgsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgIDQyLCAxMjgsICAzMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA3LCAgNjYs
ICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDEwLCAgNDgs
ICAzMiwgICA0LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxMCwgICAwLCAgMTYsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwg
ICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTgsIDEyOCwgCisgICAg
IDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
NTQsICAgMCwgCisgICAgICAwLCAgIDcsIDEzMCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgMTAsICA0OCwgCisgICAgIDMyLCAgIDQsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgIDEwLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA2
MiwgICAwLCAgIDAsICAgMSwgCisgICAgIDgzLCAgODQsICA2NSwgIDg0LCAxMTYsICAgMCwgCisg
ICAgICAwLCAgIDAsICAyMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAx
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICA2LCAgIDAsICAgMCwgICAwLCAgMTAsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgICA3LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwCit9OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGVpMmRw
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
cmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9zd2l6emxlaTJkcHMuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNk
MTEvc2hhZGVycy9jb21waWxlZC9zd2l6emxlaTJkcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI3MSBAQAorI2lmIDAKKy8vCisvLyBHZW5lcmF0ZWQgYnkgTWljcm9zb2Z0IChSKSBITFNM
IFNoYWRlciBDb21waWxlciA5LjMwLjkyMDAuMTYzODQKKy8vCisvLworLy8vCisvLyBCdWZmZXIg
RGVmaW5pdGlvbnM6IAorLy8KKy8vIGNidWZmZXIgU3dpenpsZVByb3BlcnRpZXMKKy8vIHsKKy8v
CisvLyAgIHVpbnQ0IFN3aXp6bGVJbmRpY2VzOyAgICAgICAgICAgICAgLy8gT2Zmc2V0OiAgICAw
IFNpemU6ICAgIDE2CisvLworLy8gfQorLy8KKy8vCisvLyBSZXNvdXJjZSBCaW5kaW5nczoKKy8v
CisvLyBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgRm9ybWF0ICAg
ICAgICAgRGltIFNsb3QgRWxlbWVudHMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSAtLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLSAtLS0tLS0tLQorLy8gVGV4dHVy
ZUkyRCAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmUgICBzaW50NCAgICAgICAgICAyZCAg
ICAwICAgICAgICAxCisvLyBTd2l6emxlUHJvcGVydGllcyAgICAgICAgICAgICAgICAgY2J1ZmZl
ciAgICAgIE5BICAgICAgICAgIE5BICAgIDAgICAgICAgIDEKKy8vCisvLworLy8KKy8vIElucHV0
IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVn
aXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0t
LS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfUE9TSVRJ
T04gICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgICAgUE9TICAgZmxvYXQgICAgICAg
CisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAgIHh5ICAgICAgICAgIDEgICAgIE5PTkUg
ICBmbG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1l
ICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAg
IFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0t
LS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3
ICAgICAgICAwICAgVEFSR0VUICAgICBpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfY29uc3Rh
bnRidWZmZXIgY2IwWzFdLCBpbW1lZGlhdGVJbmRleGVkCitkY2xfcmVzb3VyY2VfdGV4dHVyZTJk
IChzaW50LHNpbnQsc2ludCxzaW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2MS54eQorZGNs
X291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorZGNsX2luZGV4YWJsZVRlbXAgeDBbNl0sIDQK
K3Jlc2luZm9fdWludCByMC54eXp3LCBsKDApLCB0MC54eXp3Cit1dG9mIHIwLnh5LCByMC54eXh4
CittdWwgcjAueHksIHIwLnh5eHgsIHYxLnh5eHgKK2Z0b2kgcjAueHksIHIwLnh5eHgKK21vdiBy
MC56dywgbCgwLDAsMCwwKQorbGQgcjAueHl6dywgcjAueHl6dywgdDAueHl6dworbW92IHgwWzBd
LngsIHIwLngKK21vdiB4MFsxXS54LCByMC55Cittb3YgeDBbMl0ueCwgcjAuegorbW92IHgwWzNd
LngsIHIwLncKK21vdiB4MFs0XS54LCBsKDApCittb3YgeDBbNV0ueCwgbCgxKQorbW92IHIwLngs
IGNiMFswXS54Cittb3YgbzAueCwgeDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0ueQor
bW92IG8wLnksIHgwW3IwLnggKyAwXS54Cittb3YgcjAueCwgY2IwWzBdLnoKK21vdiBvMC56LCB4
MFtyMC54ICsgMF0ueAorbW92IHIwLngsIGNiMFswXS53Cittb3YgbzAudywgeDBbcjAueCArIDBd
LngKK3JldCAKKy8vIEFwcHJveGltYXRlbHkgMjEgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2Vu
ZGlmCisKK2NvbnN0IEJZVEUgZ19QU19Td2l6emxlSTJEW10gPQoreworICAgICA2OCwgIDg4LCAg
NjYsICA2NywgMTM3LCAgODksIAorICAgIDIxMCwgMTQyLCAxNDEsICAgNywgIDE0LCAxOTQsIAor
ICAgIDExMSwgIDcxLCAgMjMsIDE2NywgMjMyLCAxNjYsIAorICAgIDE1NCwgIDU5LCAgIDEsICAg
MCwgICAwLCAgIDAsIAorICAgIDE2NCwgICA0LCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgICA2MCwgICAxLCAgIDAsICAgMCwgMTQ4
LCAgIDEsIAorICAgICAgMCwgICAwLCAyMDAsICAgMSwgICAwLCAgIDAsIAorICAgICA0MCwgICA0
LCAgIDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgIDAsICAgMSwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgMTI0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIs
ICAgMCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAg
IDI1NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgIDIwNCwgICAwLCAgIDAsICAgMCwg
IDkyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywg
ICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1LCAy
NTUsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
MTMsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgODQsIDEwMSwgMTIw
LCAxMTYsIAorICAgIDExNywgMTE0LCAxMDEsICA3MywgIDUwLCAgNjgsIAorICAgICAgMCwgIDgz
LCAxMTksIDEwNSwgMTIyLCAxMjIsIAorICAgIDEwOCwgMTAxLCAgODAsIDExNCwgMTExLCAxMTIs
IAorICAgIDEwMSwgMTE0LCAxMTYsIDEwNSwgMTAxLCAxMTUsIAorICAgICAgMCwgMTcxLCAxNzEs
IDE3MSwgMTAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAg
IDE0OCwgICAwLCAgIDAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTcyLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAyLCAg
IDAsIAorICAgICAgMCwgICAwLCAxODgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDgzLCAxMTksIAorICAgIDEwNSwgMTIyLCAxMjIsIDEwOCwgMTAxLCAgNzMsIAor
ICAgIDExMCwgMTAwLCAxMDUsICA5OSwgMTAxLCAxMTUsIAorICAgICAgMCwgMTcxLCAgIDEsICAg
MCwgIDE5LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3NywgMTA1LCAgOTksIDExNCwgMTEx
LCAxMTUsIAorICAgIDExMSwgMTAyLCAxMTYsICAzMiwgIDQwLCAgODIsIAorICAgICA0MSwgIDMy
LCAgNzIsICA3NiwgIDgzLCAgNzYsIAorICAgICAzMiwgIDgzLCAxMDQsICA5NywgMTAwLCAxMDEs
IAorICAgIDExNCwgIDMyLCAgNjcsIDExMSwgMTA5LCAxMTIsIAorICAgIDEwNSwgMTA4LCAxMDEs
IDExNCwgIDMyLCAgNTcsIAorICAgICA0NiwgIDUxLCAgNDgsICA0NiwgIDU3LCAgNTAsIAorICAg
ICA0OCwgIDQ4LCAgNDYsICA0OSwgIDU0LCAgNTEsIAorICAgICA1NiwgIDUyLCAgIDAsIDE3MSwg
IDczLCAgODMsIAorICAgICA3MSwgIDc4LCAgODAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwg
ICAwLCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTYsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgICAzLCAgIDMsIAorICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1
LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAgICA3OCwgICAw
LCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3OSwgIDc5LCAgODIsICA2OCwgICAwLCAxNzEs
IAorICAgIDE3MSwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAg
ICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAg
ODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAg
NjgsICA4MiwgIDg4LCAgIDIsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAor
ICAgIDE1MCwgICAwLCAgIDAsICAgMCwgIDg5LCAgIDAsIAorICAgICAgMCwgICA0LCAgNzAsIDE0
MiwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgODgsICAyNCwgICAwLCAgIDQsIAorICAgICAgMCwgMTEyLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTEsICA1MSwgICAwLCAgIDAsIAorICAgICA5OCwgIDE2
LCAgIDAsICAgMywgIDUwLCAgMTYsIAorICAgICAxNiwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAs
IAorICAgIDEwMSwgICAwLCAgIDAsICAgMywgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgIDEwNCwgICAwLCAgIDAsICAgMiwgICAxLCAgIDAsIAorICAg
ICAgMCwgICAwLCAxMDUsICAgMCwgICAwLCAgIDQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICA2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICA2MSwg
IDE2LCAgIDAsICAgNywgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
NzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg2LCAgIDAsIAor
ICAgICAgMCwgICA1LCAgNTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDcwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1
NiwgICAwLCAgIDAsICAgNywgIDUwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICA3MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNzAsICAxNiwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDI3LCAgIDAs
IAorICAgICAgMCwgICA1LCAgNTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDcwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICA1NCwgICAwLCAgIDAsICAgOCwgMTk0LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMiwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgNDUsICAgMCwgICAwLCAgIDcsIAorICAgIDI0MiwgICAwLCAg
MTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxNCwgIDE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAxMjYsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAz
MiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEw
LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAw
LCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDI2LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAg
ICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwg
IDQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwg
ICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgIDU4LCAgIDAsIAorICAgICAxNiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAor
ICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAg
MCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1
NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgNSwgICAwLCAgIDAsICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgIDAs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgMTI4LCAgMzIs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICA1NCwgICAwLCAgIDAsICAgNywgIDE4LCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAxMCwgIDQ4LCAgMzIsICAgNCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAg
IDAsIAorICAgICAgMCwgICA2LCAgMTgsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDI2LCAxMjgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA3LCAgMzQsICAz
MiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgNDgsIAorICAgICAz
MiwgICA0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDYsIAorICAgICAxOCwgICAw
LCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNDIsIDEyOCwgIDMyLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQs
ICAgMCwgICAwLCAgIDcsIAorICAgICA2NiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgMTAsICA0OCwgIDMyLCAgIDQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDEwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwg
ICAwLCAgIDAsICAgNiwgIDE4LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICA1OCwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNywgMTMwLCAgMzIsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgIDQ4LCAgMzIsICAg
NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDYyLCAgIDAsIAorICAgICAgMCwgICAxLCAgODMsICA4NCwgIDY1
LCAgODQsIAorICAgIDExNiwgICAwLCAgIDAsICAgMCwgIDIxLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDYsICAgMCwg
ICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDYsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDExL3NoYWRlcnMv
Y29tcGlsZWQvc3dpenpsZWkzZHBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6
bGVpM2Rwcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGVpM2Rwcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjc4IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBi
eSBNaWNyb3NvZnQgKFIpIEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8K
Ky8vCisvLy8KKy8vIEJ1ZmZlciBEZWZpbml0aW9uczogCisvLworLy8gY2J1ZmZlciBTd2l6emxl
UHJvcGVydGllcworLy8geworLy8KKy8vICAgdWludDQgU3dpenpsZUluZGljZXM7ICAgICAgICAg
ICAgICAvLyBPZmZzZXQ6ICAgIDAgU2l6ZTogICAgMTYKKy8vCisvLyB9CisvLworLy8KKy8vIFJl
c291cmNlIEJpbmRpbmdzOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBUeXBlICBGb3JtYXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0t
IC0tLS0tLS0tCisvLyBUZXh0dXJlSTNEICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHVyZSAg
IHNpbnQ0ICAgICAgICAgIDNkICAgIDAgICAgICAgIDEKKy8vIFN3aXp6bGVQcm9wZXJ0aWVzICAg
ICAgICAgICAgICAgICBjYnVmZmVyICAgICAgTkEgICAgICAgICAgTkEgICAgMCAgICAgICAgMQor
Ly8KKy8vCisvLworLy8gSW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAg
ICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0g
LS0tLS0tCisvLyBTVl9QT1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAg
ICBQT1MgICBmbG9hdCAgICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAg
ICB4ICAgICAgICAgICAxICBSVElOREVYICAgIHVpbnQgICAgICAgCisvLyBURVhDT09SRCAgICAg
ICAgICAgICAgICAgMCAgIHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5eiAKKy8v
CisvLworLy8gT3V0cHV0IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJ
bmRleCAgIE1hc2sgUmVnaXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tIC0tLS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0t
LQorLy8gU1ZfVEFSR0VUICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VU
ICAgICBpbnQgICB4eXp3CisvLworcHNfNF8wCitkY2xfY29uc3RhbnRidWZmZXIgY2IwWzFdLCBp
bW1lZGlhdGVJbmRleGVkCitkY2xfcmVzb3VyY2VfdGV4dHVyZTNkIChzaW50LHNpbnQsc2ludCxz
aW50KSB0MAorZGNsX2lucHV0X3BzIGxpbmVhciB2Mi54eXoKK2RjbF9vdXRwdXQgbzAueHl6dwor
ZGNsX3RlbXBzIDEKK2RjbF9pbmRleGFibGVUZW1wIHgwWzZdLCA0CityZXNpbmZvX3VpbnQgcjAu
eHl6dywgbCgwKSwgdDAueHl6dwordXRvZiByMC54eXosIHIwLnh5engKK211bCByMC54eXosIHIw
Lnh5engsIHYyLnh5engKK2Z0b2kgcjAueHl6LCByMC54eXp4Cittb3YgcjAudywgbCgwKQorbGQg
cjAueHl6dywgcjAueHl6dywgdDAueHl6dworbW92IHgwWzBdLngsIHIwLngKK21vdiB4MFsxXS54
LCByMC55Cittb3YgeDBbMl0ueCwgcjAuegorbW92IHgwWzNdLngsIHIwLncKK21vdiB4MFs0XS54
LCBsKDApCittb3YgeDBbNV0ueCwgbCgxKQorbW92IHIwLngsIGNiMFswXS54Cittb3YgbzAueCwg
eDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0ueQorbW92IG8wLnksIHgwW3IwLnggKyAw
XS54Cittb3YgcjAueCwgY2IwWzBdLnoKK21vdiBvMC56LCB4MFtyMC54ICsgMF0ueAorbW92IHIw
LngsIGNiMFswXS53Cittb3YgbzAudywgeDBbcjAueCArIDBdLngKK3JldCAKKy8vIEFwcHJveGlt
YXRlbHkgMjEgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUgZ19Q
U19Td2l6emxlSTNEW10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMTAxLCAgNDEsIAor
ICAgIDE5NCwgMjI5LCAxMDMsIDE3NSwgMjA0LCAxMDIsIAorICAgIDE5MiwgIDQzLCAyMDAsIDE2
MSwgMTE3LCAxMTQsIAorICAgICAxOSwgMjUyLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDIw
MCwgICA0LCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIsICAgMCwgICAw
LCAgIDAsIAorICAgICA2MCwgICAxLCAgIDAsICAgMCwgMTk2LCAgIDEsIAorICAgICAgMCwgICAw
LCAyNDgsICAgMSwgICAwLCAgIDAsIAorICAgICA3NiwgICA0LCAgIDAsICAgMCwgIDgyLCAgNjgs
IAorICAgICA2OSwgIDcwLCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgMTI0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAg
ICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAgIDAsICAgMSwg
ICAwLCAgIDAsIAorICAgIDIwNCwgICAwLCAgIDAsICAgMCwgIDkyLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA4LCAg
IDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAwLCAgIDAsIAor
ICAgIDEwMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAgODQsIDEwMSwgMTIwLCAxMTYsIAorICAgIDExNywgMTE0
LCAxMDEsICA3MywgIDUxLCAgNjgsIAorICAgICAgMCwgIDgzLCAxMTksIDEwNSwgMTIyLCAxMjIs
IAorICAgIDEwOCwgMTAxLCAgODAsIDExNCwgMTExLCAxMTIsIAorICAgIDEwMSwgMTE0LCAxMTYs
IDEwNSwgMTAxLCAxMTUsIAorICAgICAgMCwgMTcxLCAxNzEsIDE3MSwgMTAzLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDE0OCwgICAwLCAgIDAsICAgMCwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgMTcyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAx
ODgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDgzLCAxMTksIAor
ICAgIDEwNSwgMTIyLCAxMjIsIDEwOCwgMTAxLCAgNzMsIAorICAgIDExMCwgMTAwLCAxMDUsICA5
OSwgMTAxLCAxMTUsIAorICAgICAgMCwgMTcxLCAgIDEsICAgMCwgIDE5LCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICA3NywgMTA1LCAgOTksIDExNCwgMTExLCAxMTUsIAorICAgIDExMSwgMTAy
LCAxMTYsICAzMiwgIDQwLCAgODIsIAorICAgICA0MSwgIDMyLCAgNzIsICA3NiwgIDgzLCAgNzYs
IAorICAgICAzMiwgIDgzLCAxMDQsICA5NywgMTAwLCAxMDEsIAorICAgIDExNCwgIDMyLCAgNjcs
IDExMSwgMTA5LCAxMTIsIAorICAgIDEwNSwgMTA4LCAxMDEsIDExNCwgIDMyLCAgNTcsIAorICAg
ICA0NiwgIDUxLCAgNDgsICA0NiwgIDU3LCAgNTAsIAorICAgICA0OCwgIDQ4LCAgNDYsICA0OSwg
IDU0LCAgNTEsIAorICAgICA1NiwgIDUyLCAgIDAsIDE3MSwgIDczLCAgODMsIAorICAgICA3MSwg
IDc4LCAxMjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICA4LCAg
IDAsIAorICAgICAgMCwgICAwLCAgODAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAgICAgMCwgICAwLCAgOTIsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAx
LCAgIDAsIAorICAgICAgMCwgICAwLCAxMTgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA3LCAgIDcsIAorICAgICAgMCwgICAwLCAgODMs
ICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4NCwgIDczLCAgNzksIAorICAg
ICA3OCwgICAwLCAgODMsICA4NiwgIDk1LCAgODIsIAorICAgICA2OSwgIDc4LCAgNjgsICA2OSwg
IDgyLCAgODQsIAorICAgICA2NSwgIDgyLCAgNzEsICA2OSwgIDg0LCAgNjUsIAorICAgICA4Miwg
IDgyLCAgNjUsICA4OSwgIDczLCAgNzgsIAorICAgICA2OCwgIDY5LCAgODgsICAgMCwgIDg0LCAg
NjksIAorICAgICA4OCwgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgsIAorICAgICAgMCwgMTcxLCAg
NzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICAzMiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTUsICAgMCwgICAw
LCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAgODIsIAorICAgICA3MSwgIDY5
LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAgNjgsICA4MiwgIDc2LCAgIDIs
IAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAorICAgIDE0NywgICAwLCAgIDAs
ICAgMCwgIDg5LCAgIDAsIAorICAgICAgMCwgICA0LCAgNzAsIDE0MiwgIDMyLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgODgsICA0MCwg
ICAwLCAgIDQsIAorICAgICAgMCwgMTEyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNTEsICA1MSwgICAwLCAgIDAsIAorICAgICA5OCwgIDE2LCAgIDAsICAgMywgMTE0LCAg
MTYsIAorICAgICAxNiwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgIDEwMSwgICAwLCAg
IDAsICAgMywgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgIDEwNCwgICAwLCAgIDAsICAgMiwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMDUsICAg
MCwgICAwLCAgIDQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICA2MSwgIDE2LCAgIDAsICAgNywgMjQy
LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgIDY0
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg2LCAgIDAsIAorICAgICAgMCwgICA1LCAxMTQs
ICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDIsIAorICAg
ICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NiwgICAwLCAgIDAsICAgNywg
MTE0LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwg
ICAyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxOCwgIDE2LCAg
IDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgIDI3LCAgIDAsIAorICAgICAgMCwgICA1LCAx
MTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAgIDIsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAg
NSwgMTMwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNDUsICAgMCwgICAw
LCAgIDcsIAorICAgIDI0MiwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNzAsICAxNCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAxMjYs
IAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAs
ICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgIDI2LCAg
IDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAg
IDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMiwgICAwLCAgIDAsICAgMCwgIDQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAz
MiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgIDU4
LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAw
LCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAg
ICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNSwgICAwLCAgIDAsICAgMCwg
ICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwg
ICAwLCAgIDAsICAgNiwgIDE4LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAxMCwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNywgIDE4LCAgMzIsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgIDQ4LCAgMzIsICAg
NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICAgMCwgIDE2
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDI2LCAxMjgsIAorICAgICAzMiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAs
IAorICAgICAgMCwgICA3LCAgMzQsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDEwLCAgNDgsIAorICAgICAzMiwgICA0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAxMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQsICAgMCwg
ICAwLCAgIDYsIAorICAgICAxOCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNDIsIDEyOCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDcsIAorICAgICA2NiwgIDMyLCAg
MTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICA0OCwgIDMyLCAgIDQsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgIDAsIAorICAgICAx
NiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1OCwgMTI4LCAgMzIsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAw
LCAgIDAsICAgNywgMTMwLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAxMCwgIDQ4LCAgMzIsICAgNCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAs
ICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDYyLCAgIDAsIAorICAg
ICAgMCwgICAxLCAgODMsICA4NCwgIDY1LCAgODQsIAorICAgIDExNiwgICAwLCAgIDAsICAgMCwg
IDIxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDYsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3Yy
L3JlbmRlcmVyL2QzZDExL3NoYWRlcnMvY29tcGlsZWQvc3dpenpsZXVpMmRhcnJheXBzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJl
ci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGV1aTJkYXJyYXlwcy5oCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2Qx
MS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGV1aTJkYXJyYXlwcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjg3IEBACisjaWYgMAorLy8KKy8vIEdlbmVyYXRlZCBieSBNaWNyb3NvZnQgKFIp
IEhMU0wgU2hhZGVyIENvbXBpbGVyIDkuMzAuOTIwMC4xNjM4NAorLy8KKy8vCisvLy8KKy8vIEJ1
ZmZlciBEZWZpbml0aW9uczogCisvLworLy8gY2J1ZmZlciBTd2l6emxlUHJvcGVydGllcworLy8g
eworLy8KKy8vICAgdWludDQgU3dpenpsZUluZGljZXM7ICAgICAgICAgICAgICAvLyBPZmZzZXQ6
ICAgIDAgU2l6ZTogICAgMTYKKy8vCisvLyB9CisvLworLy8KKy8vIFJlc291cmNlIEJpbmRpbmdz
OgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICBGb3Jt
YXQgICAgICAgICBEaW0gU2xvdCBFbGVtZW50cworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tIC0tLS0tLS0tCisvLyBU
ZXh0dXJlVUkyREFycmF5ICAgICAgICAgICAgICAgICAgdGV4dHVyZSAgIHVpbnQ0ICAgICAyZGFy
cmF5ICAgIDAgICAgICAgIDEKKy8vIFN3aXp6bGVQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICBj
YnVmZmVyICAgICAgTkEgICAgICAgICAgTkEgICAgMCAgICAgICAgMQorLy8KKy8vCisvLworLy8g
SW5wdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUgICAgICAgICAgICAgICAgIEluZGV4ICAgTWFz
ayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAgVXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9Q
T1NJVElPTiAgICAgICAgICAgICAgMCAgIHh5encgICAgICAgIDAgICAgICBQT1MgICBmbG9hdCAg
ICAgICAKKy8vIFNWX1JFTkRFUlRBUkdFVEFSUkFZSU5ERVggICAgIDAgICB4ICAgICAgICAgICAx
ICBSVElOREVYICAgIHVpbnQgICB4ICAgCisvLyBURVhDT09SRCAgICAgICAgICAgICAgICAgMCAg
IHh5eiAgICAgICAgIDIgICAgIE5PTkUgICBmbG9hdCAgIHh5ICAKKy8vCisvLworLy8gT3V0cHV0
IHNpZ25hdHVyZToKKy8vCisvLyBOYW1lICAgICAgICAgICAgICAgICBJbmRleCAgIE1hc2sgUmVn
aXN0ZXIgU3lzVmFsdWUgIEZvcm1hdCAgIFVzZWQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0t
LS0tIC0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tIC0tLS0tLQorLy8gU1ZfVEFSR0VU
ICAgICAgICAgICAgICAgIDAgICB4eXp3ICAgICAgICAwICAgVEFSR0VUICAgIHVpbnQgICB4eXp3
CisvLworcHNfNF8wCitkY2xfY29uc3RhbnRidWZmZXIgY2IwWzFdLCBpbW1lZGlhdGVJbmRleGVk
CitkY2xfcmVzb3VyY2VfdGV4dHVyZTJkYXJyYXkgKHVpbnQsdWludCx1aW50LHVpbnQpIHQwCitk
Y2xfaW5wdXRfcHNfc2l2IGNvbnN0YW50IHYxLngsIHJlbmRlcnRhcmdldF9hcnJheV9pbmRleAor
ZGNsX2lucHV0X3BzIGxpbmVhciB2Mi54eQorZGNsX291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMg
MQorZGNsX2luZGV4YWJsZVRlbXAgeDBbNl0sIDQKK3Jlc2luZm9fdWludCByMC54eXp3LCBsKDAp
LCB0MC54eXp3Cit1dG9mIHIwLnh5LCByMC54eXh4CittdWwgcjAueHksIHIwLnh5eHgsIHYyLnh5
eHgKK2Z0b2kgcjAueHksIHIwLnh5eHgKK21vdiByMC56LCB2MS54Cittb3YgcjAudywgbCgwKQor
bGQgcjAueHl6dywgcjAueHl6dywgdDAueHl6dworbW92IHgwWzBdLngsIHIwLngKK21vdiB4MFsx
XS54LCByMC55Cittb3YgeDBbMl0ueCwgcjAuegorbW92IHgwWzNdLngsIHIwLncKK21vdiB4MFs0
XS54LCBsKDApCittb3YgeDBbNV0ueCwgbCgxKQorbW92IHIwLngsIGNiMFswXS54Cittb3YgbzAu
eCwgeDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0ueQorbW92IG8wLnksIHgwW3IwLngg
KyAwXS54Cittb3YgcjAueCwgY2IwWzBdLnoKK21vdiBvMC56LCB4MFtyMC54ICsgMF0ueAorbW92
IHIwLngsIGNiMFswXS53Cittb3YgbzAudywgeDBbcjAueCArIDBdLngKK3JldCAKKy8vIEFwcHJv
eGltYXRlbHkgMjIgaW5zdHJ1Y3Rpb24gc2xvdHMgdXNlZAorI2VuZGlmCisKK2NvbnN0IEJZVEUg
Z19QU19Td2l6emxlVUkyREFycmF5W10gPQoreworICAgICA2OCwgIDg4LCAgNjYsICA2NywgMjM5
LCAxMTcsIAorICAgIDIyMSwgIDY0LCAyMzgsIDE0NywgMTMwLCAgMTUsIAorICAgICAzOSwgIDQ4
LCAxNzEsIDE0MywgIDY2LCAgNzEsIAorICAgIDI0MiwgIDcwLCAgIDEsICAgMCwgICAwLCAgIDAs
IAorICAgIDI0MCwgICA0LCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAgNTIs
ICAgMCwgICAwLCAgIDAsIAorICAgICA2NCwgICAxLCAgIDAsICAgMCwgMjAwLCAgIDEsIAorICAg
ICAgMCwgICAwLCAyNTIsICAgMSwgICAwLCAgIDAsIAorICAgIDExNiwgICA0LCAgIDAsICAgMCwg
IDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgIDQsICAgMSwgICAwLCAgIDAsIAorICAgICAgMSwg
ICAwLCAgIDAsICAgMCwgMTI4LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAg
IDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1NSwgMjU1LCAg
IDAsICAgMSwgICAwLCAgIDAsIAorICAgIDIwOCwgICAwLCAgIDAsICAgMCwgIDkyLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAg
MCwgICA1LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTMsICAgMCwgICAw
LCAgIDAsIAorICAgIDEwOSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgODQsIDEwMSwgMTIwLCAxMTYsIAorICAg
IDExNywgMTE0LCAxMDEsICA4NSwgIDczLCAgNTAsIAorICAgICA2OCwgIDY1LCAxMTQsIDExNCwg
IDk3LCAxMjEsIAorICAgICAgMCwgIDgzLCAxMTksIDEwNSwgMTIyLCAxMjIsIAorICAgIDEwOCwg
MTAxLCAgODAsIDExNCwgMTExLCAxMTIsIAorICAgIDEwMSwgMTE0LCAxMTYsIDEwNSwgMTAxLCAx
MTUsIAorICAgICAgMCwgMTcxLCAxMDksICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAg
IDAsICAgMCwgMTUyLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAxNzYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE2LCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgIDE5MiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgODMsIDExOSwgMTA1LCAxMjIsIAorICAgIDEyMiwgMTA4
LCAxMDEsICA3MywgMTEwLCAxMDAsIAorICAgIDEwNSwgIDk5LCAxMDEsIDExNSwgICAwLCAxNzEs
IAorICAgICAgMSwgICAwLCAgMTksICAgMCwgICAxLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDc3LCAxMDUsIAorICAg
ICA5OSwgMTE0LCAxMTEsIDExNSwgMTExLCAxMDIsIAorICAgIDExNiwgIDMyLCAgNDAsICA4Miwg
IDQxLCAgMzIsIAorICAgICA3MiwgIDc2LCAgODMsICA3NiwgIDMyLCAgODMsIAorICAgIDEwNCwg
IDk3LCAxMDAsIDEwMSwgMTE0LCAgMzIsIAorICAgICA2NywgMTExLCAxMDksIDExMiwgMTA1LCAx
MDgsIAorICAgIDEwMSwgMTE0LCAgMzIsICA1NywgIDQ2LCAgNTEsIAorICAgICA0OCwgIDQ2LCAg
NTcsICA1MCwgIDQ4LCAgNDgsIAorICAgICA0NiwgIDQ5LCAgNTQsICA1MSwgIDU2LCAgNTIsIAor
ICAgICAgMCwgMTcxLCAgNzMsICA4MywgIDcxLCAgNzgsIAorICAgIDEyOCwgICAwLCAgIDAsICAg
MCwgICAzLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAgICA4
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA5MiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMSwgICAwLCAgIDAsIAorICAg
IDExOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMywgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDcsICAgMywgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4MCwgIDc5LCAg
ODMsIAorICAgICA3MywgIDg0LCAgNzMsICA3OSwgIDc4LCAgIDAsIAorICAgICA4MywgIDg2LCAg
OTUsICA4MiwgIDY5LCAgNzgsIAorICAgICA2OCwgIDY5LCAgODIsICA4NCwgIDY1LCAgODIsIAor
ICAgICA3MSwgIDY5LCAgODQsICA2NSwgIDgyLCAgODIsIAorICAgICA2NSwgIDg5LCAgNzMsICA3
OCwgIDY4LCAgNjksIAorICAgICA4OCwgICAwLCAgODQsICA2OSwgIDg4LCAgNjcsIAorICAgICA3
OSwgIDc5LCAgODIsICA2OCwgICAwLCAxNzEsIAorICAgICA3OSwgIDgzLCAgNzEsICA3OCwgIDQ0
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgOCwgICAw
LCAgIDAsICAgMCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAxNSwgICAwLCAgIDAsICAgMCwgIDgzLCAgODYsIAorICAg
ICA5NSwgIDg0LCAgNjUsICA4MiwgIDcxLCAgNjksIAorICAgICA4NCwgICAwLCAxNzEsIDE3MSwg
IDgzLCAgNzIsIAorICAgICA2OCwgIDgyLCAxMTIsICAgMiwgICAwLCAgIDAsIAorICAgICA2NCwg
ICAwLCAgIDAsICAgMCwgMTU2LCAgIDAsIAorICAgICAgMCwgICAwLCAgODksICAgMCwgICAwLCAg
IDQsIAorICAgICA3MCwgMTQyLCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDEsICAgMCwgICAwLCAgIDAsIAorICAgICA4OCwgIDY0LCAgIDAsICAgNCwgICAwLCAxMTIsIAor
ICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA2OCwgIDY4LCAgIDAsICAg
MCwgMTAwLCAgIDgsIAorICAgICAgMCwgICA0LCAgMTgsICAxNiwgIDE2LCAgIDAsIAorICAgICAg
MSwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgOTgsICAxNiwgICAw
LCAgIDMsIAorICAgICA1MCwgIDE2LCAgMTYsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAw
LCAxMDEsICAgMCwgICAwLCAgIDMsIAorICAgIDI0MiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAxMDQsICAgMCwgICAwLCAgIDIsIAorICAgICAgMSwgICAwLCAgIDAs
ICAgMCwgMTA1LCAgIDAsIAorICAgICAgMCwgICA0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgNiwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjEsICAxNiwg
ICAwLCAgIDcsIAorICAgIDI0MiwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDEsICA2NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcwLCAx
MjYsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA4NiwgICAwLCAg
IDAsICAgNSwgIDUwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA3MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTYsICAg
MCwgICAwLCAgIDcsIAorICAgICA1MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNzAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDcw
LCAgMTYsIAorICAgICAxNiwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAyNywgICAw
LCAgIDAsICAgNSwgIDUwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICA3MCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQs
ICAgMCwgICAwLCAgIDUsIAorICAgICA2NiwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgMTAsICAxNiwgIDE2LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwg
IDU0LCAgIDAsIAorICAgICAgMCwgICA1LCAxMzAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICA0NSwgICAwLCAgIDAsICAgNywgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3MCwgIDE0LCAgMTYsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2
LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAs
IAorICAgICAgMCwgICAwLCAgMjYsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgNDIsICAgMCwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwg
ICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAzLCAg
IDAsIAorICAgICAgMCwgICAwLCAgNTgsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICA2
NCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAg
MCwgICA2LCAgMTgsICA0OCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICA1
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICA2NCwgICAwLCAgIDAsIAorICAgICAgMSwgICAw
LCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA2LCAgMTgsICAgMCwgIDE2LCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAxMjgsIAorICAgICAzMiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAg
ICAgMCwgICA3LCAgMTgsICAzMiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
IDEwLCAgNDgsIAorICAgICAzMiwgICA0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwg
ICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAg
IDYsIAorICAgICAxOCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
MjYsIDEyOCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDcsIAorICAgICAzNCwgIDMyLCAgMTYsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICA0OCwgIDMyLCAgIDQsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgIDEwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgIDAsIAorICAgICAxNiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA0MiwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAs
ICAgNywgIDY2LCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAxMCwgIDQ4LCAgMzIsICAgNCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwg
ICA2LCAgMTgsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU4LCAx
MjgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA3LCAxMzAsICAzMiwgIDE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgNDgsIAorICAgICAzMiwgICA0LCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNjIsICAgMCwgICAwLCAgIDEsIAorICAgICA4MywgIDg0LCAgNjUsICA4NCwgMTE2
LCAgIDAsIAorICAgICAgMCwgICAwLCAgMjIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNiwgICAwLCAgIDAsICAgMCwg
IDEwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNywgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMAorfTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9z
d2l6emxldWkyZHBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJzL2NvbXBpbGVkL3N3aXp6bGV1aTJkcHMu
aAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
cmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9zd2l6emxldWkyZHBzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyNzEgQEAKKyNpZiAwCisvLworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jv
c29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4zMC45MjAwLjE2Mzg0CisvLworLy8KKy8v
LworLy8gQnVmZmVyIERlZmluaXRpb25zOiAKKy8vCisvLyBjYnVmZmVyIFN3aXp6bGVQcm9wZXJ0
aWVzCisvLyB7CisvLworLy8gICB1aW50NCBTd2l6emxlSW5kaWNlczsgICAgICAgICAgICAgIC8v
IE9mZnNldDogICAgMCBTaXplOiAgICAxNgorLy8KKy8vIH0KKy8vCisvLworLy8gUmVzb3VyY2Ug
QmluZGluZ3M6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5
cGUgIEZvcm1hdCAgICAgICAgIERpbSBTbG90IEVsZW1lbnRzCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0t
LS0KKy8vIFRleHR1cmVVSTJEICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlICAgdWludDQg
ICAgICAgICAgMmQgICAgMCAgICAgICAgMQorLy8gU3dpenpsZVByb3BlcnRpZXMgICAgICAgICAg
ICAgICAgIGNidWZmZXIgICAgICBOQSAgICAgICAgICBOQSAgICAwICAgICAgICAxCisvLworLy8K
Ky8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5k
ZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0K
Ky8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAgeHl6dyAgICAgICAgMCAgICAgIFBPUyAg
IGZsb2F0ICAgICAgIAorLy8gVEVYQ09PUkQgICAgICAgICAgICAgICAgIDAgICB4eSAgICAgICAg
ICAxICAgICBOT05FICAgZmxvYXQgICB4eSAgCisvLworLy8KKy8vIE91dHB1dCBzaWduYXR1cmU6
CisvLworLy8gTmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1Zh
bHVlICBGb3JtYXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0g
LS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1RBUkdFVCAgICAgICAgICAg
ICAgICAwICAgeHl6dyAgICAgICAgMCAgIFRBUkdFVCAgICB1aW50ICAgeHl6dworLy8KK3BzXzRf
MAorZGNsX2NvbnN0YW50YnVmZmVyIGNiMFsxXSwgaW1tZWRpYXRlSW5kZXhlZAorZGNsX3Jlc291
cmNlX3RleHR1cmUyZCAodWludCx1aW50LHVpbnQsdWludCkgdDAKK2RjbF9pbnB1dF9wcyBsaW5l
YXIgdjEueHkKK2RjbF9vdXRwdXQgbzAueHl6dworZGNsX3RlbXBzIDEKK2RjbF9pbmRleGFibGVU
ZW1wIHgwWzZdLCA0CityZXNpbmZvX3VpbnQgcjAueHl6dywgbCgwKSwgdDAueHl6dwordXRvZiBy
MC54eSwgcjAueHl4eAorbXVsIHIwLnh5LCByMC54eXh4LCB2MS54eXh4CitmdG9pIHIwLnh5LCBy
MC54eXh4Cittb3YgcjAuencsIGwoMCwwLDAsMCkKK2xkIHIwLnh5encsIHIwLnh5encsIHQwLnh5
encKK21vdiB4MFswXS54LCByMC54Cittb3YgeDBbMV0ueCwgcjAueQorbW92IHgwWzJdLngsIHIw
LnoKK21vdiB4MFszXS54LCByMC53Cittb3YgeDBbNF0ueCwgbCgwKQorbW92IHgwWzVdLngsIGwo
MSkKK21vdiByMC54LCBjYjBbMF0ueAorbW92IG8wLngsIHgwW3IwLnggKyAwXS54Cittb3YgcjAu
eCwgY2IwWzBdLnkKK21vdiBvMC55LCB4MFtyMC54ICsgMF0ueAorbW92IHIwLngsIGNiMFswXS56
Cittb3YgbzAueiwgeDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0udworbW92IG8wLncs
IHgwW3IwLnggKyAwXS54CityZXQgCisvLyBBcHByb3hpbWF0ZWx5IDIxIGluc3RydWN0aW9uIHNs
b3RzIHVzZWQKKyNlbmRpZgorCitjb25zdCBCWVRFIGdfUFNfU3dpenpsZVVJMkRbXSA9Cit7Cisg
ICAgIDY4LCAgODgsICA2NiwgIDY3LCAyNTUsIDE2NywgCisgICAgIDE5LCAxNTEsICA3OSwgMTM3
LCAgNjksIDIzMCwgCisgICAgMTU5LCAgMjgsIDEwNywgMjExLCAgMTMsIDE1NSwgCisgICAgMjQ5
LCAxNTEsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgMTY0LCAgIDQsICAgMCwgICAwLCAgIDUs
ICAgMCwgCisgICAgICAwLCAgIDAsICA1MiwgICAwLCAgIDAsICAgMCwgCisgICAgIDYwLCAgIDEs
ICAgMCwgICAwLCAxNDgsICAgMSwgCisgICAgICAwLCAgIDAsIDIwMCwgICAxLCAgIDAsICAgMCwg
CisgICAgIDQwLCAgIDQsICAgMCwgICAwLCAgODIsICA2OCwgCisgICAgIDY5LCAgNzAsICAgMCwg
ICAxLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAxMjQsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAgMCwgCisgICAgIDI4LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgNCwgCisgICAgMjU1LCAyNTUsICAgMCwgICAxLCAgIDAsICAgMCwgCisgICAgMjA0LCAg
IDAsICAgMCwgICAwLCAgOTIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMiwgICAwLCAgIDAsICAg
MCwgCisgICAgICA0LCAgIDAsICAgMCwgICAwLCAgIDQsICAgMCwgCisgICAgICAwLCAgIDAsIDI1
NSwgMjU1LCAyNTUsIDI1NSwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisg
ICAgICAwLCAgIDAsICAxMywgICAwLCAgIDAsICAgMCwgCisgICAgMTA0LCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAs
ICA4NCwgMTAxLCAxMjAsIDExNiwgCisgICAgMTE3LCAxMTQsIDEwMSwgIDg1LCAgNzMsICA1MCwg
CisgICAgIDY4LCAgIDAsICA4MywgMTE5LCAxMDUsIDEyMiwgCisgICAgMTIyLCAxMDgsIDEwMSwg
IDgwLCAxMTQsIDExMSwgCisgICAgMTEyLCAxMDEsIDExNCwgMTE2LCAxMDUsIDEwMSwgCisgICAg
MTE1LCAgIDAsIDE3MSwgMTcxLCAxMDQsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAg
IDAsICAgMCwgCisgICAgMTQ4LCAgIDAsICAgMCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAxNzIsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDE2LCAgIDAsICAg
MCwgICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsIDE4OCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgODMsIDExOSwgCisgICAgMTA1LCAxMjIsIDEyMiwgMTA4
LCAxMDEsICA3MywgCisgICAgMTEwLCAxMDAsIDEwNSwgIDk5LCAxMDEsIDExNSwgCisgICAgICAw
LCAxNzEsICAgMSwgICAwLCAgMTksICAgMCwgCisgICAgICAxLCAgIDAsICAgNCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDc3LCAxMDUs
ICA5OSwgMTE0LCAxMTEsIDExNSwgCisgICAgMTExLCAxMDIsIDExNiwgIDMyLCAgNDAsICA4Miwg
CisgICAgIDQxLCAgMzIsICA3MiwgIDc2LCAgODMsICA3NiwgCisgICAgIDMyLCAgODMsIDEwNCwg
IDk3LCAxMDAsIDEwMSwgCisgICAgMTE0LCAgMzIsICA2NywgMTExLCAxMDksIDExMiwgCisgICAg
MTA1LCAxMDgsIDEwMSwgMTE0LCAgMzIsICA1NywgCisgICAgIDQ2LCAgNTEsICA0OCwgIDQ2LCAg
NTcsICA1MCwgCisgICAgIDQ4LCAgNDgsICA0NiwgIDQ5LCAgNTQsICA1MSwgCisgICAgIDU2LCAg
NTIsICAgMCwgMTcxLCAgNzMsICA4MywgCisgICAgIDcxLCAgNzgsICA4MCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAyLCAgIDAsICAgMCwgICAwLCAgIDgsICAgMCwgCisgICAgICAwLCAgIDAsICA1
NiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgMTUsICAgMCwgCisgICAgICAwLCAgIDAsICA2OCwgICAwLCAgIDAsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMywgICAwLCAgIDAs
ICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDMsICAgMywgCisgICAgICAwLCAgIDAs
ICA4MywgIDg2LCAgOTUsICA4MCwgCisgICAgIDc5LCAgODMsICA3MywgIDg0LCAgNzMsICA3OSwg
CisgICAgIDc4LCAgIDAsICA4NCwgIDY5LCAgODgsICA2NywgCisgICAgIDc5LCAgNzksICA4Miwg
IDY4LCAgIDAsIDE3MSwgCisgICAgMTcxLCAxNzEsICA3OSwgIDgzLCAgNzEsICA3OCwgCisgICAg
IDQ0LCAgIDAsICAgMCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgOCwgICAwLCAg
IDAsICAgMCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAxNSwgICAwLCAgIDAsICAgMCwgCisgICAgIDgzLCAgODYsICA5
NSwgIDg0LCAgNjUsICA4MiwgCisgICAgIDcxLCAgNjksICA4NCwgICAwLCAxNzEsIDE3MSwgCisg
ICAgIDgzLCAgNzIsICA2OCwgIDgyLCAgODgsICAgMiwgCisgICAgICAwLCAgIDAsICA2NCwgICAw
LCAgIDAsICAgMCwgCisgICAgMTUwLCAgIDAsICAgMCwgICAwLCAgODksICAgMCwgCisgICAgICAw
LCAgIDQsICA3MCwgMTQyLCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDEs
ICAgMCwgCisgICAgICAwLCAgIDAsICA4OCwgIDI0LCAgIDAsICAgNCwgCisgICAgICAwLCAxMTIs
ICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA2OCwgIDY4LCAgIDAsICAgMCwg
CisgICAgIDk4LCAgMTYsICAgMCwgICAzLCAgNTAsICAxNiwgCisgICAgIDE2LCAgIDAsICAgMSwg
ICAwLCAgIDAsICAgMCwgCisgICAgMTAxLCAgIDAsICAgMCwgICAzLCAyNDIsICAzMiwgCisgICAg
IDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgMTA0LCAgIDAsICAgMCwgICAyLCAg
IDEsICAgMCwgCisgICAgICAwLCAgIDAsIDEwNSwgICAwLCAgIDAsICAgNCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgIDYsICAgMCwgCisgICAgICAwLCAgIDAsICAgNCwgICAwLCAgIDAsICAg
MCwgCisgICAgIDYxLCAgMTYsICAgMCwgICA3LCAyNDIsICAgMCwgCisgICAgIDE2LCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgNjQsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICA3MCwgMTI2LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAw
LCAgODYsICAgMCwgCisgICAgICAwLCAgIDUsICA1MCwgICAwLCAgMTYsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgNzAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDU2LCAgIDAsICAgMCwgICA3LCAgNTAsICAgMCwgCisgICAgIDE2LCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDcwLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwg
CisgICAgICAwLCAgIDAsICA3MCwgIDE2LCAgMTYsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwg
ICAwLCAgMjcsICAgMCwgCisgICAgICAwLCAgIDUsICA1MCwgICAwLCAgMTYsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgNzAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA4LCAxOTQsICAgMCwgCisgICAgIDE2LCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAgNjQsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA0NSwgICAwLCAgIDAsICAgNywgCisg
ICAgMjQyLCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA3MCwgIDE0
LCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNzAsIDEyNiwgCisgICAgIDE2
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA2LCAgMTgs
ICA0OCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgMTAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
CisgICAgIDU0LCAgIDAsICAgMCwgICA2LCAgMTgsICA0OCwgCisgICAgIDMyLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgCisgICAgICAxLCAgIDAsICAgMCwgICAwLCAgMjYsICAgMCwgCisgICAg
IDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA2LCAg
MTgsICA0OCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAyLCAg
IDAsICAgMCwgICAwLCAgNDIsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA2LCAgMTgsICA0OCwgCisgICAgIDMyLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgICAzLCAgIDAsICAgMCwgICAwLCAgNTgsICAgMCwgCisg
ICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA2
LCAgMTgsICA0OCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICA0
LCAgIDAsICAgMCwgICAwLCAgIDEsICA2NCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA2LCAgMTgsICA0OCwgCisgICAgIDMyLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICA1LCAgIDAsICAgMCwgICAwLCAgIDEsICA2NCwg
CisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwg
ICA2LCAgMTgsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
IDEwLCAxMjgsICAzMiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA3LCAgMTgsICAzMiwgCisgICAgIDE2LCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDEwLCAgNDgsICAzMiwgICA0LCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAxMCwgICAwLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgNTQsICAgMCwgCisgICAgICAwLCAgIDYsICAxOCwgICAwLCAgMTYsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgMjYsIDEyOCwgCisgICAgIDMyLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNTQsICAgMCwgCisgICAgICAw
LCAgIDcsICAzNCwgIDMyLCAgMTYsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgMTAs
ICA0OCwgCisgICAgIDMyLCAgIDQsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDEwLCAgIDAs
ICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNiwg
CisgICAgIDE4LCAgIDAsICAxNiwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICA0Miwg
MTI4LCAgMzIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICA1NCwgICAwLCAgIDAsICAgNywgCisgICAgIDY2LCAgMzIsICAxNiwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxMCwgIDQ4LCAgMzIsICAgNCwgCisgICAgICAwLCAg
IDAsICAgMCwgICAwLCAgMTAsICAgMCwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA2LCAgMTgsICAgMCwgCisgICAgIDE2LCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU4LCAxMjgsICAzMiwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDU0LCAgIDAsICAgMCwgICA3
LCAxMzAsICAzMiwgCisgICAgIDE2LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgIDEw
LCAgNDgsICAzMiwgICA0LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAxMCwgICAwLCAgMTYs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgNjIsICAgMCwgCisgICAgICAwLCAgIDEs
ICA4MywgIDg0LCAgNjUsICA4NCwgCisgICAgMTE2LCAgIDAsICAgMCwgICAwLCAgMjEsICAgMCwg
CisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDIsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAgIDAsICAgMCwgCisgICAg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMSwgICAwLCAg
IDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAg
IDAsICAgNiwgICAwLCAgIDAsICAgMCwgCisgICAgIDEwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAg
MCwgICAwLCAgIDEsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisg
ICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgNiwgICAw
LCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDIsICAgMCwgCisgICAgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgCisgICAgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMAor
fTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIv
ZDNkMTEvc2hhZGVycy9jb21waWxlZC9zd2l6emxldWkzZHBzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2QxMS9zaGFkZXJz
L2NvbXBpbGVkL3N3aXp6bGV1aTNkcHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkMTEvc2hhZGVycy9jb21waWxlZC9z
d2l6emxldWkzZHBzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNzggQEAKKyNpZiAwCisv
LworLy8gR2VuZXJhdGVkIGJ5IE1pY3Jvc29mdCAoUikgSExTTCBTaGFkZXIgQ29tcGlsZXIgOS4z
MC45MjAwLjE2Mzg0CisvLworLy8KKy8vLworLy8gQnVmZmVyIERlZmluaXRpb25zOiAKKy8vCisv
LyBjYnVmZmVyIFN3aXp6bGVQcm9wZXJ0aWVzCisvLyB7CisvLworLy8gICB1aW50NCBTd2l6emxl
SW5kaWNlczsgICAgICAgICAgICAgIC8vIE9mZnNldDogICAgMCBTaXplOiAgICAxNgorLy8KKy8v
IH0KKy8vCisvLworLy8gUmVzb3VyY2UgQmluZGluZ3M6CisvLworLy8gTmFtZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFR5cGUgIEZvcm1hdCAgICAgICAgIERpbSBTbG90IEVsZW1l
bnRzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0t
IC0tLS0tLS0tLS0tIC0tLS0gLS0tLS0tLS0KKy8vIFRleHR1cmVVSTNEICAgICAgICAgICAgICAg
ICAgICAgICB0ZXh0dXJlICAgdWludDQgICAgICAgICAgM2QgICAgMCAgICAgICAgMQorLy8gU3dp
enpsZVByb3BlcnRpZXMgICAgICAgICAgICAgICAgIGNidWZmZXIgICAgICBOQSAgICAgICAgICBO
QSAgICAwICAgICAgICAxCisvLworLy8KKy8vCisvLyBJbnB1dCBzaWduYXR1cmU6CisvLworLy8g
TmFtZSAgICAgICAgICAgICAgICAgSW5kZXggICBNYXNrIFJlZ2lzdGVyIFN5c1ZhbHVlICBGb3Jt
YXQgICBVc2VkCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLSAtLS0tLS0gLS0tLS0tLS0g
LS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0KKy8vIFNWX1BPU0lUSU9OICAgICAgICAgICAgICAwICAg
eHl6dyAgICAgICAgMCAgICAgIFBPUyAgIGZsb2F0ICAgICAgIAorLy8gU1ZfUkVOREVSVEFSR0VU
QVJSQVlJTkRFWCAgICAgMCAgIHggICAgICAgICAgIDEgIFJUSU5ERVggICAgdWludCAgICAgICAK
Ky8vIFRFWENPT1JEICAgICAgICAgICAgICAgICAwICAgeHl6ICAgICAgICAgMiAgICAgTk9ORSAg
IGZsb2F0ICAgeHl6IAorLy8KKy8vCisvLyBPdXRwdXQgc2lnbmF0dXJlOgorLy8KKy8vIE5hbWUg
ICAgICAgICAgICAgICAgIEluZGV4ICAgTWFzayBSZWdpc3RlciBTeXNWYWx1ZSAgRm9ybWF0ICAg
VXNlZAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0gLS0tLS0tIC0tLS0tLS0tIC0tLS0t
LS0tIC0tLS0tLS0gLS0tLS0tCisvLyBTVl9UQVJHRVQgICAgICAgICAgICAgICAgMCAgIHh5encg
ICAgICAgIDAgICBUQVJHRVQgICAgdWludCAgIHh5encKKy8vCitwc180XzAKK2RjbF9jb25zdGFu
dGJ1ZmZlciBjYjBbMV0sIGltbWVkaWF0ZUluZGV4ZWQKK2RjbF9yZXNvdXJjZV90ZXh0dXJlM2Qg
KHVpbnQsdWludCx1aW50LHVpbnQpIHQwCitkY2xfaW5wdXRfcHMgbGluZWFyIHYyLnh5egorZGNs
X291dHB1dCBvMC54eXp3CitkY2xfdGVtcHMgMQorZGNsX2luZGV4YWJsZVRlbXAgeDBbNl0sIDQK
K3Jlc2luZm9fdWludCByMC54eXp3LCBsKDApLCB0MC54eXp3Cit1dG9mIHIwLnh5eiwgcjAueHl6
eAorbXVsIHIwLnh5eiwgcjAueHl6eCwgdjIueHl6eAorZnRvaSByMC54eXosIHIwLnh5engKK21v
diByMC53LCBsKDApCitsZCByMC54eXp3LCByMC54eXp3LCB0MC54eXp3Cittb3YgeDBbMF0ueCwg
cjAueAorbW92IHgwWzFdLngsIHIwLnkKK21vdiB4MFsyXS54LCByMC56Cittb3YgeDBbM10ueCwg
cjAudworbW92IHgwWzRdLngsIGwoMCkKK21vdiB4MFs1XS54LCBsKDEpCittb3YgcjAueCwgY2Iw
WzBdLngKK21vdiBvMC54LCB4MFtyMC54ICsgMF0ueAorbW92IHIwLngsIGNiMFswXS55Cittb3Yg
bzAueSwgeDBbcjAueCArIDBdLngKK21vdiByMC54LCBjYjBbMF0uegorbW92IG8wLnosIHgwW3Iw
LnggKyAwXS54Cittb3YgcjAueCwgY2IwWzBdLncKK21vdiBvMC53LCB4MFtyMC54ICsgMF0ueAor
cmV0IAorLy8gQXBwcm94aW1hdGVseSAyMSBpbnN0cnVjdGlvbiBzbG90cyB1c2VkCisjZW5kaWYK
KworY29uc3QgQllURSBnX1BTX1N3aXp6bGVVSTNEW10gPQoreworICAgICA2OCwgIDg4LCAgNjYs
ICA2NywgIDQ5LCAgIDEsIAorICAgIDExMiwgMjI1LCAxNjMsIDIyNywgMTAyLCAgODIsIAorICAg
IDIxOCwgICAzLCAxNjEsICA2MCwgMTc5LCAgMjcsIAorICAgICAxMiwgMjUyLCAgIDEsICAgMCwg
ICAwLCAgIDAsIAorICAgIDIwMCwgICA0LCAgIDAsICAgMCwgICA1LCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNTIsICAgMCwgICAwLCAgIDAsIAorICAgICA2MCwgICAxLCAgIDAsICAgMCwgMTk2LCAg
IDEsIAorICAgICAgMCwgICAwLCAyNDgsICAgMSwgICAwLCAgIDAsIAorICAgICA3NiwgICA0LCAg
IDAsICAgMCwgIDgyLCAgNjgsIAorICAgICA2OSwgIDcwLCAgIDAsICAgMSwgICAwLCAgIDAsIAor
ICAgICAgMSwgICAwLCAgIDAsICAgMCwgMTI0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAg
MCwgICAwLCAgIDAsIAorICAgICAyOCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDQsIAorICAgIDI1
NSwgMjU1LCAgIDAsICAgMSwgICAwLCAgIDAsIAorICAgIDIwNCwgICAwLCAgIDAsICAgMCwgIDky
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAw
LCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAyNTUsIDI1NSwgMjU1LCAyNTUs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTMs
ICAgMCwgICAwLCAgIDAsIAorICAgIDEwNCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwg
ICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgODQsIDEwMSwgMTIwLCAx
MTYsIAorICAgIDExNywgMTE0LCAxMDEsICA4NSwgIDczLCAgNTEsIAorICAgICA2OCwgICAwLCAg
ODMsIDExOSwgMTA1LCAxMjIsIAorICAgIDEyMiwgMTA4LCAxMDEsICA4MCwgMTE0LCAxMTEsIAor
ICAgIDExMiwgMTAxLCAxMTQsIDExNiwgMTA1LCAxMDEsIAorICAgIDExNSwgICAwLCAxNzEsIDE3
MSwgMTA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgIDE0
OCwgICAwLCAgIDAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgMTcyLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAs
IAorICAgICAgMCwgICAwLCAxODgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDgzLCAxMTksIAorICAgIDEwNSwgMTIyLCAxMjIsIDEwOCwgMTAxLCAgNzMsIAorICAg
IDExMCwgMTAwLCAxMDUsICA5OSwgMTAxLCAxMTUsIAorICAgICAgMCwgMTcxLCAgIDEsICAgMCwg
IDE5LCAgIDAsIAorICAgICAgMSwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA3NywgMTA1LCAgOTksIDExNCwgMTExLCAx
MTUsIAorICAgIDExMSwgMTAyLCAxMTYsICAzMiwgIDQwLCAgODIsIAorICAgICA0MSwgIDMyLCAg
NzIsICA3NiwgIDgzLCAgNzYsIAorICAgICAzMiwgIDgzLCAxMDQsICA5NywgMTAwLCAxMDEsIAor
ICAgIDExNCwgIDMyLCAgNjcsIDExMSwgMTA5LCAxMTIsIAorICAgIDEwNSwgMTA4LCAxMDEsIDEx
NCwgIDMyLCAgNTcsIAorICAgICA0NiwgIDUxLCAgNDgsICA0NiwgIDU3LCAgNTAsIAorICAgICA0
OCwgIDQ4LCAgNDYsICA0OSwgIDU0LCAgNTEsIAorICAgICA1NiwgIDUyLCAgIDAsIDE3MSwgIDcz
LCAgODMsIAorICAgICA3MSwgIDc4LCAxMjgsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywgICAw
LCAgIDAsICAgMCwgICA4LCAgIDAsIAorICAgICAgMCwgICAwLCAgODAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDMs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDE1LCAgIDAsIAorICAg
ICAgMCwgICAwLCAgOTIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICA0LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwg
ICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAxMTgsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDMsICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgICA3LCAgIDcsIAor
ICAgICAgMCwgICAwLCAgODMsICA4NiwgIDk1LCAgODAsIAorICAgICA3OSwgIDgzLCAgNzMsICA4
NCwgIDczLCAgNzksIAorICAgICA3OCwgICAwLCAgODMsICA4NiwgIDk1LCAgODIsIAorICAgICA2
OSwgIDc4LCAgNjgsICA2OSwgIDgyLCAgODQsIAorICAgICA2NSwgIDgyLCAgNzEsICA2OSwgIDg0
LCAgNjUsIAorICAgICA4MiwgIDgyLCAgNjUsICA4OSwgIDczLCAgNzgsIAorICAgICA2OCwgIDY5
LCAgODgsICAgMCwgIDg0LCAgNjksIAorICAgICA4OCwgIDY3LCAgNzksICA3OSwgIDgyLCAgNjgs
IAorICAgICAgMCwgMTcxLCAgNzksICA4MywgIDcxLCAgNzgsIAorICAgICA0NCwgICAwLCAgIDAs
ICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDgsICAgMCwgICAwLCAgIDAsIAorICAg
ICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgMTUsICAgMCwgICAwLCAgIDAsIAorICAgICA4MywgIDg2LCAgOTUsICA4NCwgIDY1LCAg
ODIsIAorICAgICA3MSwgIDY5LCAgODQsICAgMCwgMTcxLCAxNzEsIAorICAgICA4MywgIDcyLCAg
NjgsICA4MiwgIDc2LCAgIDIsIAorICAgICAgMCwgICAwLCAgNjQsICAgMCwgICAwLCAgIDAsIAor
ICAgIDE0NywgICAwLCAgIDAsICAgMCwgIDg5LCAgIDAsIAorICAgICAgMCwgICA0LCAgNzAsIDE0
MiwgIDMyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAg
MCwgICAwLCAgODgsICA0MCwgICAwLCAgIDQsIAorICAgICAgMCwgMTEyLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNjgsICA2OCwgICAwLCAgIDAsIAorICAgICA5OCwgIDE2
LCAgIDAsICAgMywgMTE0LCAgMTYsIAorICAgICAxNiwgICAwLCAgIDIsICAgMCwgICAwLCAgIDAs
IAorICAgIDEwMSwgICAwLCAgIDAsICAgMywgMjQyLCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgIDEwNCwgICAwLCAgIDAsICAgMiwgICAxLCAgIDAsIAorICAg
ICAgMCwgICAwLCAxMDUsICAgMCwgICAwLCAgIDQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICA2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDQsICAgMCwgICAwLCAgIDAsIAorICAgICA2MSwg
IDE2LCAgIDAsICAgNywgMjQyLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
NzAsIDEyNiwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDg2LCAgIDAsIAor
ICAgICAgMCwgICA1LCAxMTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDcwLCAgIDIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1
NiwgICAwLCAgIDAsICAgNywgMTE0LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsIAorICAgICA3MCwgICAyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAw
LCAgNzAsICAxOCwgIDE2LCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgIDI3LCAgIDAs
IAorICAgICAgMCwgICA1LCAxMTQsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgIDcwLCAgIDIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICA1NCwgICAwLCAgIDAsICAgNSwgMTMwLCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMSwgIDY0LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgNDUsICAgMCwgICAwLCAgIDcsIAorICAgIDI0MiwgICAwLCAgMTYsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgNzAsICAxNCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDcwLCAxMjYsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgIDAsIAorICAgICAx
NiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4
LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMSwgICAw
LCAgIDAsICAgMCwgIDI2LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMiwgICAwLCAgIDAsICAgMCwgIDQyLCAgIDAsIAorICAg
ICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwg
IDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMywg
ICAwLCAgIDAsICAgMCwgIDU4LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgNCwgICAwLCAgIDAsICAgMCwgICAxLCAgNjQsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAg
NiwgIDE4LCAgNDgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
NSwgICAwLCAgIDAsICAgMCwgICAxLCAgNjQsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwgIDE4LCAgIDAsIAorICAgICAxNiwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgMTI4LCAgMzIsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAs
ICAgNywgIDE4LCAgMzIsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAg
ICAxMCwgIDQ4LCAgMzIsICAgNCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAsICAgMCwg
IDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwg
ICA2LCAgMTgsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDI2LCAx
MjgsIAorICAgICAzMiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgIDU0LCAgIDAsIAorICAgICAgMCwgICA3LCAgMzQsICAzMiwgIDE2LCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgNDgsIAorICAgICAzMiwgICA0LCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAxMCwgICAwLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDYsIAorICAgICAxOCwgICAwLCAgMTYsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgNDIsIDEyOCwgIDMyLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgNTQsICAgMCwgICAwLCAgIDcs
IAorICAgICA2NiwgIDMyLCAgMTYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgMTAs
ICA0OCwgIDMyLCAgIDQsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgIDEwLCAgIDAsIAorICAg
ICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNiwg
IDE4LCAgIDAsIAorICAgICAxNiwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICA1OCwg
MTI4LCAgMzIsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICA1NCwgICAwLCAgIDAsICAgNywgMTMwLCAgMzIsIAorICAgICAxNiwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsIAorICAgICAxMCwgIDQ4LCAgMzIsICAgNCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgMTAsICAgMCwgIDE2LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgIDYyLCAgIDAsIAorICAgICAgMCwgICAxLCAgODMsICA4NCwgIDY1LCAgODQsIAorICAgIDEx
NiwgICAwLCAgIDAsICAgMCwgIDIxLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAw
LCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAw
LCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
IAorICAgICAgMCwgICAwLCAgIDEsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDYsICAgMCwgICAwLCAgIDAsIAorICAg
ICAxMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAxLCAgIDAsIAorICAgICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsIAorICAgICAgMCwgICAwLCAgIDYsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAg
IDAsICAgMCwgICAyLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAor
ICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsIAorICAgICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsIAorICAgICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAKK307CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDkvQmxpdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L0JsaXQu
Y3BwCShyZXZpc2lvbiAxNjgxMDMpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
R0xFU3YyL3JlbmRlcmVyL2QzZDkvQmxpdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNTk1ICsw
LDAgQEAKLSNpbmNsdWRlICJwcmVjb21waWxlZC5oIgotLy8KLS8vIENvcHlyaWdodCAoYykgMjAw
Mi0yMDEwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLy8KLQotLy8g
QmxpdC5jcHA6IFN1cmZhY2UgY29weSB1dGlsaXR5IGNsYXNzLgotCi0jaW5jbHVkZSAibGliR0xF
U3YyL3JlbmRlcmVyL2QzZDkvQmxpdC5oIgotCi0jaW5jbHVkZSAibGliR0xFU3YyL21haW4uaCIK
LSNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9yZW5kZXJlcjlfdXRpbHMuaCIKLSNp
bmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9UZXh0dXJlU3RvcmFnZTkuaCIKLSNpbmNs
dWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9SZW5kZXJUYXJnZXQ5LmgiCi0jaW5jbHVkZSAi
bGliR0xFU3YyL3JlbmRlcmVyL2QzZDkvUmVuZGVyZXI5LmgiCi0jaW5jbHVkZSAibGliR0xFU3Yy
L0ZyYW1lYnVmZmVyLmgiCi0jaW5jbHVkZSAibGliR0xFU3YyL1JlbmRlcmJ1ZmZlci5oIgotCi1u
YW1lc3BhY2UKLXsKLSNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9zaGFkZXJzL2Nv
bXBpbGVkL3N0YW5kYXJkdnMuaCIKLSNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9z
aGFkZXJzL2NvbXBpbGVkL2ZsaXB5dnMuaCIKLSNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIv
ZDNkOS9zaGFkZXJzL2NvbXBpbGVkL3Bhc3N0aHJvdWdocHMuaCIKLSNpbmNsdWRlICJsaWJHTEVT
djIvcmVuZGVyZXIvZDNkOS9zaGFkZXJzL2NvbXBpbGVkL2x1bWluYW5jZXBzLmgiCi0jaW5jbHVk
ZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDkvc2hhZGVycy9jb21waWxlZC9jb21wb25lbnRtYXNr
cHMuaCIKLQotY29uc3QgQllURSogY29uc3QgZ19zaGFkZXJDb2RlW10gPQotewotICAgIGdfdnMy
MF9zdGFuZGFyZHZzLAotICAgIGdfdnMyMF9mbGlweXZzLAotICAgIGdfcHMyMF9wYXNzdGhyb3Vn
aHBzLAotICAgIGdfcHMyMF9sdW1pbmFuY2VwcywKLSAgICBnX3BzMjBfY29tcG9uZW50bWFza3Bz
Ci19OwotCi1jb25zdCBzaXplX3QgZ19zaGFkZXJTaXplW10gPQotewotICAgIHNpemVvZihnX3Zz
MjBfc3RhbmRhcmR2cyksCi0gICAgc2l6ZW9mKGdfdnMyMF9mbGlweXZzKSwKLSAgICBzaXplb2Yo
Z19wczIwX3Bhc3N0aHJvdWdocHMpLAotICAgIHNpemVvZihnX3BzMjBfbHVtaW5hbmNlcHMpLAot
ICAgIHNpemVvZihnX3BzMjBfY29tcG9uZW50bWFza3BzKQotfTsKLX0KLQotbmFtZXNwYWNlIHJ4
Ci17Ci1CbGl0OjpCbGl0KHJ4OjpSZW5kZXJlcjkgKnJlbmRlcmVyKQotICA6IG1SZW5kZXJlcihy
ZW5kZXJlciksIG1RdWFkVmVydGV4QnVmZmVyKE5VTEwpLCBtUXVhZFZlcnRleERlY2xhcmF0aW9u
KE5VTEwpLCBtU2F2ZWRTdGF0ZUJsb2NrKE5VTEwpLCBtU2F2ZWRSZW5kZXJUYXJnZXQoTlVMTCks
IG1TYXZlZERlcHRoU3RlbmNpbChOVUxMKQotewotICAgIGluaXRHZW9tZXRyeSgpOwotICAgIG1l
bXNldChtQ29tcGlsZWRTaGFkZXJzLCAwLCBzaXplb2YobUNvbXBpbGVkU2hhZGVycykpOwotfQot
Ci1CbGl0Ojp+QmxpdCgpCi17Ci0gICAgaWYgKG1TYXZlZFN0YXRlQmxvY2spIG1TYXZlZFN0YXRl
QmxvY2stPlJlbGVhc2UoKTsKLSAgICBpZiAobVF1YWRWZXJ0ZXhCdWZmZXIpIG1RdWFkVmVydGV4
QnVmZmVyLT5SZWxlYXNlKCk7Ci0gICAgaWYgKG1RdWFkVmVydGV4RGVjbGFyYXRpb24pIG1RdWFk
VmVydGV4RGVjbGFyYXRpb24tPlJlbGVhc2UoKTsKLQotICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
U0hBREVSX0NPVU5UOyBpKyspCi0gICAgewotICAgICAgICBpZiAobUNvbXBpbGVkU2hhZGVyc1tp
XSkKLSAgICAgICAgewotICAgICAgICAgICAgbUNvbXBpbGVkU2hhZGVyc1tpXS0+UmVsZWFzZSgp
OwotICAgICAgICB9Ci0gICAgfQotfQotCi12b2lkIEJsaXQ6OmluaXRHZW9tZXRyeSgpCi17Ci0g
ICAgc3RhdGljIGNvbnN0IGZsb2F0IHF1YWRbXSA9Ci0gICAgewotICAgICAgICAtMSwgLTEsCi0g
ICAgICAgIC0xLCAgMSwKLSAgICAgICAgIDEsIC0xLAotICAgICAgICAgMSwgIDEKLSAgICB9Owot
Ci0gICAgSURpcmVjdDNERGV2aWNlOSAqZGV2aWNlID0gbVJlbmRlcmVyLT5nZXREZXZpY2UoKTsK
LQotICAgIEhSRVNVTFQgcmVzdWx0ID0gZGV2aWNlLT5DcmVhdGVWZXJ0ZXhCdWZmZXIoc2l6ZW9m
KHF1YWQpLCBEM0RVU0FHRV9XUklURU9OTFksIDAsIEQzRFBPT0xfREVGQVVMVCwgJm1RdWFkVmVy
dGV4QnVmZmVyLCBOVUxMKTsKLQotICAgIGlmIChGQUlMRUQocmVzdWx0KSkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChyZXN1bHQgPT0gRDNERVJSX09VVE9GVklERU9NRU1PUlkgfHwgcmVzdWx0ID09
IEVfT1VUT0ZNRU1PUlkpOwotICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX09VVF9PRl9NRU1P
UlkpOwotICAgIH0KLQotICAgIHZvaWQgKmxvY2tQdHIgPSBOVUxMOwotICAgIHJlc3VsdCA9IG1R
dWFkVmVydGV4QnVmZmVyLT5Mb2NrKDAsIDAsICZsb2NrUHRyLCAwKTsKLQotICAgIGlmIChGQUlM
RUQocmVzdWx0KSB8fCBsb2NrUHRyID09IE5VTEwpCi0gICAgewotICAgICAgICBBU1NFUlQocmVz
dWx0ID09IEQzREVSUl9PVVRPRlZJREVPTUVNT1JZIHx8IHJlc3VsdCA9PSBFX09VVE9GTUVNT1JZ
KTsKLSAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9PVVRfT0ZfTUVNT1JZKTsKLSAgICB9Ci0K
LSAgICBtZW1jcHkobG9ja1B0ciwgcXVhZCwgc2l6ZW9mKHF1YWQpKTsKLSAgICBtUXVhZFZlcnRl
eEJ1ZmZlci0+VW5sb2NrKCk7Ci0KLSAgICBzdGF0aWMgY29uc3QgRDNEVkVSVEVYRUxFTUVOVDkg
ZWxlbWVudHNbXSA9Ci0gICAgewotICAgICAgICB7IDAsIDAsIEQzRERFQ0xUWVBFX0ZMT0FUMiwg
RDNEREVDTE1FVEhPRF9ERUZBVUxULCBEM0RERUNMVVNBR0VfUE9TSVRJT04sIDAgfSwKLSAgICAg
ICAgRDNEREVDTF9FTkQoKQotICAgIH07Ci0KLSAgICByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZVZl
cnRleERlY2xhcmF0aW9uKGVsZW1lbnRzLCAmbVF1YWRWZXJ0ZXhEZWNsYXJhdGlvbik7Ci0KLSAg
ICBpZiAoRkFJTEVEKHJlc3VsdCkpCi0gICAgewotICAgICAgICBBU1NFUlQocmVzdWx0ID09IEQz
REVSUl9PVVRPRlZJREVPTUVNT1JZIHx8IHJlc3VsdCA9PSBFX09VVE9GTUVNT1JZKTsKLSAgICAg
ICAgcmV0dXJuIGdsOjplcnJvcihHTF9PVVRfT0ZfTUVNT1JZKTsKLSAgICB9Ci19Ci0KLXRlbXBs
YXRlIDxjbGFzcyBEM0RTaGFkZXJUeXBlPgotYm9vbCBCbGl0OjpzZXRTaGFkZXIoU2hhZGVySWQg
c291cmNlLCBjb25zdCBjaGFyICpwcm9maWxlLAotICAgICAgICAgICAgICAgICAgICAgRDNEU2hh
ZGVyVHlwZSAqKHJ4OjpSZW5kZXJlcjk6OipjcmVhdGVTaGFkZXIpKGNvbnN0IERXT1JEICosIHNp
emVfdCBsZW5ndGgpLAotICAgICAgICAgICAgICAgICAgICAgSFJFU1VMVCAoV0lOQVBJIElEaXJl
Y3QzRERldmljZTk6OipzZXRTaGFkZXIpKEQzRFNoYWRlclR5cGUqKSkKLXsKLSAgICBJRGlyZWN0
M0REZXZpY2U5ICpkZXZpY2UgPSBtUmVuZGVyZXItPmdldERldmljZSgpOwotCi0gICAgRDNEU2hh
ZGVyVHlwZSAqc2hhZGVyOwotCi0gICAgaWYgKG1Db21waWxlZFNoYWRlcnNbc291cmNlXSAhPSBO
VUxMKQotICAgIHsKLSAgICAgICAgc2hhZGVyID0gc3RhdGljX2Nhc3Q8RDNEU2hhZGVyVHlwZSo+
KG1Db21waWxlZFNoYWRlcnNbc291cmNlXSk7Ci0gICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAg
ICAgIGNvbnN0IEJZVEUqIHNoYWRlckNvZGUgPSBnX3NoYWRlckNvZGVbc291cmNlXTsKLSAgICAg
ICAgc2l6ZV90IHNoYWRlclNpemUgPSBnX3NoYWRlclNpemVbc291cmNlXTsKLQotICAgICAgICBz
aGFkZXIgPSAobVJlbmRlcmVyLT4qY3JlYXRlU2hhZGVyKShyZWludGVycHJldF9jYXN0PGNvbnN0
IERXT1JEKj4oc2hhZGVyQ29kZSksIHNoYWRlclNpemUpOwotICAgICAgICBpZiAoIXNoYWRlcikK
LSAgICAgICAgewotICAgICAgICAgICAgRVJSKCJGYWlsZWQgdG8gY3JlYXRlIHNoYWRlciBmb3Ig
YmxpdCBvcGVyYXRpb24iKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQot
Ci0gICAgICAgIG1Db21waWxlZFNoYWRlcnNbc291cmNlXSA9IHNoYWRlcjsKLSAgICB9Ci0KLSAg
ICBIUkVTVUxUIGhyID0gKGRldmljZS0+KnNldFNoYWRlcikoc2hhZGVyKTsKLQotICAgIGlmIChG
QUlMRUQoaHIpKQotICAgIHsKLSAgICAgICAgRVJSKCJGYWlsZWQgdG8gc2V0IHNoYWRlciBmb3Ig
YmxpdCBvcGVyYXRpb24iKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJl
dHVybiB0cnVlOwotfQotCi1ib29sIEJsaXQ6OnNldFZlcnRleFNoYWRlcihTaGFkZXJJZCBzaGFk
ZXIpCi17Ci0gICAgcmV0dXJuIHNldFNoYWRlcjxJRGlyZWN0M0RWZXJ0ZXhTaGFkZXI5PihzaGFk
ZXIsICJ2c18yXzAiLCAmcng6OlJlbmRlcmVyOTo6Y3JlYXRlVmVydGV4U2hhZGVyLCAmSURpcmVj
dDNERGV2aWNlOTo6U2V0VmVydGV4U2hhZGVyKTsKLX0KLQotYm9vbCBCbGl0OjpzZXRQaXhlbFNo
YWRlcihTaGFkZXJJZCBzaGFkZXIpCi17Ci0gICAgcmV0dXJuIHNldFNoYWRlcjxJRGlyZWN0M0RQ
aXhlbFNoYWRlcjk+KHNoYWRlciwgInBzXzJfMCIsICZyeDo6UmVuZGVyZXI5OjpjcmVhdGVQaXhl
bFNoYWRlciwgJklEaXJlY3QzRERldmljZTk6OlNldFBpeGVsU2hhZGVyKTsKLX0KLQotUkVDVCBC
bGl0OjpnZXRTdXJmYWNlUmVjdChJRGlyZWN0M0RTdXJmYWNlOSAqc3VyZmFjZSkgY29uc3QKLXsK
LSAgICBEM0RTVVJGQUNFX0RFU0MgZGVzYzsKLSAgICBzdXJmYWNlLT5HZXREZXNjKCZkZXNjKTsK
LQotICAgIFJFQ1QgcmVjdDsKLSAgICByZWN0LmxlZnQgPSAwOwotICAgIHJlY3QudG9wID0gMDsK
LSAgICByZWN0LnJpZ2h0ID0gZGVzYy5XaWR0aDsKLSAgICByZWN0LmJvdHRvbSA9IGRlc2MuSGVp
Z2h0OwotCi0gICAgcmV0dXJuIHJlY3Q7Ci19Ci0KLWJvb2wgQmxpdDo6Ym94RmlsdGVyKElEaXJl
Y3QzRFN1cmZhY2U5ICpzb3VyY2UsIElEaXJlY3QzRFN1cmZhY2U5ICpkZXN0KQotewotICAgIElE
aXJlY3QzRFRleHR1cmU5ICp0ZXh0dXJlID0gY29weVN1cmZhY2VUb1RleHR1cmUoc291cmNlLCBn
ZXRTdXJmYWNlUmVjdChzb3VyY2UpKTsKLSAgICBpZiAoIXRleHR1cmUpCi0gICAgewotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgSURpcmVjdDNERGV2aWNlOSAqZGV2aWNlID0g
bVJlbmRlcmVyLT5nZXREZXZpY2UoKTsKLQotICAgIHNhdmVTdGF0ZSgpOwotCi0gICAgZGV2aWNl
LT5TZXRUZXh0dXJlKDAsIHRleHR1cmUpOwotICAgIGRldmljZS0+U2V0UmVuZGVyVGFyZ2V0KDAs
IGRlc3QpOwotCi0gICAgc2V0VmVydGV4U2hhZGVyKFNIQURFUl9WU19TVEFOREFSRCk7Ci0gICAg
c2V0UGl4ZWxTaGFkZXIoU0hBREVSX1BTX1BBU1NUSFJPVUdIKTsKLQotICAgIHNldENvbW1vbkJs
aXRTdGF0ZSgpOwotICAgIGRldmljZS0+U2V0U2FtcGxlclN0YXRlKDAsIEQzRFNBTVBfTUlORklM
VEVSLCBEM0RURVhGX0xJTkVBUik7Ci0gICAgZGV2aWNlLT5TZXRTYW1wbGVyU3RhdGUoMCwgRDNE
U0FNUF9NQUdGSUxURVIsIEQzRFRFWEZfTElORUFSKTsKLQotICAgIHNldFZpZXdwb3J0KGdldFN1
cmZhY2VSZWN0KGRlc3QpLCAwLCAwKTsKLQotICAgIHJlbmRlcigpOwotCi0gICAgdGV4dHVyZS0+
UmVsZWFzZSgpOwotCi0gICAgcmVzdG9yZVN0YXRlKCk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotYm9vbCBCbGl0Ojpjb3B5KGdsOjpGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIsIGNvbnN0IFJF
Q1QgJnNvdXJjZVJlY3QsIEdMZW51bSBkZXN0Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5
b2Zmc2V0LCBUZXh0dXJlU3RvcmFnZUludGVyZmFjZTJEICpzdG9yYWdlLCBHTGludCBsZXZlbCkK
LXsKLSAgICBSZW5kZXJUYXJnZXQ5ICpyZW5kZXJUYXJnZXQgPSBOVUxMOwotICAgIElEaXJlY3Qz
RFN1cmZhY2U5ICpzb3VyY2UgPSBOVUxMOwotICAgIGdsOjpSZW5kZXJidWZmZXIgKmNvbG9yYnVm
ZmVyID0gZnJhbWVidWZmZXItPmdldENvbG9yYnVmZmVyKDApOwotCi0gICAgaWYgKGNvbG9yYnVm
ZmVyKQotICAgIHsKLSAgICAgICAgcmVuZGVyVGFyZ2V0ID0gUmVuZGVyVGFyZ2V0OTo6bWFrZVJl
bmRlclRhcmdldDkoY29sb3JidWZmZXItPmdldFJlbmRlclRhcmdldCgpKTsKLSAgICB9Ci0gICAg
Ci0gICAgaWYgKHJlbmRlclRhcmdldCkKLSAgICB7Ci0gICAgICAgIHNvdXJjZSA9IHJlbmRlclRh
cmdldC0+Z2V0U3VyZmFjZSgpOwotICAgIH0KLQotICAgIGlmICghc291cmNlKQotICAgIHsKLSAg
ICAgICAgRVJSKCJGYWlsZWQgdG8gcmV0cmlldmUgdGhlIHJlbmRlciB0YXJnZXQuIik7Ci0gICAg
ICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfT1VUX09GX01FTU9SWSwgZmFsc2UpOwotICAgIH0KLQot
ICAgIFRleHR1cmVTdG9yYWdlOV8yRCAqc3RvcmFnZTkgPSBUZXh0dXJlU3RvcmFnZTlfMkQ6Om1h
a2VUZXh0dXJlU3RvcmFnZTlfMkQoc3RvcmFnZS0+Z2V0U3RvcmFnZUluc3RhbmNlKCkpOwotICAg
IElEaXJlY3QzRFN1cmZhY2U5ICpkZXN0U3VyZmFjZSA9IHN0b3JhZ2U5LT5nZXRTdXJmYWNlTGV2
ZWwobGV2ZWwsIHRydWUpOwotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgIAotICAg
IGlmIChkZXN0U3VyZmFjZSkKLSAgICB7Ci0gICAgICAgIHJlc3VsdCA9IGNvcHkoc291cmNlLCBz
b3VyY2VSZWN0LCBkZXN0Rm9ybWF0LCB4b2Zmc2V0LCB5b2Zmc2V0LCBkZXN0U3VyZmFjZSk7Ci0g
ICAgICAgIGRlc3RTdXJmYWNlLT5SZWxlYXNlKCk7Ci0gICAgfQotCi0gICAgc291cmNlLT5SZWxl
YXNlKCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotYm9vbCBCbGl0Ojpjb3B5KGdsOjpGcmFt
ZWJ1ZmZlciAqZnJhbWVidWZmZXIsIGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QsIEdMZW51bSBkZXN0
Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBUZXh0dXJlU3RvcmFnZUludGVy
ZmFjZUN1YmUgKnN0b3JhZ2UsIEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsKQotewotICAgIFJl
bmRlclRhcmdldDkgKnJlbmRlclRhcmdldCA9IE5VTEw7Ci0gICAgSURpcmVjdDNEU3VyZmFjZTkg
KnNvdXJjZSA9IE5VTEw7Ci0gICAgZ2w6OlJlbmRlcmJ1ZmZlciAqY29sb3JidWZmZXIgPSBmcmFt
ZWJ1ZmZlci0+Z2V0Q29sb3JidWZmZXIoMCk7Ci0KLSAgICBpZiAoY29sb3JidWZmZXIpCi0gICAg
ewotICAgICAgICByZW5kZXJUYXJnZXQgPSBSZW5kZXJUYXJnZXQ5OjptYWtlUmVuZGVyVGFyZ2V0
OShjb2xvcmJ1ZmZlci0+Z2V0UmVuZGVyVGFyZ2V0KCkpOwotICAgIH0KLSAgICAKLSAgICBpZiAo
cmVuZGVyVGFyZ2V0KQotICAgIHsKLSAgICAgICAgc291cmNlID0gcmVuZGVyVGFyZ2V0LT5nZXRT
dXJmYWNlKCk7Ci0gICAgfQotCi0gICAgaWYgKCFzb3VyY2UpCi0gICAgewotICAgICAgICBFUlIo
IkZhaWxlZCB0byByZXRyaWV2ZSB0aGUgcmVuZGVyIHRhcmdldC4iKTsKLSAgICAgICAgcmV0dXJu
IGdsOjplcnJvcihHTF9PVVRfT0ZfTUVNT1JZLCBmYWxzZSk7Ci0gICAgfQotCi0gICAgVGV4dHVy
ZVN0b3JhZ2U5X0N1YmUgKnN0b3JhZ2U5ID0gVGV4dHVyZVN0b3JhZ2U5X0N1YmU6Om1ha2VUZXh0
dXJlU3RvcmFnZTlfQ3ViZShzdG9yYWdlLT5nZXRTdG9yYWdlSW5zdGFuY2UoKSk7Ci0gICAgSURp
cmVjdDNEU3VyZmFjZTkgKmRlc3RTdXJmYWNlID0gc3RvcmFnZTktPmdldEN1YmVNYXBTdXJmYWNl
KHRhcmdldCwgbGV2ZWwsIHRydWUpOwotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0KLSAgICBp
ZiAoZGVzdFN1cmZhY2UpCi0gICAgewotICAgICAgICByZXN1bHQgPSBjb3B5KHNvdXJjZSwgc291
cmNlUmVjdCwgZGVzdEZvcm1hdCwgeG9mZnNldCwgeW9mZnNldCwgZGVzdFN1cmZhY2UpOwotICAg
ICAgICBkZXN0U3VyZmFjZS0+UmVsZWFzZSgpOwotICAgIH0KLQotICAgIHNvdXJjZS0+UmVsZWFz
ZSgpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLWJvb2wgQmxpdDo6Y29weShJRGlyZWN0M0RT
dXJmYWNlOSAqc291cmNlLCBjb25zdCBSRUNUICZzb3VyY2VSZWN0LCBHTGVudW0gZGVzdEZvcm1h
dCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgSURpcmVjdDNEU3VyZmFjZTkgKmRlc3Qp
Ci17Ci0gICAgaWYgKCFkZXN0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LQotICAgIElEaXJlY3QzRERldmljZTkgKmRldmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7
Ci0KLSAgICBEM0RTVVJGQUNFX0RFU0Mgc291cmNlRGVzYzsKLSAgICBEM0RTVVJGQUNFX0RFU0Mg
ZGVzdERlc2M7Ci0gICAgc291cmNlLT5HZXREZXNjKCZzb3VyY2VEZXNjKTsKLSAgICBkZXN0LT5H
ZXREZXNjKCZkZXN0RGVzYyk7Ci0KLSAgICBpZiAoc291cmNlRGVzYy5Gb3JtYXQgPT0gZGVzdERl
c2MuRm9ybWF0ICYmIGRlc3REZXNjLlVzYWdlICYgRDNEVVNBR0VfUkVOREVSVEFSR0VUICYmCi0g
ICAgICAgIGQzZDlfZ2w6OklzRm9ybWF0Q2hhbm5lbEVxdWl2YWxlbnQoZGVzdERlc2MuRm9ybWF0
LCBkZXN0Rm9ybWF0KSkgICAvLyBDYW4gdXNlIFN0cmV0Y2hSZWN0Ci0gICAgewotICAgICAgICBS
RUNUIGRlc3RSZWN0ID0ge3hvZmZzZXQsIHlvZmZzZXQsIHhvZmZzZXQgKyAoc291cmNlUmVjdC5y
aWdodCAtIHNvdXJjZVJlY3QubGVmdCksIHlvZmZzZXQgKyAoc291cmNlUmVjdC5ib3R0b20gLSBz
b3VyY2VSZWN0LnRvcCl9OwotICAgICAgICBIUkVTVUxUIHJlc3VsdCA9IGRldmljZS0+U3RyZXRj
aFJlY3Qoc291cmNlLCAmc291cmNlUmVjdCwgZGVzdCwgJmRlc3RSZWN0LCBEM0RURVhGX1BPSU5U
KTsKLQotICAgICAgICBpZiAoRkFJTEVEKHJlc3VsdCkpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IEFTU0VSVChyZXN1bHQgPT0gRDNERVJSX09VVE9GVklERU9NRU1PUlkgfHwgcmVzdWx0ID09IEVf
T1VUT0ZNRU1PUlkpOwotICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9PVVRfT0ZfTUVN
T1JZLCBmYWxzZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGZvcm1hdENvbnZlcnQoc291cmNlLCBzb3VyY2VSZWN0LCBkZXN0Rm9ybWF0LCB4b2Zm
c2V0LCB5b2Zmc2V0LCBkZXN0KTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wg
QmxpdDo6Zm9ybWF0Q29udmVydChJRGlyZWN0M0RTdXJmYWNlOSAqc291cmNlLCBjb25zdCBSRUNU
ICZzb3VyY2VSZWN0LCBHTGVudW0gZGVzdEZvcm1hdCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9m
ZnNldCwgSURpcmVjdDNEU3VyZmFjZTkgKmRlc3QpCi17Ci0gICAgSURpcmVjdDNEVGV4dHVyZTkg
KnRleHR1cmUgPSBjb3B5U3VyZmFjZVRvVGV4dHVyZShzb3VyY2UsIHNvdXJjZVJlY3QpOwotICAg
IGlmICghdGV4dHVyZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAg
ICBJRGlyZWN0M0REZXZpY2U5ICpkZXZpY2UgPSBtUmVuZGVyZXItPmdldERldmljZSgpOwotCi0g
ICAgc2F2ZVN0YXRlKCk7Ci0KLSAgICBkZXZpY2UtPlNldFRleHR1cmUoMCwgdGV4dHVyZSk7Ci0g
ICAgZGV2aWNlLT5TZXRSZW5kZXJUYXJnZXQoMCwgZGVzdCk7Ci0KLSAgICBzZXRWaWV3cG9ydChz
b3VyY2VSZWN0LCB4b2Zmc2V0LCB5b2Zmc2V0KTsKLQotICAgIHNldENvbW1vbkJsaXRTdGF0ZSgp
OwotICAgIGlmIChzZXRGb3JtYXRDb252ZXJ0U2hhZGVycyhkZXN0Rm9ybWF0KSkKLSAgICB7Ci0g
ICAgICAgIHJlbmRlcigpOwotICAgIH0KLQotICAgIHRleHR1cmUtPlJlbGVhc2UoKTsKLQotICAg
IHJlc3RvcmVTdGF0ZSgpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgQmxpdDo6c2V0
Rm9ybWF0Q29udmVydFNoYWRlcnMoR0xlbnVtIGRlc3RGb3JtYXQpCi17Ci0gICAgYm9vbCBva2F5
ID0gc2V0VmVydGV4U2hhZGVyKFNIQURFUl9WU19TVEFOREFSRCk7Ci0KLSAgICBzd2l0Y2ggKGRl
c3RGb3JtYXQpCi0gICAgewotICAgICAgZGVmYXVsdDogVU5SRUFDSEFCTEUoKTsKLSAgICAgIGNh
c2UgR0xfUkdCQToKLSAgICAgIGNhc2UgR0xfQkdSQV9FWFQ6Ci0gICAgICBjYXNlIEdMX1JHQjoK
LSAgICAgIGNhc2UgR0xfQUxQSEE6Ci0gICAgICAgIG9rYXkgPSBva2F5ICYmIHNldFBpeGVsU2hh
ZGVyKFNIQURFUl9QU19DT01QT05FTlRNQVNLKTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICAgIGNh
c2UgR0xfTFVNSU5BTkNFOgotICAgICAgY2FzZSBHTF9MVU1JTkFOQ0VfQUxQSEE6Ci0gICAgICAg
IG9rYXkgPSBva2F5ICYmIHNldFBpeGVsU2hhZGVyKFNIQURFUl9QU19MVU1JTkFOQ0UpOwotICAg
ICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBpZiAoIW9rYXkpCi0gICAgewotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgZW51bSB7IFggPSAwLCBZID0gMSwgWiA9IDIsIFcgPSAz
IH07Ci0KLSAgICAvLyBUaGUgbWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGRlcGVuZHMgb24gdGhl
IHNoYWRlciB0aGF0IHdhcyBzZWxlY3RlZC4KLSAgICAvLyBTZWUgdGhlIHNoYWRlciBhc3NlbWJs
eSBjb2RlIGFib3ZlIGZvciBkZXRhaWxzLgotICAgIGZsb2F0IHBzQ29uc3QwWzRdID0geyAwLCAw
LCAwLCAwIH07Ci0KLSAgICBzd2l0Y2ggKGRlc3RGb3JtYXQpCi0gICAgewotICAgICAgZGVmYXVs
dDogVU5SRUFDSEFCTEUoKTsKLSAgICAgIGNhc2UgR0xfUkdCQToKLSAgICAgIGNhc2UgR0xfQkdS
QV9FWFQ6Ci0gICAgICAgIHBzQ29uc3QwW1hdID0gMTsKLSAgICAgICAgcHNDb25zdDBbWl0gPSAx
OwotICAgICAgICBicmVhazsKLQotICAgICAgY2FzZSBHTF9SR0I6Ci0gICAgICAgIHBzQ29uc3Qw
W1hdID0gMTsKLSAgICAgICAgcHNDb25zdDBbV10gPSAxOwotICAgICAgICBicmVhazsKLQotICAg
ICAgY2FzZSBHTF9BTFBIQToKLSAgICAgICAgcHNDb25zdDBbWl0gPSAxOwotICAgICAgICBicmVh
azsKLQotICAgICAgY2FzZSBHTF9MVU1JTkFOQ0U6Ci0gICAgICAgIHBzQ29uc3QwW1ldID0gMTsK
LSAgICAgICAgYnJlYWs7Ci0KLSAgICAgIGNhc2UgR0xfTFVNSU5BTkNFX0FMUEhBOgotICAgICAg
ICBwc0NvbnN0MFtYXSA9IDE7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIG1SZW5kZXJl
ci0+Z2V0RGV2aWNlKCktPlNldFBpeGVsU2hhZGVyQ29uc3RhbnRGKDAsIHBzQ29uc3QwLCAxKTsK
LQotICAgIHJldHVybiB0cnVlOwotfQotCi1JRGlyZWN0M0RUZXh0dXJlOSAqQmxpdDo6Y29weVN1
cmZhY2VUb1RleHR1cmUoSURpcmVjdDNEU3VyZmFjZTkgKnN1cmZhY2UsIGNvbnN0IFJFQ1QgJnNv
dXJjZVJlY3QpCi17Ci0gICAgaWYgKCFzdXJmYWNlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIE5V
TEw7Ci0gICAgfQotCi0gICAgSURpcmVjdDNERGV2aWNlOSAqZGV2aWNlID0gbVJlbmRlcmVyLT5n
ZXREZXZpY2UoKTsKLQotICAgIEQzRFNVUkZBQ0VfREVTQyBzb3VyY2VEZXNjOwotICAgIHN1cmZh
Y2UtPkdldERlc2MoJnNvdXJjZURlc2MpOwotCi0gICAgLy8gQ29weSB0aGUgcmVuZGVyIHRhcmdl
dCBpbnRvIGEgdGV4dHVyZQotICAgIElEaXJlY3QzRFRleHR1cmU5ICp0ZXh0dXJlOwotICAgIEhS
RVNVTFQgcmVzdWx0ID0gZGV2aWNlLT5DcmVhdGVUZXh0dXJlKHNvdXJjZVJlY3QucmlnaHQgLSBz
b3VyY2VSZWN0LmxlZnQsIHNvdXJjZVJlY3QuYm90dG9tIC0gc291cmNlUmVjdC50b3AsIDEsIEQz
RFVTQUdFX1JFTkRFUlRBUkdFVCwgc291cmNlRGVzYy5Gb3JtYXQsIEQzRFBPT0xfREVGQVVMVCwg
JnRleHR1cmUsIE5VTEwpOwotCi0gICAgaWYgKEZBSUxFRChyZXN1bHQpKQotICAgIHsKLSAgICAg
ICAgQVNTRVJUKHJlc3VsdCA9PSBEM0RFUlJfT1VUT0ZWSURFT01FTU9SWSB8fCByZXN1bHQgPT0g
RV9PVVRPRk1FTU9SWSk7Ci0gICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfT1VUX09GX01FTU9S
WSwgKElEaXJlY3QzRFRleHR1cmU5KilOVUxMKTsKLSAgICB9Ci0KLSAgICBJRGlyZWN0M0RTdXJm
YWNlOSAqdGV4dHVyZVN1cmZhY2U7Ci0gICAgcmVzdWx0ID0gdGV4dHVyZS0+R2V0U3VyZmFjZUxl
dmVsKDAsICZ0ZXh0dXJlU3VyZmFjZSk7Ci0KLSAgICBpZiAoRkFJTEVEKHJlc3VsdCkpCi0gICAg
ewotICAgICAgICBBU1NFUlQocmVzdWx0ID09IEQzREVSUl9PVVRPRlZJREVPTUVNT1JZIHx8IHJl
c3VsdCA9PSBFX09VVE9GTUVNT1JZKTsKLSAgICAgICAgdGV4dHVyZS0+UmVsZWFzZSgpOwotICAg
ICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX09VVF9PRl9NRU1PUlksIChJRGlyZWN0M0RUZXh0dXJl
OSopTlVMTCk7Ci0gICAgfQotCi0gICAgbVJlbmRlcmVyLT5lbmRTY2VuZSgpOwotICAgIHJlc3Vs
dCA9IGRldmljZS0+U3RyZXRjaFJlY3Qoc3VyZmFjZSwgJnNvdXJjZVJlY3QsIHRleHR1cmVTdXJm
YWNlLCBOVUxMLCBEM0RURVhGX05PTkUpOwotCi0gICAgdGV4dHVyZVN1cmZhY2UtPlJlbGVhc2Uo
KTsKLQotICAgIGlmIChGQUlMRUQocmVzdWx0KSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChyZXN1
bHQgPT0gRDNERVJSX09VVE9GVklERU9NRU1PUlkgfHwgcmVzdWx0ID09IEVfT1VUT0ZNRU1PUlkp
OwotICAgICAgICB0ZXh0dXJlLT5SZWxlYXNlKCk7Ci0gICAgICAgIHJldHVybiBnbDo6ZXJyb3Io
R0xfT1VUX09GX01FTU9SWSwgKElEaXJlY3QzRFRleHR1cmU5KilOVUxMKTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gdGV4dHVyZTsKLX0KLQotdm9pZCBCbGl0OjpzZXRWaWV3cG9ydChjb25zdCBSRUNU
ICZzb3VyY2VSZWN0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0KQotewotICAgIElEaXJl
Y3QzRERldmljZTkgKmRldmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7Ci0KLSAgICBEM0RW
SUVXUE9SVDkgdnA7Ci0gICAgdnAuWCAgICAgID0geG9mZnNldDsKLSAgICB2cC5ZICAgICAgPSB5
b2Zmc2V0OwotICAgIHZwLldpZHRoICA9IHNvdXJjZVJlY3QucmlnaHQgLSBzb3VyY2VSZWN0Lmxl
ZnQ7Ci0gICAgdnAuSGVpZ2h0ID0gc291cmNlUmVjdC5ib3R0b20gLSBzb3VyY2VSZWN0LnRvcDsK
LSAgICB2cC5NaW5aICAgPSAwLjBmOwotICAgIHZwLk1heFogICA9IDEuMGY7Ci0gICAgZGV2aWNl
LT5TZXRWaWV3cG9ydCgmdnApOwotCi0gICAgZmxvYXQgaGFsZlBpeGVsQWRqdXN0WzRdID0geyAt
MS4wZi92cC5XaWR0aCwgMS4wZi92cC5IZWlnaHQsIDAsIDAgfTsKLSAgICBkZXZpY2UtPlNldFZl
cnRleFNoYWRlckNvbnN0YW50RigwLCBoYWxmUGl4ZWxBZGp1c3QsIDEpOwotfQotCi12b2lkIEJs
aXQ6OnNldENvbW1vbkJsaXRTdGF0ZSgpCi17Ci0gICAgSURpcmVjdDNERGV2aWNlOSAqZGV2aWNl
ID0gbVJlbmRlcmVyLT5nZXREZXZpY2UoKTsKLQotICAgIGRldmljZS0+U2V0RGVwdGhTdGVuY2ls
U3VyZmFjZShOVUxMKTsKLQotICAgIGRldmljZS0+U2V0UmVuZGVyU3RhdGUoRDNEUlNfRklMTE1P
REUsIEQzREZJTExfU09MSUQpOwotICAgIGRldmljZS0+U2V0UmVuZGVyU3RhdGUoRDNEUlNfQUxQ
SEFURVNURU5BQkxFLCBGQUxTRSk7Ci0gICAgZGV2aWNlLT5TZXRSZW5kZXJTdGF0ZShEM0RSU19B
TFBIQUJMRU5ERU5BQkxFLCBGQUxTRSk7Ci0gICAgZGV2aWNlLT5TZXRSZW5kZXJTdGF0ZShEM0RS
U19DVUxMTU9ERSwgRDNEQ1VMTF9OT05FKTsKLSAgICBkZXZpY2UtPlNldFJlbmRlclN0YXRlKEQz
RFJTX0NMSVBQTEFORUVOQUJMRSwgMCk7Ci0gICAgZGV2aWNlLT5TZXRSZW5kZXJTdGF0ZShEM0RS
U19DT0xPUldSSVRFRU5BQkxFLCBEM0RDT0xPUldSSVRFRU5BQkxFX0FMUEhBIHwgRDNEQ09MT1JX
UklURUVOQUJMRV9CTFVFIHwgRDNEQ09MT1JXUklURUVOQUJMRV9HUkVFTiB8IEQzRENPTE9SV1JJ
VEVFTkFCTEVfUkVEKTsKLSAgICBkZXZpY2UtPlNldFJlbmRlclN0YXRlKEQzRFJTX1NSR0JXUklU
RUVOQUJMRSwgRkFMU0UpOwotICAgIGRldmljZS0+U2V0UmVuZGVyU3RhdGUoRDNEUlNfU0NJU1NP
UlRFU1RFTkFCTEUsIEZBTFNFKTsKLQotICAgIGRldmljZS0+U2V0U2FtcGxlclN0YXRlKDAsIEQz
RFNBTVBfTUFHRklMVEVSLCBEM0RURVhGX1BPSU5UKTsKLSAgICBkZXZpY2UtPlNldFNhbXBsZXJT
dGF0ZSgwLCBEM0RTQU1QX01JTkZJTFRFUiwgRDNEVEVYRl9QT0lOVCk7Ci0gICAgZGV2aWNlLT5T
ZXRTYW1wbGVyU3RhdGUoMCwgRDNEU0FNUF9TUkdCVEVYVFVSRSwgRkFMU0UpOwotICAgIGRldmlj
ZS0+U2V0U2FtcGxlclN0YXRlKDAsIEQzRFNBTVBfQUREUkVTU1UsIEQzRFRBRERSRVNTX0NMQU1Q
KTsKLSAgICBkZXZpY2UtPlNldFNhbXBsZXJTdGF0ZSgwLCBEM0RTQU1QX0FERFJFU1NWLCBEM0RU
QUREUkVTU19DTEFNUCk7Ci0KLSAgICBSRUNUIHNjaXNzb3JSZWN0ID0gezB9OyAgIC8vIFNjaXNz
b3JpbmcgaXMgZGlzYWJsZWQgZm9yIGZsaXBwaW5nLCBidXQgd2UgbmVlZCB0aGlzIHRvIGNhcHR1
cmUgYW5kIHJlc3RvcmUgdGhlIG9sZCByZWN0YW5nbGUKLSAgICBkZXZpY2UtPlNldFNjaXNzb3JS
ZWN0KCZzY2lzc29yUmVjdCk7Ci0KLSAgICBmb3IoaW50IGkgPSAwOyBpIDwgZ2w6Ok1BWF9WRVJU
RVhfQVRUUklCUzsgaSsrKQotICAgIHsKLSAgICAgICAgZGV2aWNlLT5TZXRTdHJlYW1Tb3VyY2VG
cmVxKGksIDEpOwotICAgIH0KLX0KLQotdm9pZCBCbGl0OjpyZW5kZXIoKQotewotICAgIElEaXJl
Y3QzRERldmljZTkgKmRldmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7Ci0KLSAgICBIUkVT
VUxUIGhyID0gZGV2aWNlLT5TZXRTdHJlYW1Tb3VyY2UoMCwgbVF1YWRWZXJ0ZXhCdWZmZXIsIDAs
IDIgKiBzaXplb2YoZmxvYXQpKTsKLSAgICBociA9IGRldmljZS0+U2V0VmVydGV4RGVjbGFyYXRp
b24obVF1YWRWZXJ0ZXhEZWNsYXJhdGlvbik7Ci0KLSAgICBtUmVuZGVyZXItPnN0YXJ0U2NlbmUo
KTsKLSAgICBociA9IGRldmljZS0+RHJhd1ByaW1pdGl2ZShEM0RQVF9UUklBTkdMRVNUUklQLCAw
LCAyKTsKLX0KLQotdm9pZCBCbGl0OjpzYXZlU3RhdGUoKQotewotICAgIElEaXJlY3QzRERldmlj
ZTkgKmRldmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7Ci0KLSAgICBIUkVTVUxUIGhyOwot
Ci0gICAgZGV2aWNlLT5HZXREZXB0aFN0ZW5jaWxTdXJmYWNlKCZtU2F2ZWREZXB0aFN0ZW5jaWwp
OwotICAgIGRldmljZS0+R2V0UmVuZGVyVGFyZ2V0KDAsICZtU2F2ZWRSZW5kZXJUYXJnZXQpOwot
Ci0gICAgaWYgKG1TYXZlZFN0YXRlQmxvY2sgPT0gTlVMTCkKLSAgICB7Ci0gICAgICAgIGhyID0g
ZGV2aWNlLT5CZWdpblN0YXRlQmxvY2soKTsKLSAgICAgICAgQVNTRVJUKFNVQ0NFRURFRChocikg
fHwgaHIgPT0gRDNERVJSX09VVE9GVklERU9NRU1PUlkgfHwgaHIgPT0gRV9PVVRPRk1FTU9SWSk7
Ci0KLSAgICAgICAgc2V0Q29tbW9uQmxpdFN0YXRlKCk7Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0
IGZsb2F0IGR1bW15Q29uc3RbNF0gPSB7IDAsIDAsIDAsIDAgfTsKLQotICAgICAgICBkZXZpY2Ut
PlNldFZlcnRleFNoYWRlcihOVUxMKTsKLSAgICAgICAgZGV2aWNlLT5TZXRWZXJ0ZXhTaGFkZXJD
b25zdGFudEYoMCwgZHVtbXlDb25zdCwgMSk7Ci0gICAgICAgIGRldmljZS0+U2V0UGl4ZWxTaGFk
ZXIoTlVMTCk7Ci0gICAgICAgIGRldmljZS0+U2V0UGl4ZWxTaGFkZXJDb25zdGFudEYoMCwgZHVt
bXlDb25zdCwgMSk7Ci0KLSAgICAgICAgRDNEVklFV1BPUlQ5IGR1bW15VnA7Ci0gICAgICAgIGR1
bW15VnAuWCA9IDA7Ci0gICAgICAgIGR1bW15VnAuWSA9IDA7Ci0gICAgICAgIGR1bW15VnAuV2lk
dGggPSAxOwotICAgICAgICBkdW1teVZwLkhlaWdodCA9IDE7Ci0gICAgICAgIGR1bW15VnAuTWlu
WiA9IDA7Ci0gICAgICAgIGR1bW15VnAuTWF4WiA9IDE7Ci0KLSAgICAgICAgZGV2aWNlLT5TZXRW
aWV3cG9ydCgmZHVtbXlWcCk7Ci0KLSAgICAgICAgZGV2aWNlLT5TZXRUZXh0dXJlKDAsIE5VTEwp
OwotCi0gICAgICAgIGRldmljZS0+U2V0U3RyZWFtU291cmNlKDAsIG1RdWFkVmVydGV4QnVmZmVy
LCAwLCAwKTsKLQotICAgICAgICBkZXZpY2UtPlNldFZlcnRleERlY2xhcmF0aW9uKG1RdWFkVmVy
dGV4RGVjbGFyYXRpb24pOwotCi0gICAgICAgIGhyID0gZGV2aWNlLT5FbmRTdGF0ZUJsb2NrKCZt
U2F2ZWRTdGF0ZUJsb2NrKTsKLSAgICAgICAgQVNTRVJUKFNVQ0NFRURFRChocikgfHwgaHIgPT0g
RDNERVJSX09VVE9GVklERU9NRU1PUlkgfHwgaHIgPT0gRV9PVVRPRk1FTU9SWSk7Ci0gICAgfQot
Ci0gICAgQVNTRVJUKG1TYXZlZFN0YXRlQmxvY2sgIT0gTlVMTCk7Ci0KLSAgICBpZiAobVNhdmVk
U3RhdGVCbG9jayAhPSBOVUxMKQotICAgIHsKLSAgICAgICAgaHIgPSBtU2F2ZWRTdGF0ZUJsb2Nr
LT5DYXB0dXJlKCk7Ci0gICAgICAgIEFTU0VSVChTVUNDRUVERUQoaHIpKTsKLSAgICB9Ci19Ci0K
LXZvaWQgQmxpdDo6cmVzdG9yZVN0YXRlKCkKLXsKLSAgICBJRGlyZWN0M0REZXZpY2U5ICpkZXZp
Y2UgPSBtUmVuZGVyZXItPmdldERldmljZSgpOwotCi0gICAgZGV2aWNlLT5TZXREZXB0aFN0ZW5j
aWxTdXJmYWNlKG1TYXZlZERlcHRoU3RlbmNpbCk7Ci0gICAgaWYgKG1TYXZlZERlcHRoU3RlbmNp
bCAhPSBOVUxMKQotICAgIHsKLSAgICAgICAgbVNhdmVkRGVwdGhTdGVuY2lsLT5SZWxlYXNlKCk7
Ci0gICAgICAgIG1TYXZlZERlcHRoU3RlbmNpbCA9IE5VTEw7Ci0gICAgfQotCi0gICAgZGV2aWNl
LT5TZXRSZW5kZXJUYXJnZXQoMCwgbVNhdmVkUmVuZGVyVGFyZ2V0KTsKLSAgICBpZiAobVNhdmVk
UmVuZGVyVGFyZ2V0ICE9IE5VTEwpCi0gICAgewotICAgICAgICBtU2F2ZWRSZW5kZXJUYXJnZXQt
PlJlbGVhc2UoKTsKLSAgICAgICAgbVNhdmVkUmVuZGVyVGFyZ2V0ID0gTlVMTDsKLSAgICB9Ci0K
LSAgICBBU1NFUlQobVNhdmVkU3RhdGVCbG9jayAhPSBOVUxMKTsKLQotICAgIGlmIChtU2F2ZWRT
dGF0ZUJsb2NrICE9IE5VTEwpCi0gICAgewotICAgICAgICBtU2F2ZWRTdGF0ZUJsb2NrLT5BcHBs
eSgpOwotICAgIH0KLX0KLQotfQpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkdMRVN2Mi9yZW5kZXJlci9kM2Q5L0JsaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDkvQmxpdC5oCShyZXZpc2lvbiAx
NjgxMDMpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVy
L2QzZDkvQmxpdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDk0ICswLDAgQEAKLS8vCi0vLyBDb3B5
cmlnaHQgKGMpIDIwMDItMjAxMCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLS8vCi0KLS8vIEJsaXQuY3BwOiBTdXJmYWNlIGNvcHkgdXRpbGl0eSBjbGFzcy4KLQotI2lm
bmRlZiBMSUJHTEVTVjJfQkxJVF9IXwotI2RlZmluZSBMSUJHTEVTVjJfQkxJVF9IXwotCi0jaW5j
bHVkZSAiY29tbW9uL2FuZ2xldXRpbHMuaCIKLQotbmFtZXNwYWNlIGdsCi17Ci1jbGFzcyBGcmFt
ZWJ1ZmZlcjsKLX0KLQotbmFtZXNwYWNlIHJ4Ci17Ci1jbGFzcyBSZW5kZXJlcjk7Ci1jbGFzcyBU
ZXh0dXJlU3RvcmFnZUludGVyZmFjZTJEOwotY2xhc3MgVGV4dHVyZVN0b3JhZ2VJbnRlcmZhY2VD
dWJlOwotCi1jbGFzcyBCbGl0Ci17Ci0gIHB1YmxpYzoKLSAgICBleHBsaWNpdCBCbGl0KFJlbmRl
cmVyOSAqcmVuZGVyZXIpOwotICAgIH5CbGl0KCk7Ci0KLSAgICAvLyBDb3B5IGZyb20gc291cmNl
IHN1cmZhY2UgdG8gZGVzdCBzdXJmYWNlLgotICAgIC8vIHNvdXJjZVJlY3QsIHhvZmZzZXQsIHlv
ZmZzZXQgYXJlIGluIEQzRCBjb29yZGluYXRlcyAoMCwwIGluIHVwcGVyLWxlZnQpCi0gICAgYm9v
bCBjb3B5KGdsOjpGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIsIGNvbnN0IFJFQ1QgJnNvdXJjZVJl
Y3QsIEdMZW51bSBkZXN0Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBUZXh0
dXJlU3RvcmFnZUludGVyZmFjZTJEICpzdG9yYWdlLCBHTGludCBsZXZlbCk7Ci0gICAgYm9vbCBj
b3B5KGdsOjpGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIsIGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3Qs
IEdMZW51bSBkZXN0Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBUZXh0dXJl
U3RvcmFnZUludGVyZmFjZUN1YmUgKnN0b3JhZ2UsIEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVs
KTsKLQotICAgIC8vIENvcHkgZnJvbSBzb3VyY2Ugc3VyZmFjZSB0byBkZXN0IHN1cmZhY2UuCi0g
ICAgLy8gc291cmNlUmVjdCwgeG9mZnNldCwgeW9mZnNldCBhcmUgaW4gRDNEIGNvb3JkaW5hdGVz
ICgwLDAgaW4gdXBwZXItbGVmdCkKLSAgICAvLyBzb3VyY2UgaXMgaW50ZXJwcmV0ZWQgYXMgUkdC
QSBhbmQgZGVzdEZvcm1hdCBzcGVjaWZpZXMgdGhlIGRlc2lyZWQgcmVzdWx0IGZvcm1hdC4gRm9y
IGV4YW1wbGUsIGlmIGRlc3RGb3JtYXQgPSBHTF9SR0IsIHRoZSBhbHBoYSBjaGFubmVsIHdpbGwg
YmUgZm9yY2VkIHRvIDAuCi0gICAgYm9vbCBmb3JtYXRDb252ZXJ0KElEaXJlY3QzRFN1cmZhY2U5
ICpzb3VyY2UsIGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QsIEdMZW51bSBkZXN0Rm9ybWF0LCBHTGlu
dCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBJRGlyZWN0M0RTdXJmYWNlOSAqZGVzdCk7Ci0KLSAg
ICAvLyAyeDIgYm94IGZpbHRlciBzYW1wbGUgZnJvbSBzb3VyY2UgdG8gZGVzdC4KLSAgICAvLyBS
ZXF1aXJlcyB0aGF0IHNvdXJjZSBpcyBSR0IoQSkgYW5kIGRlc3QgaGFzIHRoZSBzYW1lIGZvcm1h
dCBhcyBzb3VyY2UuCi0gICAgYm9vbCBib3hGaWx0ZXIoSURpcmVjdDNEU3VyZmFjZTkgKnNvdXJj
ZSwgSURpcmVjdDNEU3VyZmFjZTkgKmRlc3QpOwotCi0gIHByaXZhdGU6Ci0gICAgcng6OlJlbmRl
cmVyOSAqbVJlbmRlcmVyOwotCi0gICAgSURpcmVjdDNEVmVydGV4QnVmZmVyOSAqbVF1YWRWZXJ0
ZXhCdWZmZXI7Ci0gICAgSURpcmVjdDNEVmVydGV4RGVjbGFyYXRpb245ICptUXVhZFZlcnRleERl
Y2xhcmF0aW9uOwotCi0gICAgdm9pZCBpbml0R2VvbWV0cnkoKTsKLQotICAgIGJvb2wgc2V0Rm9y
bWF0Q29udmVydFNoYWRlcnMoR0xlbnVtIGRlc3RGb3JtYXQpOwotCi0gICAgYm9vbCBjb3B5KElE
aXJlY3QzRFN1cmZhY2U5ICpzb3VyY2UsIGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QsIEdMZW51bSBk
ZXN0Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBJRGlyZWN0M0RTdXJmYWNl
OSAqZGVzdCk7Ci0gICAgSURpcmVjdDNEVGV4dHVyZTkgKmNvcHlTdXJmYWNlVG9UZXh0dXJlKElE
aXJlY3QzRFN1cmZhY2U5ICpzdXJmYWNlLCBjb25zdCBSRUNUICZzb3VyY2VSZWN0KTsKLSAgICB2
b2lkIHNldFZpZXdwb3J0KGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QsIEdMaW50IHhvZmZzZXQsIEdM
aW50IHlvZmZzZXQpOwotICAgIHZvaWQgc2V0Q29tbW9uQmxpdFN0YXRlKCk7Ci0gICAgUkVDVCBn
ZXRTdXJmYWNlUmVjdChJRGlyZWN0M0RTdXJmYWNlOSAqc3VyZmFjZSkgY29uc3Q7Ci0KLSAgICAv
LyBUaGlzIGVudW0gaXMgdXNlZCB0byBpbmRleCBtQ29tcGlsZWRTaGFkZXJzIGFuZCBtU2hhZGVy
U291cmNlLgotICAgIGVudW0gU2hhZGVySWQKLSAgICB7Ci0gICAgICAgIFNIQURFUl9WU19TVEFO
REFSRCwKLSAgICAgICAgU0hBREVSX1ZTX0ZMSVBZLAotICAgICAgICBTSEFERVJfUFNfUEFTU1RI
Uk9VR0gsCi0gICAgICAgIFNIQURFUl9QU19MVU1JTkFOQ0UsCi0gICAgICAgIFNIQURFUl9QU19D
T01QT05FTlRNQVNLLAotICAgICAgICBTSEFERVJfQ09VTlQKLSAgICB9OwotCi0gICAgLy8gVGhp
cyBhY3R1YWxseSBjb250YWlucyBJRGlyZWN0M0RWZXJ0ZXhTaGFkZXI5IG9yIElEaXJlY3QzRFBp
eGVsU2hhZGVyOSBjYXN0ZWQgdG8gSVVua25vd24uCi0gICAgSVVua25vd24gKm1Db21waWxlZFNo
YWRlcnNbU0hBREVSX0NPVU5UXTsKLQotICAgIHRlbXBsYXRlIDxjbGFzcyBEM0RTaGFkZXJUeXBl
PgotICAgIGJvb2wgc2V0U2hhZGVyKFNoYWRlcklkIHNvdXJjZSwgY29uc3QgY2hhciAqcHJvZmls
ZSwKLSAgICAgICAgICAgICAgICAgICBEM0RTaGFkZXJUeXBlICooUmVuZGVyZXI5OjoqY3JlYXRl
U2hhZGVyKShjb25zdCBEV09SRCAqLCBzaXplX3QgbGVuZ3RoKSwKLSAgICAgICAgICAgICAgICAg
ICBIUkVTVUxUIChXSU5BUEkgSURpcmVjdDNERGV2aWNlOTo6KnNldFNoYWRlcikoRDNEU2hhZGVy
VHlwZSopKTsKLQotICAgIGJvb2wgc2V0VmVydGV4U2hhZGVyKFNoYWRlcklkIHNoYWRlcik7Ci0g
ICAgYm9vbCBzZXRQaXhlbFNoYWRlcihTaGFkZXJJZCBzaGFkZXIpOwotICAgIHZvaWQgcmVuZGVy
KCk7Ci0KLSAgICB2b2lkIHNhdmVTdGF0ZSgpOwotICAgIHZvaWQgcmVzdG9yZVN0YXRlKCk7Ci0g
ICAgSURpcmVjdDNEU3RhdGVCbG9jazkgKm1TYXZlZFN0YXRlQmxvY2s7Ci0gICAgSURpcmVjdDNE
U3VyZmFjZTkgKm1TYXZlZFJlbmRlclRhcmdldDsKLSAgICBJRGlyZWN0M0RTdXJmYWNlOSAqbVNh
dmVkRGVwdGhTdGVuY2lsOwotCi0gICAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEJsaXQpOwot
fTsKLX0KLQotI2VuZGlmICAgLy8gTElCR0xFU1YyX0JMSVRfSF8KSW5kZXg6IFNvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9CbGl0OS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9k
M2Q5L0JsaXQ5LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9CbGl0OS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw2NDUgQEAKKyNpbmNsdWRlICJwcmVjb21waWxlZC5oIgorLy8KKy8vIENvcHlyaWdodCAo
YykgMjAwMi0yMDEwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls
ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8K
KworLy8gQmxpdDkuY3BwOiBTdXJmYWNlIGNvcHkgdXRpbGl0eSBjbGFzcy4KKworI2luY2x1ZGUg
ImxpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L0JsaXQ5LmgiCisKKyNpbmNsdWRlICJsaWJHTEVTdjIv
bWFpbi5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L3JlbmRlcmVyOV91dGls
cy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L2Zvcm1hdHV0aWxzOS5oIgor
I2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L1RleHR1cmVTdG9yYWdlOS5oIgorI2lu
Y2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L1JlbmRlclRhcmdldDkuaCIKKyNpbmNsdWRl
ICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9SZW5kZXJlcjkuaCIKKyNpbmNsdWRlICJsaWJHTEVT
djIvRnJhbWVidWZmZXIuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvUmVuZGVyYnVmZmVyLmgiCisK
K25hbWVzcGFjZQoreworI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L3NoYWRlcnMv
Y29tcGlsZWQvc3RhbmRhcmR2cy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5
L3NoYWRlcnMvY29tcGlsZWQvZmxpcHl2cy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9yZW5kZXJl
ci9kM2Q5L3NoYWRlcnMvY29tcGlsZWQvcGFzc3Rocm91Z2hwcy5oIgorI2luY2x1ZGUgImxpYkdM
RVN2Mi9yZW5kZXJlci9kM2Q5L3NoYWRlcnMvY29tcGlsZWQvbHVtaW5hbmNlcHMuaCIKKyNpbmNs
dWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9zaGFkZXJzL2NvbXBpbGVkL2NvbXBvbmVudG1h
c2twcy5oIgorCitjb25zdCBCWVRFKiBjb25zdCBnX3NoYWRlckNvZGVbXSA9Cit7CisgICAgZ192
czIwX3N0YW5kYXJkdnMsCisgICAgZ192czIwX2ZsaXB5dnMsCisgICAgZ19wczIwX3Bhc3N0aHJv
dWdocHMsCisgICAgZ19wczIwX2x1bWluYW5jZXBzLAorICAgIGdfcHMyMF9jb21wb25lbnRtYXNr
cHMKK307CisKK2NvbnN0IHNpemVfdCBnX3NoYWRlclNpemVbXSA9Cit7CisgICAgc2l6ZW9mKGdf
dnMyMF9zdGFuZGFyZHZzKSwKKyAgICBzaXplb2YoZ192czIwX2ZsaXB5dnMpLAorICAgIHNpemVv
ZihnX3BzMjBfcGFzc3Rocm91Z2hwcyksCisgICAgc2l6ZW9mKGdfcHMyMF9sdW1pbmFuY2Vwcyks
CisgICAgc2l6ZW9mKGdfcHMyMF9jb21wb25lbnRtYXNrcHMpCit9OworfQorCituYW1lc3BhY2Ug
cngKK3sKK0JsaXQ5OjpCbGl0OShyeDo6UmVuZGVyZXI5ICpyZW5kZXJlcikKKyAgOiBtUmVuZGVy
ZXIocmVuZGVyZXIpLCBtUXVhZFZlcnRleEJ1ZmZlcihOVUxMKSwgbVF1YWRWZXJ0ZXhEZWNsYXJh
dGlvbihOVUxMKSwgbVNhdmVkU3RhdGVCbG9jayhOVUxMKSwgbVNhdmVkUmVuZGVyVGFyZ2V0KE5V
TEwpLCBtU2F2ZWREZXB0aFN0ZW5jaWwoTlVMTCkKK3sKKyAgICBpbml0R2VvbWV0cnkoKTsKKyAg
ICBtZW1zZXQobUNvbXBpbGVkU2hhZGVycywgMCwgc2l6ZW9mKG1Db21waWxlZFNoYWRlcnMpKTsK
K30KKworQmxpdDk6On5CbGl0OSgpCit7CisgICAgU2FmZVJlbGVhc2UobVNhdmVkU3RhdGVCbG9j
ayk7CisgICAgU2FmZVJlbGVhc2UobVF1YWRWZXJ0ZXhCdWZmZXIpOworICAgIFNhZmVSZWxlYXNl
KG1RdWFkVmVydGV4RGVjbGFyYXRpb24pOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTSEFE
RVJfQ09VTlQ7IGkrKykKKyAgICB7CisgICAgICAgIFNhZmVSZWxlYXNlKG1Db21waWxlZFNoYWRl
cnNbaV0pOworICAgIH0KK30KKwordm9pZCBCbGl0OTo6aW5pdEdlb21ldHJ5KCkKK3sKKyAgICBz
dGF0aWMgY29uc3QgZmxvYXQgcXVhZFtdID0KKyAgICB7CisgICAgICAgIC0xLCAtMSwKKyAgICAg
ICAgLTEsICAxLAorICAgICAgICAgMSwgLTEsCisgICAgICAgICAxLCAgMQorICAgIH07CisKKyAg
ICBJRGlyZWN0M0REZXZpY2U5ICpkZXZpY2UgPSBtUmVuZGVyZXItPmdldERldmljZSgpOworCisg
ICAgSFJFU1VMVCByZXN1bHQgPSBkZXZpY2UtPkNyZWF0ZVZlcnRleEJ1ZmZlcihzaXplb2YocXVh
ZCksIEQzRFVTQUdFX1dSSVRFT05MWSwgMCwgRDNEUE9PTF9ERUZBVUxULCAmbVF1YWRWZXJ0ZXhC
dWZmZXIsIE5VTEwpOworCisgICAgaWYgKEZBSUxFRChyZXN1bHQpKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKHJlc3VsdCA9PSBEM0RFUlJfT1VUT0ZWSURFT01FTU9SWSB8fCByZXN1bHQgPT0gRV9P
VVRPRk1FTU9SWSk7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfT1VUX09GX01FTU9SWSk7
CisgICAgfQorCisgICAgdm9pZCAqbG9ja1B0ciA9IE5VTEw7CisgICAgcmVzdWx0ID0gbVF1YWRW
ZXJ0ZXhCdWZmZXItPkxvY2soMCwgMCwgJmxvY2tQdHIsIDApOworCisgICAgaWYgKEZBSUxFRChy
ZXN1bHQpIHx8IGxvY2tQdHIgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIEFTU0VSVChyZXN1bHQg
PT0gRDNERVJSX09VVE9GVklERU9NRU1PUlkgfHwgcmVzdWx0ID09IEVfT1VUT0ZNRU1PUlkpOwor
ICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX09VVF9PRl9NRU1PUlkpOworICAgIH0KKworICAg
IG1lbWNweShsb2NrUHRyLCBxdWFkLCBzaXplb2YocXVhZCkpOworICAgIG1RdWFkVmVydGV4QnVm
ZmVyLT5VbmxvY2soKTsKKworICAgIHN0YXRpYyBjb25zdCBEM0RWRVJURVhFTEVNRU5UOSBlbGVt
ZW50c1tdID0KKyAgICB7CisgICAgICAgIHsgMCwgMCwgRDNEREVDTFRZUEVfRkxPQVQyLCBEM0RE
RUNMTUVUSE9EX0RFRkFVTFQsIEQzRERFQ0xVU0FHRV9QT1NJVElPTiwgMCB9LAorICAgICAgICBE
M0RERUNMX0VORCgpCisgICAgfTsKKworICAgIHJlc3VsdCA9IGRldmljZS0+Q3JlYXRlVmVydGV4
RGVjbGFyYXRpb24oZWxlbWVudHMsICZtUXVhZFZlcnRleERlY2xhcmF0aW9uKTsKKworICAgIGlm
IChGQUlMRUQocmVzdWx0KSkKKyAgICB7CisgICAgICAgIEFTU0VSVChyZXN1bHQgPT0gRDNERVJS
X09VVE9GVklERU9NRU1PUlkgfHwgcmVzdWx0ID09IEVfT1VUT0ZNRU1PUlkpOworICAgICAgICBy
ZXR1cm4gZ2w6OmVycm9yKEdMX09VVF9PRl9NRU1PUlkpOworICAgIH0KK30KKwordGVtcGxhdGUg
PGNsYXNzIEQzRFNoYWRlclR5cGU+Citib29sIEJsaXQ5OjpzZXRTaGFkZXIoU2hhZGVySWQgc291
cmNlLCBjb25zdCBjaGFyICpwcm9maWxlLAorICAgICAgICAgICAgICAgICAgICAgRDNEU2hhZGVy
VHlwZSAqKHJ4OjpSZW5kZXJlcjk6OipjcmVhdGVTaGFkZXIpKGNvbnN0IERXT1JEICosIHNpemVf
dCBsZW5ndGgpLAorICAgICAgICAgICAgICAgICAgICAgSFJFU1VMVCAoV0lOQVBJIElEaXJlY3Qz
RERldmljZTk6OipzZXRTaGFkZXIpKEQzRFNoYWRlclR5cGUqKSkKK3sKKyAgICBJRGlyZWN0M0RE
ZXZpY2U5ICpkZXZpY2UgPSBtUmVuZGVyZXItPmdldERldmljZSgpOworCisgICAgRDNEU2hhZGVy
VHlwZSAqc2hhZGVyOworCisgICAgaWYgKG1Db21waWxlZFNoYWRlcnNbc291cmNlXSAhPSBOVUxM
KQorICAgIHsKKyAgICAgICAgc2hhZGVyID0gc3RhdGljX2Nhc3Q8RDNEU2hhZGVyVHlwZSo+KG1D
b21waWxlZFNoYWRlcnNbc291cmNlXSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAg
IGNvbnN0IEJZVEUqIHNoYWRlckNvZGUgPSBnX3NoYWRlckNvZGVbc291cmNlXTsKKyAgICAgICAg
c2l6ZV90IHNoYWRlclNpemUgPSBnX3NoYWRlclNpemVbc291cmNlXTsKKworICAgICAgICBzaGFk
ZXIgPSAobVJlbmRlcmVyLT4qY3JlYXRlU2hhZGVyKShyZWludGVycHJldF9jYXN0PGNvbnN0IERX
T1JEKj4oc2hhZGVyQ29kZSksIHNoYWRlclNpemUpOworICAgICAgICBpZiAoIXNoYWRlcikKKyAg
ICAgICAgeworICAgICAgICAgICAgRVJSKCJGYWlsZWQgdG8gY3JlYXRlIHNoYWRlciBmb3IgYmxp
dCBvcGVyYXRpb24iKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisg
ICAgICAgIG1Db21waWxlZFNoYWRlcnNbc291cmNlXSA9IHNoYWRlcjsKKyAgICB9CisKKyAgICBI
UkVTVUxUIGhyID0gKGRldmljZS0+KnNldFNoYWRlcikoc2hhZGVyKTsKKworICAgIGlmIChGQUlM
RUQoaHIpKQorICAgIHsKKyAgICAgICAgRVJSKCJGYWlsZWQgdG8gc2V0IHNoYWRlciBmb3IgYmxp
dCBvcGVyYXRpb24iKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVy
biB0cnVlOworfQorCitib29sIEJsaXQ5OjpzZXRWZXJ0ZXhTaGFkZXIoU2hhZGVySWQgc2hhZGVy
KQoreworICAgIHJldHVybiBzZXRTaGFkZXI8SURpcmVjdDNEVmVydGV4U2hhZGVyOT4oc2hhZGVy
LCAidnNfMl8wIiwgJnJ4OjpSZW5kZXJlcjk6OmNyZWF0ZVZlcnRleFNoYWRlciwgJklEaXJlY3Qz
RERldmljZTk6OlNldFZlcnRleFNoYWRlcik7Cit9CisKK2Jvb2wgQmxpdDk6OnNldFBpeGVsU2hh
ZGVyKFNoYWRlcklkIHNoYWRlcikKK3sKKyAgICByZXR1cm4gc2V0U2hhZGVyPElEaXJlY3QzRFBp
eGVsU2hhZGVyOT4oc2hhZGVyLCAicHNfMl8wIiwgJnJ4OjpSZW5kZXJlcjk6OmNyZWF0ZVBpeGVs
U2hhZGVyLCAmSURpcmVjdDNERGV2aWNlOTo6U2V0UGl4ZWxTaGFkZXIpOworfQorCitSRUNUIEJs
aXQ5OjpnZXRTdXJmYWNlUmVjdChJRGlyZWN0M0RTdXJmYWNlOSAqc3VyZmFjZSkgY29uc3QKK3sK
KyAgICBEM0RTVVJGQUNFX0RFU0MgZGVzYzsKKyAgICBzdXJmYWNlLT5HZXREZXNjKCZkZXNjKTsK
KworICAgIFJFQ1QgcmVjdDsKKyAgICByZWN0LmxlZnQgPSAwOworICAgIHJlY3QudG9wID0gMDsK
KyAgICByZWN0LnJpZ2h0ID0gZGVzYy5XaWR0aDsKKyAgICByZWN0LmJvdHRvbSA9IGRlc2MuSGVp
Z2h0OworCisgICAgcmV0dXJuIHJlY3Q7Cit9CisKK2Jvb2wgQmxpdDk6OmJveEZpbHRlcihJRGly
ZWN0M0RTdXJmYWNlOSAqc291cmNlLCBJRGlyZWN0M0RTdXJmYWNlOSAqZGVzdCkKK3sKKyAgICBJ
RGlyZWN0M0RUZXh0dXJlOSAqdGV4dHVyZSA9IGNvcHlTdXJmYWNlVG9UZXh0dXJlKHNvdXJjZSwg
Z2V0U3VyZmFjZVJlY3Qoc291cmNlKSk7CisgICAgaWYgKCF0ZXh0dXJlKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIElEaXJlY3QzRERldmljZTkgKmRldmljZSA9
IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7CisKKyAgICBzYXZlU3RhdGUoKTsKKworICAgIGRldmlj
ZS0+U2V0VGV4dHVyZSgwLCB0ZXh0dXJlKTsKKyAgICBkZXZpY2UtPlNldFJlbmRlclRhcmdldCgw
LCBkZXN0KTsKKworICAgIHNldFZlcnRleFNoYWRlcihTSEFERVJfVlNfU1RBTkRBUkQpOworICAg
IHNldFBpeGVsU2hhZGVyKFNIQURFUl9QU19QQVNTVEhST1VHSCk7CisKKyAgICBzZXRDb21tb25C
bGl0U3RhdGUoKTsKKyAgICBkZXZpY2UtPlNldFNhbXBsZXJTdGF0ZSgwLCBEM0RTQU1QX01JTkZJ
TFRFUiwgRDNEVEVYRl9MSU5FQVIpOworICAgIGRldmljZS0+U2V0U2FtcGxlclN0YXRlKDAsIEQz
RFNBTVBfTUFHRklMVEVSLCBEM0RURVhGX0xJTkVBUik7CisKKyAgICBzZXRWaWV3cG9ydChnZXRT
dXJmYWNlUmVjdChkZXN0KSwgMCwgMCk7CisKKyAgICByZW5kZXIoKTsKKworICAgIFNhZmVSZWxl
YXNlKHRleHR1cmUpOworCisgICAgcmVzdG9yZVN0YXRlKCk7CisKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworYm9vbCBCbGl0OTo6Y29weShnbDo6RnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyLCBjb25z
dCBSRUNUICZzb3VyY2VSZWN0LCBHTGVudW0gZGVzdEZvcm1hdCwgR0xpbnQgeG9mZnNldCwgR0xp
bnQgeW9mZnNldCwgVGV4dHVyZVN0b3JhZ2VJbnRlcmZhY2UyRCAqc3RvcmFnZSwgR0xpbnQgbGV2
ZWwpCit7CisgICAgUmVuZGVyVGFyZ2V0OSAqcmVuZGVyVGFyZ2V0ID0gTlVMTDsKKyAgICBJRGly
ZWN0M0RTdXJmYWNlOSAqc291cmNlID0gTlVMTDsKKyAgICBnbDo6UmVuZGVyYnVmZmVyICpjb2xv
cmJ1ZmZlciA9IGZyYW1lYnVmZmVyLT5nZXRDb2xvcmJ1ZmZlcigwKTsKKworICAgIGlmIChjb2xv
cmJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJlbmRlclRhcmdldCA9IFJlbmRlclRhcmdldDk6Om1h
a2VSZW5kZXJUYXJnZXQ5KGNvbG9yYnVmZmVyLT5nZXRSZW5kZXJUYXJnZXQoKSk7CisgICAgfQor
ICAgIAorICAgIGlmIChyZW5kZXJUYXJnZXQpCisgICAgeworICAgICAgICBzb3VyY2UgPSByZW5k
ZXJUYXJnZXQtPmdldFN1cmZhY2UoKTsKKyAgICB9CisKKyAgICBpZiAoIXNvdXJjZSkKKyAgICB7
CisgICAgICAgIEVSUigiRmFpbGVkIHRvIHJldHJpZXZlIHRoZSByZW5kZXIgdGFyZ2V0LiIpOwor
ICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX09VVF9PRl9NRU1PUlksIGZhbHNlKTsKKyAgICB9
CisKKyAgICBUZXh0dXJlU3RvcmFnZTlfMkQgKnN0b3JhZ2U5ID0gVGV4dHVyZVN0b3JhZ2U5XzJE
OjptYWtlVGV4dHVyZVN0b3JhZ2U5XzJEKHN0b3JhZ2UtPmdldFN0b3JhZ2VJbnN0YW5jZSgpKTsK
KyAgICBJRGlyZWN0M0RTdXJmYWNlOSAqZGVzdFN1cmZhY2UgPSBzdG9yYWdlOS0+Z2V0U3VyZmFj
ZUxldmVsKGxldmVsLCB0cnVlKTsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgICAgICAK
KyAgICBpZiAoZGVzdFN1cmZhY2UpCisgICAgeworICAgICAgICByZXN1bHQgPSBjb3B5KHNvdXJj
ZSwgc291cmNlUmVjdCwgZGVzdEZvcm1hdCwgeG9mZnNldCwgeW9mZnNldCwgZGVzdFN1cmZhY2Up
OworICAgICAgICBTYWZlUmVsZWFzZShkZXN0U3VyZmFjZSk7CisgICAgfQorCisgICAgU2FmZVJl
bGVhc2Uoc291cmNlKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIEJsaXQ5Ojpjb3B5
KGdsOjpGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIsIGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QsIEdM
ZW51bSBkZXN0Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBUZXh0dXJlU3Rv
cmFnZUludGVyZmFjZUN1YmUgKnN0b3JhZ2UsIEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsKQor
eworICAgIFJlbmRlclRhcmdldDkgKnJlbmRlclRhcmdldCA9IE5VTEw7CisgICAgSURpcmVjdDNE
U3VyZmFjZTkgKnNvdXJjZSA9IE5VTEw7CisgICAgZ2w6OlJlbmRlcmJ1ZmZlciAqY29sb3JidWZm
ZXIgPSBmcmFtZWJ1ZmZlci0+Z2V0Q29sb3JidWZmZXIoMCk7CisKKyAgICBpZiAoY29sb3JidWZm
ZXIpCisgICAgeworICAgICAgICByZW5kZXJUYXJnZXQgPSBSZW5kZXJUYXJnZXQ5OjptYWtlUmVu
ZGVyVGFyZ2V0OShjb2xvcmJ1ZmZlci0+Z2V0UmVuZGVyVGFyZ2V0KCkpOworICAgIH0KKyAgICAK
KyAgICBpZiAocmVuZGVyVGFyZ2V0KQorICAgIHsKKyAgICAgICAgc291cmNlID0gcmVuZGVyVGFy
Z2V0LT5nZXRTdXJmYWNlKCk7CisgICAgfQorCisgICAgaWYgKCFzb3VyY2UpCisgICAgeworICAg
ICAgICBFUlIoIkZhaWxlZCB0byByZXRyaWV2ZSB0aGUgcmVuZGVyIHRhcmdldC4iKTsKKyAgICAg
ICAgcmV0dXJuIGdsOjplcnJvcihHTF9PVVRfT0ZfTUVNT1JZLCBmYWxzZSk7CisgICAgfQorCisg
ICAgVGV4dHVyZVN0b3JhZ2U5X0N1YmUgKnN0b3JhZ2U5ID0gVGV4dHVyZVN0b3JhZ2U5X0N1YmU6
Om1ha2VUZXh0dXJlU3RvcmFnZTlfQ3ViZShzdG9yYWdlLT5nZXRTdG9yYWdlSW5zdGFuY2UoKSk7
CisgICAgSURpcmVjdDNEU3VyZmFjZTkgKmRlc3RTdXJmYWNlID0gc3RvcmFnZTktPmdldEN1YmVN
YXBTdXJmYWNlKHRhcmdldCwgbGV2ZWwsIHRydWUpOworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7
CisKKyAgICBpZiAoZGVzdFN1cmZhY2UpCisgICAgeworICAgICAgICByZXN1bHQgPSBjb3B5KHNv
dXJjZSwgc291cmNlUmVjdCwgZGVzdEZvcm1hdCwgeG9mZnNldCwgeW9mZnNldCwgZGVzdFN1cmZh
Y2UpOworICAgICAgICBTYWZlUmVsZWFzZShkZXN0U3VyZmFjZSk7CisgICAgfQorCisgICAgU2Fm
ZVJlbGVhc2Uoc291cmNlKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIEJsaXQ5Ojpj
b3B5KElEaXJlY3QzRFN1cmZhY2U5ICpzb3VyY2UsIGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QsIEdM
ZW51bSBkZXN0Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBJRGlyZWN0M0RT
dXJmYWNlOSAqZGVzdCkKK3sKKyAgICBpZiAoIWRlc3QpCisgICAgeworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgSURpcmVjdDNERGV2aWNlOSAqZGV2aWNlID0gbVJlbmRlcmVy
LT5nZXREZXZpY2UoKTsKKworICAgIEQzRFNVUkZBQ0VfREVTQyBzb3VyY2VEZXNjOworICAgIEQz
RFNVUkZBQ0VfREVTQyBkZXN0RGVzYzsKKyAgICBzb3VyY2UtPkdldERlc2MoJnNvdXJjZURlc2Mp
OworICAgIGRlc3QtPkdldERlc2MoJmRlc3REZXNjKTsKKworICAgIGlmIChzb3VyY2VEZXNjLkZv
cm1hdCA9PSBkZXN0RGVzYy5Gb3JtYXQgJiYgZGVzdERlc2MuVXNhZ2UgJiBEM0RVU0FHRV9SRU5E
RVJUQVJHRVQgJiYKKyAgICAgICAgZDNkOV9nbDo6SXNGb3JtYXRDaGFubmVsRXF1aXZhbGVudChk
ZXN0RGVzYy5Gb3JtYXQsIGRlc3RGb3JtYXQsIG1SZW5kZXJlci0+Z2V0Q3VycmVudENsaWVudFZl
cnNpb24oKSkpICAgLy8gQ2FuIHVzZSBTdHJldGNoUmVjdAorICAgIHsKKyAgICAgICAgUkVDVCBk
ZXN0UmVjdCA9IHt4b2Zmc2V0LCB5b2Zmc2V0LCB4b2Zmc2V0ICsgKHNvdXJjZVJlY3QucmlnaHQg
LSBzb3VyY2VSZWN0LmxlZnQpLCB5b2Zmc2V0ICsgKHNvdXJjZVJlY3QuYm90dG9tIC0gc291cmNl
UmVjdC50b3ApfTsKKyAgICAgICAgSFJFU1VMVCByZXN1bHQgPSBkZXZpY2UtPlN0cmV0Y2hSZWN0
KHNvdXJjZSwgJnNvdXJjZVJlY3QsIGRlc3QsICZkZXN0UmVjdCwgRDNEVEVYRl9QT0lOVCk7CisK
KyAgICAgICAgaWYgKEZBSUxFRChyZXN1bHQpKQorICAgICAgICB7CisgICAgICAgICAgICBBU1NF
UlQocmVzdWx0ID09IEQzREVSUl9PVVRPRlZJREVPTUVNT1JZIHx8IHJlc3VsdCA9PSBFX09VVE9G
TUVNT1JZKTsKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfT1VUX09GX01FTU9SWSwg
ZmFsc2UpOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVy
biBmb3JtYXRDb252ZXJ0KHNvdXJjZSwgc291cmNlUmVjdCwgZGVzdEZvcm1hdCwgeG9mZnNldCwg
eW9mZnNldCwgZGVzdCk7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCitib29sIEJsaXQ5
Ojpmb3JtYXRDb252ZXJ0KElEaXJlY3QzRFN1cmZhY2U5ICpzb3VyY2UsIGNvbnN0IFJFQ1QgJnNv
dXJjZVJlY3QsIEdMZW51bSBkZXN0Rm9ybWF0LCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0
LCBJRGlyZWN0M0RTdXJmYWNlOSAqZGVzdCkKK3sKKyAgICBJRGlyZWN0M0RUZXh0dXJlOSAqdGV4
dHVyZSA9IGNvcHlTdXJmYWNlVG9UZXh0dXJlKHNvdXJjZSwgc291cmNlUmVjdCk7CisgICAgaWYg
KCF0ZXh0dXJlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIElE
aXJlY3QzRERldmljZTkgKmRldmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7CisKKyAgICBz
YXZlU3RhdGUoKTsKKworICAgIGRldmljZS0+U2V0VGV4dHVyZSgwLCB0ZXh0dXJlKTsKKyAgICBk
ZXZpY2UtPlNldFJlbmRlclRhcmdldCgwLCBkZXN0KTsKKworICAgIHNldFZpZXdwb3J0KHNvdXJj
ZVJlY3QsIHhvZmZzZXQsIHlvZmZzZXQpOworCisgICAgc2V0Q29tbW9uQmxpdFN0YXRlKCk7Cisg
ICAgaWYgKHNldEZvcm1hdENvbnZlcnRTaGFkZXJzKGRlc3RGb3JtYXQpKQorICAgIHsKKyAgICAg
ICAgcmVuZGVyKCk7CisgICAgfQorCisgICAgU2FmZVJlbGVhc2UodGV4dHVyZSk7CisKKyAgICBy
ZXN0b3JlU3RhdGUoKTsKKworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEJsaXQ5OjpzZXRG
b3JtYXRDb252ZXJ0U2hhZGVycyhHTGVudW0gZGVzdEZvcm1hdCkKK3sKKyAgICBib29sIG9rYXkg
PSBzZXRWZXJ0ZXhTaGFkZXIoU0hBREVSX1ZTX1NUQU5EQVJEKTsKKworICAgIHN3aXRjaCAoZGVz
dEZvcm1hdCkKKyAgICB7CisgICAgICBkZWZhdWx0OiBVTlJFQUNIQUJMRSgpOworICAgICAgY2Fz
ZSBHTF9SR0JBOgorICAgICAgY2FzZSBHTF9CR1JBX0VYVDoKKyAgICAgIGNhc2UgR0xfUkdCOgor
ICAgICAgY2FzZSBHTF9SR19FWFQ6CisgICAgICBjYXNlIEdMX1JFRF9FWFQ6CisgICAgICBjYXNl
IEdMX0FMUEhBOgorICAgICAgICBva2F5ID0gb2theSAmJiBzZXRQaXhlbFNoYWRlcihTSEFERVJf
UFNfQ09NUE9ORU5UTUFTSyk7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIEdMX0xVTUlO
QU5DRToKKyAgICAgIGNhc2UgR0xfTFVNSU5BTkNFX0FMUEhBOgorICAgICAgICBva2F5ID0gb2th
eSAmJiBzZXRQaXhlbFNoYWRlcihTSEFERVJfUFNfTFVNSU5BTkNFKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorCisgICAgaWYgKCFva2F5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKworICAgIGVudW0geyBYID0gMCwgWSA9IDEsIFogPSAyLCBXID0gMyB9OworCisgICAg
Ly8gVGhlIG1lYW5pbmcgb2YgdGhpcyBjb25zdGFudCBkZXBlbmRzIG9uIHRoZSBzaGFkZXIgdGhh
dCB3YXMgc2VsZWN0ZWQuCisgICAgLy8gU2VlIHRoZSBzaGFkZXIgYXNzZW1ibHkgY29kZSBhYm92
ZSBmb3IgZGV0YWlscy4KKyAgICAvLyBBbGxvY2F0ZSBvbmUgYXJyYXkgZm9yIGJvdGggcmVnaXN0
ZXJzIGFuZCBzcGxpdCBpdCBpbnRvIHR3byBmbG9hdDQncy4KKyAgICBmbG9hdCBwc0NvbnN0Wzhd
ID0geyAwIH07CisgICAgZmxvYXQgKm11bHRDb25zdCA9ICZwc0NvbnN0WzBdOworICAgIGZsb2F0
ICphZGRDb25zdCA9ICZwc0NvbnN0WzRdOworCisgICAgc3dpdGNoIChkZXN0Rm9ybWF0KQorICAg
IHsKKyAgICAgIGRlZmF1bHQ6IFVOUkVBQ0hBQkxFKCk7CisgICAgICBjYXNlIEdMX1JHQkE6Cisg
ICAgICBjYXNlIEdMX0JHUkFfRVhUOgorICAgICAgICBtdWx0Q29uc3RbWF0gPSAxOworICAgICAg
ICBtdWx0Q29uc3RbWV0gPSAxOworICAgICAgICBtdWx0Q29uc3RbWl0gPSAxOworICAgICAgICBt
dWx0Q29uc3RbV10gPSAxOworICAgICAgICBhZGRDb25zdFtYXSA9IDA7CisgICAgICAgIGFkZENv
bnN0W1ldID0gMDsKKyAgICAgICAgYWRkQ29uc3RbWl0gPSAwOworICAgICAgICBhZGRDb25zdFtX
XSA9IDA7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIEdMX1JHQjoKKyAgICAgICAgbXVs
dENvbnN0W1hdID0gMTsKKyAgICAgICAgbXVsdENvbnN0W1ldID0gMTsKKyAgICAgICAgbXVsdENv
bnN0W1pdID0gMTsKKyAgICAgICAgbXVsdENvbnN0W1ddID0gMDsKKyAgICAgICAgYWRkQ29uc3Rb
WF0gPSAwOworICAgICAgICBhZGRDb25zdFtZXSA9IDA7CisgICAgICAgIGFkZENvbnN0W1pdID0g
MDsKKyAgICAgICAgYWRkQ29uc3RbV10gPSAxOworICAgICAgICBicmVhazsKKworICAgICAgY2Fz
ZSBHTF9SR19FWFQ6CisgICAgICAgIG11bHRDb25zdFtYXSA9IDE7CisgICAgICAgIG11bHRDb25z
dFtZXSA9IDE7CisgICAgICAgIG11bHRDb25zdFtaXSA9IDA7CisgICAgICAgIG11bHRDb25zdFtX
XSA9IDA7CisgICAgICAgIGFkZENvbnN0W1hdID0gMDsKKyAgICAgICAgYWRkQ29uc3RbWV0gPSAw
OworICAgICAgICBhZGRDb25zdFtaXSA9IDA7CisgICAgICAgIGFkZENvbnN0W1ddID0gMTsKKyAg
ICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgR0xfUkVEX0VYVDoKKyAgICAgICAgbXVsdENvbnN0
W1hdID0gMTsKKyAgICAgICAgbXVsdENvbnN0W1ldID0gMDsKKyAgICAgICAgbXVsdENvbnN0W1pd
ID0gMDsKKyAgICAgICAgbXVsdENvbnN0W1ddID0gMDsKKyAgICAgICAgYWRkQ29uc3RbWF0gPSAw
OworICAgICAgICBhZGRDb25zdFtZXSA9IDA7CisgICAgICAgIGFkZENvbnN0W1pdID0gMDsKKyAg
ICAgICAgYWRkQ29uc3RbV10gPSAxOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBHTF9B
TFBIQToKKyAgICAgICAgbXVsdENvbnN0W1hdID0gMDsKKyAgICAgICAgbXVsdENvbnN0W1ldID0g
MDsKKyAgICAgICAgbXVsdENvbnN0W1pdID0gMDsKKyAgICAgICAgbXVsdENvbnN0W1ddID0gMTsK
KyAgICAgICAgYWRkQ29uc3RbWF0gPSAwOworICAgICAgICBhZGRDb25zdFtZXSA9IDA7CisgICAg
ICAgIGFkZENvbnN0W1pdID0gMDsKKyAgICAgICAgYWRkQ29uc3RbV10gPSAwOworICAgICAgICBi
cmVhazsKKworICAgICAgY2FzZSBHTF9MVU1JTkFOQ0U6CisgICAgICAgIG11bHRDb25zdFtYXSA9
IDE7CisgICAgICAgIG11bHRDb25zdFtZXSA9IDA7CisgICAgICAgIG11bHRDb25zdFtaXSA9IDA7
CisgICAgICAgIG11bHRDb25zdFtXXSA9IDA7CisgICAgICAgIGFkZENvbnN0W1hdID0gMDsKKyAg
ICAgICAgYWRkQ29uc3RbWV0gPSAwOworICAgICAgICBhZGRDb25zdFtaXSA9IDA7CisgICAgICAg
IGFkZENvbnN0W1ddID0gMTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgR0xfTFVNSU5B
TkNFX0FMUEhBOgorICAgICAgICBtdWx0Q29uc3RbWF0gPSAxOworICAgICAgICBtdWx0Q29uc3Rb
WV0gPSAwOworICAgICAgICBtdWx0Q29uc3RbWl0gPSAwOworICAgICAgICBtdWx0Q29uc3RbV10g
PSAxOworICAgICAgICBhZGRDb25zdFtYXSA9IDA7CisgICAgICAgIGFkZENvbnN0W1ldID0gMDsK
KyAgICAgICAgYWRkQ29uc3RbWl0gPSAwOworICAgICAgICBhZGRDb25zdFtXXSA9IDA7CisgICAg
ICAgIGJyZWFrOworICAgIH0KKworICAgIG1SZW5kZXJlci0+Z2V0RGV2aWNlKCktPlNldFBpeGVs
U2hhZGVyQ29uc3RhbnRGKDAsIHBzQ29uc3QsIDIpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisK
K0lEaXJlY3QzRFRleHR1cmU5ICpCbGl0OTo6Y29weVN1cmZhY2VUb1RleHR1cmUoSURpcmVjdDNE
U3VyZmFjZTkgKnN1cmZhY2UsIGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QpCit7CisgICAgaWYgKCFz
dXJmYWNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgSURpcmVj
dDNERGV2aWNlOSAqZGV2aWNlID0gbVJlbmRlcmVyLT5nZXREZXZpY2UoKTsKKworICAgIEQzRFNV
UkZBQ0VfREVTQyBzb3VyY2VEZXNjOworICAgIHN1cmZhY2UtPkdldERlc2MoJnNvdXJjZURlc2Mp
OworCisgICAgLy8gQ29weSB0aGUgcmVuZGVyIHRhcmdldCBpbnRvIGEgdGV4dHVyZQorICAgIElE
aXJlY3QzRFRleHR1cmU5ICp0ZXh0dXJlOworICAgIEhSRVNVTFQgcmVzdWx0ID0gZGV2aWNlLT5D
cmVhdGVUZXh0dXJlKHNvdXJjZVJlY3QucmlnaHQgLSBzb3VyY2VSZWN0LmxlZnQsIHNvdXJjZVJl
Y3QuYm90dG9tIC0gc291cmNlUmVjdC50b3AsIDEsIEQzRFVTQUdFX1JFTkRFUlRBUkdFVCwgc291
cmNlRGVzYy5Gb3JtYXQsIEQzRFBPT0xfREVGQVVMVCwgJnRleHR1cmUsIE5VTEwpOworCisgICAg
aWYgKEZBSUxFRChyZXN1bHQpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHJlc3VsdCA9PSBEM0RF
UlJfT1VUT0ZWSURFT01FTU9SWSB8fCByZXN1bHQgPT0gRV9PVVRPRk1FTU9SWSk7CisgICAgICAg
IHJldHVybiBnbDo6ZXJyb3IoR0xfT1VUX09GX01FTU9SWSwgKElEaXJlY3QzRFRleHR1cmU5KilO
VUxMKTsKKyAgICB9CisKKyAgICBJRGlyZWN0M0RTdXJmYWNlOSAqdGV4dHVyZVN1cmZhY2U7Cisg
ICAgcmVzdWx0ID0gdGV4dHVyZS0+R2V0U3VyZmFjZUxldmVsKDAsICZ0ZXh0dXJlU3VyZmFjZSk7
CisKKyAgICBpZiAoRkFJTEVEKHJlc3VsdCkpCisgICAgeworICAgICAgICBBU1NFUlQocmVzdWx0
ID09IEQzREVSUl9PVVRPRlZJREVPTUVNT1JZIHx8IHJlc3VsdCA9PSBFX09VVE9GTUVNT1JZKTsK
KyAgICAgICAgU2FmZVJlbGVhc2UodGV4dHVyZSk7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3Io
R0xfT1VUX09GX01FTU9SWSwgKElEaXJlY3QzRFRleHR1cmU5KilOVUxMKTsKKyAgICB9CisKKyAg
ICBtUmVuZGVyZXItPmVuZFNjZW5lKCk7CisgICAgcmVzdWx0ID0gZGV2aWNlLT5TdHJldGNoUmVj
dChzdXJmYWNlLCAmc291cmNlUmVjdCwgdGV4dHVyZVN1cmZhY2UsIE5VTEwsIEQzRFRFWEZfTk9O
RSk7CisKKyAgICBTYWZlUmVsZWFzZSh0ZXh0dXJlU3VyZmFjZSk7CisKKyAgICBpZiAoRkFJTEVE
KHJlc3VsdCkpCisgICAgeworICAgICAgICBBU1NFUlQocmVzdWx0ID09IEQzREVSUl9PVVRPRlZJ
REVPTUVNT1JZIHx8IHJlc3VsdCA9PSBFX09VVE9GTUVNT1JZKTsKKyAgICAgICAgU2FmZVJlbGVh
c2UodGV4dHVyZSk7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfT1VUX09GX01FTU9SWSwg
KElEaXJlY3QzRFRleHR1cmU5KilOVUxMKTsKKyAgICB9CisKKyAgICByZXR1cm4gdGV4dHVyZTsK
K30KKwordm9pZCBCbGl0OTo6c2V0Vmlld3BvcnQoY29uc3QgUkVDVCAmc291cmNlUmVjdCwgR0xp
bnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCkKK3sKKyAgICBJRGlyZWN0M0REZXZpY2U5ICpkZXZp
Y2UgPSBtUmVuZGVyZXItPmdldERldmljZSgpOworCisgICAgRDNEVklFV1BPUlQ5IHZwOworICAg
IHZwLlggICAgICA9IHhvZmZzZXQ7CisgICAgdnAuWSAgICAgID0geW9mZnNldDsKKyAgICB2cC5X
aWR0aCAgPSBzb3VyY2VSZWN0LnJpZ2h0IC0gc291cmNlUmVjdC5sZWZ0OworICAgIHZwLkhlaWdo
dCA9IHNvdXJjZVJlY3QuYm90dG9tIC0gc291cmNlUmVjdC50b3A7CisgICAgdnAuTWluWiAgID0g
MC4wZjsKKyAgICB2cC5NYXhaICAgPSAxLjBmOworICAgIGRldmljZS0+U2V0Vmlld3BvcnQoJnZw
KTsKKworICAgIGZsb2F0IGhhbGZQaXhlbEFkanVzdFs0XSA9IHsgLTEuMGYvdnAuV2lkdGgsIDEu
MGYvdnAuSGVpZ2h0LCAwLCAwIH07CisgICAgZGV2aWNlLT5TZXRWZXJ0ZXhTaGFkZXJDb25zdGFu
dEYoMCwgaGFsZlBpeGVsQWRqdXN0LCAxKTsKK30KKwordm9pZCBCbGl0OTo6c2V0Q29tbW9uQmxp
dFN0YXRlKCkKK3sKKyAgICBJRGlyZWN0M0REZXZpY2U5ICpkZXZpY2UgPSBtUmVuZGVyZXItPmdl
dERldmljZSgpOworCisgICAgZGV2aWNlLT5TZXREZXB0aFN0ZW5jaWxTdXJmYWNlKE5VTEwpOwor
CisgICAgZGV2aWNlLT5TZXRSZW5kZXJTdGF0ZShEM0RSU19GSUxMTU9ERSwgRDNERklMTF9TT0xJ
RCk7CisgICAgZGV2aWNlLT5TZXRSZW5kZXJTdGF0ZShEM0RSU19BTFBIQVRFU1RFTkFCTEUsIEZB
TFNFKTsKKyAgICBkZXZpY2UtPlNldFJlbmRlclN0YXRlKEQzRFJTX0FMUEhBQkxFTkRFTkFCTEUs
IEZBTFNFKTsKKyAgICBkZXZpY2UtPlNldFJlbmRlclN0YXRlKEQzRFJTX0NVTExNT0RFLCBEM0RD
VUxMX05PTkUpOworICAgIGRldmljZS0+U2V0UmVuZGVyU3RhdGUoRDNEUlNfQ0xJUFBMQU5FRU5B
QkxFLCAwKTsKKyAgICBkZXZpY2UtPlNldFJlbmRlclN0YXRlKEQzRFJTX0NPTE9SV1JJVEVFTkFC
TEUsIEQzRENPTE9SV1JJVEVFTkFCTEVfQUxQSEEgfCBEM0RDT0xPUldSSVRFRU5BQkxFX0JMVUUg
fCBEM0RDT0xPUldSSVRFRU5BQkxFX0dSRUVOIHwgRDNEQ09MT1JXUklURUVOQUJMRV9SRUQpOwor
ICAgIGRldmljZS0+U2V0UmVuZGVyU3RhdGUoRDNEUlNfU1JHQldSSVRFRU5BQkxFLCBGQUxTRSk7
CisgICAgZGV2aWNlLT5TZXRSZW5kZXJTdGF0ZShEM0RSU19TQ0lTU09SVEVTVEVOQUJMRSwgRkFM
U0UpOworCisgICAgZGV2aWNlLT5TZXRTYW1wbGVyU3RhdGUoMCwgRDNEU0FNUF9NQUdGSUxURVIs
IEQzRFRFWEZfUE9JTlQpOworICAgIGRldmljZS0+U2V0U2FtcGxlclN0YXRlKDAsIEQzRFNBTVBf
TUlORklMVEVSLCBEM0RURVhGX1BPSU5UKTsKKyAgICBkZXZpY2UtPlNldFNhbXBsZXJTdGF0ZSgw
LCBEM0RTQU1QX1NSR0JURVhUVVJFLCBGQUxTRSk7CisgICAgZGV2aWNlLT5TZXRTYW1wbGVyU3Rh
dGUoMCwgRDNEU0FNUF9BRERSRVNTVSwgRDNEVEFERFJFU1NfQ0xBTVApOworICAgIGRldmljZS0+
U2V0U2FtcGxlclN0YXRlKDAsIEQzRFNBTVBfQUREUkVTU1YsIEQzRFRBRERSRVNTX0NMQU1QKTsK
KworICAgIFJFQ1Qgc2Npc3NvclJlY3QgPSB7MH07ICAgLy8gU2Npc3NvcmluZyBpcyBkaXNhYmxl
ZCBmb3IgZmxpcHBpbmcsIGJ1dCB3ZSBuZWVkIHRoaXMgdG8gY2FwdHVyZSBhbmQgcmVzdG9yZSB0
aGUgb2xkIHJlY3RhbmdsZQorICAgIGRldmljZS0+U2V0U2Npc3NvclJlY3QoJnNjaXNzb3JSZWN0
KTsKKworICAgIGZvcihpbnQgaSA9IDA7IGkgPCBnbDo6TUFYX1ZFUlRFWF9BVFRSSUJTOyBpKysp
CisgICAgeworICAgICAgICBkZXZpY2UtPlNldFN0cmVhbVNvdXJjZUZyZXEoaSwgMSk7CisgICAg
fQorfQorCit2b2lkIEJsaXQ5OjpyZW5kZXIoKQoreworICAgIElEaXJlY3QzRERldmljZTkgKmRl
dmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2aWNlKCk7CisKKyAgICBIUkVTVUxUIGhyID0gZGV2aWNl
LT5TZXRTdHJlYW1Tb3VyY2UoMCwgbVF1YWRWZXJ0ZXhCdWZmZXIsIDAsIDIgKiBzaXplb2YoZmxv
YXQpKTsKKyAgICBociA9IGRldmljZS0+U2V0VmVydGV4RGVjbGFyYXRpb24obVF1YWRWZXJ0ZXhE
ZWNsYXJhdGlvbik7CisKKyAgICBtUmVuZGVyZXItPnN0YXJ0U2NlbmUoKTsKKyAgICBociA9IGRl
dmljZS0+RHJhd1ByaW1pdGl2ZShEM0RQVF9UUklBTkdMRVNUUklQLCAwLCAyKTsKK30KKwordm9p
ZCBCbGl0OTo6c2F2ZVN0YXRlKCkKK3sKKyAgICBJRGlyZWN0M0REZXZpY2U5ICpkZXZpY2UgPSBt
UmVuZGVyZXItPmdldERldmljZSgpOworCisgICAgSFJFU1VMVCBocjsKKworICAgIGRldmljZS0+
R2V0RGVwdGhTdGVuY2lsU3VyZmFjZSgmbVNhdmVkRGVwdGhTdGVuY2lsKTsKKyAgICBkZXZpY2Ut
PkdldFJlbmRlclRhcmdldCgwLCAmbVNhdmVkUmVuZGVyVGFyZ2V0KTsKKworICAgIGlmIChtU2F2
ZWRTdGF0ZUJsb2NrID09IE5VTEwpCisgICAgeworICAgICAgICBociA9IGRldmljZS0+QmVnaW5T
dGF0ZUJsb2NrKCk7CisgICAgICAgIEFTU0VSVChTVUNDRUVERUQoaHIpIHx8IGhyID09IEQzREVS
Ul9PVVRPRlZJREVPTUVNT1JZIHx8IGhyID09IEVfT1VUT0ZNRU1PUlkpOworCisgICAgICAgIHNl
dENvbW1vbkJsaXRTdGF0ZSgpOworCisgICAgICAgIHN0YXRpYyBjb25zdCBmbG9hdCBkdW1teUNv
bnN0WzhdID0geyAwIH07CisKKyAgICAgICAgZGV2aWNlLT5TZXRWZXJ0ZXhTaGFkZXIoTlVMTCk7
CisgICAgICAgIGRldmljZS0+U2V0VmVydGV4U2hhZGVyQ29uc3RhbnRGKDAsIGR1bW15Q29uc3Qs
IDIpOworICAgICAgICBkZXZpY2UtPlNldFBpeGVsU2hhZGVyKE5VTEwpOworICAgICAgICBkZXZp
Y2UtPlNldFBpeGVsU2hhZGVyQ29uc3RhbnRGKDAsIGR1bW15Q29uc3QsIDIpOworCisgICAgICAg
IEQzRFZJRVdQT1JUOSBkdW1teVZwOworICAgICAgICBkdW1teVZwLlggPSAwOworICAgICAgICBk
dW1teVZwLlkgPSAwOworICAgICAgICBkdW1teVZwLldpZHRoID0gMTsKKyAgICAgICAgZHVtbXlW
cC5IZWlnaHQgPSAxOworICAgICAgICBkdW1teVZwLk1pblogPSAwOworICAgICAgICBkdW1teVZw
Lk1heFogPSAxOworCisgICAgICAgIGRldmljZS0+U2V0Vmlld3BvcnQoJmR1bW15VnApOworCisg
ICAgICAgIGRldmljZS0+U2V0VGV4dHVyZSgwLCBOVUxMKTsKKworICAgICAgICBkZXZpY2UtPlNl
dFN0cmVhbVNvdXJjZSgwLCBtUXVhZFZlcnRleEJ1ZmZlciwgMCwgMCk7CisKKyAgICAgICAgZGV2
aWNlLT5TZXRWZXJ0ZXhEZWNsYXJhdGlvbihtUXVhZFZlcnRleERlY2xhcmF0aW9uKTsKKworICAg
ICAgICBociA9IGRldmljZS0+RW5kU3RhdGVCbG9jaygmbVNhdmVkU3RhdGVCbG9jayk7CisgICAg
ICAgIEFTU0VSVChTVUNDRUVERUQoaHIpIHx8IGhyID09IEQzREVSUl9PVVRPRlZJREVPTUVNT1JZ
IHx8IGhyID09IEVfT1VUT0ZNRU1PUlkpOworICAgIH0KKworICAgIEFTU0VSVChtU2F2ZWRTdGF0
ZUJsb2NrICE9IE5VTEwpOworCisgICAgaWYgKG1TYXZlZFN0YXRlQmxvY2sgIT0gTlVMTCkKKyAg
ICB7CisgICAgICAgIGhyID0gbVNhdmVkU3RhdGVCbG9jay0+Q2FwdHVyZSgpOworICAgICAgICBB
U1NFUlQoU1VDQ0VFREVEKGhyKSk7CisgICAgfQorfQorCit2b2lkIEJsaXQ5OjpyZXN0b3JlU3Rh
dGUoKQoreworICAgIElEaXJlY3QzRERldmljZTkgKmRldmljZSA9IG1SZW5kZXJlci0+Z2V0RGV2
aWNlKCk7CisKKyAgICBkZXZpY2UtPlNldERlcHRoU3RlbmNpbFN1cmZhY2UobVNhdmVkRGVwdGhT
dGVuY2lsKTsKKyAgICBTYWZlUmVsZWFzZShtU2F2ZWREZXB0aFN0ZW5jaWwpOworCisgICAgZGV2
aWNlLT5TZXRSZW5kZXJUYXJnZXQoMCwgbVNhdmVkUmVuZGVyVGFyZ2V0KTsKKyAgICBTYWZlUmVs
ZWFzZShtU2F2ZWRSZW5kZXJUYXJnZXQpOworCisgICAgQVNTRVJUKG1TYXZlZFN0YXRlQmxvY2sg
IT0gTlVMTCk7CisKKyAgICBpZiAobVNhdmVkU3RhdGVCbG9jayAhPSBOVUxMKQorICAgIHsKKyAg
ICAgICAgbVNhdmVkU3RhdGVCbG9jay0+QXBwbHkoKTsKKyAgICB9Cit9CisKK30KSW5kZXg6IFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9CbGl0OS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVu
ZGVyZXIvZDNkOS9CbGl0OS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L0JsaXQ5LmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw5NCBAQAorLy8KKy8vIENvcHlyaWdodCAoYykgMjAwMi0yMDEwIFRoZSBBTkdMRSBQ
cm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3Vy
Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisv
LyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKworLy8gQmxpdDkuY3BwOiBTdXJmYWNl
IGNvcHkgdXRpbGl0eSBjbGFzcy4KKworI2lmbmRlZiBMSUJHTEVTVjJfQkxJVDlfSF8KKyNkZWZp
bmUgTElCR0xFU1YyX0JMSVQ5X0hfCisKKyNpbmNsdWRlICJjb21tb24vYW5nbGV1dGlscy5oIgor
CituYW1lc3BhY2UgZ2wKK3sKK2NsYXNzIEZyYW1lYnVmZmVyOworfQorCituYW1lc3BhY2UgcngK
K3sKK2NsYXNzIFJlbmRlcmVyOTsKK2NsYXNzIFRleHR1cmVTdG9yYWdlSW50ZXJmYWNlMkQ7Citj
bGFzcyBUZXh0dXJlU3RvcmFnZUludGVyZmFjZUN1YmU7CisKK2NsYXNzIEJsaXQ5Cit7CisgIHB1
YmxpYzoKKyAgICBleHBsaWNpdCBCbGl0OShSZW5kZXJlcjkgKnJlbmRlcmVyKTsKKyAgICB+Qmxp
dDkoKTsKKworICAgIC8vIENvcHkgZnJvbSBzb3VyY2Ugc3VyZmFjZSB0byBkZXN0IHN1cmZhY2Uu
CisgICAgLy8gc291cmNlUmVjdCwgeG9mZnNldCwgeW9mZnNldCBhcmUgaW4gRDNEIGNvb3JkaW5h
dGVzICgwLDAgaW4gdXBwZXItbGVmdCkKKyAgICBib29sIGNvcHkoZ2w6OkZyYW1lYnVmZmVyICpm
cmFtZWJ1ZmZlciwgY29uc3QgUkVDVCAmc291cmNlUmVjdCwgR0xlbnVtIGRlc3RGb3JtYXQsIEdM
aW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIFRleHR1cmVTdG9yYWdlSW50ZXJmYWNlMkQgKnN0
b3JhZ2UsIEdMaW50IGxldmVsKTsKKyAgICBib29sIGNvcHkoZ2w6OkZyYW1lYnVmZmVyICpmcmFt
ZWJ1ZmZlciwgY29uc3QgUkVDVCAmc291cmNlUmVjdCwgR0xlbnVtIGRlc3RGb3JtYXQsIEdMaW50
IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIFRleHR1cmVTdG9yYWdlSW50ZXJmYWNlQ3ViZSAqc3Rv
cmFnZSwgR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwpOworCisgICAgLy8gQ29weSBmcm9tIHNv
dXJjZSBzdXJmYWNlIHRvIGRlc3Qgc3VyZmFjZS4KKyAgICAvLyBzb3VyY2VSZWN0LCB4b2Zmc2V0
LCB5b2Zmc2V0IGFyZSBpbiBEM0QgY29vcmRpbmF0ZXMgKDAsMCBpbiB1cHBlci1sZWZ0KQorICAg
IC8vIHNvdXJjZSBpcyBpbnRlcnByZXRlZCBhcyBSR0JBIGFuZCBkZXN0Rm9ybWF0IHNwZWNpZmll
cyB0aGUgZGVzaXJlZCByZXN1bHQgZm9ybWF0LiBGb3IgZXhhbXBsZSwgaWYgZGVzdEZvcm1hdCA9
IEdMX1JHQiwgdGhlIGFscGhhIGNoYW5uZWwgd2lsbCBiZSBmb3JjZWQgdG8gMC4KKyAgICBib29s
IGZvcm1hdENvbnZlcnQoSURpcmVjdDNEU3VyZmFjZTkgKnNvdXJjZSwgY29uc3QgUkVDVCAmc291
cmNlUmVjdCwgR0xlbnVtIGRlc3RGb3JtYXQsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQs
IElEaXJlY3QzRFN1cmZhY2U5ICpkZXN0KTsKKworICAgIC8vIDJ4MiBib3ggZmlsdGVyIHNhbXBs
ZSBmcm9tIHNvdXJjZSB0byBkZXN0LgorICAgIC8vIFJlcXVpcmVzIHRoYXQgc291cmNlIGlzIFJH
QihBKSBhbmQgZGVzdCBoYXMgdGhlIHNhbWUgZm9ybWF0IGFzIHNvdXJjZS4KKyAgICBib29sIGJv
eEZpbHRlcihJRGlyZWN0M0RTdXJmYWNlOSAqc291cmNlLCBJRGlyZWN0M0RTdXJmYWNlOSAqZGVz
dCk7CisKKyAgcHJpdmF0ZToKKyAgICByeDo6UmVuZGVyZXI5ICptUmVuZGVyZXI7CisKKyAgICBJ
RGlyZWN0M0RWZXJ0ZXhCdWZmZXI5ICptUXVhZFZlcnRleEJ1ZmZlcjsKKyAgICBJRGlyZWN0M0RW
ZXJ0ZXhEZWNsYXJhdGlvbjkgKm1RdWFkVmVydGV4RGVjbGFyYXRpb247CisKKyAgICB2b2lkIGlu
aXRHZW9tZXRyeSgpOworCisgICAgYm9vbCBzZXRGb3JtYXRDb252ZXJ0U2hhZGVycyhHTGVudW0g
ZGVzdEZvcm1hdCk7CisKKyAgICBib29sIGNvcHkoSURpcmVjdDNEU3VyZmFjZTkgKnNvdXJjZSwg
Y29uc3QgUkVDVCAmc291cmNlUmVjdCwgR0xlbnVtIGRlc3RGb3JtYXQsIEdMaW50IHhvZmZzZXQs
IEdMaW50IHlvZmZzZXQsIElEaXJlY3QzRFN1cmZhY2U5ICpkZXN0KTsKKyAgICBJRGlyZWN0M0RU
ZXh0dXJlOSAqY29weVN1cmZhY2VUb1RleHR1cmUoSURpcmVjdDNEU3VyZmFjZTkgKnN1cmZhY2Us
IGNvbnN0IFJFQ1QgJnNvdXJjZVJlY3QpOworICAgIHZvaWQgc2V0Vmlld3BvcnQoY29uc3QgUkVD
VCAmc291cmNlUmVjdCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCk7CisgICAgdm9pZCBz
ZXRDb21tb25CbGl0U3RhdGUoKTsKKyAgICBSRUNUIGdldFN1cmZhY2VSZWN0KElEaXJlY3QzRFN1
cmZhY2U5ICpzdXJmYWNlKSBjb25zdDsKKworICAgIC8vIFRoaXMgZW51bSBpcyB1c2VkIHRvIGlu
ZGV4IG1Db21waWxlZFNoYWRlcnMgYW5kIG1TaGFkZXJTb3VyY2UuCisgICAgZW51bSBTaGFkZXJJ
ZAorICAgIHsKKyAgICAgICAgU0hBREVSX1ZTX1NUQU5EQVJELAorICAgICAgICBTSEFERVJfVlNf
RkxJUFksCisgICAgICAgIFNIQURFUl9QU19QQVNTVEhST1VHSCwKKyAgICAgICAgU0hBREVSX1BT
X0xVTUlOQU5DRSwKKyAgICAgICAgU0hBREVSX1BTX0NPTVBPTkVOVE1BU0ssCisgICAgICAgIFNI
QURFUl9DT1VOVAorICAgIH07CisKKyAgICAvLyBUaGlzIGFjdHVhbGx5IGNvbnRhaW5zIElEaXJl
Y3QzRFZlcnRleFNoYWRlcjkgb3IgSURpcmVjdDNEUGl4ZWxTaGFkZXI5IGNhc3RlZCB0byBJVW5r
bm93bi4KKyAgICBJVW5rbm93biAqbUNvbXBpbGVkU2hhZGVyc1tTSEFERVJfQ09VTlRdOworCisg
ICAgdGVtcGxhdGUgPGNsYXNzIEQzRFNoYWRlclR5cGU+CisgICAgYm9vbCBzZXRTaGFkZXIoU2hh
ZGVySWQgc291cmNlLCBjb25zdCBjaGFyICpwcm9maWxlLAorICAgICAgICAgICAgICAgICAgIEQz
RFNoYWRlclR5cGUgKihSZW5kZXJlcjk6OipjcmVhdGVTaGFkZXIpKGNvbnN0IERXT1JEICosIHNp
emVfdCBsZW5ndGgpLAorICAgICAgICAgICAgICAgICAgIEhSRVNVTFQgKFdJTkFQSSBJRGlyZWN0
M0REZXZpY2U5Ojoqc2V0U2hhZGVyKShEM0RTaGFkZXJUeXBlKikpOworCisgICAgYm9vbCBzZXRW
ZXJ0ZXhTaGFkZXIoU2hhZGVySWQgc2hhZGVyKTsKKyAgICBib29sIHNldFBpeGVsU2hhZGVyKFNo
YWRlcklkIHNoYWRlcik7CisgICAgdm9pZCByZW5kZXIoKTsKKworICAgIHZvaWQgc2F2ZVN0YXRl
KCk7CisgICAgdm9pZCByZXN0b3JlU3RhdGUoKTsKKyAgICBJRGlyZWN0M0RTdGF0ZUJsb2NrOSAq
bVNhdmVkU3RhdGVCbG9jazsKKyAgICBJRGlyZWN0M0RTdXJmYWNlOSAqbVNhdmVkUmVuZGVyVGFy
Z2V0OworICAgIElEaXJlY3QzRFN1cmZhY2U5ICptU2F2ZWREZXB0aFN0ZW5jaWw7CisKKyAgICBE
SVNBTExPV19DT1BZX0FORF9BU1NJR04oQmxpdDkpOworfTsKK30KKworI2VuZGlmICAgLy8gTElC
R0xFU1YyX0JMSVQ5X0hfCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL3JlbmRlcmVyL2QzZDkvU2hhZGVyQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDkvU2hhZGVyQ2FjaGUuaAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVu
ZGVyZXIvZDNkOS9TaGFkZXJDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAyIEBA
CisvLworLy8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l
ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLy8KKworLy8gU2hhZGVyQ2FjaGU6IERlZmluZXMgcng6OlNoYWRlckNhY2hl
LCBhIGNhY2hlIG9mIERpcmVjdDNEIHNoYWRlciBvYmplY3RzCisvLyBrZXllZCBieSB0aGVpciBi
eXRlIGNvZGUuCisKKyNpZm5kZWYgTElCR0xFU1YyX1JFTkRFUkVSX1NIQURFUl9DQUNIRV9IXwor
I2RlZmluZSBMSUJHTEVTVjJfUkVOREVSRVJfU0hBREVSX0NBQ0hFX0hfCisKKyNpbmNsdWRlICJj
b21tb24vZGVidWcuaCIKKworbmFtZXNwYWNlIHJ4Cit7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgU2hh
ZGVyT2JqZWN0PgorY2xhc3MgU2hhZGVyQ2FjaGUKK3sKKyAgcHVibGljOgorICAgIFNoYWRlckNh
Y2hlKCkgOiBtRGV2aWNlKE5VTEwpCisgICAgeworICAgIH0KKworICAgIH5TaGFkZXJDYWNoZSgp
CisgICAgeworICAgICAgICAvLyBDYWxsIGNsZWFyIHdoaWxlIHRoZSBkZXZpY2UgaXMgc3RpbGwg
dmFsaWQuCisgICAgICAgIEFTU0VSVChtTWFwLmVtcHR5KCkpOworICAgIH0KKworICAgIHZvaWQg
aW5pdGlhbGl6ZShJRGlyZWN0M0REZXZpY2U5KiBkZXZpY2UpCisgICAgeworICAgICAgICBtRGV2
aWNlID0gZGV2aWNlOworICAgIH0KKworICAgIFNoYWRlck9iamVjdCAqY3JlYXRlKGNvbnN0IERX
T1JEICpmdW5jdGlvbiwgc2l6ZV90IGxlbmd0aCkKKyAgICB7CisgICAgICAgIHN0ZDo6c3RyaW5n
IGtleShyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihmdW5jdGlvbiksIGxlbmd0aCk7Cisg
ICAgICAgIHR5cGVuYW1lIE1hcDo6aXRlcmF0b3IgaXQgPSBtTWFwLmZpbmQoa2V5KTsKKyAgICAg
ICAgaWYgKGl0ICE9IG1NYXAuZW5kKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGl0LT5zZWNv
bmQtPkFkZFJlZigpOworICAgICAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgICAgIH0K
KworICAgICAgICBTaGFkZXJPYmplY3QgKnNoYWRlcjsKKyAgICAgICAgSFJFU1VMVCByZXN1bHQg
PSBjcmVhdGVTaGFkZXIoZnVuY3Rpb24sICZzaGFkZXIpOworICAgICAgICBpZiAoRkFJTEVEKHJl
c3VsdCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisK
KyAgICAgICAgLy8gUmFuZG9tIGV2aWN0aW9uIHBvbGljeS4KKyAgICAgICAgaWYgKG1NYXAuc2l6
ZSgpID49IGtNYXhNYXBTaXplKQorICAgICAgICB7CisgICAgICAgICAgICBTYWZlUmVsZWFzZSht
TWFwLmJlZ2luKCktPnNlY29uZCk7CisgICAgICAgICAgICBtTWFwLmVyYXNlKG1NYXAuYmVnaW4o
KSk7CisgICAgICAgIH0KKworICAgICAgICBzaGFkZXItPkFkZFJlZigpOworICAgICAgICBtTWFw
W2tleV0gPSBzaGFkZXI7CisKKyAgICAgICAgcmV0dXJuIHNoYWRlcjsKKyAgICB9CisKKyAgICB2
b2lkIGNsZWFyKCkKKyAgICB7CisgICAgICAgIGZvciAodHlwZW5hbWUgTWFwOjppdGVyYXRvciBp
dCA9IG1NYXAuYmVnaW4oKTsgaXQgIT0gbU1hcC5lbmQoKTsgKytpdCkKKyAgICAgICAgeworICAg
ICAgICAgICAgU2FmZVJlbGVhc2UoaXQtPnNlY29uZCk7CisgICAgICAgIH0KKworICAgICAgICBt
TWFwLmNsZWFyKCk7CisgICAgfQorCisgIHByaXZhdGU6CisgICAgRElTQUxMT1dfQ09QWV9BTkRf
QVNTSUdOKFNoYWRlckNhY2hlKTsKKworICAgIGNvbnN0IHN0YXRpYyBzaXplX3Qga01heE1hcFNp
emUgPSAxMDA7CisKKyAgICBIUkVTVUxUIGNyZWF0ZVNoYWRlcihjb25zdCBEV09SRCAqZnVuY3Rp
b24sIElEaXJlY3QzRFZlcnRleFNoYWRlcjkgKipzaGFkZXIpCisgICAgeworICAgICAgICByZXR1
cm4gbURldmljZS0+Q3JlYXRlVmVydGV4U2hhZGVyKGZ1bmN0aW9uLCBzaGFkZXIpOworICAgIH0K
KworICAgIEhSRVNVTFQgY3JlYXRlU2hhZGVyKGNvbnN0IERXT1JEICpmdW5jdGlvbiwgSURpcmVj
dDNEUGl4ZWxTaGFkZXI5ICoqc2hhZGVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1EZXZpY2Ut
PkNyZWF0ZVBpeGVsU2hhZGVyKGZ1bmN0aW9uLCBzaGFkZXIpOworICAgIH0KKworICAgIHR5cGVk
ZWYgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCBTaGFkZXJPYmplY3QqPiBNYXA7Cisg
ICAgTWFwIG1NYXA7CisKKyAgICBJRGlyZWN0M0REZXZpY2U5ICptRGV2aWNlOworfTsKKwordHlw
ZWRlZiBTaGFkZXJDYWNoZTxJRGlyZWN0M0RWZXJ0ZXhTaGFkZXI5PiBWZXJ0ZXhTaGFkZXJDYWNo
ZTsKK3R5cGVkZWYgU2hhZGVyQ2FjaGU8SURpcmVjdDNEUGl4ZWxTaGFkZXI5PiBQaXhlbFNoYWRl
ckNhY2hlOworCit9CisKKyNlbmRpZiAgIC8vIExJQkdMRVNWMl9SRU5ERVJFUl9TSEFERVJfQ0FD
SEVfSF8KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVy
ZXIvZDNkOS9mb3JtYXR1dGlsczkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkOS9mb3JtYXR1dGlsczkuY3BwCShyZXZp
c2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJl
ci9kM2Q5L2Zvcm1hdHV0aWxzOS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4NjMgQEAK
KyNpbmNsdWRlICJwcmVjb21waWxlZC5oIgorLy8KKy8vIENvcHlyaWdodCAoYykgMjAxMyBUaGUg
QU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIGZvcm1hdHV0aWxz
OS5jcHA6IFF1ZXJpZXMgZm9yIEdMIGltYWdlIGZvcm1hdHMgYW5kIHRoZWlyIHRyYW5zbGF0aW9u
cyB0byBEM0Q5CisvLyBmb3JtYXRzLgorCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2Qz
ZDkvZm9ybWF0dXRpbHM5LmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2QzZDkvUmVu
ZGVyZXI5LmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2dlbmVyYXRlbWlwLmgiCisj
aW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2xvYWRpbWFnZS5oIgorI2luY2x1ZGUgImxpYkdM
RVN2Mi9yZW5kZXJlci9jb3B5aW1hZ2UuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIv
dmVydGV4Y29udmVyc2lvbi5oIgorCituYW1lc3BhY2UgcngKK3sKKworLy8gRWFjaCBHTCBpbnRl
cm5hbCBmb3JtYXQgY29ycmVzcG9uZHMgdG8gb25lIEQzRCBmb3JtYXQgYW5kIGRhdGEgbG9hZGlu
ZyBmdW5jdGlvbi4KKy8vIER1ZSB0byBub3QgYWxsIGZvcm1hdHMgYmVpbmcgYXZhaWxhYmxlIGFs
bCB0aGUgdGltZSwgc29tZSBvZiB0aGUgZnVuY3Rpb24vZm9ybWF0IHR5cGVzIGFyZSB3cmFwcGVk
CisvLyBpbiB0ZW1wbGF0ZXMgdGhhdCBwZXJmb3JtIGZvcm1hdCBzdXBwb3J0IHF1ZXJpZXMgb24g
YSBSZW5kZXJlcjkgb2JqZWN0IHdoaWNoIGlzIHN1cHBsaWVkCisvLyB3aGVuIHJlcXVlc3Rpbmcg
dGhlIGZ1bmN0aW9uIG9yIGZvcm1hdC4KKwordHlwZWRlZiBib29sICgoUmVuZGVyZXI5OjoqUmVu
ZGVyZXI5Rm9ybWF0Q2hlY2tGdW5jdGlvbikodm9pZCkgY29uc3QpOwordHlwZWRlZiBMb2FkSW1h
Z2VGdW5jdGlvbiAoKlJlbmRlcmVyQ2hlY2tMb2FkRnVuY3Rpb24pKGNvbnN0IFJlbmRlcmVyOSAq
cmVuZGVyZXIpOworCit0ZW1wbGF0ZSA8UmVuZGVyZXI5Rm9ybWF0Q2hlY2tGdW5jdGlvbiBwcmVk
LCBMb2FkSW1hZ2VGdW5jdGlvbiBwcmVmZXJlZCwgTG9hZEltYWdlRnVuY3Rpb24gZmFsbGJhY2s+
CitMb2FkSW1hZ2VGdW5jdGlvbiBSZW5kZXJlckNoZWNrTG9hZChjb25zdCBSZW5kZXJlcjkgKnJl
bmRlcmVyKQoreworICAgIHJldHVybiAoKHJlbmRlcmVyLT4qcHJlZCkoKSkgPyBwcmVmZXJlZCA6
IGZhbGxiYWNrOworfQorCit0ZW1wbGF0ZSA8TG9hZEltYWdlRnVuY3Rpb24gbG9hZEZ1bmM+CitM
b2FkSW1hZ2VGdW5jdGlvbiBTaW1wbGVMb2FkKGNvbnN0IFJlbmRlcmVyOSAqcmVuZGVyZXIpCit7
CisgICAgcmV0dXJuIGxvYWRGdW5jOworfQorCitMb2FkSW1hZ2VGdW5jdGlvbiBVbnJlYWNoYWJs
ZUxvYWQoY29uc3QgUmVuZGVyZXI5ICpyZW5kZXJlcikKK3sKKyAgICBVTlJFQUNIQUJMRSgpOwor
ICAgIHJldHVybiBOVUxMOworfQorCit0eXBlZGVmIGJvb2wgKCpGYWxsYmFja1ByZWRpY2F0ZUZ1
bmN0aW9uKSh2b2lkKTsKKwordGVtcGxhdGUgPEZhbGxiYWNrUHJlZGljYXRlRnVuY3Rpb24gcHJl
ZCwgTG9hZEltYWdlRnVuY3Rpb24gcHJlZmVyZWQsIExvYWRJbWFnZUZ1bmN0aW9uIGZhbGxiYWNr
PgorTG9hZEltYWdlRnVuY3Rpb24gRmFsbGJhY2tMb2FkRnVuY3Rpb24oY29uc3QgUmVuZGVyZXI5
ICpyZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcHJlZCgpID8gcHJlZmVyZWQgOiBmYWxsYmFjazsK
K30KKwordHlwZWRlZiBEM0RGT1JNQVQgKCpGb3JtYXRRdWVyeUZ1bmN0aW9uKShjb25zdCByeDo6
UmVuZGVyZXI5ICpyZW5kZXJlcik7CisKK3RlbXBsYXRlIDxSZW5kZXJlcjlGb3JtYXRDaGVja0Z1
bmN0aW9uIHByZWQsIEQzREZPUk1BVCBwcmVmZXJlZCwgRDNERk9STUFUIGZhbGxiYWNrPgorRDNE
Rk9STUFUIENoZWNrRm9ybWF0U3VwcG9ydChjb25zdCByeDo6UmVuZGVyZXI5ICpyZW5kZXJlcikK
K3sKKyAgICByZXR1cm4gKHJlbmRlcmVyLT4qcHJlZCkoKSA/IHByZWZlcmVkIDogZmFsbGJhY2s7
Cit9CisKK3RlbXBsYXRlIDxEM0RGT1JNQVQgZm9ybWF0PgorRDNERk9STUFUIEQzRDlGb3JtYXQo
Y29uc3Qgcng6OlJlbmRlcmVyOSAqcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIGZvcm1hdDsKK30K
Kworc3RydWN0IEQzRDlGb3JtYXRJbmZvCit7CisgICAgRm9ybWF0UXVlcnlGdW5jdGlvbiBtVGV4
Rm9ybWF0OworICAgIEZvcm1hdFF1ZXJ5RnVuY3Rpb24gbVJlbmRlckZvcm1hdDsKKyAgICBSZW5k
ZXJlckNoZWNrTG9hZEZ1bmN0aW9uIG1Mb2FkRnVuY3Rpb247CisKKyAgICBEM0Q5Rm9ybWF0SW5m
bygpCisgICAgICAgIDogbVRleEZvcm1hdChOVUxMKSwgbVJlbmRlckZvcm1hdChOVUxMKSwgbUxv
YWRGdW5jdGlvbihOVUxMKQorICAgIHsgfQorCisgICAgRDNEOUZvcm1hdEluZm8oRm9ybWF0UXVl
cnlGdW5jdGlvbiB0ZXh0dXJlRm9ybWF0LCBGb3JtYXRRdWVyeUZ1bmN0aW9uIHJlbmRlckZvcm1h
dCwgUmVuZGVyZXJDaGVja0xvYWRGdW5jdGlvbiBsb2FkRnVuYykKKyAgICAgICAgOiBtVGV4Rm9y
bWF0KHRleHR1cmVGb3JtYXQpLCBtUmVuZGVyRm9ybWF0KHJlbmRlckZvcm1hdCksIG1Mb2FkRnVu
Y3Rpb24obG9hZEZ1bmMpCisgICAgeyB9Cit9OworCitjb25zdCBEM0RGT1JNQVQgRDNERk1UX0lO
VFogPSAoKEQzREZPUk1BVCkoTUFLRUZPVVJDQygnSScsJ04nLCdUJywnWicpKSk7Citjb25zdCBE
M0RGT1JNQVQgRDNERk1UX05VTEwgPSAoKEQzREZPUk1BVCkoTUFLRUZPVVJDQygnTicsJ1UnLCdM
JywnTCcpKSk7CisKK3R5cGVkZWYgc3RkOjpwYWlyPEdMZW51bSwgRDNEOUZvcm1hdEluZm8+IEQz
RDlGb3JtYXRQYWlyOwordHlwZWRlZiBzdGQ6Om1hcDxHTGVudW0sIEQzRDlGb3JtYXRJbmZvPiBE
M0Q5Rm9ybWF0TWFwOworCitzdGF0aWMgRDNEOUZvcm1hdE1hcCBCdWlsZEQzRDlGb3JtYXRNYXAo
KQoreworICAgIEQzRDlGb3JtYXRNYXAgbWFwOworCisgICAgLy8gICAgICAgICAgICAgICAgICAg
ICAgIHwgSW50ZXJuYWwgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IFRleHR1cmUgZm9ybWF0ICAgICAgICAgICAgICAgICAgfCBSZW5kZXIgZm9ybWF0ICAgICAgICAg
ICAgICAgICAgICB8IExvYWQgZnVuY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRQYWlyKEdMX05PTkUsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBEM0Q5Rm9ybWF0SW5mbyhEM0Q5Rm9ybWF0PEQzREZNVF9OVUxMPiwg
ICAgICAgICAgRDNEOUZvcm1hdDxEM0RGTVRfTlVMTD4sICAgICAgICAgICBVbnJlYWNoYWJsZUxv
YWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpOworCisgICAgbWFwLmluc2Vy
dChEM0Q5Rm9ybWF0UGFpcihHTF9ERVBUSF9DT01QT05FTlQxNiwgICAgICAgICAgICAgICAgRDNE
OUZvcm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfSU5UWj4sICAgICAgICAgIEQzRDlGb3JtYXQ8
RDNERk1UX0QyNFM4PiwgICAgICAgICAgVW5yZWFjaGFibGVMb2FkICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRQYWlyKEdMX0RF
UFRIX0NPTVBPTkVOVDMyX09FUywgICAgICAgICAgICBEM0Q5Rm9ybWF0SW5mbyhEM0Q5Rm9ybWF0
PEQzREZNVF9JTlRaPiwgICAgICAgICAgRDNEOUZvcm1hdDxEM0RGTVRfRDMyPiwgICAgICAgICAg
ICBVbnJlYWNoYWJsZUxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpOwor
ICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfREVQVEgyNF9TVEVOQ0lMOF9PRVMsICAg
ICAgICAgICAgIEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNERk1UX0lOVFo+LCAgICAgICAg
ICBEM0Q5Rm9ybWF0PEQzREZNVF9EMjRTOD4sICAgICAgICAgIFVucmVhY2hhYmxlTG9hZCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9y
bWF0UGFpcihHTF9TVEVOQ0lMX0lOREVYOCwgICAgICAgICAgICAgICAgICAgRDNEOUZvcm1hdElu
Zm8oRDNEOUZvcm1hdDxEM0RGTVRfVU5LTk9XTj4sICAgICAgIEQzRDlGb3JtYXQ8RDNERk1UX0Qy
NFM4PiwgICAgICAgICAgVW5yZWFjaGFibGVMb2FkICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICkpKTsgLy8gVE9ETzogV2hhdCdzIHRoZSB0ZXh0dXJlIGZvcm1hdD8KKworICAgIG1h
cC5pbnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfUkdCQTMyRl9FWFQsICAgICAgICAgICAgICAgICAg
ICAgIEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNERk1UX0EzMkIzMkczMlIzMkY+LCBEM0Q5
Rm9ybWF0PEQzREZNVF9BMzJCMzJHMzJSMzJGPiwgIFNpbXBsZUxvYWQ8bG9hZFRvTmF0aXZlPEdM
ZmxvYXQsIDQ+ID4gICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFp
cihHTF9SR0IzMkZfRVhULCAgICAgICAgICAgICAgICAgICAgICAgRDNEOUZvcm1hdEluZm8oRDNE
OUZvcm1hdDxEM0RGTVRfQTMyQjMyRzMyUjMyRj4sIEQzRDlGb3JtYXQ8RDNERk1UX0EzMkIzMkcz
MlIzMkY+LCAgU2ltcGxlTG9hZDxsb2FkVG9OYXRpdmUzVG80PEdMZmxvYXQsIGdsOjpGbG9hdDMy
T25lPiA+KSkpOworICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfUkczMkZfRVhULCAg
ICAgICAgICAgICAgICAgICAgICAgIEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNERk1UX0cz
MlIzMkY+LCAgICAgICBEM0Q5Rm9ybWF0PEQzREZNVF9HMzJSMzJGPiwgICAgICAgIFNpbXBsZUxv
YWQ8bG9hZFRvTmF0aXZlPEdMZmxvYXQsIDI+ID4gICAgICAgICAgICApKSk7CisgICAgbWFwLmlu
c2VydChEM0Q5Rm9ybWF0UGFpcihHTF9SMzJGX0VYVCwgICAgICAgICAgICAgICAgICAgICAgICAg
RDNEOUZvcm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfUjMyRj4sICAgICAgICAgIEQzRDlGb3Jt
YXQ8RDNERk1UX1IzMkY+LCAgICAgICAgICAgU2ltcGxlTG9hZDxsb2FkVG9OYXRpdmU8R0xmbG9h
dCwgMT4gPiAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRQYWlyKEdM
X0FMUEhBMzJGX0VYVCwgICAgICAgICAgICAgICAgICAgICBEM0Q5Rm9ybWF0SW5mbyhEM0Q5Rm9y
bWF0PEQzREZNVF9BMzJCMzJHMzJSMzJGPiwgRDNEOUZvcm1hdDxEM0RGTVRfVU5LTk9XTj4sICAg
ICAgICBTaW1wbGVMb2FkPGxvYWRBbHBoYUZsb2F0RGF0YVRvUkdCQT4gICAgICAgICAgICAgKSkp
OworICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfTFVNSU5BTkNFMzJGX0VYVCwgICAg
ICAgICAgICAgICAgIEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNERk1UX0EzMkIzMkczMlIz
MkY+LCBEM0Q5Rm9ybWF0PEQzREZNVF9VTktOT1dOPiwgICAgICAgIFNpbXBsZUxvYWQ8bG9hZEx1
bWluYW5jZUZsb2F0RGF0YVRvUkdCQT4gICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5
Rm9ybWF0UGFpcihHTF9MVU1JTkFOQ0VfQUxQSEEzMkZfRVhULCAgICAgICAgICAgRDNEOUZvcm1h
dEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfQTMyQjMyRzMyUjMyRj4sIEQzRDlGb3JtYXQ8RDNERk1U
X1VOS05PV04+LCAgICAgICAgU2ltcGxlTG9hZDxsb2FkTHVtaW5hbmNlQWxwaGFGbG9hdERhdGFU
b1JHQkE+ICAgICkpKTsKKworICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfUkdCQTE2
Rl9FWFQsICAgICAgICAgICAgICAgICAgICAgIEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNE
Rk1UX0ExNkIxNkcxNlIxNkY+LCBEM0Q5Rm9ybWF0PEQzREZNVF9BMTZCMTZHMTZSMTZGPiwgIFNp
bXBsZUxvYWQ8bG9hZFRvTmF0aXZlPEdMaGFsZiwgND4gPiAgICAgICAgICAgICApKSk7CisgICAg
bWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihHTF9SR0IxNkZfRVhULCAgICAgICAgICAgICAgICAg
ICAgICAgRDNEOUZvcm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfQTE2QjE2RzE2UjE2Rj4sIEQz
RDlGb3JtYXQ8RDNERk1UX0ExNkIxNkcxNlIxNkY+LCAgU2ltcGxlTG9hZDxsb2FkVG9OYXRpdmUz
VG80PEdMaGFsZiwgZ2w6OkZsb2F0MTZPbmU+ID4pKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9y
bWF0UGFpcihHTF9SRzE2Rl9FWFQsICAgICAgICAgICAgICAgICAgICAgICAgRDNEOUZvcm1hdElu
Zm8oRDNEOUZvcm1hdDxEM0RGTVRfRzE2UjE2Rj4sICAgICAgIEQzRDlGb3JtYXQ8RDNERk1UX0cx
NlIxNkY+LCAgICAgICAgU2ltcGxlTG9hZDxsb2FkVG9OYXRpdmU8R0xoYWxmLCAyPiA+ICAgICAg
ICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRQYWlyKEdMX1IxNkZfRVhULCAg
ICAgICAgICAgICAgICAgICAgICAgICBEM0Q5Rm9ybWF0SW5mbyhEM0Q5Rm9ybWF0PEQzREZNVF9S
MTZGPiwgICAgICAgICAgRDNEOUZvcm1hdDxEM0RGTVRfUjE2Rj4sICAgICAgICAgICBTaW1wbGVM
b2FkPGxvYWRUb05hdGl2ZTxHTGhhbGYsIDE+ID4gICAgICAgICAgICAgKSkpOworICAgIG1hcC5p
bnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfQUxQSEExNkZfRVhULCAgICAgICAgICAgICAgICAgICAg
IEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNERk1UX0ExNkIxNkcxNlIxNkY+LCBEM0Q5Rm9y
bWF0PEQzREZNVF9VTktOT1dOPiwgICAgICAgIFNpbXBsZUxvYWQ8bG9hZEFscGhhSGFsZkZsb2F0
RGF0YVRvUkdCQT4gICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihH
TF9MVU1JTkFOQ0UxNkZfRVhULCAgICAgICAgICAgICAgICAgRDNEOUZvcm1hdEluZm8oRDNEOUZv
cm1hdDxEM0RGTVRfQTE2QjE2RzE2UjE2Rj4sIEQzRDlGb3JtYXQ8RDNERk1UX1VOS05PV04+LCAg
ICAgICAgU2ltcGxlTG9hZDxsb2FkTHVtaW5hbmNlSGFsZkZsb2F0RGF0YVRvUkdCQT4gICAgICkp
KTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRQYWlyKEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9F
WFQsICAgICAgICAgICBEM0Q5Rm9ybWF0SW5mbyhEM0Q5Rm9ybWF0PEQzREZNVF9BMTZCMTZHMTZS
MTZGPiwgRDNEOUZvcm1hdDxEM0RGTVRfVU5LTk9XTj4sICAgICAgICBTaW1wbGVMb2FkPGxvYWRM
dW1pbmFuY2VBbHBoYUhhbGZGbG9hdERhdGFUb1JHQkE+KSkpOworCisgICAgbWFwLmluc2VydChE
M0Q5Rm9ybWF0UGFpcihHTF9BTFBIQThfRVhULCAgICAgICAgICAgICAgICAgICAgICAgRDNEOUZv
cm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfQThSOEc4Qjg+LCAgICAgIEQzRDlGb3JtYXQ8RDNE
Rk1UX0E4UjhHOEI4PiwgICAgICAgRmFsbGJhY2tMb2FkRnVuY3Rpb248Z2w6OnN1cHBvcnRzU1NF
MiwgbG9hZEFscGhhRGF0YVRvQkdSQVNTRTIsIGxvYWRBbHBoYURhdGFUb0JHUkE+KSkpOworCisg
ICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihHTF9SR0I4X09FUywgICAgICAgICAgICAgICAg
ICAgICAgICAgRDNEOUZvcm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfWDhSOEc4Qjg+LCAgICAg
IEQzRDlGb3JtYXQ8RDNERk1UX1g4UjhHOEI4PiwgICAgICAgU2ltcGxlTG9hZDxsb2FkUkdCVUJ5
dGVEYXRhVG9CR1JYPiAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9y
bWF0UGFpcihHTF9SR0I1NjUsICAgICAgICAgICAgICAgICAgICAgICAgICAgRDNEOUZvcm1hdElu
Zm8oQ2hlY2tGb3JtYXRTdXBwb3J0PCZSZW5kZXJlcjk6OmdldFJHQjU2NVRleHR1cmVTdXBwb3J0
LCBEM0RGTVRfUjVHNkI1LCBEM0RGTVRfWDhSOEc4Qjg+LCBDaGVja0Zvcm1hdFN1cHBvcnQ8JlJl
bmRlcmVyOTo6Z2V0UkdCNTY1VGV4dHVyZVN1cHBvcnQsIEQzREZNVF9SNUc2QjUsIEQzREZNVF9Y
OFI4RzhCOD4sIFJlbmRlcmVyQ2hlY2tMb2FkPCZSZW5kZXJlcjk6OmdldFJHQjU2NVRleHR1cmVT
dXBwb3J0LCBsb2FkVG9OYXRpdmU8R0x1c2hvcnQsIDE+LCBsb2FkUkdCNTY1RGF0YVRvQkdSQT4p
KSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihHTF9SR0JBOF9PRVMsICAgICAgICAg
ICAgICAgICAgICAgICAgRDNEOUZvcm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfQThSOEc4Qjg+
LCAgICAgIEQzRDlGb3JtYXQ8RDNERk1UX0E4UjhHOEI4PiwgICAgICAgRmFsbGJhY2tMb2FkRnVu
Y3Rpb248Z2w6OnN1cHBvcnRzU1NFMiwgbG9hZFJHQkFVQnl0ZURhdGFUb0JHUkFTU0UyLCBsb2Fk
UkdCQVVCeXRlRGF0YVRvQkdSQT4pKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihH
TF9SR0JBNCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgRDNEOUZvcm1hdEluZm8oRDNEOUZv
cm1hdDxEM0RGTVRfQThSOEc4Qjg+LCAgICAgIEQzRDlGb3JtYXQ8RDNERk1UX0E4UjhHOEI4Piwg
ICAgICAgU2ltcGxlTG9hZDxsb2FkUkdCQTQ0NDREYXRhVG9CR1JBPiAgICAgICAgICAgICAgICAp
KSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihHTF9SR0I1X0ExLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgRDNEOUZvcm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfQThSOEc4Qjg+
LCAgICAgIEQzRDlGb3JtYXQ8RDNERk1UX0E4UjhHOEI4PiwgICAgICAgU2ltcGxlTG9hZDxsb2Fk
UkdCQTU1NTFEYXRhVG9CR1JBPiAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChE
M0Q5Rm9ybWF0UGFpcihHTF9SOF9FWFQsICAgICAgICAgICAgICAgICAgICAgICAgICAgRDNEOUZv
cm1hdEluZm8oRDNEOUZvcm1hdDxEM0RGTVRfWDhSOEc4Qjg+LCAgICAgIEQzRDlGb3JtYXQ8RDNE
Rk1UX1g4UjhHOEI4PiwgICAgICAgU2ltcGxlTG9hZDxsb2FkUlVCeXRlRGF0YVRvQkdSWD4gICAg
ICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihHTF9SRzhf
RVhULCAgICAgICAgICAgICAgICAgICAgICAgICAgRDNEOUZvcm1hdEluZm8oRDNEOUZvcm1hdDxE
M0RGTVRfWDhSOEc4Qjg+LCAgICAgIEQzRDlGb3JtYXQ8RDNERk1UX1g4UjhHOEI4PiwgICAgICAg
U2ltcGxlTG9hZDxsb2FkUkdVQnl0ZURhdGFUb0JHUlg+ICAgICAgICAgICAgICAgICApKSk7CisK
KyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRQYWlyKEdMX0JHUkE4X0VYVCwgICAgICAgICAgICAg
ICAgICAgICAgICBEM0Q5Rm9ybWF0SW5mbyhEM0Q5Rm9ybWF0PEQzREZNVF9BOFI4RzhCOD4sICAg
ICAgRDNEOUZvcm1hdDxEM0RGTVRfQThSOEc4Qjg+LCAgICAgICBTaW1wbGVMb2FkPGxvYWRUb05h
dGl2ZTxHTHVieXRlLCA0PiA+ICAgICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlG
b3JtYXRQYWlyKEdMX0JHUkE0X0FOR0xFWCwgICAgICAgICAgICAgICAgICAgICBEM0Q5Rm9ybWF0
SW5mbyhEM0Q5Rm9ybWF0PEQzREZNVF9BOFI4RzhCOD4sICAgICAgRDNEOUZvcm1hdDxEM0RGTVRf
QThSOEc4Qjg+LCAgICAgICBTaW1wbGVMb2FkPGxvYWRSR0JBNDQ0NERhdGFUb1JHQkE+ICAgICAg
ICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRQYWlyKEdMX0JHUjVfQTFf
QU5HTEVYLCAgICAgICAgICAgICAgICAgICBEM0Q5Rm9ybWF0SW5mbyhEM0Q5Rm9ybWF0PEQzREZN
VF9BOFI4RzhCOD4sICAgICAgRDNEOUZvcm1hdDxEM0RGTVRfQThSOEc4Qjg+LCAgICAgICBTaW1w
bGVMb2FkPGxvYWRSR0JBNTU1MURhdGFUb1JHQkE+ICAgICAgICAgICAgICAgICkpKTsKKworICAg
IG1hcC5pbnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VY
VCwgICAgIEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNERk1UX0RYVDE+LCAgICAgICAgICBE
M0Q5Rm9ybWF0PEQzREZNVF9VTktOT1dOPiwgICAgICAgIFNpbXBsZUxvYWQ8bG9hZENvbXByZXNz
ZWRCbG9ja0RhdGFUb05hdGl2ZTw0LCA0LCAgOD4gPikpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlG
b3JtYXRQYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhULCAgICBEM0Q5Rm9ybWF0
SW5mbyhEM0Q5Rm9ybWF0PEQzREZNVF9EWFQxPiwgICAgICAgICAgRDNEOUZvcm1hdDxEM0RGTVRf
VU5LTk9XTj4sICAgICAgICBTaW1wbGVMb2FkPGxvYWRDb21wcmVzc2VkQmxvY2tEYXRhVG9OYXRp
dmU8NCwgNCwgIDg+ID4pKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihHTF9DT01Q
UkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFLCAgRDNEOUZvcm1hdEluZm8oRDNEOUZvcm1hdDxE
M0RGTVRfRFhUMz4sICAgICAgICAgIEQzRDlGb3JtYXQ8RDNERk1UX1VOS05PV04+LCAgICAgICAg
U2ltcGxlTG9hZDxsb2FkQ29tcHJlc3NlZEJsb2NrRGF0YVRvTmF0aXZlPDQsIDQsIDE2PiA+KSkp
OworICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdFBhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENf
RFhUNV9BTkdMRSwgIEQzRDlGb3JtYXRJbmZvKEQzRDlGb3JtYXQ8RDNERk1UX0RYVDU+LCAgICAg
ICAgICBEM0Q5Rm9ybWF0PEQzREZNVF9VTktOT1dOPiwgICAgICAgIFNpbXBsZUxvYWQ8bG9hZENv
bXByZXNzZWRCbG9ja0RhdGFUb05hdGl2ZTw0LCA0LCAxNj4gPikpKTsKKworICAgIC8vIFRoZXNl
IGZvcm1hdHMgcmVxdWlyZSBjaGVja2luZyBpZiB0aGUgcmVuZGVyZXIgc3VwcG9ydHMgRDNERk1U
X0w4IG9yIEQzREZNVF9BOEw4IGFuZAorICAgIC8vIHRoZW4gY2hhbmdpbmcgdGhlIGZvcm1hdCBh
bmQgbG9hZGluZyBmdW5jdGlvbiBhcHByb3ByaWF0ZWx5LgorICAgIG1hcC5pbnNlcnQoRDNEOUZv
cm1hdFBhaXIoR0xfTFVNSU5BTkNFOF9FWFQsICAgICAgICAgICAgICAgICAgIEQzRDlGb3JtYXRJ
bmZvKENoZWNrRm9ybWF0U3VwcG9ydDwmUmVuZGVyZXI5OjpnZXRMdW1pbmFuY2VUZXh0dXJlU3Vw
cG9ydCwgRDNERk1UX0w4LCBEM0RGTVRfQThSOEc4Qjg+LCAgICAgICAgRDNEOUZvcm1hdDxEM0RG
TVRfVU5LTk9XTj4sICBSZW5kZXJlckNoZWNrTG9hZDwmUmVuZGVyZXI5OjpnZXRMdW1pbmFuY2VU
ZXh0dXJlU3VwcG9ydCwgbG9hZFRvTmF0aXZlPEdMdWJ5dGUsIDE+LCBsb2FkTHVtaW5hbmNlRGF0
YVRvQkdSQT4pKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0UGFpcihHTF9MVU1JTkFOQ0U4
X0FMUEhBOF9FWFQsICAgICAgICAgICAgRDNEOUZvcm1hdEluZm8oQ2hlY2tGb3JtYXRTdXBwb3J0
PCZSZW5kZXJlcjk6OmdldEx1bWluYW5jZUFscGhhVGV4dHVyZVN1cHBvcnQsIEQzREZNVF9BOEw4
LCBEM0RGTVRfQThSOEc4Qjg+LCBEM0Q5Rm9ybWF0PEQzREZNVF9VTktOT1dOPiwgIFJlbmRlcmVy
Q2hlY2tMb2FkPCZSZW5kZXJlcjk6OmdldEx1bWluYW5jZVRleHR1cmVTdXBwb3J0LCBsb2FkVG9O
YXRpdmU8R0x1Ynl0ZSwgMj4sIGxvYWRMdW1pbmFuY2VBbHBoYURhdGFUb0JHUkE+KSkpOworCisg
ICAgcmV0dXJuIG1hcDsKK30KKworc3RhdGljIGJvb2wgR2V0RDNEOUZvcm1hdEluZm8oR0xlbnVt
IGludGVybmFsRm9ybWF0LCBEM0Q5Rm9ybWF0SW5mbyAqb3V0Rm9ybWF0SW5mbykKK3sKKyAgICBz
dGF0aWMgY29uc3QgRDNEOUZvcm1hdE1hcCBmb3JtYXRNYXAgPSBCdWlsZEQzRDlGb3JtYXRNYXAo
KTsKKyAgICBEM0Q5Rm9ybWF0TWFwOjpjb25zdF9pdGVyYXRvciBpdGVyID0gZm9ybWF0TWFwLmZp
bmQoaW50ZXJuYWxGb3JtYXQpOworICAgIGlmIChpdGVyICE9IGZvcm1hdE1hcC5lbmQoKSkKKyAg
ICB7CisgICAgICAgIGlmIChvdXRGb3JtYXRJbmZvKQorICAgICAgICB7CisgICAgICAgICAgICAq
b3V0Rm9ybWF0SW5mbyA9IGl0ZXItPnNlY29uZDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KK30KKworLy8gQSBtYXAgdG8gZGV0ZXJtaW5lIHRoZSBwaXhlbCBzaXplIGFuZCBtaXAgZ2Vu
ZXJhdGlvbiBmdW5jdGlvbiBvZiBhIGdpdmVuIEQzRCBmb3JtYXQKK3N0cnVjdCBEM0RGb3JtYXRJ
bmZvCit7CisgICAgR0x1aW50IG1QaXhlbEJpdHM7CisgICAgR0x1aW50IG1CbG9ja1dpZHRoOwor
ICAgIEdMdWludCBtQmxvY2tIZWlnaHQ7CisgICAgR0xlbnVtIG1JbnRlcm5hbEZvcm1hdDsKKwor
ICAgIE1pcEdlbmVyYXRpb25GdW5jdGlvbiBtTWlwR2VuZXJhdGlvbkZ1bmN0aW9uOworICAgIENv
bG9yUmVhZEZ1bmN0aW9uIG1Db2xvclJlYWRGdW5jdGlvbjsKKworICAgIEQzREZvcm1hdEluZm8o
KQorICAgICAgICA6IG1QaXhlbEJpdHMoMCksIG1CbG9ja1dpZHRoKDApLCBtQmxvY2tIZWlnaHQo
MCksIG1JbnRlcm5hbEZvcm1hdChHTF9OT05FKSwgbU1pcEdlbmVyYXRpb25GdW5jdGlvbihOVUxM
KSwKKyAgICAgICAgICBtQ29sb3JSZWFkRnVuY3Rpb24oTlVMTCkKKyAgICB7IH0KKworICAgIEQz
REZvcm1hdEluZm8oR0x1aW50IHBpeGVsQml0cywgR0x1aW50IGJsb2NrV2lkdGgsIEdMdWludCBi
bG9ja0hlaWdodCwgR0xlbnVtIGludGVybmFsRm9ybWF0LAorICAgICAgICAgICAgICAgICAgTWlw
R2VuZXJhdGlvbkZ1bmN0aW9uIG1pcEZ1bmMsIENvbG9yUmVhZEZ1bmN0aW9uIHJlYWRGdW5jKQor
ICAgICAgICA6IG1QaXhlbEJpdHMocGl4ZWxCaXRzKSwgbUJsb2NrV2lkdGgoYmxvY2tXaWR0aCks
IG1CbG9ja0hlaWdodChibG9ja0hlaWdodCksIG1JbnRlcm5hbEZvcm1hdChpbnRlcm5hbEZvcm1h
dCksCisgICAgICAgICAgbU1pcEdlbmVyYXRpb25GdW5jdGlvbihtaXBGdW5jKSwgbUNvbG9yUmVh
ZEZ1bmN0aW9uKHJlYWRGdW5jKQorICAgIHsgfQorfTsKKwordHlwZWRlZiBzdGQ6OnBhaXI8RDNE
Rk9STUFULCBEM0RGb3JtYXRJbmZvPiBEM0Q5Rm9ybWF0SW5mb1BhaXI7Cit0eXBlZGVmIHN0ZDo6
bWFwPEQzREZPUk1BVCwgRDNERm9ybWF0SW5mbz4gRDNEOUZvcm1hdEluZm9NYXA7CisKK3N0YXRp
YyBEM0Q5Rm9ybWF0SW5mb01hcCBCdWlsZEQzRDlGb3JtYXRJbmZvTWFwKCkKK3sKKyAgICBEM0Q5
Rm9ybWF0SW5mb01hcCBtYXA7CisKKyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
RDNERk9STUFUICAgICAgICAgICB8ICAgICAgICAgICAgIHwgUyAgfFcgfEggfCBJbnRlcm5hbCBm
b3JtYXQgICAgICAgICAgICAgICAgICAgfCBNaXAgZ2VuZXJhdGlvbiBmdW5jdGlvbiAgIHwgQ29s
b3IgcmVhZCBmdW5jdGlvbiAgICAgICAgICAgICB8CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0
SW5mb1BhaXIoRDNERk1UX05VTEwsICAgICAgICAgIEQzREZvcm1hdEluZm8oICAwLCAwLCAwLCBH
TF9OT05FLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpOworICAgIG1hcC5pbnNl
cnQoRDNEOUZvcm1hdEluZm9QYWlyKEQzREZNVF9VTktOT1dOLCAgICAgICBEM0RGb3JtYXRJbmZv
KCAgMCwgMCwgMCwgR0xfTk9ORSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpKTsK
KworICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdEluZm9QYWlyKEQzREZNVF9MOCwgICAgICAgICAg
ICBEM0RGb3JtYXRJbmZvKCAgOCwgMSwgMSwgR0xfTFVNSU5BTkNFOF9FWFQsICAgICAgICAgICAg
ICAgICAgR2VuZXJhdGVNaXA8TDg+LCAgICAgICAgICAgIFJlYWRDb2xvcjxMOCwgR0xmbG9hdD4g
ICAgICAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZvUGFpcihEM0RGTVRf
QTgsICAgICAgICAgICAgRDNERm9ybWF0SW5mbyggIDgsIDEsIDEsIEdMX0FMUEhBOF9FWFQsICAg
ICAgICAgICAgICAgICAgICAgIEdlbmVyYXRlTWlwPEE4PiwgICAgICAgICAgICBSZWFkQ29sb3I8
QTgsIEdMZmxvYXQ+ICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0SW5m
b1BhaXIoRDNERk1UX0E4TDgsICAgICAgICAgIEQzREZvcm1hdEluZm8oIDE2LCAxLCAxLCBHTF9M
VU1JTkFOQ0U4X0FMUEhBOF9FWFQsICAgICAgICAgICBHZW5lcmF0ZU1pcDxBOEw4PiwgICAgICAg
ICAgUmVhZENvbG9yPEE4TDgsIEdMZmxvYXQ+ICAgICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQo
RDNEOUZvcm1hdEluZm9QYWlyKEQzREZNVF9BNFI0RzRCNCwgICAgICBEM0RGb3JtYXRJbmZvKCAx
NiwgMSwgMSwgR0xfQkdSQTRfQU5HTEVYLCAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGVNaXA8
QjRHNFI0QTQ+LCAgICAgIFJlYWRDb2xvcjxCNEc0UjRBNCwgR0xmbG9hdD4gICAgICkpKTsKKyAg
ICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZvUGFpcihEM0RGTVRfQTFSNUc1QjUsICAgICAgRDNE
Rm9ybWF0SW5mbyggMTYsIDEsIDEsIEdMX0JHUjVfQTFfQU5HTEVYLCAgICAgICAgICAgICAgICAg
IEdlbmVyYXRlTWlwPEI1RzVSNUExPiwgICAgICBSZWFkQ29sb3I8QjVHNVI1QTEsIEdMZmxvYXQ+
ICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0SW5mb1BhaXIoRDNERk1UX1I1RzZC
NSwgICAgICAgIEQzREZvcm1hdEluZm8oIDE2LCAxLCAxLCBHTF9SR0I1NjUsICAgICAgICAgICAg
ICAgICAgICAgICAgICBHZW5lcmF0ZU1pcDxSNUc2QjU+LCAgICAgICAgUmVhZENvbG9yPFI1RzZC
NSwgR0xmbG9hdD4gICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdEluZm9QYWly
KEQzREZNVF9YOFI4RzhCOCwgICAgICBEM0RGb3JtYXRJbmZvKCAzMiwgMSwgMSwgR0xfQkdSQThf
RVhULCAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGVNaXA8QjhHOFI4WDg+LCAgICAgIFJl
YWRDb2xvcjxCOEc4UjhYOCwgR0xmbG9hdD4gICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlG
b3JtYXRJbmZvUGFpcihEM0RGTVRfQThSOEc4QjgsICAgICAgRDNERm9ybWF0SW5mbyggMzIsIDEs
IDEsIEdMX0JHUkE4X0VYVCwgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyYXRlTWlwPEI4RzhS
OEE4PiwgICAgICBSZWFkQ29sb3I8QjhHOFI4QTgsIEdMZmxvYXQ+ICAgICApKSk7CisgICAgbWFw
Lmluc2VydChEM0Q5Rm9ybWF0SW5mb1BhaXIoRDNERk1UX1IxNkYsICAgICAgICAgIEQzREZvcm1h
dEluZm8oIDE2LCAxLCAxLCBHTF9SMTZGX0VYVCwgICAgICAgICAgICAgICAgICAgICAgICBHZW5l
cmF0ZU1pcDxSMTZGPiwgICAgICAgICAgUmVhZENvbG9yPFIxNkYsIEdMZmxvYXQ+ICAgICAgICAg
KSkpOworICAgIG1hcC5pbnNlcnQoRDNEOUZvcm1hdEluZm9QYWlyKEQzREZNVF9HMTZSMTZGLCAg
ICAgICBEM0RGb3JtYXRJbmZvKCAzMiwgMSwgMSwgR0xfUkcxNkZfRVhULCAgICAgICAgICAgICAg
ICAgICAgICAgR2VuZXJhdGVNaXA8UjE2RzE2Rj4sICAgICAgIFJlYWRDb2xvcjxSMTZHMTZGLCBH
TGZsb2F0PiAgICAgICkpKTsKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZvUGFpcihEM0RG
TVRfQTE2QjE2RzE2UjE2RiwgRDNERm9ybWF0SW5mbyggNjQsIDEsIDEsIEdMX1JHQkExNkZfRVhU
LCAgICAgICAgICAgICAgICAgICAgIEdlbmVyYXRlTWlwPFIxNkcxNkIxNkExNkY+LCBSZWFkQ29s
b3I8UjE2RzE2QjE2QTE2RiwgR0xmbG9hdD4pKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0
SW5mb1BhaXIoRDNERk1UX1IzMkYsICAgICAgICAgIEQzREZvcm1hdEluZm8oIDMyLCAxLCAxLCBH
TF9SMzJGX0VYVCwgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZU1pcDxSMzJGPiwgICAg
ICAgICAgUmVhZENvbG9yPFIzMkYsIEdMZmxvYXQ+ICAgICAgICAgKSkpOworICAgIG1hcC5pbnNl
cnQoRDNEOUZvcm1hdEluZm9QYWlyKEQzREZNVF9HMzJSMzJGLCAgICAgICBEM0RGb3JtYXRJbmZv
KCA2NCwgMSwgMSwgR0xfUkczMkZfRVhULCAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGVN
aXA8UjMyRzMyRj4sICAgICAgIFJlYWRDb2xvcjxSMzJHMzJGLCBHTGZsb2F0PiAgICAgICkpKTsK
KyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZvUGFpcihEM0RGTVRfQTMyQjMyRzMyUjMyRiwg
RDNERm9ybWF0SW5mbygxMjgsIDEsIDEsIEdMX1JHQkEzMkZfRVhULCAgICAgICAgICAgICAgICAg
ICAgIEdlbmVyYXRlTWlwPFIzMkczMkIzMkEzMkY+LCBSZWFkQ29sb3I8UjMyRzMyQjMyQTMyRiwg
R0xmbG9hdD4pKSk7CisKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZvUGFpcihEM0RGTVRf
RDE2LCAgICAgICAgICAgRDNERm9ybWF0SW5mbyggMTYsIDEsIDEsIEdMX0RFUFRIX0NPTVBPTkVO
VDE2LCAgICAgICAgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICBOVUxMICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChEM0Q5Rm9ybWF0SW5m
b1BhaXIoRDNERk1UX0QyNFM4LCAgICAgICAgIEQzREZvcm1hdEluZm8oIDMyLCAxLCAxLCBHTF9E
RVBUSDI0X1NURU5DSUw4X09FUywgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAg
ICAgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpOworICAgIG1hcC5pbnNlcnQo
RDNEOUZvcm1hdEluZm9QYWlyKEQzREZNVF9EMjRYOCwgICAgICAgICBEM0RGb3JtYXRJbmZvKCAz
MiwgMSwgMSwgR0xfREVQVEhfQ09NUE9ORU5UMTYsICAgICAgICAgICAgICAgTlVMTCwgICAgICAg
ICAgICAgICAgICAgICAgIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpKTsKKyAg
ICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZvUGFpcihEM0RGTVRfRDMyLCAgICAgICAgICAgRDNE
Rm9ybWF0SW5mbyggMzIsIDEsIDEsIEdMX0RFUFRIX0NPTVBPTkVOVDMyX09FUywgICAgICAgICAg
IE5VTEwsICAgICAgICAgICAgICAgICAgICAgICBOVUxMICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICApKSk7CisKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZvUGFpcihEM0RGTVRfSU5U
WiwgICAgICAgICAgRDNERm9ybWF0SW5mbyggMzIsIDEsIDEsIEdMX0RFUFRIMjRfU1RFTkNJTDhf
T0VTLCAgICAgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICBOVUxMICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICApKSk7CisKKyAgICBtYXAuaW5zZXJ0KEQzRDlGb3JtYXRJbmZv
UGFpcihEM0RGTVRfRFhUMSwgICAgICAgICAgRDNERm9ybWF0SW5mbyggNjQsIDQsIDQsIEdMX0NP
TVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhULCAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKSk7CisgICAgbWFwLmluc2VydChE
M0Q5Rm9ybWF0SW5mb1BhaXIoRDNERk1UX0RYVDMsICAgICAgICAgIEQzREZvcm1hdEluZm8oMTI4
LCA0LCA0LCBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFLCBOVUxMLCAgICAgICAg
ICAgICAgICAgICAgICAgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpOworICAg
IG1hcC5pbnNlcnQoRDNEOUZvcm1hdEluZm9QYWlyKEQzREZNVF9EWFQ1LCAgICAgICAgICBEM0RG
b3JtYXRJbmZvKDEyOCwgNCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRSwg
TlVMTCwgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICkpKTsKKworICAgIHJldHVybiBtYXA7Cit9CisKK3N0YXRpYyBjb25zdCBEM0Q5Rm9ybWF0
SW5mb01hcCAmR2V0RDNEOUZvcm1hdEluZm9NYXAoKQoreworICAgIHN0YXRpYyBjb25zdCBEM0Q5
Rm9ybWF0SW5mb01hcCBpbmZvTWFwID0gQnVpbGREM0Q5Rm9ybWF0SW5mb01hcCgpOworICAgIHJl
dHVybiBpbmZvTWFwOworfQorCitzdGF0aWMgYm9vbCBHZXREM0Q5Rm9ybWF0SW5mbyhEM0RGT1JN
QVQgZm9ybWF0LCBEM0RGb3JtYXRJbmZvICpvdXRGb3JtYXRJbmZvKQoreworICAgIGNvbnN0IEQz
RDlGb3JtYXRJbmZvTWFwICZpbmZvTWFwID0gR2V0RDNEOUZvcm1hdEluZm9NYXAoKTsKKyAgICBE
M0Q5Rm9ybWF0SW5mb01hcDo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IGluZm9NYXAuZmluZChmb3Jt
YXQpOworICAgIGlmIChpdGVyICE9IGluZm9NYXAuZW5kKCkpCisgICAgeworICAgICAgICBpZiAo
b3V0Rm9ybWF0SW5mbykKKyAgICAgICAgeworICAgICAgICAgICAgKm91dEZvcm1hdEluZm8gPSBp
dGVyLT5zZWNvbmQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAg
IGVsc2UKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CitzdGF0aWMgZDNk
OTo6RDNERm9ybWF0U2V0IEJ1aWxkQWxsRDNERm9ybWF0U2V0KCkKK3sKKyAgICBkM2Q5OjpEM0RG
b3JtYXRTZXQgc2V0OworCisgICAgY29uc3QgRDNEOUZvcm1hdEluZm9NYXAgJmluZm9NYXAgPSBH
ZXREM0Q5Rm9ybWF0SW5mb01hcCgpOworICAgIGZvciAoRDNEOUZvcm1hdEluZm9NYXA6OmNvbnN0
X2l0ZXJhdG9yIGkgPSBpbmZvTWFwLmJlZ2luKCk7IGkgIT0gaW5mb01hcC5lbmQoKTsgKytpKQor
ICAgIHsKKyAgICAgICAgc2V0Lmluc2VydChpLT5maXJzdCk7CisgICAgfQorCisgICAgcmV0dXJu
IHNldDsKK30KKworc3RydWN0IEQzRDlGYXN0Q29weUZvcm1hdAoreworICAgIEQzREZPUk1BVCBt
U291cmNlRm9ybWF0OworICAgIEdMZW51bSBtRGVzdEZvcm1hdDsKKyAgICBHTGVudW0gbURlc3RU
eXBlOworCisgICAgRDNEOUZhc3RDb3B5Rm9ybWF0KEQzREZPUk1BVCBzb3VyY2VGb3JtYXQsIEdM
ZW51bSBkZXN0Rm9ybWF0LCBHTGVudW0gZGVzdFR5cGUpCisgICAgICAgIDogbVNvdXJjZUZvcm1h
dChzb3VyY2VGb3JtYXQpLCBtRGVzdEZvcm1hdChkZXN0Rm9ybWF0KSwgbURlc3RUeXBlKGRlc3RU
eXBlKQorICAgIHsgfQorCisgICAgYm9vbCBvcGVyYXRvcjwoY29uc3QgRDNEOUZhc3RDb3B5Rm9y
bWF0JiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtZW1jbXAodGhpcywgJm90
aGVyLCBzaXplb2YoRDNEOUZhc3RDb3B5Rm9ybWF0KSkgPCAwOworICAgIH0KK307CisKK3R5cGVk
ZWYgc3RkOjptYXA8RDNEOUZhc3RDb3B5Rm9ybWF0LCBDb2xvckNvcHlGdW5jdGlvbj4gRDNEOUZh
c3RDb3B5TWFwOwordHlwZWRlZiBzdGQ6OnBhaXI8RDNEOUZhc3RDb3B5Rm9ybWF0LCBDb2xvckNv
cHlGdW5jdGlvbj4gRDNEOUZhc3RDb3B5UGFpcjsKKworc3RhdGljIEQzRDlGYXN0Q29weU1hcCBC
dWlsZEZhc3RDb3B5TWFwKCkKK3sKKyAgICBEM0Q5RmFzdENvcHlNYXAgbWFwOworCisgICAgbWFw
Lmluc2VydChEM0Q5RmFzdENvcHlQYWlyKEQzRDlGYXN0Q29weUZvcm1hdChEM0RGTVRfQThSOEc4
QjgsIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUpLCBDb3B5QkdSQVVCeXRlVG9SR0JBVUJ5dGUp
KTsKKworICAgIHJldHVybiBtYXA7Cit9CisKK3R5cGVkZWYgc3RkOjpwYWlyPEdMaW50LCBJbml0
aWFsaXplVGV4dHVyZURhdGFGdW5jdGlvbj4gSW50ZXJuYWxGb3JtYXRJbml0aWFsemVyUGFpcjsK
K3R5cGVkZWYgc3RkOjptYXA8R0xpbnQsIEluaXRpYWxpemVUZXh0dXJlRGF0YUZ1bmN0aW9uPiBJ
bnRlcm5hbEZvcm1hdEluaXRpYWx6ZXJNYXA7CisKK3N0YXRpYyBJbnRlcm5hbEZvcm1hdEluaXRp
YWx6ZXJNYXAgQnVpbGRJbnRlcm5hbEZvcm1hdEluaXRpYWx6ZXJNYXAoKQoreworICAgIEludGVy
bmFsRm9ybWF0SW5pdGlhbHplck1hcCBtYXA7CisKKyAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9y
bWF0SW5pdGlhbHplclBhaXIoR0xfUkdCMTZGLCAgaW5pdGlhbGl6ZTRDb21wb25lbnREYXRhPEdM
aGFsZiwgICAweDAwMDAsICAgICAweDAwMDAsICAgICAweDAwMDAsICAgICBnbDo6RmxvYXQxNk9u
ZT4pKTsKKyAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5pdGlhbHplclBhaXIoR0xfUkdC
MzJGLCAgaW5pdGlhbGl6ZTRDb21wb25lbnREYXRhPEdMZmxvYXQsICAweDAwMDAwMDAwLCAweDAw
MDAwMDAwLCAweDAwMDAwMDAwLCBnbDo6RmxvYXQzMk9uZT4pKTsKKworICAgIHJldHVybiBtYXA7
Cit9CisKK3N0YXRpYyBjb25zdCBJbnRlcm5hbEZvcm1hdEluaXRpYWx6ZXJNYXAgJkdldEludGVy
bmFsRm9ybWF0SW5pdGlhbHplck1hcCgpCit7CisgICAgc3RhdGljIGNvbnN0IEludGVybmFsRm9y
bWF0SW5pdGlhbHplck1hcCBtYXAgPSBCdWlsZEludGVybmFsRm9ybWF0SW5pdGlhbHplck1hcCgp
OworICAgIHJldHVybiBtYXA7Cit9CisKK25hbWVzcGFjZSBkM2Q5Cit7CisKK01pcEdlbmVyYXRp
b25GdW5jdGlvbiBHZXRNaXBHZW5lcmF0aW9uRnVuY3Rpb24oRDNERk9STUFUIGZvcm1hdCkKK3sK
KyAgICBEM0RGb3JtYXRJbmZvIGQzZEZvcm1hdEluZm87CisgICAgaWYgKEdldEQzRDlGb3JtYXRJ
bmZvKGZvcm1hdCwgJmQzZEZvcm1hdEluZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGQzZEZv
cm1hdEluZm8ubU1pcEdlbmVyYXRpb25GdW5jdGlvbjsKKyAgICB9CisgICAgZWxzZQorICAgIHsK
KyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorfQor
CitMb2FkSW1hZ2VGdW5jdGlvbiBHZXRJbWFnZUxvYWRGdW5jdGlvbihHTGVudW0gaW50ZXJuYWxG
b3JtYXQsIGNvbnN0IFJlbmRlcmVyOSAqcmVuZGVyZXIpCit7CisgICAgaWYgKCFyZW5kZXJlcikK
KyAgICB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIEFTU0VSVChyZW5kZXJl
ci0+Z2V0Q3VycmVudENsaWVudFZlcnNpb24oKSA9PSAyKTsKKworICAgIEQzRDlGb3JtYXRJbmZv
IGQzZDlGb3JtYXRJbmZvOworICAgIGlmIChHZXREM0Q5Rm9ybWF0SW5mbyhpbnRlcm5hbEZvcm1h
dCwgJmQzZDlGb3JtYXRJbmZvKSkKKyAgICB7CisgICAgICAgIHJldHVybiBkM2Q5Rm9ybWF0SW5m
by5tTG9hZEZ1bmN0aW9uKHJlbmRlcmVyKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAg
ICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorfQorCitHTHVp
bnQgR2V0Rm9ybWF0UGl4ZWxCeXRlcyhEM0RGT1JNQVQgZm9ybWF0KQoreworICAgIEQzREZvcm1h
dEluZm8gZDNkRm9ybWF0SW5mbzsKKyAgICBpZiAoR2V0RDNEOUZvcm1hdEluZm8oZm9ybWF0LCAm
ZDNkRm9ybWF0SW5mbykpCisgICAgeworICAgICAgICByZXR1cm4gZDNkRm9ybWF0SW5mby5tUGl4
ZWxCaXRzIC8gODsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgVU5SRUFDSEFCTEUo
KTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitHTHVpbnQgR2V0QmxvY2tXaWR0aChE
M0RGT1JNQVQgZm9ybWF0KQoreworICAgIEQzREZvcm1hdEluZm8gZDNkRm9ybWF0SW5mbzsKKyAg
ICBpZiAoR2V0RDNEOUZvcm1hdEluZm8oZm9ybWF0LCAmZDNkRm9ybWF0SW5mbykpCisgICAgewor
ICAgICAgICByZXR1cm4gZDNkRm9ybWF0SW5mby5tQmxvY2tXaWR0aDsKKyAgICB9CisgICAgZWxz
ZQorICAgIHsKKyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorfQorCitHTHVpbnQgR2V0QmxvY2tIZWlnaHQoRDNERk9STUFUIGZvcm1hdCkKK3sKKyAgICBE
M0RGb3JtYXRJbmZvIGQzZEZvcm1hdEluZm87CisgICAgaWYgKEdldEQzRDlGb3JtYXRJbmZvKGZv
cm1hdCwgJmQzZEZvcm1hdEluZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGQzZEZvcm1hdElu
Zm8ubUJsb2NrSGVpZ2h0OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBVTlJFQUNI
QUJMRSgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK0dMdWludCBHZXRCbG9ja1Np
emUoRDNERk9STUFUIGZvcm1hdCwgR0x1aW50IHdpZHRoLCBHTHVpbnQgaGVpZ2h0KQoreworICAg
IEQzREZvcm1hdEluZm8gZDNkRm9ybWF0SW5mbzsKKyAgICBpZiAoR2V0RDNEOUZvcm1hdEluZm8o
Zm9ybWF0LCAmZDNkRm9ybWF0SW5mbykpCisgICAgeworICAgICAgICBHTHVpbnQgbnVtQmxvY2tz
V2lkZSA9ICh3aWR0aCArIGQzZEZvcm1hdEluZm8ubUJsb2NrV2lkdGggLSAxKSAvIGQzZEZvcm1h
dEluZm8ubUJsb2NrV2lkdGg7CisgICAgICAgIEdMdWludCBudW1CbG9ja3NIaWdodCA9IChoZWln
aHQgKyBkM2RGb3JtYXRJbmZvLm1CbG9ja0hlaWdodCAtIDEpIC8gZDNkRm9ybWF0SW5mby5tQmxv
Y2tIZWlnaHQ7CisKKyAgICAgICAgcmV0dXJuIChkM2RGb3JtYXRJbmZvLm1QaXhlbEJpdHMgKiBu
dW1CbG9ja3NXaWRlICogbnVtQmxvY2tzSGlnaHQpIC8gODsKKyAgICB9CisgICAgZWxzZQorICAg
IHsKKyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQor
Cit2b2lkIE1ha2VWYWxpZFNpemUoYm9vbCBpc0ltYWdlLCBEM0RGT1JNQVQgZm9ybWF0LCBHTHNp
emVpICpyZXF1ZXN0V2lkdGgsIEdMc2l6ZWkgKnJlcXVlc3RIZWlnaHQsIGludCAqbGV2ZWxPZmZz
ZXQpCit7CisgICAgRDNERm9ybWF0SW5mbyBkM2RGb3JtYXRJbmZvOworICAgIGlmIChHZXREM0Q5
Rm9ybWF0SW5mbyhmb3JtYXQsICZkM2RGb3JtYXRJbmZvKSkKKyAgICB7CisgICAgICAgIGludCB1
cHNhbXBsZUNvdW50ID0gMDsKKworICAgICAgICBHTHNpemVpIGJsb2NrV2lkdGggPSBkM2RGb3Jt
YXRJbmZvLm1CbG9ja1dpZHRoOworICAgICAgICBHTHNpemVpIGJsb2NrSGVpZ2h0ID0gZDNkRm9y
bWF0SW5mby5tQmxvY2tIZWlnaHQ7CisKKyAgICAgICAgLy8gRG9uJ3QgZXhwYW5kIHRoZSBzaXpl
IG9mIGZ1bGwgdGV4dHVyZXMgdGhhdCBhcmUgYXQgbGVhc3QgKGJsb2NrV2lkdGggeCBibG9ja0hl
aWdodCkgYWxyZWFkeS4KKyAgICAgICAgaWYgKGlzSW1hZ2UgfHwgKnJlcXVlc3RXaWR0aCA8IGJs
b2NrV2lkdGggfHwgKnJlcXVlc3RIZWlnaHQgPCBibG9ja0hlaWdodCkKKyAgICAgICAgeworICAg
ICAgICAgICAgd2hpbGUgKCpyZXF1ZXN0V2lkdGggJSBibG9ja1dpZHRoICE9IDAgfHwgKnJlcXVl
c3RIZWlnaHQgJSBibG9ja0hlaWdodCAhPSAwKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICpyZXF1ZXN0V2lkdGggPDw9IDE7CisgICAgICAgICAgICAgICAgKnJlcXVlc3RIZWlnaHQg
PDw9IDE7CisgICAgICAgICAgICAgICAgdXBzYW1wbGVDb3VudCsrOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgICpsZXZlbE9mZnNldCA9IHVwc2FtcGxlQ291bnQ7CisgICAgfQor
fQorCitjb25zdCBEM0RGb3JtYXRTZXQgJkdldEFsbFVzZWREM0RGb3JtYXRzKCkKK3sKKyAgICBz
dGF0aWMgY29uc3QgRDNERm9ybWF0U2V0IGZvcm1hdFNldCA9IEJ1aWxkQWxsRDNERm9ybWF0U2V0
KCk7CisgICAgcmV0dXJuIGZvcm1hdFNldDsKK30KKworQ29sb3JSZWFkRnVuY3Rpb24gR2V0Q29s
b3JSZWFkRnVuY3Rpb24oRDNERk9STUFUIGZvcm1hdCkKK3sKKyAgICBEM0RGb3JtYXRJbmZvIGQz
ZEZvcm1hdEluZm87CisgICAgaWYgKEdldEQzRDlGb3JtYXRJbmZvKGZvcm1hdCwgJmQzZEZvcm1h
dEluZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGQzZEZvcm1hdEluZm8ubUNvbG9yUmVhZEZ1
bmN0aW9uOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBVTlJFQUNIQUJMRSgpOwor
ICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9Cit9CisKK0NvbG9yQ29weUZ1bmN0aW9uIEdldEZh
c3RDb3B5RnVuY3Rpb24oRDNERk9STUFUIHNvdXJjZUZvcm1hdCwgR0xlbnVtIGRlc3RGb3JtYXQs
IEdMZW51bSBkZXN0VHlwZSwgR0x1aW50IGNsaWVudFZlcnNpb24pCit7CisgICAgc3RhdGljIGNv
bnN0IEQzRDlGYXN0Q29weU1hcCBmYXN0Q29weU1hcCA9IEJ1aWxkRmFzdENvcHlNYXAoKTsKKyAg
ICBEM0Q5RmFzdENvcHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBmYXN0Q29weU1hcC5maW5k
KEQzRDlGYXN0Q29weUZvcm1hdChzb3VyY2VGb3JtYXQsIGRlc3RGb3JtYXQsIGRlc3RUeXBlKSk7
CisgICAgcmV0dXJuIChpdGVyICE9IGZhc3RDb3B5TWFwLmVuZCgpKSA/IGl0ZXItPnNlY29uZCA6
IE5VTEw7Cit9CisKK0dMZW51bSBHZXREZWNsVHlwZUNvbXBvbmVudFR5cGUoRDNEREVDTFRZUEUg
ZGVjbFR5cGUpCit7CisgICAgc3dpdGNoIChkZWNsVHlwZSkKKyAgICB7CisgICAgICBjYXNlIEQz
RERFQ0xUWVBFX0ZMT0FUMTogICByZXR1cm4gR0xfRkxPQVQ7CisgICAgICBjYXNlIEQzRERFQ0xU
WVBFX0ZMT0FUMjogICByZXR1cm4gR0xfRkxPQVQ7CisgICAgICBjYXNlIEQzRERFQ0xUWVBFX0ZM
T0FUMzogICByZXR1cm4gR0xfRkxPQVQ7CisgICAgICBjYXNlIEQzRERFQ0xUWVBFX0ZMT0FUNDog
ICByZXR1cm4gR0xfRkxPQVQ7CisgICAgICBjYXNlIEQzRERFQ0xUWVBFX1VCWVRFNDogICByZXR1
cm4gR0xfVU5TSUdORURfSU5UOworICAgICAgY2FzZSBEM0RERUNMVFlQRV9TSE9SVDI6ICAgcmV0
dXJuIEdMX0lOVDsKKyAgICAgIGNhc2UgRDNEREVDTFRZUEVfU0hPUlQ0OiAgIHJldHVybiBHTF9J
TlQ7CisgICAgICBjYXNlIEQzRERFQ0xUWVBFX1VCWVRFNE46ICByZXR1cm4gR0xfVU5TSUdORURf
Tk9STUFMSVpFRDsKKyAgICAgIGNhc2UgRDNEREVDTFRZUEVfU0hPUlQ0TjogIHJldHVybiBHTF9T
SUdORURfTk9STUFMSVpFRDsKKyAgICAgIGNhc2UgRDNEREVDTFRZUEVfVVNIT1JUNE46IHJldHVy
biBHTF9VTlNJR05FRF9OT1JNQUxJWkVEOworICAgICAgY2FzZSBEM0RERUNMVFlQRV9TSE9SVDJO
OiAgcmV0dXJuIEdMX1NJR05FRF9OT1JNQUxJWkVEOworICAgICAgZGVmYXVsdDogVU5SRUFDSEFC
TEUoKTsgICAgcmV0dXJuIEdMX05PTkU7CisgICAgfQorfQorCisvLyBBdHRyaWJ1dGUgZm9ybWF0
IGNvbnZlcnNpb24KK2VudW0geyBOVU1fR0xfVkVSVEVYX0FUVFJJQl9UWVBFUyA9IDYgfTsKKwor
c3RydWN0IEZvcm1hdENvbnZlcnRlcgoreworICAgIGJvb2wgaWRlbnRpdHk7CisgICAgc3RkOjpz
aXplX3Qgb3V0cHV0RWxlbWVudFNpemU7CisgICAgdm9pZCAoKmNvbnZlcnRBcnJheSkoY29uc3Qg
dm9pZCAqaW4sIHN0ZDo6c2l6ZV90IHN0cmlkZSwgc3RkOjpzaXplX3Qgbiwgdm9pZCAqb3V0KTsK
KyAgICBEM0RERUNMVFlQRSBkM2REZWNsVHlwZTsKK307CisKK3N0cnVjdCBUcmFuc2xhdGlvbkRl
c2NyaXB0aW9uCit7CisgICAgRFdPUkQgY2Fwc0ZsYWc7CisgICAgRm9ybWF0Q29udmVydGVyIHBy
ZWZlcnJlZENvbnZlcnNpb247CisgICAgRm9ybWF0Q29udmVydGVyIGZhbGxiYWNrQ29udmVyc2lv
bjsKK307CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgdHlwZUluZGV4KEdMZW51bSB0eXBlKTsKK3N0
YXRpYyBjb25zdCBGb3JtYXRDb252ZXJ0ZXIgJmZvcm1hdENvbnZlcnRlcihjb25zdCBnbDo6VmVy
dGV4QXR0cmlidXRlICZhdHRyaWJ1dGUpOworCitib29sIG1UcmFuc2xhdGlvbnNJbml0aWFsaXpl
ZCA9IGZhbHNlOworRm9ybWF0Q29udmVydGVyIG1Gb3JtYXRDb252ZXJ0ZXJzW05VTV9HTF9WRVJU
RVhfQVRUUklCX1RZUEVTXVsyXVs0XTsKKworLy8gTWFwcGluZyBmcm9tIE9wZW5HTC1FUyB2ZXJ0
ZXggYXR0cmliIHR5cGUgdG8gRDNEIGRlY2wgdHlwZToKKy8vCisvLyBCWVRFICAgICAgICAgICAg
ICAgICBTSE9SVCAoQ2FzdCkKKy8vIEJZVEUtbm9ybSAgICAgICAgICAgIEZMT0FUIChOb3JtYWxp
emUpIChjYW4ndCBiZSBleGFjdGx5IHJlcHJlc2VudGVkIGFzIFNIT1JULW5vcm0pCisvLyBVTlNJ
R05FRF9CWVRFICAgICAgICBVQllURTQgKElkZW50aXR5KSBvciBTSE9SVCAoQ2FzdCkKKy8vIFVO
U0lHTkVEX0JZVEUtbm9ybSAgIFVCWVRFNE4gKElkZW50aXR5KSBvciBGTE9BVCAoTm9ybWFsaXpl
KQorLy8gU0hPUlQgICAgICAgICAgICAgICAgU0hPUlQgKElkZW50aXR5KQorLy8gU0hPUlQtbm9y
bSAgICAgICAgICAgU0hPUlQtbm9ybSAoSWRlbnRpdHkpIG9yIEZMT0FUIChOb3JtYWxpemUpCisv
LyBVTlNJR05FRF9TSE9SVCAgICAgICBGTE9BVCAoQ2FzdCkKKy8vIFVOU0lHTkVEX1NIT1JULW5v
cm0gIFVTSE9SVC1ub3JtIChJZGVudGl0eSkgb3IgRkxPQVQgKE5vcm1hbGl6ZSkKKy8vIEZJWEVE
IChub3QgaW4gV2ViR0wpIEZMT0FUIChGaXhlZFRvRmxvYXQpCisvLyBGTE9BVCAgICAgICAgICAg
ICAgICBGTE9BVCAoSWRlbnRpdHkpCisKKy8vIEdMVG9DVHlwZSBtYXBzIGZyb20gR0wgdHlwZSAo
YXMgR0xlbnVtKSB0byB0aGUgQyB0eXBlZGVmLgordGVtcGxhdGUgPEdMZW51bSBHTFR5cGU+IHN0
cnVjdCBHTFRvQ1R5cGUgeyB9OworCit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgR0xUb0NUeXBlPEdMX0JZ
VEU+ICAgICAgICAgICB7IHR5cGVkZWYgR0xieXRlIHR5cGU7ICAgICAgfTsKK3RlbXBsYXRlIDw+
IHN0cnVjdCBHTFRvQ1R5cGU8R0xfVU5TSUdORURfQllURT4gIHsgdHlwZWRlZiBHTHVieXRlIHR5
cGU7ICAgICB9OwordGVtcGxhdGUgPD4gc3RydWN0IEdMVG9DVHlwZTxHTF9TSE9SVD4gICAgICAg
ICAgeyB0eXBlZGVmIEdMc2hvcnQgdHlwZTsgICAgIH07Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgR0xU
b0NUeXBlPEdMX1VOU0lHTkVEX1NIT1JUPiB7IHR5cGVkZWYgR0x1c2hvcnQgdHlwZTsgICAgfTsK
K3RlbXBsYXRlIDw+IHN0cnVjdCBHTFRvQ1R5cGU8R0xfRklYRUQ+ICAgICAgICAgIHsgdHlwZWRl
ZiBHTHVpbnQgdHlwZTsgICAgICB9OwordGVtcGxhdGUgPD4gc3RydWN0IEdMVG9DVHlwZTxHTF9G
TE9BVD4gICAgICAgICAgeyB0eXBlZGVmIEdMZmxvYXQgdHlwZTsgICAgIH07CisKKy8vIFRoaXMg
ZGlmZmVycyBmcm9tIEQzRERFQ0xUWVBFIGluIHRoYXQgaXQgaXMgdW5zaXplZC4gKFNpemUgZXhw
YW5zaW9uIGlzIGFwcGxpZWQgbGFzdC4pCitlbnVtIEQzRFZlcnRleFR5cGUKK3sKKyAgICBEM0RW
VF9GTE9BVCwKKyAgICBEM0RWVF9TSE9SVCwKKyAgICBEM0RWVF9TSE9SVF9OT1JNLAorICAgIEQz
RFZUX1VCWVRFLAorICAgIEQzRFZUX1VCWVRFX05PUk0sCisgICAgRDNEVlRfVVNIT1JUX05PUk0K
K307CisKKy8vIEQzRFRvQ1R5cGUgbWFwcyBmcm9tIEQzRCB2ZXJ0ZXggdHlwZSAoYXMgZW51bSBE
M0RWZXJ0ZXhUeXBlKSB0byB0aGUgY29ycmVzcG9uZGluZyBDIHR5cGUuCit0ZW1wbGF0ZSA8dW5z
aWduZWQgaW50IEQzRFR5cGU+IHN0cnVjdCBEM0RUb0NUeXBlIHsgfTsKKwordGVtcGxhdGUgPD4g
c3RydWN0IEQzRFRvQ1R5cGU8RDNEVlRfRkxPQVQ+IHsgdHlwZWRlZiBmbG9hdCB0eXBlOyB9Owor
dGVtcGxhdGUgPD4gc3RydWN0IEQzRFRvQ1R5cGU8RDNEVlRfU0hPUlQ+IHsgdHlwZWRlZiBzaG9y
dCB0eXBlOyB9OwordGVtcGxhdGUgPD4gc3RydWN0IEQzRFRvQ1R5cGU8RDNEVlRfU0hPUlRfTk9S
TT4geyB0eXBlZGVmIHNob3J0IHR5cGU7IH07Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgRDNEVG9DVHlw
ZTxEM0RWVF9VQllURT4geyB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdHlwZTsgfTsKK3RlbXBsYXRl
IDw+IHN0cnVjdCBEM0RUb0NUeXBlPEQzRFZUX1VCWVRFX05PUk0+IHsgdHlwZWRlZiB1bnNpZ25l
ZCBjaGFyIHR5cGU7IH07Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgRDNEVG9DVHlwZTxEM0RWVF9VU0hP
UlRfTk9STT4geyB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHR5cGU7IH07CisKKy8vIEVuY29kZSB0
aGUgdHlwZS9zaXplIGNvbWJpbmF0aW9ucyB0aGF0IEQzRCBwZXJtaXRzLiBGb3IgZWFjaCB0eXBl
L3NpemUgaXQgZXhwYW5kcyB0byBhIHdpZGVuZXIgdGhhdCB3aWxsIHByb3ZpZGUgdGhlIGFwcHJv
cHJpYXRlIGZpbmFsIHNpemUuCit0ZW1wbGF0ZSA8dW5zaWduZWQgaW50IHR5cGUsIGludCBzaXpl
PiBzdHJ1Y3QgV2lkZW5SdWxlIHsgfTsKKwordGVtcGxhdGUgPGludCBzaXplPiBzdHJ1Y3QgV2lk
ZW5SdWxlPEQzRFZUX0ZMT0FULCBzaXplPiAgICAgICAgICA6IE5vV2lkZW48c2l6ZT4geyB9Owor
dGVtcGxhdGUgPGludCBzaXplPiBzdHJ1Y3QgV2lkZW5SdWxlPEQzRFZUX1NIT1JULCBzaXplPiAg
ICAgICAgICA6IFdpZGVuVG9FdmVuPHNpemU+IHsgfTsKK3RlbXBsYXRlIDxpbnQgc2l6ZT4gc3Ry
dWN0IFdpZGVuUnVsZTxEM0RWVF9TSE9SVF9OT1JNLCBzaXplPiAgICAgOiBXaWRlblRvRXZlbjxz
aXplPiB7IH07Cit0ZW1wbGF0ZSA8aW50IHNpemU+IHN0cnVjdCBXaWRlblJ1bGU8RDNEVlRfVUJZ
VEUsIHNpemU+ICAgICAgICAgIDogV2lkZW5Ub0ZvdXI8c2l6ZT4geyB9OwordGVtcGxhdGUgPGlu
dCBzaXplPiBzdHJ1Y3QgV2lkZW5SdWxlPEQzRFZUX1VCWVRFX05PUk0sIHNpemU+ICAgICA6IFdp
ZGVuVG9Gb3VyPHNpemU+IHsgfTsKK3RlbXBsYXRlIDxpbnQgc2l6ZT4gc3RydWN0IFdpZGVuUnVs
ZTxEM0RWVF9VU0hPUlRfTk9STSwgc2l6ZT4gICAgOiBXaWRlblRvRXZlbjxzaXplPiB7IH07CisK
Ky8vIFZlcnRleFR5cGVGbGFncyBlbmNvZGVzIHRoZSBEM0RDQVBTOTo6RGVjbFR5cGUgZmxhZyBh
bmQgdmVydGV4IGRlY2xhcmF0aW9uIGZsYWcgZm9yIGVhY2ggRDNEIHZlcnRleCB0eXBlICYgc2l6
ZSBjb21iaW5hdGlvbi4KK3RlbXBsYXRlIDx1bnNpZ25lZCBpbnQgZDNkdHlwZSwgaW50IHNpemU+
IHN0cnVjdCBWZXJ0ZXhUeXBlRmxhZ3MgeyB9OworCit0ZW1wbGF0ZSA8dW5zaWduZWQgaW50IF9j
YXBmbGFnLCB1bnNpZ25lZCBpbnQgX2RlY2xmbGFnPgorc3RydWN0IFZlcnRleFR5cGVGbGFnc0hl
bHBlcgoreworICAgIGVudW0geyBjYXBmbGFnID0gX2NhcGZsYWcgfTsKKyAgICBlbnVtIHsgZGVj
bGZsYWcgPSBfZGVjbGZsYWcgfTsKK307CisKK3RlbXBsYXRlIDw+IHN0cnVjdCBWZXJ0ZXhUeXBl
RmxhZ3M8RDNEVlRfRkxPQVQsIDE+IDogVmVydGV4VHlwZUZsYWdzSGVscGVyPDAsIEQzRERFQ0xU
WVBFX0ZMT0FUMT4geyB9OwordGVtcGxhdGUgPD4gc3RydWN0IFZlcnRleFR5cGVGbGFnczxEM0RW
VF9GTE9BVCwgMj4gOiBWZXJ0ZXhUeXBlRmxhZ3NIZWxwZXI8MCwgRDNEREVDTFRZUEVfRkxPQVQy
PiB7IH07Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmVydGV4VHlwZUZsYWdzPEQzRFZUX0ZMT0FULCAz
PiA6IFZlcnRleFR5cGVGbGFnc0hlbHBlcjwwLCBEM0RERUNMVFlQRV9GTE9BVDM+IHsgfTsKK3Rl
bXBsYXRlIDw+IHN0cnVjdCBWZXJ0ZXhUeXBlRmxhZ3M8RDNEVlRfRkxPQVQsIDQ+IDogVmVydGV4
VHlwZUZsYWdzSGVscGVyPDAsIEQzRERFQ0xUWVBFX0ZMT0FUND4geyB9OwordGVtcGxhdGUgPD4g
c3RydWN0IFZlcnRleFR5cGVGbGFnczxEM0RWVF9TSE9SVCwgMj4gOiBWZXJ0ZXhUeXBlRmxhZ3NI
ZWxwZXI8MCwgRDNEREVDTFRZUEVfU0hPUlQyPiB7IH07Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmVy
dGV4VHlwZUZsYWdzPEQzRFZUX1NIT1JULCA0PiA6IFZlcnRleFR5cGVGbGFnc0hlbHBlcjwwLCBE
M0RERUNMVFlQRV9TSE9SVDQ+IHsgfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBWZXJ0ZXhUeXBlRmxh
Z3M8RDNEVlRfU0hPUlRfTk9STSwgMj4gOiBWZXJ0ZXhUeXBlRmxhZ3NIZWxwZXI8RDNERFRDQVBT
X1NIT1JUMk4sIEQzRERFQ0xUWVBFX1NIT1JUMk4+IHsgfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBW
ZXJ0ZXhUeXBlRmxhZ3M8RDNEVlRfU0hPUlRfTk9STSwgND4gOiBWZXJ0ZXhUeXBlRmxhZ3NIZWxw
ZXI8RDNERFRDQVBTX1NIT1JUNE4sIEQzRERFQ0xUWVBFX1NIT1JUNE4+IHsgfTsKK3RlbXBsYXRl
IDw+IHN0cnVjdCBWZXJ0ZXhUeXBlRmxhZ3M8RDNEVlRfVUJZVEUsIDQ+IDogVmVydGV4VHlwZUZs
YWdzSGVscGVyPEQzRERUQ0FQU19VQllURTQsIEQzRERFQ0xUWVBFX1VCWVRFND4geyB9OwordGVt
cGxhdGUgPD4gc3RydWN0IFZlcnRleFR5cGVGbGFnczxEM0RWVF9VQllURV9OT1JNLCA0PiA6IFZl
cnRleFR5cGVGbGFnc0hlbHBlcjxEM0REVENBUFNfVUJZVEU0TiwgRDNEREVDTFRZUEVfVUJZVEU0
Tj4geyB9OwordGVtcGxhdGUgPD4gc3RydWN0IFZlcnRleFR5cGVGbGFnczxEM0RWVF9VU0hPUlRf
Tk9STSwgMj4gOiBWZXJ0ZXhUeXBlRmxhZ3NIZWxwZXI8RDNERFRDQVBTX1VTSE9SVDJOLCBEM0RE
RUNMVFlQRV9VU0hPUlQyTj4geyB9OwordGVtcGxhdGUgPD4gc3RydWN0IFZlcnRleFR5cGVGbGFn
czxEM0RWVF9VU0hPUlRfTk9STSwgND4gOiBWZXJ0ZXhUeXBlRmxhZ3NIZWxwZXI8RDNERFRDQVBT
X1VTSE9SVDROLCBEM0RERUNMVFlQRV9VU0hPUlQ0Tj4geyB9OworCisKKy8vIFZlcnRleFR5cGVN
YXBwaW5nIG1hcHMgR0wgdHlwZSAmIG5vcm1hbGl6ZWQgZmxhZyB0byBwcmVmZXJyZWQgYW5kIGZh
bGxiYWNrIEQzRCB2ZXJ0ZXggdHlwZXMgKGFzIEQzRFZlcnRleFR5cGUgZW51bXMpLgordGVtcGxh
dGUgPEdMZW51bSBHTHR5cGUsIGJvb2wgbm9ybWFsaXplZD4gc3RydWN0IFZlcnRleFR5cGVNYXBw
aW5nIHsgfTsKKwordGVtcGxhdGUgPEQzRFZlcnRleFR5cGUgUHJlZmVycmVkLCBEM0RWZXJ0ZXhU
eXBlIEZhbGxiYWNrID0gUHJlZmVycmVkPgorc3RydWN0IFZlcnRleFR5cGVNYXBwaW5nQmFzZQor
eworICAgIGVudW0geyBwcmVmZXJyZWQgPSBQcmVmZXJyZWQgfTsKKyAgICBlbnVtIHsgZmFsbGJh
Y2sgPSBGYWxsYmFjayB9OworfTsKKwordGVtcGxhdGUgPD4gc3RydWN0IFZlcnRleFR5cGVNYXBw
aW5nPEdMX0JZVEUsIGZhbHNlPiAgICAgICAgICAgICAgICAgICAgICAgIDogVmVydGV4VHlwZU1h
cHBpbmdCYXNlPEQzRFZUX1NIT1JUPiB7IH07ICAgICAgICAgICAgICAgICAgICAgICAvLyBDYXN0
Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmVydGV4VHlwZU1hcHBpbmc8R0xfQllURSwgdHJ1ZT4gICAg
ICAgICAgICAgICAgICAgICAgICAgOiBWZXJ0ZXhUeXBlTWFwcGluZ0Jhc2U8RDNEVlRfRkxPQVQ+
IHsgfTsgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vcm1hbGl6ZQordGVtcGxhdGUgPD4gc3Ry
dWN0IFZlcnRleFR5cGVNYXBwaW5nPEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlPiAgICAgICAgICAg
ICAgIDogVmVydGV4VHlwZU1hcHBpbmdCYXNlPEQzRFZUX1VCWVRFLCBEM0RWVF9GTE9BVD4geyB9
OyAgICAgICAgICAvLyBJZGVudGl0eSwgQ2FzdAordGVtcGxhdGUgPD4gc3RydWN0IFZlcnRleFR5
cGVNYXBwaW5nPEdMX1VOU0lHTkVEX0JZVEUsIHRydWU+ICAgICAgICAgICAgICAgIDogVmVydGV4
VHlwZU1hcHBpbmdCYXNlPEQzRFZUX1VCWVRFX05PUk0sIEQzRFZUX0ZMT0FUPiB7IH07ICAgICAv
LyBJZGVudGl0eSwgTm9ybWFsaXplCit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmVydGV4VHlwZU1hcHBp
bmc8R0xfU0hPUlQsIGZhbHNlPiAgICAgICAgICAgICAgICAgICAgICAgOiBWZXJ0ZXhUeXBlTWFw
cGluZ0Jhc2U8RDNEVlRfU0hPUlQ+IHsgfTsgICAgICAgICAgICAgICAgICAgICAgIC8vIElkZW50
aXR5Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmVydGV4VHlwZU1hcHBpbmc8R0xfU0hPUlQsIHRydWU+
ICAgICAgICAgICAgICAgICAgICAgICAgOiBWZXJ0ZXhUeXBlTWFwcGluZ0Jhc2U8RDNEVlRfU0hP
UlRfTk9STSwgRDNEVlRfRkxPQVQ+IHsgfTsgICAgIC8vIENhc3QsIE5vcm1hbGl6ZQordGVtcGxh
dGUgPD4gc3RydWN0IFZlcnRleFR5cGVNYXBwaW5nPEdMX1VOU0lHTkVEX1NIT1JULCBmYWxzZT4g
ICAgICAgICAgICAgIDogVmVydGV4VHlwZU1hcHBpbmdCYXNlPEQzRFZUX0ZMT0FUPiB7IH07ICAg
ICAgICAgICAgICAgICAgICAgICAvLyBDYXN0Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmVydGV4VHlw
ZU1hcHBpbmc8R0xfVU5TSUdORURfU0hPUlQsIHRydWU+ICAgICAgICAgICAgICAgOiBWZXJ0ZXhU
eXBlTWFwcGluZ0Jhc2U8RDNEVlRfVVNIT1JUX05PUk0sIEQzRFZUX0ZMT0FUPiB7IH07ICAgIC8v
IENhc3QsIE5vcm1hbGl6ZQordGVtcGxhdGUgPGJvb2wgbm9ybWFsaXplZD4gc3RydWN0IFZlcnRl
eFR5cGVNYXBwaW5nPEdMX0ZJWEVELCBub3JtYWxpemVkPiAgIDogVmVydGV4VHlwZU1hcHBpbmdC
YXNlPEQzRFZUX0ZMT0FUPiB7IH07ICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXhlZFRvRmxv
YXQKK3RlbXBsYXRlIDxib29sIG5vcm1hbGl6ZWQ+IHN0cnVjdCBWZXJ0ZXhUeXBlTWFwcGluZzxH
TF9GTE9BVCwgbm9ybWFsaXplZD4gICA6IFZlcnRleFR5cGVNYXBwaW5nQmFzZTxEM0RWVF9GTE9B
VD4geyB9OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSWRlbnRpdHkKKworCisvLyBHaXZlbiBh
IEdMIHR5cGUgJiBub3JtIGZsYWcgYW5kIGEgRDNEIHR5cGUsIENvbnZlcnNpb25SdWxlIHByb3Zp
ZGVzIHRoZSB0eXBlIGNvbnZlcnNpb24gcnVsZSAoQ2FzdCwgTm9ybWFsaXplLCBJZGVudGl0eSwg
Rml4ZWRUb0Zsb2F0KS4KKy8vIFRoZSBjb252ZXJzaW9uIHJ1bGVzIHRoZW1zZWx2ZXMgYXJlIGRl
ZmluZWQgaW4gdmVydGV4Y29udmVyc2lvbi5oLgorCisvLyBBbG1vc3QgYWxsIGNhc2VzIGFyZSBj
b3ZlcmVkIGJ5IENhc3QgKGluY2x1ZGluZyB0aG9zZSB0aGF0IGFyZSBhY3R1YWxseSBJZGVudGl0
eSBzaW5jZSBDYXN0PFQsVD4ga25vd3MgaXQncyBhbiBpZGVudGl0eSBtYXBwaW5nKS4KK3RlbXBs
YXRlIDxHTGVudW0gZnJvbVR5cGUsIGJvb2wgbm9ybWFsaXplZCwgdW5zaWduZWQgaW50IHRvVHlw
ZT4KK3N0cnVjdCBDb252ZXJzaW9uUnVsZSA6IENhc3Q8dHlwZW5hbWUgR0xUb0NUeXBlPGZyb21U
eXBlPjo6dHlwZSwgdHlwZW5hbWUgRDNEVG9DVHlwZTx0b1R5cGU+Ojp0eXBlPiB7IH07CisKKy8v
IEFsbCBjb252ZXJzaW9ucyBmcm9tIG5vcm1hbGl6ZWQgdHlwZXMgdG8gZmxvYXQgdXNlIHRoZSBO
b3JtYWxpemUgb3BlcmF0b3IuCit0ZW1wbGF0ZSA8R0xlbnVtIGZyb21UeXBlPiBzdHJ1Y3QgQ29u
dmVyc2lvblJ1bGU8ZnJvbVR5cGUsIHRydWUsIEQzRFZUX0ZMT0FUPiA6IE5vcm1hbGl6ZTx0eXBl
bmFtZSBHTFRvQ1R5cGU8ZnJvbVR5cGU+Ojp0eXBlPiB7IH07CisKKy8vIFVzZSBhIGZ1bGwgc3Bl
Y2lhbGl6YXRpb24gZm9yIHRoaXMgc28gdGhhdCBpdCBwcmVmZXJlbnRpYWxseSBtYXRjaGVzIGFo
ZWFkIG9mIHRoZSBnZW5lcmljIG5vcm1hbGl6ZS10by1mbG9hdCBydWxlcy4KK3RlbXBsYXRlIDw+
IHN0cnVjdCBDb252ZXJzaW9uUnVsZTxHTF9GSVhFRCwgdHJ1ZSwgRDNEVlRfRkxPQVQ+ICA6IEZp
eGVkVG9GbG9hdDxHTGludCwgMTY+IHsgfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBDb252ZXJzaW9u
UnVsZTxHTF9GSVhFRCwgZmFsc2UsIEQzRFZUX0ZMT0FUPiA6IEZpeGVkVG9GbG9hdDxHTGludCwg
MTY+IHsgfTsKKworLy8gQSAyLXN0YWdlIGNvbnN0cnVjdGlvbiBpcyB1c2VkIGZvciBEZWZhdWx0
VmVydGV4VmFsdWVzIGJlY2F1c2UgZmxvYXQgbXVzdCB1c2UgU2ltcGxlRGVmYXVsdFZhbHVlcyAo
aS5lLiAwLzEpCisvLyB3aGV0aGVyIGl0IGlzIG5vcm1hbGl6ZWQgb3Igbm90LgordGVtcGxhdGUg
PGNsYXNzIFQsIGJvb2wgbm9ybWFsaXplZD4gc3RydWN0IERlZmF1bHRWZXJ0ZXhWYWx1ZXNTdGFn
ZTIgeyB9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4gc3RydWN0IERlZmF1bHRWZXJ0ZXhWYWx1ZXNT
dGFnZTI8VCwgdHJ1ZT4gIDogTm9ybWFsaXplZERlZmF1bHRWYWx1ZXM8VD4geyB9OwordGVtcGxh
dGUgPGNsYXNzIFQ+IHN0cnVjdCBEZWZhdWx0VmVydGV4VmFsdWVzU3RhZ2UyPFQsIGZhbHNlPiA6
IFNpbXBsZURlZmF1bHRWYWx1ZXM8VD4geyB9OworCisvLyBXb3JrIG91dCB0aGUgZGVmYXVsdCB2
YWx1ZSBydWxlIGZvciBhIEQzRCB0eXBlIChleHByZXNzZWQgYXMgdGhlIEMgdHlwZSkgYW5kCit0
ZW1wbGF0ZSA8Y2xhc3MgVCwgYm9vbCBub3JtYWxpemVkPiBzdHJ1Y3QgRGVmYXVsdFZlcnRleFZh
bHVlcyA6IERlZmF1bHRWZXJ0ZXhWYWx1ZXNTdGFnZTI8VCwgbm9ybWFsaXplZD4geyB9OwordGVt
cGxhdGUgPGJvb2wgbm9ybWFsaXplZD4gc3RydWN0IERlZmF1bHRWZXJ0ZXhWYWx1ZXM8ZmxvYXQs
IG5vcm1hbGl6ZWQ+IDogU2ltcGxlRGVmYXVsdFZhbHVlczxmbG9hdD4geyB9OworCisvLyBQb2xp
Y3kgcnVsZXMgZm9yIHVzZSB3aXRoIENvbnZlcnRlciwgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNl
IHRoZSBwcmVmZXJyZWQgb3IgZmFsbGJhY2sgY29udmVyc2lvbi4KKy8vIFRoZSBmYWxsYmFjayBj
b252ZXJzaW9uIHByb2R1Y2VzIGFuIG91dHB1dCB0aGF0IGFsbCBEM0Q5IGRldmljZXMgbXVzdCBz
dXBwb3J0LgordGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBVc2VQcmVmZXJyZWQgeyBlbnVtIHsg
dHlwZSA9IFQ6OnByZWZlcnJlZCB9OyB9OwordGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBVc2VG
YWxsYmFjayB7IGVudW0geyB0eXBlID0gVDo6ZmFsbGJhY2sgfTsgfTsKKworLy8gQ29udmVydGVy
IHRpZXMgaXQgYWxsIHRvZ2V0aGVyLiBHaXZlbiBhbiBPcGVuR0wgdHlwZS9ub3JtL3NpemUgYW5k
IGNob2ljZSBvZiBwcmVmZXJyZWQvZmFsbGJhY2sgY29udmVyc2lvbiwKKy8vIGl0IHByb3ZpZGVz
IGFsbCB0aGUgbWVtYmVycyBvZiB0aGUgYXBwcm9wcmlhdGUgVmVydGV4RGF0YUNvbnZlcnRlciwg
dGhlIEQzRENBUFM5OjpEZWNsVHlwZXMgZmxhZyBpbiBjYXAgZmxhZworLy8gYW5kIHRoZSBEM0RE
RUNMVFlQRSBtZW1iZXIgbmVlZGVkIGZvciB0aGUgdmVydGV4IGRlY2xhcmF0aW9uIGluIGRlY2xm
bGFnLgordGVtcGxhdGUgPEdMZW51bSBmcm9tVHlwZSwgYm9vbCBub3JtYWxpemVkLCBpbnQgc2l6
ZSwgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIFByZWZlcmVuY2VSdWxlPgorc3RydWN0IENvbnZl
cnRlcgorICAgIDogVmVydGV4RGF0YUNvbnZlcnRlcjx0eXBlbmFtZSBHTFRvQ1R5cGU8ZnJvbVR5
cGU+Ojp0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBXaWRlblJ1bGU8UHJlZmVyZW5j
ZVJ1bGU8IFZlcnRleFR5cGVNYXBwaW5nPGZyb21UeXBlLCBub3JtYWxpemVkPiA+Ojp0eXBlLCBz
aXplPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udmVyc2lvblJ1bGU8ZnJvbVR5cGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWZlcmVuY2VSdWxlPCBW
ZXJ0ZXhUeXBlTWFwcGluZzxmcm9tVHlwZSwgbm9ybWFsaXplZD4gPjo6dHlwZT4sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIERlZmF1bHRWZXJ0ZXhWYWx1ZXM8dHlwZW5hbWUgRDNEVG9DVHlw
ZTxQcmVmZXJlbmNlUnVsZTwgVmVydGV4VHlwZU1hcHBpbmc8ZnJvbVR5cGUsIG5vcm1hbGl6ZWQ+
ID46OnR5cGU+Ojp0eXBlLCBub3JtYWxpemVkID4gPgoreworcHJpdmF0ZToKKyAgICBlbnVtIHsg
ZDNkdHlwZSA9IFByZWZlcmVuY2VSdWxlPCBWZXJ0ZXhUeXBlTWFwcGluZzxmcm9tVHlwZSwgbm9y
bWFsaXplZD4gPjo6dHlwZSB9OworICAgIGVudW0geyBkM2RzaXplID0gV2lkZW5SdWxlPGQzZHR5
cGUsIHNpemU+OjpmaW5hbFdpZHRoIH07CisKK3B1YmxpYzoKKyAgICBlbnVtIHsgY2FwZmxhZyA9
IFZlcnRleFR5cGVGbGFnczxkM2R0eXBlLCBkM2RzaXplPjo6Y2FwZmxhZyB9OworICAgIGVudW0g
eyBkZWNsZmxhZyA9IFZlcnRleFR5cGVGbGFnczxkM2R0eXBlLCBkM2RzaXplPjo6ZGVjbGZsYWcg
fTsKK307CisKKy8vIEluaXRpYWxpemUgYSBUcmFuc2xhdGlvbkluZm8KKyNkZWZpbmUgVFJBTlNM
QVRJT04odHlwZSwgbm9ybSwgc2l6ZSwgcHJlZmVycmVkKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQ29u
dmVydGVyPHR5cGUsIG5vcm0sIHNpemUsIHByZWZlcnJlZD46OmlkZW50aXR5LCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQ29udmVydGVyPHR5cGUsIG5vcm0sIHNpemUsIHBy
ZWZlcnJlZD46OmZpbmFsU2l6ZSwgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
Q29udmVydGVyPHR5cGUsIG5vcm0sIHNpemUsIHByZWZlcnJlZD46OmNvbnZlcnRBcnJheSwgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RhdGljX2Nhc3Q8RDNEREVDTFRZUEU+KENv
bnZlcnRlcjx0eXBlLCBub3JtLCBzaXplLCBwcmVmZXJyZWQ+OjpkZWNsZmxhZykgIFwKKyAgICB9
CisKKyNkZWZpbmUgVFJBTlNMQVRJT05fRk9SX1RZUEVfTk9STV9TSVpFKHR5cGUsIG5vcm0sIHNp
emUpICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgQ29udmVydGVyPHR5cGUsIG5vcm0sIHNpemUsIFVzZVBy
ZWZlcnJlZD46OmNhcGZsYWcsIFwKKyAgICAgICAgVFJBTlNMQVRJT04odHlwZSwgbm9ybSwgc2l6
ZSwgVXNlUHJlZmVycmVkKSwgICAgICAgIFwKKyAgICAgICAgVFJBTlNMQVRJT04odHlwZSwgbm9y
bSwgc2l6ZSwgVXNlRmFsbGJhY2spICAgICAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVFJBTlNM
QVRJT05TX0ZPUl9UWVBFKHR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgICAgeyBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDEp
LCBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDIpLCBUUkFOU0xB
VElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDMpLCBUUkFOU0xBVElPTl9GT1Jf
VFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDQpIH0sIFwKKyAgICAgICAgeyBUUkFOU0xBVElP
Tl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgdHJ1ZSwgMSksIFRSQU5TTEFUSU9OX0ZPUl9UWVBF
X05PUk1fU0laRSh0eXBlLCB0cnVlLCAyKSwgVFJBTlNMQVRJT05fRk9SX1RZUEVfTk9STV9TSVpF
KHR5cGUsIHRydWUsIDMpLCBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgdHJ1
ZSwgNCkgfSwgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgVFJBTlNMQVRJT05TX0ZPUl9UWVBFX05P
X05PUk0odHlwZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyBUUkFOU0xB
VElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDEpLCBUUkFOU0xBVElPTl9GT1Jf
VFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDIpLCBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JN
X1NJWkUodHlwZSwgZmFsc2UsIDMpLCBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlw
ZSwgZmFsc2UsIDQpIH0sIFwKKyAgICAgICAgeyBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJ
WkUodHlwZSwgZmFsc2UsIDEpLCBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwg
ZmFsc2UsIDIpLCBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDMp
LCBUUkFOU0xBVElPTl9GT1JfVFlQRV9OT1JNX1NJWkUodHlwZSwgZmFsc2UsIDQpIH0sIFwKKyAg
ICB9CisKK2NvbnN0IFRyYW5zbGF0aW9uRGVzY3JpcHRpb24gbVBvc3NpYmxlVHJhbnNsYXRpb25z
W05VTV9HTF9WRVJURVhfQVRUUklCX1RZUEVTXVsyXVs0XSA9IC8vIFtHTCB0eXBlcyBhcyBlbnVt
ZXJhdGVkIGJ5IHR5cGVJbmRleCgpXVtub3JtYWxpemVkXVtzaXplLTFdCit7CisgICAgVFJBTlNM
QVRJT05TX0ZPUl9UWVBFKEdMX0JZVEUpLAorICAgIFRSQU5TTEFUSU9OU19GT1JfVFlQRShHTF9V
TlNJR05FRF9CWVRFKSwKKyAgICBUUkFOU0xBVElPTlNfRk9SX1RZUEUoR0xfU0hPUlQpLAorICAg
IFRSQU5TTEFUSU9OU19GT1JfVFlQRShHTF9VTlNJR05FRF9TSE9SVCksCisgICAgVFJBTlNMQVRJ
T05TX0ZPUl9UWVBFX05PX05PUk0oR0xfRklYRUQpLAorICAgIFRSQU5TTEFUSU9OU19GT1JfVFlQ
RV9OT19OT1JNKEdMX0ZMT0FUKQorfTsKKwordm9pZCBJbml0aWFsaXplVmVydGV4VHJhbnNsYXRp
b25zKGNvbnN0IHJ4OjpSZW5kZXJlcjkgKnJlbmRlcmVyKQoreworICAgIERXT1JEIGRlY2xUeXBl
cyA9IHJlbmRlcmVyLT5nZXRDYXBzRGVjbFR5cGVzKCk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGlu
dCBpID0gMDsgaSA8IE5VTV9HTF9WRVJURVhfQVRUUklCX1RZUEVTOyBpKyspCisgICAgeworICAg
ICAgICBmb3IgKHVuc2lnbmVkIGludCBqID0gMDsgaiA8IDI7IGorKykKKyAgICAgICAgeworICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgayA9IDA7IGsgPCA0OyBrKyspCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgaWYgKG1Qb3NzaWJsZVRyYW5zbGF0aW9uc1tpXVtqXVtrXS5j
YXBzRmxhZyA9PSAwIHx8IChkZWNsVHlwZXMgJiBtUG9zc2libGVUcmFuc2xhdGlvbnNbaV1bal1b
a10uY2Fwc0ZsYWcpICE9IDApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICBtRm9ybWF0Q29udmVydGVyc1tpXVtqXVtrXSA9IG1Qb3NzaWJsZVRyYW5zbGF0aW9uc1tpXVtq
XVtrXS5wcmVmZXJyZWRDb252ZXJzaW9uOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBtRm9ybWF0
Q29udmVydGVyc1tpXVtqXVtrXSA9IG1Qb3NzaWJsZVRyYW5zbGF0aW9uc1tpXVtqXVtrXS5mYWxs
YmFja0NvbnZlcnNpb247CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfQorfQorCit1bnNpZ25lZCBpbnQgdHlwZUluZGV4KEdMZW51bSB0eXBlKQorewor
ICAgIHN3aXRjaCAodHlwZSkKKyAgICB7CisgICAgICBjYXNlIEdMX0JZVEU6IHJldHVybiAwOwor
ICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOiByZXR1cm4gMTsKKyAgICAgIGNhc2UgR0xfU0hP
UlQ6IHJldHVybiAyOworICAgICAgY2FzZSBHTF9VTlNJR05FRF9TSE9SVDogcmV0dXJuIDM7Cisg
ICAgICBjYXNlIEdMX0ZJWEVEOiByZXR1cm4gNDsKKyAgICAgIGNhc2UgR0xfRkxPQVQ6IHJldHVy
biA1OworCisgICAgICBkZWZhdWx0OiBVTlJFQUNIQUJMRSgpOyByZXR1cm4gNTsKKyAgICB9Cit9
CisKK2NvbnN0IEZvcm1hdENvbnZlcnRlciAmZm9ybWF0Q29udmVydGVyKGNvbnN0IGdsOjpWZXJ0
ZXhGb3JtYXQgJnZlcnRleEZvcm1hdCkKK3sKKyAgICAvLyBQdXJlIGludGVnZXIgYXR0cmlidXRl
cyBvbmx5IHN1cHBvcnRlZCBpbiBFUzMuMAorICAgIEFTU0VSVCghdmVydGV4Rm9ybWF0Lm1QdXJl
SW50ZWdlcik7CisgICAgcmV0dXJuIG1Gb3JtYXRDb252ZXJ0ZXJzW3R5cGVJbmRleCh2ZXJ0ZXhG
b3JtYXQubVR5cGUpXVt2ZXJ0ZXhGb3JtYXQubU5vcm1hbGl6ZWRdW3ZlcnRleEZvcm1hdC5tQ29t
cG9uZW50cyAtIDFdOworfQorCitWZXJ0ZXhDb3B5RnVuY3Rpb24gR2V0VmVydGV4Q29weUZ1bmN0
aW9uKGNvbnN0IGdsOjpWZXJ0ZXhGb3JtYXQgJnZlcnRleEZvcm1hdCkKK3sKKyAgICByZXR1cm4g
Zm9ybWF0Q29udmVydGVyKHZlcnRleEZvcm1hdCkuY29udmVydEFycmF5OworfQorCitzaXplX3Qg
R2V0VmVydGV4RWxlbWVudFNpemUoY29uc3QgZ2w6OlZlcnRleEZvcm1hdCAmdmVydGV4Rm9ybWF0
KQoreworICAgIHJldHVybiBmb3JtYXRDb252ZXJ0ZXIodmVydGV4Rm9ybWF0KS5vdXRwdXRFbGVt
ZW50U2l6ZTsKK30KKworVmVydGV4Q29udmVyc2lvblR5cGUgR2V0VmVydGV4Q29udmVyc2lvblR5
cGUoY29uc3QgZ2w6OlZlcnRleEZvcm1hdCAmdmVydGV4Rm9ybWF0KQoreworICAgIHJldHVybiAo
Zm9ybWF0Q29udmVydGVyKHZlcnRleEZvcm1hdCkuaWRlbnRpdHkgPyBWRVJURVhfQ09OVkVSVF9O
T05FIDogVkVSVEVYX0NPTlZFUlRfQ1BVKTsKK30KKworRDNEREVDTFRZUEUgR2V0TmF0aXZlVmVy
dGV4Rm9ybWF0KGNvbnN0IGdsOjpWZXJ0ZXhGb3JtYXQgJnZlcnRleEZvcm1hdCkKK3sKKyAgICBy
ZXR1cm4gZm9ybWF0Q29udmVydGVyKHZlcnRleEZvcm1hdCkuZDNkRGVjbFR5cGU7Cit9CisKK30K
KworbmFtZXNwYWNlIGdsX2QzZDkKK3sKKworRDNERk9STUFUIEdldFRleHR1cmVGb3JtYXQoR0xl
bnVtIGludGVybmFsRm9ybWF0LCBjb25zdCBSZW5kZXJlcjkgKnJlbmRlcmVyKQoreworICAgIGlm
ICghcmVuZGVyZXIpCisgICAgeworICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAgICByZXR1
cm4gRDNERk1UX1VOS05PV047CisgICAgfQorCisgICAgQVNTRVJUKHJlbmRlcmVyLT5nZXRDdXJy
ZW50Q2xpZW50VmVyc2lvbigpID09IDIpOworCisgICAgRDNEOUZvcm1hdEluZm8gZDNkOUZvcm1h
dEluZm87CisgICAgaWYgKEdldEQzRDlGb3JtYXRJbmZvKGludGVybmFsRm9ybWF0LCAmZDNkOUZv
cm1hdEluZm8pKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGQzZDlGb3JtYXRJbmZvLm1UZXhGb3Jt
YXQocmVuZGVyZXIpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBVTlJFQUNIQUJM
RSgpOworICAgICAgICByZXR1cm4gRDNERk1UX1VOS05PV047CisgICAgfQorfQorCitEM0RGT1JN
QVQgR2V0UmVuZGVyRm9ybWF0KEdMZW51bSBpbnRlcm5hbEZvcm1hdCwgY29uc3QgUmVuZGVyZXI5
ICpyZW5kZXJlcikKK3sKKyAgICBpZiAoIXJlbmRlcmVyKQorICAgIHsKKyAgICAgICAgVU5SRUFD
SEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIEQzREZNVF9VTktOT1dOOworICAgIH0KKworICAgIEFT
U0VSVChyZW5kZXJlci0+Z2V0Q3VycmVudENsaWVudFZlcnNpb24oKSA9PSAyKTsKKworICAgIEQz
RDlGb3JtYXRJbmZvIGQzZDlGb3JtYXRJbmZvOworICAgIGlmIChHZXREM0Q5Rm9ybWF0SW5mbyhp
bnRlcm5hbEZvcm1hdCwgJmQzZDlGb3JtYXRJbmZvKSkKKyAgICB7CisgICAgICAgIHJldHVybiBk
M2Q5Rm9ybWF0SW5mby5tUmVuZGVyRm9ybWF0KHJlbmRlcmVyKTsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIEQzREZNVF9VTktO
T1dOOworICAgIH0KK30KKworRDNETVVMVElTQU1QTEVfVFlQRSBHZXRNdWx0aXNhbXBsZVR5cGUo
R0xzaXplaSBzYW1wbGVzKQoreworICAgIHJldHVybiAoc2FtcGxlcyA+IDEpID8gc3RhdGljX2Nh
c3Q8RDNETVVMVElTQU1QTEVfVFlQRT4oc2FtcGxlcykgOiBEM0RNVUxUSVNBTVBMRV9OT05FOwor
fQorCitib29sIFJlcXVpcmVzVGV4dHVyZURhdGFJbml0aWFsaXphdGlvbihHTGludCBpbnRlcm5h
bEZvcm1hdCkKK3sKKyAgICBjb25zdCBJbnRlcm5hbEZvcm1hdEluaXRpYWx6ZXJNYXAgJm1hcCA9
IEdldEludGVybmFsRm9ybWF0SW5pdGlhbHplck1hcCgpOworICAgIHJldHVybiBtYXAuZmluZChp
bnRlcm5hbEZvcm1hdCkgIT0gbWFwLmVuZCgpOworfQorCitJbml0aWFsaXplVGV4dHVyZURhdGFG
dW5jdGlvbiBHZXRUZXh0dXJlRGF0YUluaXRpYWxpemF0aW9uRnVuY3Rpb24oR0xpbnQgaW50ZXJu
YWxGb3JtYXQpCit7CisgICAgY29uc3QgSW50ZXJuYWxGb3JtYXRJbml0aWFsemVyTWFwICZtYXAg
PSBHZXRJbnRlcm5hbEZvcm1hdEluaXRpYWx6ZXJNYXAoKTsKKyAgICBJbnRlcm5hbEZvcm1hdElu
aXRpYWx6ZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBtYXAuZmluZChpbnRlcm5hbEZvcm1h
dCk7CisgICAgaWYgKGl0ZXIgIT0gbWFwLmVuZCgpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGl0
ZXItPnNlY29uZDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgVU5SRUFDSEFCTEUo
KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorfQorCit9CisKK25hbWVzcGFjZSBkM2Q5
X2dsCit7CisKK0dMZW51bSBHZXRJbnRlcm5hbEZvcm1hdChEM0RGT1JNQVQgZm9ybWF0KQorewor
ICAgIHN0YXRpYyBjb25zdCBEM0Q5Rm9ybWF0SW5mb01hcCBpbmZvTWFwID0gQnVpbGREM0Q5Rm9y
bWF0SW5mb01hcCgpOworICAgIEQzRDlGb3JtYXRJbmZvTWFwOjpjb25zdF9pdGVyYXRvciBpdGVy
ID0gaW5mb01hcC5maW5kKGZvcm1hdCk7CisgICAgaWYgKGl0ZXIgIT0gaW5mb01hcC5lbmQoKSkK
KyAgICB7CisgICAgICAgIHJldHVybiBpdGVyLT5zZWNvbmQubUludGVybmFsRm9ybWF0OworICAg
IH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBVTlJFQUNIQUJMRSgpOworICAgICAgICByZXR1
cm4gR0xfTk9ORTsKKyAgICB9Cit9CisKK0dMc2l6ZWkgR2V0U2FtcGxlc0NvdW50KEQzRE1VTFRJ
U0FNUExFX1RZUEUgdHlwZSkKK3sKKyAgICByZXR1cm4gKHR5cGUgIT0gRDNETVVMVElTQU1QTEVf
Tk9OTUFTS0FCTEUpID8gdHlwZSA6IDA7Cit9CisKK2Jvb2wgSXNGb3JtYXRDaGFubmVsRXF1aXZh
bGVudChEM0RGT1JNQVQgZDNkZm9ybWF0LCBHTGVudW0gZm9ybWF0LCBHTHVpbnQgY2xpZW50VmVy
c2lvbikKK3sKKyAgICBHTGVudW0gaW50ZXJuYWxGb3JtYXQgPSBkM2Q5X2dsOjpHZXRJbnRlcm5h
bEZvcm1hdChkM2Rmb3JtYXQpOworICAgIEdMZW51bSBjb252ZXJ0ZWRGb3JtYXQgPSBnbDo6R2V0
Rm9ybWF0KGludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKTsKKyAgICByZXR1cm4gY29udmVy
dGVkRm9ybWF0ID09IGZvcm1hdDsKK30KKworfQorCit9CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2QzZDkvZm9ybWF0dXRpbHM5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9k
M2Q5L2Zvcm1hdHV0aWxzOS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9kM2Q5L2Zvcm1hdHV0aWxzOS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNzcgQEAKKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEFOR0xF
IFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
Ky8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisvLyBmb3JtYXR1dGlsczkuaDog
UXVlcmllcyBmb3IgR0wgaW1hZ2UgZm9ybWF0cyBhbmQgdGhlaXIgdHJhbnNsYXRpb25zIHRvIEQz
RDkKKy8vIGZvcm1hdHMuCisKKyNpZm5kZWYgTElCR0xFU1YyX1JFTkRFUkVSX0ZPUk1BVFVUSUxT
OV9IXworI2RlZmluZSBMSUJHTEVTVjJfUkVOREVSRVJfRk9STUFUVVRJTFM5X0hfCisKKyNpbmNs
dWRlICJsaWJHTEVTdjIvZm9ybWF0dXRpbHMuaCIKKworbmFtZXNwYWNlIHJ4Cit7CisKK2NsYXNz
IFJlbmRlcmVyOTsKKworbmFtZXNwYWNlIGQzZDkKK3sKKwordHlwZWRlZiBzdGQ6OnNldDxEM0RG
T1JNQVQ+IEQzREZvcm1hdFNldDsKKworTWlwR2VuZXJhdGlvbkZ1bmN0aW9uIEdldE1pcEdlbmVy
YXRpb25GdW5jdGlvbihEM0RGT1JNQVQgZm9ybWF0KTsKK0xvYWRJbWFnZUZ1bmN0aW9uIEdldElt
YWdlTG9hZEZ1bmN0aW9uKEdMZW51bSBpbnRlcm5hbEZvcm1hdCwgY29uc3QgUmVuZGVyZXI5ICpy
ZW5kZXJlcik7CisKK0dMdWludCBHZXRGb3JtYXRQaXhlbEJ5dGVzKEQzREZPUk1BVCBmb3JtYXQp
OworR0x1aW50IEdldEJsb2NrV2lkdGgoRDNERk9STUFUIGZvcm1hdCk7CitHTHVpbnQgR2V0Qmxv
Y2tIZWlnaHQoRDNERk9STUFUIGZvcm1hdCk7CitHTHVpbnQgR2V0QmxvY2tTaXplKEQzREZPUk1B
VCBmb3JtYXQsIEdMdWludCB3aWR0aCwgR0x1aW50IGhlaWdodCk7CisKK3ZvaWQgTWFrZVZhbGlk
U2l6ZShib29sIGlzSW1hZ2UsIEQzREZPUk1BVCBmb3JtYXQsIEdMc2l6ZWkgKnJlcXVlc3RXaWR0
aCwgR0xzaXplaSAqcmVxdWVzdEhlaWdodCwgaW50ICpsZXZlbE9mZnNldCk7CisKK2NvbnN0IEQz
REZvcm1hdFNldCAmR2V0QWxsVXNlZEQzREZvcm1hdHMoKTsKKworQ29sb3JSZWFkRnVuY3Rpb24g
R2V0Q29sb3JSZWFkRnVuY3Rpb24oRDNERk9STUFUIGZvcm1hdCk7CitDb2xvckNvcHlGdW5jdGlv
biBHZXRGYXN0Q29weUZ1bmN0aW9uKEQzREZPUk1BVCBzb3VyY2VGb3JtYXQsIEdMZW51bSBkZXN0
Rm9ybWF0LCBHTGVudW0gZGVzdFR5cGUsIEdMdWludCBjbGllbnRWZXJzaW9uKTsKKworVmVydGV4
Q29weUZ1bmN0aW9uIEdldFZlcnRleENvcHlGdW5jdGlvbihjb25zdCBnbDo6VmVydGV4Rm9ybWF0
ICZ2ZXJ0ZXhGb3JtYXQpOworc2l6ZV90IEdldFZlcnRleEVsZW1lbnRTaXplKGNvbnN0IGdsOjpW
ZXJ0ZXhGb3JtYXQgJnZlcnRleEZvcm1hdCk7CitWZXJ0ZXhDb252ZXJzaW9uVHlwZSBHZXRWZXJ0
ZXhDb252ZXJzaW9uVHlwZShjb25zdCBnbDo6VmVydGV4Rm9ybWF0ICZ2ZXJ0ZXhGb3JtYXQpOwor
RDNEREVDTFRZUEUgR2V0TmF0aXZlVmVydGV4Rm9ybWF0KGNvbnN0IGdsOjpWZXJ0ZXhGb3JtYXQg
JnZlcnRleEZvcm1hdCk7CisKK0dMZW51bSBHZXREZWNsVHlwZUNvbXBvbmVudFR5cGUoRDNEREVD
TFRZUEUgZGVjbFR5cGUpOworaW50IEdldERlY2xUeXBlQ29tcG9uZW50Q291bnQoRDNEREVDTFRZ
UEUgZGVjbFR5cGUpOworYm9vbCBJc0RlY2xUeXBlTm9ybWFsaXplZChEM0RERUNMVFlQRSBkZWNs
VHlwZSk7CisKK3ZvaWQgSW5pdGlhbGl6ZVZlcnRleFRyYW5zbGF0aW9ucyhjb25zdCByeDo6UmVu
ZGVyZXI5ICpyZW5kZXJlcik7CisKK30KKworbmFtZXNwYWNlIGdsX2QzZDkKK3sKKworRDNERk9S
TUFUIEdldFRleHR1cmVGb3JtYXQoR0xlbnVtIGludGVybmFsRm9ybWF0LCBjb25zdCBSZW5kZXJl
cjkgKnJlbmRlcmVyKTsKK0QzREZPUk1BVCBHZXRSZW5kZXJGb3JtYXQoR0xlbnVtIGludGVybmFs
Rm9ybWF0LCBjb25zdCBSZW5kZXJlcjkgKnJlbmRlcmVyKTsKKworRDNETVVMVElTQU1QTEVfVFlQ
RSBHZXRNdWx0aXNhbXBsZVR5cGUoR0xzaXplaSBzYW1wbGVzKTsKKworYm9vbCBSZXF1aXJlc1Rl
eHR1cmVEYXRhSW5pdGlhbGl6YXRpb24oR0xpbnQgaW50ZXJuYWxGb3JtYXQpOworSW5pdGlhbGl6
ZVRleHR1cmVEYXRhRnVuY3Rpb24gR2V0VGV4dHVyZURhdGFJbml0aWFsaXphdGlvbkZ1bmN0aW9u
KEdMaW50IGludGVybmFsRm9ybWF0KTsKKworfQorCituYW1lc3BhY2UgZDNkOV9nbAoreworCitH
TGVudW0gR2V0SW50ZXJuYWxGb3JtYXQoRDNERk9STUFUIGZvcm1hdCk7CitHTHNpemVpIEdldFNh
bXBsZXNDb3VudChEM0RNVUxUSVNBTVBMRV9UWVBFIHR5cGUpOworYm9vbCBJc0Zvcm1hdENoYW5u
ZWxFcXVpdmFsZW50KEQzREZPUk1BVCBkM2Rmb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdMdWludCBj
bGllbnRWZXJzaW9uKTsKKworfQorCit9CisKKyNlbmRpZiAvLyBMSUJHTEVTVjJfUkVOREVSRVJf
Rk9STUFUVVRJTFM5X0hfCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL3JlbmRlcmVyL2QzZDkvdmVydGV4Y29udmVyc2lvbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkOS92ZXJ0ZXhjb252
ZXJzaW9uLmgJKHJldmlzaW9uIDE2ODEwMykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJHTEVTdjIvcmVuZGVyZXIvZDNkOS92ZXJ0ZXhjb252ZXJzaW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMjAzICswLDAgQEAKLS8vCi0vLyBDb3B5cmlnaHQgKGMpIDIwMDItMjAxMCBUaGUg
QU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8vCi0KLS8vIHZlcnRleGNvbnZl
cnNpb24uaDogQSBsaWJyYXJ5IG9mIHZlcnRleCBjb252ZXJzaW9uIGNsYXNzZXMgdGhhdCBjYW4g
YmUgdXNlZCB0byBidWlsZAotLy8gdGhlIEZvcm1hdENvbnZlcnRlciBvYmplY3RzIHVzZWQgYnkg
dGhlIGJ1ZmZlciBjb252ZXJzaW9uIHN5c3RlbS4KLQotI2lmbmRlZiBMSUJHTEVTVjJfVkVSVEVY
Q09OVkVSU0lPTl9IXwotI2RlZmluZSBMSUJHTEVTVjJfVkVSVEVYQ09OVkVSU0lPTl9IXwotCi1u
YW1lc3BhY2UgcngKLXsKLQotLy8gQ29udmVyc2lvbiB0eXBlczoKLS8vIHN0YXRpYyBjb25zdCBi
b29sIGlkZW50aXR5OiB0cnVlIGlmIHRoaXMgaXMgYW4gaWRlbnRpdHkgdHJhbnNmb3JtLCBmYWxz
ZSBvdGhlcndpc2UKLS8vIHN0YXRpYyBVIGNvbnZlcnQoVCk6IGNvbnZlcnQgYSBzaW5nbGUgZWxl
bWVudCBmcm9tIHRoZSBpbnB1dCB0eXBlIHRvIHRoZSBvdXRwdXQgdHlwZQotLy8gdHlwZWRlZiAu
Li4gT3V0cHV0VHlwZTogdGhlIHR5cGUgcHJvZHVjZWQgYnkgdGhpcyBjb252ZXJzaW9uCi0KLXRl
bXBsYXRlIDxjbGFzcyBUPgotc3RydWN0IElkZW50aXR5Ci17Ci0gICAgc3RhdGljIGNvbnN0IGJv
b2wgaWRlbnRpdHkgPSB0cnVlOwotCi0gICAgdHlwZWRlZiBUIE91dHB1dFR5cGU7Ci0KLSAgICBz
dGF0aWMgVCBjb252ZXJ0KFQgeCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB4OwotICAgIH0KLX07
Ci0KLXRlbXBsYXRlIDxjbGFzcyBGcm9tVCwgY2xhc3MgVG9UPgotc3RydWN0IENhc3QKLXsKLSAg
ICBzdGF0aWMgY29uc3QgYm9vbCBpZGVudGl0eSA9IGZhbHNlOwotCi0gICAgdHlwZWRlZiBUb1Qg
T3V0cHV0VHlwZTsKLQotICAgIHN0YXRpYyBUb1QgY29udmVydChGcm9tVCB4KQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRvVD4oeCk7Ci0gICAgfQotfTsKLQotdGVtcGxhdGUg
PGNsYXNzIFQ+Ci1zdHJ1Y3QgQ2FzdDxULCBUPgotewotICAgIHN0YXRpYyBjb25zdCBib29sIGlk
ZW50aXR5ID0gdHJ1ZTsKLQotICAgIHR5cGVkZWYgVCBPdXRwdXRUeXBlOwotCi0gICAgc3RhdGlj
IFQgY29udmVydChUIHgpCi0gICAgewotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VD4oeCk7
Ci0gICAgfQotfTsKLQotdGVtcGxhdGUgPGNsYXNzIFQ+Ci1zdHJ1Y3QgTm9ybWFsaXplCi17Ci0g
ICAgc3RhdGljIGNvbnN0IGJvb2wgaWRlbnRpdHkgPSBmYWxzZTsKLQotICAgIHR5cGVkZWYgZmxv
YXQgT3V0cHV0VHlwZTsKLQotICAgIHN0YXRpYyBmbG9hdCBjb252ZXJ0KFQgeCkKLSAgICB7Ci0g
ICAgICAgIHR5cGVkZWYgc3RkOjpudW1lcmljX2xpbWl0czxUPiBOTDsKLSAgICAgICAgZmxvYXQg
ZiA9IHN0YXRpY19jYXN0PGZsb2F0Pih4KTsKLQotICAgICAgICBpZiAoTkw6OmlzX3NpZ25lZCkK
LSAgICAgICAgewotICAgICAgICAgICAgLy8gY29uc3QgZmxvYXQgPT4gVkMyMDA4IGNvbXB1dGVz
IGl0IGF0IGNvbXBpbGUgdGltZQotICAgICAgICAgICAgLy8gc3RhdGljIGNvbnN0IGZsb2F0ID0+
IFZDMjAwOCBjb21wdXRlcyBpdCB0aGUgZmlyc3QgdGltZSB3ZSBnZXQgaGVyZSwgc3RvcmVzIGl0
IHRvIG1lbW9yeSB3aXRoIHN0YXRpYyBndWFyZCBhbmQgYWxsIHRoYXQuCi0gICAgICAgICAgICBj
b25zdCBmbG9hdCBkaXZpc29yID0gMS4wZi8oMipzdGF0aWNfY2FzdDxmbG9hdD4oTkw6Om1heCgp
KSsxKTsKLSAgICAgICAgICAgIHJldHVybiAoMipmKzEpKmRpdmlzb3I7Ci0gICAgICAgIH0KLSAg
ICAgICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gZi9OTDo6bWF4KCk7Ci0g
ICAgICAgIH0KLSAgICB9Ci19OwotCi10ZW1wbGF0ZSA8Y2xhc3MgRnJvbVR5cGUsIHN0ZDo6c2l6
ZV90IFNjYWxlQml0cz4KLXN0cnVjdCBGaXhlZFRvRmxvYXQKLXsKLSAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBpZGVudGl0eSA9IGZhbHNlOwotCi0gICAgdHlwZWRlZiBmbG9hdCBPdXRwdXRUeXBlOwot
Ci0gICAgc3RhdGljIGZsb2F0IGNvbnZlcnQoRnJvbVR5cGUgeCkKLSAgICB7Ci0gICAgICAgIGNv
bnN0IGZsb2F0IGRpdmlzb3IgPSAxLjBmIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHN0YXRpY19jYXN0
PEZyb21UeXBlPigxKSA8PCBTY2FsZUJpdHMpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHgpICogZGl2aXNvcjsKLSAgICB9Ci19OwotCi0vLyBXaWRlbiB0eXBlczoKLS8vIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgaW5pdGlhbFdpZHRoOiBudW1iZXIgb2YgY29tcG9uZW50
cyBiZWZvcmUgY29udmVyc2lvbgotLy8gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBmaW5hbFdp
ZHRoOiBudW1iZXIgb2YgY29tcG9uZW50cyBhZnRlciBjb252ZXJzaW9uCi0KLS8vIEZsb2F0IGlz
IHN1cHBvcnRlZCBhdCBhbnkgc2l6ZS4KLXRlbXBsYXRlIDxzdGQ6OnNpemVfdCBOPgotc3RydWN0
IE5vV2lkZW4KLXsKLSAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgaW5pdGlhbFdpZHRoID0g
TjsKLSAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxXaWR0aCA9IE47Ci19OwotCi0v
LyBTSE9SVCwgbm9ybS1TSE9SVCwgbm9ybS1VTlNJR05FRF9TSE9SVCBhcmUgc3VwcG9ydGVkIGJ1
dCBvbmx5IHdpdGggMiBvciA0IGNvbXBvbmVudHMKLXRlbXBsYXRlIDxzdGQ6OnNpemVfdCBOPgot
c3RydWN0IFdpZGVuVG9FdmVuCi17Ci0gICAgc3RhdGljIGNvbnN0IHN0ZDo6c2l6ZV90IGluaXRp
YWxXaWR0aCA9IE47Ci0gICAgc3RhdGljIGNvbnN0IHN0ZDo6c2l6ZV90IGZpbmFsV2lkdGggPSBO
KyhOJjEpOwotfTsKLQotdGVtcGxhdGUgPHN0ZDo6c2l6ZV90IE4+Ci1zdHJ1Y3QgV2lkZW5Ub0Zv
dXIKLXsKLSAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgaW5pdGlhbFdpZHRoID0gTjsKLSAg
ICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxXaWR0aCA9IDQ7Ci19OwotCi0vLyBNb3N0
IHR5cGVzIGhhdmUgMCBhbmQgMSB0aGF0IGFyZSBqdXN0IHRoYXQuCi10ZW1wbGF0ZSA8Y2xhc3Mg
VD4KLXN0cnVjdCBTaW1wbGVEZWZhdWx0VmFsdWVzCi17Ci0gICAgc3RhdGljIFQgemVybygpIHsg
cmV0dXJuIHN0YXRpY19jYXN0PFQ+KDApOyB9Ci0gICAgc3RhdGljIFQgb25lKCkgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VD4oMSk7IH0KLX07Ci0KLS8vIEJ1dCBub3JtYWxpc2VkIHR5cGVzIG9ubHkg
c3RvcmUgWzAsMV0gb3IgWy0xLDFdIHNvIDEuMCBpcyByZXByZXNlbnRlZCBieSB0aGUgbWF4IHZh
bHVlLgotdGVtcGxhdGUgPGNsYXNzIFQ+Ci1zdHJ1Y3QgTm9ybWFsaXplZERlZmF1bHRWYWx1ZXMK
LXsKLSAgICBzdGF0aWMgVCB6ZXJvKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VD4oMCk7IH0KLSAg
ICBzdGF0aWMgVCBvbmUoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptYXgoKTsg
fQotfTsKLQotLy8gQ29udmVydGVyOgotLy8gc3RhdGljIGNvbnN0IGJvb2wgaWRlbnRpdHk6IHRy
dWUgaWYgdGhpcyBpcyBhbiBpZGVudGl0eSB0cmFuc2Zvcm0gKHdpdGggbm8gd2lkZW5pbmcpCi0v
LyBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxTaXplOiBudW1iZXIgb2YgYnl0ZXMgcGVy
IG91dHB1dCB2ZXJ0ZXgKLS8vIHN0YXRpYyB2b2lkIGNvbnZlcnRBcnJheShjb25zdCB2b2lkICpp
biwgc3RkOjpzaXplX3Qgc3RyaWRlLCBzdGQ6OnNpemVfdCBuLCB2b2lkICpvdXQpOiBjb252ZXJ0
IGFuIGFycmF5IG9mIHZlcnRpY2VzLiBJbnB1dCBtYXkgYmUgc3RyaWRlZCwgYnV0IG91dHB1dCB3
aWxsIGJlIHVuc3RyaWRlZC4KLQotdGVtcGxhdGUgPGNsYXNzIEluVCwgY2xhc3MgV2lkZW5SdWxl
LCBjbGFzcyBDb252ZXJ0ZXIsIGNsYXNzIERlZmF1bHRWYWx1ZVJ1bGUgPSBTaW1wbGVEZWZhdWx0
VmFsdWVzPEluVD4gPgotc3RydWN0IFZlcnRleERhdGFDb252ZXJ0ZXIKLXsKLSAgICB0eXBlZGVm
IHR5cGVuYW1lIENvbnZlcnRlcjo6T3V0cHV0VHlwZSBPdXRwdXRUeXBlOwotICAgIHR5cGVkZWYg
SW5UIElucHV0VHlwZTsKLQotICAgIHN0YXRpYyBjb25zdCBib29sIGlkZW50aXR5ID0gKFdpZGVu
UnVsZTo6aW5pdGlhbFdpZHRoID09IFdpZGVuUnVsZTo6ZmluYWxXaWR0aCkgJiYgQ29udmVydGVy
OjppZGVudGl0eTsKLSAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxTaXplID0gV2lk
ZW5SdWxlOjpmaW5hbFdpZHRoICogc2l6ZW9mKE91dHB1dFR5cGUpOwotCi0gICAgc3RhdGljIHZv
aWQgY29udmVydEFycmF5KGNvbnN0IElucHV0VHlwZSAqaW4sIHN0ZDo6c2l6ZV90IHN0cmlkZSwg
c3RkOjpzaXplX3QgbiwgT3V0cHV0VHlwZSAqb3V0KQotICAgIHsKLSAgICAgICAgZm9yIChzdGQ6
OnNpemVfdCBpID0gMDsgaSA8IG47IGkrKykKLSAgICAgICAgewotICAgICAgICAgICAgY29uc3Qg
SW5wdXRUeXBlICplaW4gPSBwb2ludGVyQWRkQnl0ZXMoaW4sIGkgKiBzdHJpZGUpOwotCi0gICAg
ICAgICAgICBjb3B5Q29tcG9uZW50KG91dCwgZWluLCAwLCBzdGF0aWNfY2FzdDxPdXRwdXRUeXBl
PihEZWZhdWx0VmFsdWVSdWxlOjp6ZXJvKCkpKTsKLSAgICAgICAgICAgIGNvcHlDb21wb25lbnQo
b3V0LCBlaW4sIDEsIHN0YXRpY19jYXN0PE91dHB1dFR5cGU+KERlZmF1bHRWYWx1ZVJ1bGU6Onpl
cm8oKSkpOwotICAgICAgICAgICAgY29weUNvbXBvbmVudChvdXQsIGVpbiwgMiwgc3RhdGljX2Nh
c3Q8T3V0cHV0VHlwZT4oRGVmYXVsdFZhbHVlUnVsZTo6emVybygpKSk7Ci0gICAgICAgICAgICBj
b3B5Q29tcG9uZW50KG91dCwgZWluLCAzLCBzdGF0aWNfY2FzdDxPdXRwdXRUeXBlPihEZWZhdWx0
VmFsdWVSdWxlOjpvbmUoKSkpOwotCi0gICAgICAgICAgICBvdXQgKz0gV2lkZW5SdWxlOjpmaW5h
bFdpZHRoOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgY29udmVydEFycmF5
KGNvbnN0IHZvaWQgKmluLCBzdGQ6OnNpemVfdCBzdHJpZGUsIHN0ZDo6c2l6ZV90IG4sIHZvaWQg
Km91dCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBjb252ZXJ0QXJyYXkoc3RhdGljX2Nhc3Q8Y29u
c3QgSW5wdXRUeXBlKj4oaW4pLCBzdHJpZGUsIG4sIHN0YXRpY19jYXN0PE91dHB1dFR5cGUqPihv
dXQpKTsKLSAgICB9Ci0KLSAgcHJpdmF0ZToKLSAgICAvLyBBZHZhbmNlIHRoZSBnaXZlbiBwb2lu
dGVyIGJ5IGEgbnVtYmVyIG9mIGJ5dGVzIChub3QgcG9pbnRlZC10byBlbGVtZW50cykuCi0gICAg
dGVtcGxhdGUgPGNsYXNzIFQ+Ci0gICAgc3RhdGljIFQgKnBvaW50ZXJBZGRCeXRlcyhUICpiYXNl
UHRyLCBzdGQ6OnNpemVfdCBudW1CeXRlcykKLSAgICB7Ci0gICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFQgKj4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGJhc2VQdHIpICsgbnVt
Qnl0ZXMpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGNvcHlDb21wb25lbnQoT3V0cHV0VHlw
ZSAqb3V0LCBjb25zdCBJbnB1dFR5cGUgKmluLCBzdGQ6OnNpemVfdCBlbGVtZW50aW5kZXgsIE91
dHB1dFR5cGUgZGVmYXVsdHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKFdpZGVuUnVsZTo6Zmlu
YWxXaWR0aCA+IGVsZW1lbnRpbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKFdpZGVu
UnVsZTo6aW5pdGlhbFdpZHRoID4gZWxlbWVudGluZGV4KQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIG91dFtlbGVtZW50aW5kZXhdID0gQ29udmVydGVyOjpjb252ZXJ0KGluW2VsZW1l
bnRpbmRleF0pOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIG91dFtlbGVtZW50aW5kZXhdID0gZGVmYXVsdHZhbHVlOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotfTsKLQotfQotCi0jZW5kaWYgICAvLyBMSUJH
TEVTVjJfVkVSVEVYQ09OVkVSU0lPTl9IXwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9pbWFnZWZvcm1hdHMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2ltYWdlZm9ybWF0cy5o
CShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9y
ZW5kZXJlci9pbWFnZWZvcm1hdHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwMjkgQEAK
Ky8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvLworCisvLyBpbWFnZWZvcm1hdHMuaDogRGVmaW5lcyBpbWFnZSBmb3JtYXQg
dHlwZXMgd2l0aCBmdW5jdGlvbnMgZm9yIG1pcCBnZW5lcmF0aW9uCisvLyBhbmQgY29weWluZy4K
KworI2lmbmRlZiBMSUJHTEVTVjJfUkVOREVSRVJfSU1BR0VGT1JNQVRTX0hfCisjZGVmaW5lIExJ
QkdMRVNWMl9SRU5ERVJFUl9JTUFHRUZPUk1BVFNfSF8KKworI2luY2x1ZGUgImxpYkdMRVN2Mi9h
bmdsZXR5cGVzLmgiCisKK25hbWVzcGFjZSByeAoreworCisvLyBTZXZlcmFsIHN0cnVjdHVyZXMg
c2hhcmUgZnVuY3Rpb25hbGl0eSBmb3IgcmVhZGluZywgd3JpdGluZyBvciBtaXBtYXBwaW5nIGJ1
dCB0aGUgbGF5b3V0CisvLyBtdXN0IG1hdGNoIHRoZSB0ZXh0dXJlIGZvcm1hdCB3aGljaCB0aGUg
c3RydWN0dXJlIHJlcHJlc2VudHMuIElmIGNvbGxhcHNpbmcgb3IgdHlwZWRlZmluZworLy8gc3Ry
dWN0cyBpbiB0aGlzIGhlYWRlciwgbWFrZSBzdXJlIHRoZSBmdW5jdGlvbmFsaXR5IGFuZCBtZW1v
cnkgbGF5b3V0IGlzIGV4YWN0bHkgdGhlIHNhbWUuCisKK3N0cnVjdCBMOAoreworICAgIHVuc2ln
bmVkIGNoYXIgTDsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3Qs
IGNvbnN0IEw4ICpzcmMpCisgICAgeworICAgICAgICBjb25zdCBmbG9hdCBsdW0gPSBnbDo6bm9y
bWFsaXplZFRvRmxvYXQoc3JjLT5MKTsKKyAgICAgICAgZHN0LT5yZWQgICA9IGx1bTsKKyAgICAg
ICAgZHN0LT5ncmVlbiA9IGx1bTsKKyAgICAgICAgZHN0LT5ibHVlICA9IGx1bTsKKyAgICAgICAg
ZHN0LT5hbHBoYSA9IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihM
OCAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPkwgPSBn
bDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQgY2hhcj4oKHNyYy0+cmVkICsgc3JjLT5ncmVl
biArIHNyYy0+Ymx1ZSkgLyAzLjBmKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdl
KEw4ICpkc3QsIGNvbnN0IEw4ICpzcmMxLCBjb25zdCBMOCAqc3JjMikKKyAgICB7CisgICAgICAg
IGRzdC0+TCA9IGdsOjphdmVyYWdlKHNyYzEtPkwsIHNyYzItPkwpOworICAgIH0KK307CisKK3N0
cnVjdCBSOAoreworICAgIHVuc2lnbmVkIGNoYXIgUjsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRD
b2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFI4ICpzcmMpCisgICAgeworICAgICAgICBkc3Qt
PnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3Jl
ZW4gPSAwLjBmOworICAgICAgICBkc3QtPmJsdWUgID0gMC4wZjsKKyAgICAgICAgZHN0LT5hbHBo
YSA9IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvclVJ
ICpkc3QsIGNvbnN0IFI4ICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5S
OworICAgICAgICBkc3QtPmdyZWVuID0gMDsKKyAgICAgICAgZHN0LT5ibHVlICA9IDA7CisgICAg
ICAgIGRzdC0+YWxwaGEgPSAxOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3Io
UjggKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0g
Z2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNoYXI+KHNyYy0+cmVkKTsKKyAgICB9CisK
KyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFI4ICpkc3QsIGNvbnN0IGdsOjpDb2xvclVJICpz
cmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihz
cmMtPnJlZCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSOCAqZHN0LCBjb25z
dCBSOCAqc3JjMSwgY29uc3QgUjggKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6
YXZlcmFnZShzcmMxLT5SLCBzcmMyLT5SKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgQTgKK3sKKyAg
ICB1bnNpZ25lZCBjaGFyIEE7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9y
RiAqZHN0LCBjb25zdCBBOCAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IDAuMGY7
CisgICAgICAgIGRzdC0+Z3JlZW4gPSAwLjBmOworICAgICAgICBkc3QtPmJsdWUgID0gMC4wZjsK
KyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkEpOworICAg
IH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoQTggKmRzdCwgY29uc3QgZ2w6OkNvbG9y
RiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVu
c2lnbmVkIGNoYXI+KHNyYy0+YWxwaGEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJh
Z2UoQTggKmRzdCwgY29uc3QgQTggKnNyYzEsIGNvbnN0IEE4ICpzcmMyKQorICAgIHsKKyAgICAg
ICAgZHN0LT5BID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+QSwgc3JjMi0+QSk7CisgICAgfQorfTsKKwor
c3RydWN0IEw4QTgKK3sKKyAgICB1bnNpZ25lZCBjaGFyIEw7CisgICAgdW5zaWduZWQgY2hhciBB
OworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgTDhB
OCAqc3JjKQorICAgIHsKKyAgICAgICAgY29uc3QgZmxvYXQgbHVtID0gZ2w6Om5vcm1hbGl6ZWRU
b0Zsb2F0KHNyYy0+TCk7CisgICAgICAgIGRzdC0+cmVkICAgPSBsdW07CisgICAgICAgIGRzdC0+
Z3JlZW4gPSBsdW07CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBsdW07CisgICAgICAgIGRzdC0+YWxw
aGEgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5BKTsKKyAgICB9CisKKyAgICBzdGF0aWMg
dm9pZCB3cml0ZUNvbG9yKEw4QTggKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsK
KyAgICAgICAgZHN0LT5MID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNoYXI+KChz
cmMtPnJlZCArIHNyYy0+Z3JlZW4gKyBzcmMtPmJsdWUpIC8gMy4wZik7CisgICAgICAgIGRzdC0+
QSA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBjaGFyPihzcmMtPmFscGhhKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKEw4QTggKmRzdCwgY29uc3QgTDhBOCAqc3Jj
MSwgY29uc3QgTDhBOCAqc3JjMikKKyAgICB7CisgICAgICAgICoodW5zaWduZWQgc2hvcnQqKWRz
dCA9ICgoKCoodW5zaWduZWQgc2hvcnQqKXNyYzEgXiAqKHVuc2lnbmVkIHNob3J0KilzcmMyKSAm
IDB4RkVGRSkgPj4gMSkgKyAoKih1bnNpZ25lZCBzaG9ydCopc3JjMSAmICoodW5zaWduZWQgc2hv
cnQqKXNyYzIpOworICAgIH0KK307CisKK3N0cnVjdCBBOEw4Cit7CisgICAgdW5zaWduZWQgY2hh
ciBBOworICAgIHVuc2lnbmVkIGNoYXIgTDsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihn
bDo6Q29sb3JGICpkc3QsIGNvbnN0IEE4TDggKnNyYykKKyAgICB7CisgICAgICAgIGNvbnN0IGZs
b2F0IGx1bSA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkwpOworICAgICAgICBkc3QtPnJl
ZCAgID0gbHVtOworICAgICAgICBkc3QtPmdyZWVuID0gbHVtOworICAgICAgICBkc3QtPmJsdWUg
ID0gbHVtOworICAgICAgICBkc3QtPmFscGhhID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+
QSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihBOEw4ICpkc3QsIGNvbnN0
IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+TCA9IGdsOjpmbG9hdFRvTm9y
bWFsaXplZDx1bnNpZ25lZCBjaGFyPigoc3JjLT5yZWQgKyBzcmMtPmdyZWVuICsgc3JjLT5ibHVl
KSAvIDMuMGYpOworICAgICAgICBkc3QtPkEgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWdu
ZWQgY2hhcj4oc3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShB
OEw4ICpkc3QsIGNvbnN0IEE4TDggKnNyYzEsIGNvbnN0IEE4TDggKnNyYzIpCisgICAgeworICAg
ICAgICAqKHVuc2lnbmVkIHNob3J0Kilkc3QgPSAoKCgqKHVuc2lnbmVkIHNob3J0KilzcmMxIF4g
Kih1bnNpZ25lZCBzaG9ydCopc3JjMikgJiAweEZFRkUpID4+IDEpICsgKCoodW5zaWduZWQgc2hv
cnQqKXNyYzEgJiAqKHVuc2lnbmVkIHNob3J0KilzcmMyKTsKKyAgICB9Cit9OworCitzdHJ1Y3Qg
UjhHOAoreworICAgIHVuc2lnbmVkIGNoYXIgUjsKKyAgICB1bnNpZ25lZCBjaGFyIEc7CisKKyAg
ICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBSOEc4ICpzcmMp
CisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+
Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5HKTsK
KyAgICAgICAgZHN0LT5ibHVlICA9IDAuMGY7CisgICAgICAgIGRzdC0+YWxwaGEgPSAxLjBmOwor
ICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JVSSAqZHN0LCBjb25z
dCBSOEc4ICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5SOworICAgICAg
ICBkc3QtPmdyZWVuID0gc3JjLT5HOworICAgICAgICBkc3QtPmJsdWUgID0gMDsKKyAgICAgICAg
ZHN0LT5hbHBoYSA9IDE7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSOEc4
ICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGds
OjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBjaGFyPihzcmMtPnJlZCk7CisgICAgICAgIGRz
dC0+RyA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBjaGFyPihzcmMtPmdyZWVuKTsK
KyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFI4RzggKmRzdCwgY29uc3QgZ2w6
OkNvbG9yVUkgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkIGNoYXI+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgY2hhcj4oc3JjLT5ncmVlbik7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShS
OEc4ICpkc3QsIGNvbnN0IFI4RzggKnNyYzEsIGNvbnN0IFI4RzggKnNyYzIpCisgICAgeworICAg
ICAgICAqKHVuc2lnbmVkIHNob3J0Kilkc3QgPSAoKCgqKHVuc2lnbmVkIHNob3J0KilzcmMxIF4g
Kih1bnNpZ25lZCBzaG9ydCopc3JjMikgJiAweEZFRkUpID4+IDEpICsgKCoodW5zaWduZWQgc2hv
cnQqKXNyYzEgJiAqKHVuc2lnbmVkIHNob3J0KilzcmMyKTsKKyAgICB9Cit9OworCitzdHJ1Y3Qg
UjhHOEI4Cit7CisgICAgdW5zaWduZWQgY2hhciBSOworICAgIHVuc2lnbmVkIGNoYXIgRzsKKyAg
ICB1bnNpZ25lZCBjaGFyIEI7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9y
RiAqZHN0LCBjb25zdCBSOEc4QjggKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBn
bDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5SKTsKKyAgICAgICAgZHN0LT5ncmVlbiA9IGdsOjpu
b3JtYWxpemVkVG9GbG9hdChzcmMtPkcpOworICAgICAgICBkc3QtPmJsdWUgID0gZ2w6Om5vcm1h
bGl6ZWRUb0Zsb2F0KHNyYy0+Qik7CisgICAgICAgIGRzdC0+YWxwaGEgPSAxLjBmOworICAgIH0K
KworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JVSSAqZHN0LCBjb25zdCBSOEc4
QjggKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRz
dC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkc7CisgICAgICAg
IGRzdC0+YWxwaGEgPSAxOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjhH
OEI4ICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9
IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBjaGFyPihzcmMtPnJlZCk7CisgICAgICAg
IGRzdC0+RyA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBjaGFyPihzcmMtPmdyZWVu
KTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNoYXI+
KHNyYy0+Ymx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSOEc4Qjgg
KmRzdCwgY29uc3QgZ2w6OkNvbG9yVUkgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHNyYy0+Ymx1ZSk7CisgICAgfQorCisgICAgc3RhdGlj
IHZvaWQgYXZlcmFnZShSOEc4QjggKmRzdCwgY29uc3QgUjhHOEI4ICpzcmMxLCBjb25zdCBSOEc4
QjggKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZShzcmMxLT5SLCBz
cmMyLT5SKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Rywgc3JjMi0+Ryk7
CisgICAgICAgIGRzdC0+QiA9IGdsOjphdmVyYWdlKHNyYzEtPkIsIHNyYzItPkIpOworICAgIH0K
K307CisKK3N0cnVjdCBCOEc4UjgKK3sKKyAgICB1bnNpZ25lZCBjaGFyIEI7CisgICAgdW5zaWdu
ZWQgY2hhciBHOworICAgIHVuc2lnbmVkIGNoYXIgUjsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRD
b2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IEI4RzhSOCAqc3JjKQorICAgIHsKKyAgICAgICAg
ZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPlIpOworICAgICAgICBkc3Qt
PmdyZWVuID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1
ZSAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9
IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvclVJICpk
c3QsIGNvbnN0IEI4RzhSOCAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IHNyYy0+
UjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IHNyYy0+RzsKKyAgICAgICAgZHN0LT5ibHVlICA9IHNy
Yy0+RzsKKyAgICAgICAgZHN0LT5hbHBoYSA9IDE7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQg
d3JpdGVDb2xvcihCOEc4UjggKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAg
ICAgICAgZHN0LT5SID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNoYXI+KHNyYy0+
cmVkKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNo
YXI+KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8
dW5zaWduZWQgY2hhcj4oc3JjLT5ibHVlKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0
ZUNvbG9yKEI4RzhSOCAqZHN0LCBjb25zdCBnbDo6Q29sb3JVSSAqc3JjKQorICAgIHsKKyAgICAg
ICAgZHN0LT5SID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3JjLT5yZWQpOworICAgICAg
ICBkc3QtPkcgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzcmMtPmdyZWVuKTsKKyAgICAg
ICAgZHN0LT5CID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3JjLT5ibHVlKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKEI4RzhSOCAqZHN0LCBjb25zdCBCOEc4UjggKnNy
YzEsIGNvbnN0IEI4RzhSOCAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjphdmVy
YWdlKHNyYzEtPlIsIHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBnbDo6YXZlcmFnZShzcmMx
LT5HLCBzcmMyLT5HKTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Qiwgc3Jj
Mi0+Qik7CisgICAgfQorfTsKKworc3RydWN0IFI1RzZCNQoreworICAgIHVuc2lnbmVkIHNob3J0
IFJHQjsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0
IFI1RzZCNSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVk
VG9GbG9hdDw1PihnbDo6Z2V0U2hpZnRlZERhdGE8NSwgMTE+KHNyYy0+UkdCKSk7CisgICAgICAg
IGRzdC0+Z3JlZW4gPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQ8Nj4oZ2w6OmdldFNoaWZ0ZWREYXRh
PDYsICA1PihzcmMtPlJHQikpOworICAgICAgICBkc3QtPmJsdWUgID0gZ2w6Om5vcm1hbGl6ZWRU
b0Zsb2F0PDU+KGdsOjpnZXRTaGlmdGVkRGF0YTw1LCAgMD4oc3JjLT5SR0IpKTsKKyAgICAgICAg
ZHN0LT5hbHBoYSA9IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihS
NUc2QjUgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5S
R0IgPSBnbDo6c2hpZnREYXRhPDUsIDExPihnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8NSwgdW5zaWdu
ZWQgc2hvcnQ+KHNyYy0+cmVkKSkgICB8CisgICAgICAgICAgICAgICAgICAgZ2w6OnNoaWZ0RGF0
YTw2LCAgNT4oZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPDYsIHVuc2lnbmVkIHNob3J0PihzcmMtPmdy
ZWVuKSkgfAorICAgICAgICAgICAgICAgICAgIGdsOjpzaGlmdERhdGE8NSwgIDA+KGdsOjpmbG9h
dFRvTm9ybWFsaXplZDw1LCB1bnNpZ25lZCBzaG9ydD4oc3JjLT5ibHVlKSk7CisgICAgfQorCisg
ICAgc3RhdGljIHZvaWQgYXZlcmFnZShSNUc2QjUgKmRzdCwgY29uc3QgUjVHNkI1ICpzcmMxLCBj
b25zdCBSNUc2QjUgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlJHQiA9IGdsOjpzaGlmdERh
dGE8NSwgMTE+KGdsOjphdmVyYWdlKGdsOjpnZXRTaGlmdGVkRGF0YTw1LCAxMT4oc3JjMS0+UkdC
KSwgZ2w6OmdldFNoaWZ0ZWREYXRhPDUsIDExPihzcmMyLT5SR0IpKSkgfAorICAgICAgICAgICAg
ICAgICAgIGdsOjpzaGlmdERhdGE8NiwgIDU+KGdsOjphdmVyYWdlKGdsOjpnZXRTaGlmdGVkRGF0
YTw2LCAgNT4oc3JjMS0+UkdCKSwgZ2w6OmdldFNoaWZ0ZWREYXRhPDYsICA1PihzcmMyLT5SR0Ip
KSkgfAorICAgICAgICAgICAgICAgICAgIGdsOjpzaGlmdERhdGE8NSwgIDA+KGdsOjphdmVyYWdl
KGdsOjpnZXRTaGlmdGVkRGF0YTw1LCAgMD4oc3JjMS0+UkdCKSwgZ2w6OmdldFNoaWZ0ZWREYXRh
PDUsICAwPihzcmMyLT5SR0IpKSk7CisgICAgfQorfTsKKworc3RydWN0IEE4UjhHOEI4Cit7Cisg
ICAgdW5zaWduZWQgY2hhciBBOworICAgIHVuc2lnbmVkIGNoYXIgUjsKKyAgICB1bnNpZ25lZCBj
aGFyIEc7CisgICAgdW5zaWduZWQgY2hhciBCOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9y
KGdsOjpDb2xvckYgKmRzdCwgY29uc3QgQThSOEc4QjggKnNyYykKKyAgICB7CisgICAgICAgIGRz
dC0+cmVkICAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5SKTsKKyAgICAgICAgZHN0LT5n
cmVlbiA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkcpOworICAgICAgICBkc3QtPmJsdWUg
ID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Qik7CisgICAgICAgIGRzdC0+YWxwaGEgPSBn
bDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5BKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBy
ZWFkQ29sb3IoZ2w6OkNvbG9yVUkgKmRzdCwgY29uc3QgQThSOEc4QjggKnNyYykKKyAgICB7Cisg
ICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7
CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSBzcmMt
PkE7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihBOFI4RzhCOCAqZHN0LCBj
b25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRU
b05vcm1hbGl6ZWQ8dW5zaWduZWQgY2hhcj4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBn
bDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQgY2hhcj4oc3JjLT5ncmVlbik7CisgICAgICAg
IGRzdC0+QiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBjaGFyPihzcmMtPmJsdWUp
OworICAgICAgICBkc3QtPkEgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQgY2hhcj4o
c3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihBOFI4RzhC
OCAqZHN0LCBjb25zdCBnbDo6Q29sb3JVSSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0LT5CID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0LT5BID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3Rh
dGljIHZvaWQgYXZlcmFnZShBOFI4RzhCOCAqZHN0LCBjb25zdCBBOFI4RzhCOCAqc3JjMSwgY29u
c3QgQThSOEc4QjggKnNyYzIpCisgICAgeworICAgICAgICAqKHVuc2lnbmVkIGludCopZHN0ID0g
KCgoKih1bnNpZ25lZCBpbnQqKXNyYzEgXiAqKHVuc2lnbmVkIGludCopc3JjMikgJiAweEZFRkVG
RUZFKSA+PiAxKSArICgqKHVuc2lnbmVkIGludCopc3JjMSAmICoodW5zaWduZWQgaW50KilzcmMy
KTsKKyAgICB9Cit9OworCitzdHJ1Y3QgUjhHOEI4QTgKK3sKKyAgICB1bnNpZ25lZCBjaGFyIFI7
CisgICAgdW5zaWduZWQgY2hhciBHOworICAgIHVuc2lnbmVkIGNoYXIgQjsKKyAgICB1bnNpZ25l
ZCBjaGFyIEE7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBj
b25zdCBSOEc4QjhBOCAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3Jt
YWxpemVkVG9GbG9hdChzcmMtPlIpOworICAgICAgICBkc3QtPmdyZWVuID0gZ2w6Om5vcm1hbGl6
ZWRUb0Zsb2F0KHNyYy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBnbDo6bm9ybWFsaXplZFRv
RmxvYXQoc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpub3JtYWxpemVkVG9GbG9h
dChzcmMtPkEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JV
SSAqZHN0LCBjb25zdCBSOEc4QjhBOCAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9
IHNyYy0+UjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IHNyYy0+RzsKKyAgICAgICAgZHN0LT5ibHVl
ICA9IHNyYy0+QjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IHNyYy0+QTsKKyAgICB9CisKKyAgICBz
dGF0aWMgdm9pZCB3cml0ZUNvbG9yKFI4RzhCOEE4ICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNy
YykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25l
ZCBjaGFyPihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IGdsOjpmbG9hdFRvTm9ybWFsaXpl
ZDx1bnNpZ25lZCBjaGFyPihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmZsb2F0
VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNoYXI+KHNyYy0+Ymx1ZSk7CisgICAgICAgIGRzdC0+QSA9
IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBjaGFyPihzcmMtPmFscGhhKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFI4RzhCOEE4ICpkc3QsIGNvbnN0IGdsOjpD
b2xvclVJICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZCBjaGFyPihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IHN0YXRpY19jYXN0PHVuc2lnbmVk
IGNoYXI+KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZCBjaGFyPihzcmMtPmJsdWUpOworICAgICAgICBkc3QtPkEgPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZCBjaGFyPihzcmMtPmFscGhhKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKFI4
RzhCOEE4ICpkc3QsIGNvbnN0IFI4RzhCOEE4ICpzcmMxLCBjb25zdCBSOEc4QjhBOCAqc3JjMikK
KyAgICB7CisgICAgICAgICoodW5zaWduZWQgaW50Kilkc3QgPSAoKCgqKHVuc2lnbmVkIGludCop
c3JjMSBeICoodW5zaWduZWQgaW50KilzcmMyKSAmIDB4RkVGRUZFRkUpID4+IDEpICsgKCoodW5z
aWduZWQgaW50KilzcmMxICYgKih1bnNpZ25lZCBpbnQqKXNyYzIpOworICAgIH0KK307CisKK3N0
cnVjdCBCOEc4UjhBOAoreworICAgIHVuc2lnbmVkIGNoYXIgQjsKKyAgICB1bnNpZ25lZCBjaGFy
IEc7CisgICAgdW5zaWduZWQgY2hhciBSOworICAgIHVuc2lnbmVkIGNoYXIgQTsKKworICAgIHN0
YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IEI4RzhSOEE4ICpzcmMp
CisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+
Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5HKTsK
KyAgICAgICAgZHN0LT5ibHVlICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkIpOworICAg
ICAgICBkc3QtPmFscGhhID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+QSk7CisgICAgfQor
CisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvclVJICpkc3QsIGNvbnN0IEI4RzhS
OEE4ICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5SOworICAgICAgICBk
c3QtPmdyZWVuID0gc3JjLT5HOworICAgICAgICBkc3QtPmJsdWUgID0gc3JjLT5COworICAgICAg
ICBkc3QtPmFscGhhID0gc3JjLT5BOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29s
b3IoQjhHOFI4QTggKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAg
ZHN0LT5SID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNoYXI+KHNyYy0+cmVkKTsK
KyAgICAgICAgZHN0LT5HID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGNoYXI+KHNy
Yy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWdu
ZWQgY2hhcj4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmZsb2F0VG9Ob3JtYWxp
emVkPHVuc2lnbmVkIGNoYXI+KHNyYy0+YWxwaGEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lk
IHdyaXRlQ29sb3IoQjhHOFI4QTggKmRzdCwgY29uc3QgZ2w6OkNvbG9yVUkgKnNyYykKKyAgICB7
CisgICAgICAgIGRzdC0+UiA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHNyYy0+cmVkKTsK
KyAgICAgICAgZHN0LT5HID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3JjLT5ncmVlbik7
CisgICAgICAgIGRzdC0+QiA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHNyYy0+Ymx1ZSk7
CisgICAgICAgIGRzdC0+QSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHNyYy0+YWxwaGEp
OworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2UoQjhHOFI4QTggKmRzdCwgY29uc3Qg
QjhHOFI4QTggKnNyYzEsIGNvbnN0IEI4RzhSOEE4ICpzcmMyKQorICAgIHsKKyAgICAgICAgKih1
bnNpZ25lZCBpbnQqKWRzdCA9ICgoKCoodW5zaWduZWQgaW50KilzcmMxIF4gKih1bnNpZ25lZCBp
bnQqKXNyYzIpICYgMHhGRUZFRkVGRSkgPj4gMSkgKyAoKih1bnNpZ25lZCBpbnQqKXNyYzEgJiAq
KHVuc2lnbmVkIGludCopc3JjMik7CisgICAgfQorfTsKKworc3RydWN0IEI4RzhSOFg4Cit7Cisg
ICAgdW5zaWduZWQgY2hhciBCOworICAgIHVuc2lnbmVkIGNoYXIgRzsKKyAgICB1bnNpZ25lZCBj
aGFyIFI7CisgICAgdW5zaWduZWQgY2hhciBYOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9y
KGdsOjpDb2xvckYgKmRzdCwgY29uc3QgQjhHOFI4WDggKnNyYykKKyAgICB7CisgICAgICAgIGRz
dC0+cmVkID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3Jl
ZW4gPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5HKTsKKyAgICAgICAgZHN0LT5ibHVlID0g
Z2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Qik7CisgICAgICAgIGRzdC0+YWxwaGEgPSAxLjBm
OworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JVSSAqZHN0LCBj
b25zdCBCOEc4UjhYOCAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgPSBzcmMtPlI7Cisg
ICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAgIGRzdC0+Ymx1ZSA9IHNyYy0+QjsK
KyAgICAgICAgZHN0LT5hbHBoYSA9IDE7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVD
b2xvcihCOEc4UjhYOCAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAg
ICBkc3QtPlIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQgY2hhcj4oc3JjLT5yZWQp
OworICAgICAgICBkc3QtPkcgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQgY2hhcj4o
c3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNp
Z25lZCBjaGFyPihzcmMtPmJsdWUpOworICAgICAgICBkc3QtPlggPSAyNTU7CisgICAgfQorCisg
ICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihCOEc4UjhYOCAqZHN0LCBjb25zdCBnbDo6Q29sb3JV
SSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cj4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFy
PihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0LT5CID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cj4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0LT5YID0gMjU1OworICAgIH0KKworICAgIHN0YXRp
YyB2b2lkIGF2ZXJhZ2UoQjhHOFI4WDggKmRzdCwgY29uc3QgQjhHOFI4WDggKnNyYzEsIGNvbnN0
IEI4RzhSOFg4ICpzcmMyKQorICAgIHsKKyAgICAgICAgKih1bnNpZ25lZCBpbnQqKWRzdCA9ICgo
KCoodW5zaWduZWQgaW50KilzcmMxIF4gKih1bnNpZ25lZCBpbnQqKXNyYzIpICYgMHhGRUZFRkVG
RSkgPj4gMSkgKyAoKih1bnNpZ25lZCBpbnQqKXNyYzEgJiAqKHVuc2lnbmVkIGludCopc3JjMik7
CisgICAgICAgIGRzdC0+WCA9IDI1NTsKKyAgICB9Cit9OworCitzdHJ1Y3QgQjVHNVI1QTEKK3sK
KyAgICB1bnNpZ25lZCBzaG9ydCBCR1JBOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGds
OjpDb2xvckYgKmRzdCwgY29uc3QgQjVHNVI1QTEgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+
YWxwaGEgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQ8MT4oZ2w6OmdldFNoaWZ0ZWREYXRhPDEsIDE1
PihzcmMtPkJHUkEpKTsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9GbG9h
dDw1PihnbDo6Z2V0U2hpZnRlZERhdGE8NSwgMTA+KHNyYy0+QkdSQSkpOworICAgICAgICBkc3Qt
PmdyZWVuID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0PDU+KGdsOjpnZXRTaGlmdGVkRGF0YTw1LCAg
NT4oc3JjLT5CR1JBKSk7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBnbDo6bm9ybWFsaXplZFRvRmxv
YXQ8NT4oZ2w6OmdldFNoaWZ0ZWREYXRhPDUsICAwPihzcmMtPkJHUkEpKTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKEI1RzVSNUExICpkc3QsIGNvbnN0IGdsOjpDb2xvckYg
KnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+QkdSQSA9IGdsOjpzaGlmdERhdGE8MSwgMTU+KGds
OjpmbG9hdFRvTm9ybWFsaXplZDwxLCB1bnNpZ25lZCBzaG9ydD4oc3JjLT5hbHBoYSkpIHwKKyAg
ICAgICAgICAgICAgICAgICAgZ2w6OnNoaWZ0RGF0YTw1LCAxMD4oZ2w6OmZsb2F0VG9Ob3JtYWxp
emVkPDUsIHVuc2lnbmVkIHNob3J0PihzcmMtPnJlZCkpICAgfAorICAgICAgICAgICAgICAgICAg
ICBnbDo6c2hpZnREYXRhPDUsICA1PihnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8NSwgdW5zaWduZWQg
c2hvcnQ+KHNyYy0+Z3JlZW4pKSB8CisgICAgICAgICAgICAgICAgICAgIGdsOjpzaGlmdERhdGE8
NSwgIDA+KGdsOjpmbG9hdFRvTm9ybWFsaXplZDw1LCB1bnNpZ25lZCBzaG9ydD4oc3JjLT5ibHVl
KSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShCNUc1UjVBMSAqZHN0LCBjb25z
dCBCNUc1UjVBMSAqc3JjMSwgY29uc3QgQjVHNVI1QTEgKnNyYzIpCisgICAgeworICAgICAgICBk
c3QtPkJHUkEgPSBnbDo6c2hpZnREYXRhPDEsIDE1PihnbDo6YXZlcmFnZShnbDo6Z2V0U2hpZnRl
ZERhdGE8MSwgMTU+KHNyYzEtPkJHUkEpLCBnbDo6Z2V0U2hpZnRlZERhdGE8MSwgMTU+KHNyYzIt
PkJHUkEpKSkgfAorICAgICAgICAgICAgICAgICAgICBnbDo6c2hpZnREYXRhPDUsIDEwPihnbDo6
YXZlcmFnZShnbDo6Z2V0U2hpZnRlZERhdGE8NSwgMTA+KHNyYzEtPkJHUkEpLCBnbDo6Z2V0U2hp
ZnRlZERhdGE8NSwgMTA+KHNyYzItPkJHUkEpKSkgfAorICAgICAgICAgICAgICAgICAgICBnbDo6
c2hpZnREYXRhPDUsICA1PihnbDo6YXZlcmFnZShnbDo6Z2V0U2hpZnRlZERhdGE8NSwgIDU+KHNy
YzEtPkJHUkEpLCBnbDo6Z2V0U2hpZnRlZERhdGE8NSwgIDU+KHNyYzItPkJHUkEpKSkgfAorICAg
ICAgICAgICAgICAgICAgICBnbDo6c2hpZnREYXRhPDUsICAwPihnbDo6YXZlcmFnZShnbDo6Z2V0
U2hpZnRlZERhdGE8NSwgIDA+KHNyYzEtPkJHUkEpLCBnbDo6Z2V0U2hpZnRlZERhdGE8NSwgIDA+
KHNyYzItPkJHUkEpKSk7CisgICAgfQorfTsKKworc3RydWN0IFI1RzVCNUExCit7CisgICAgdW5z
aWduZWQgc2hvcnQgUkdCQTsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JG
ICpkc3QsIGNvbnN0IFI1RzVCNUExICpzcmMpCisgICAgeworICAgICAgICBkc3QtPmFscGhhID0g
Z2w6Om5vcm1hbGl6ZWRUb0Zsb2F0PDE+KGdsOjpnZXRTaGlmdGVkRGF0YTwxLCAxNT4oc3JjLT5S
R0JBKSk7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQ8NT4oZ2w6
OmdldFNoaWZ0ZWREYXRhPDUsIDEwPihzcmMtPlJHQkEpKTsKKyAgICAgICAgZHN0LT5ncmVlbiA9
IGdsOjpub3JtYWxpemVkVG9GbG9hdDw1PihnbDo6Z2V0U2hpZnRlZERhdGE8NSwgIDU+KHNyYy0+
UkdCQSkpOworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0PDU+KGds
OjpnZXRTaGlmdGVkRGF0YTw1LCAgMD4oc3JjLT5SR0JBKSk7CisgICAgfQorCisgICAgc3RhdGlj
IHZvaWQgd3JpdGVDb2xvcihSNUc1QjVBMSAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisg
ICAgeworICAgICAgICBkc3QtPlJHQkEgPSBnbDo6c2hpZnREYXRhPDEsIDE1PihnbDo6ZmxvYXRU
b05vcm1hbGl6ZWQ8MSwgdW5zaWduZWQgc2hvcnQ+KHNyYy0+YWxwaGEpKSB8CisgICAgICAgICAg
ICAgICAgICAgIGdsOjpzaGlmdERhdGE8NSwgMTA+KGdsOjpmbG9hdFRvTm9ybWFsaXplZDw1LCB1
bnNpZ25lZCBzaG9ydD4oc3JjLT5ibHVlKSkgIHwKKyAgICAgICAgICAgICAgICAgICAgZ2w6OnNo
aWZ0RGF0YTw1LCAgNT4oZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPDUsIHVuc2lnbmVkIHNob3J0Pihz
cmMtPmdyZWVuKSkgfAorICAgICAgICAgICAgICAgICAgICBnbDo6c2hpZnREYXRhPDUsICAwPihn
bDo6ZmxvYXRUb05vcm1hbGl6ZWQ8NSwgdW5zaWduZWQgc2hvcnQ+KHNyYy0+cmVkKSk7CisgICAg
fQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSNUc1QjVBMSAqZHN0LCBjb25zdCBSNUc1QjVB
MSAqc3JjMSwgY29uc3QgUjVHNUI1QTEgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlJHQkEg
PSBnbDo6c2hpZnREYXRhPDEsIDE1PihnbDo6YXZlcmFnZShnbDo6Z2V0U2hpZnRlZERhdGE8MSwg
MTU+KHNyYzEtPlJHQkEpLCBnbDo6Z2V0U2hpZnRlZERhdGE8MSwgMTU+KHNyYzItPlJHQkEpKSkg
fAorICAgICAgICAgICAgICAgICAgICBnbDo6c2hpZnREYXRhPDUsIDEwPihnbDo6YXZlcmFnZShn
bDo6Z2V0U2hpZnRlZERhdGE8NSwgMTA+KHNyYzEtPlJHQkEpLCBnbDo6Z2V0U2hpZnRlZERhdGE8
NSwgMTA+KHNyYzItPlJHQkEpKSkgfAorICAgICAgICAgICAgICAgICAgICBnbDo6c2hpZnREYXRh
PDUsICA1PihnbDo6YXZlcmFnZShnbDo6Z2V0U2hpZnRlZERhdGE8NSwgIDU+KHNyYzEtPlJHQkEp
LCBnbDo6Z2V0U2hpZnRlZERhdGE8NSwgIDU+KHNyYzItPlJHQkEpKSkgfAorICAgICAgICAgICAg
ICAgICAgICBnbDo6c2hpZnREYXRhPDUsICAwPihnbDo6YXZlcmFnZShnbDo6Z2V0U2hpZnRlZERh
dGE8NSwgIDA+KHNyYzEtPlJHQkEpLCBnbDo6Z2V0U2hpZnRlZERhdGE8NSwgIDA+KHNyYzItPlJH
QkEpKSk7CisgICAgfQorfTsKKworc3RydWN0IFI0RzRCNEE0Cit7CisgICAgdW5zaWduZWQgY2hh
ciBSIDogNDsKKyAgICB1bnNpZ25lZCBjaGFyIEcgOiA0OworICAgIHVuc2lnbmVkIGNoYXIgQiA6
IDQ7CisgICAgdW5zaWduZWQgY2hhciBBIDogNDsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xv
cihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFI0RzRCNEE0ICpzcmMpCisgICAgeworICAgICAgICBk
c3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0PDQ+KHNyYy0+Uik7CisgICAgICAgIGRz
dC0+Z3JlZW4gPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQ8ND4oc3JjLT5HKTsKKyAgICAgICAgZHN0
LT5ibHVlICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdDw0PihzcmMtPkIpOworICAgICAgICBkc3Qt
PmFscGhhID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0PDQ+KHNyYy0+QSk7CisgICAgfQorCisgICAg
c3RhdGljIHZvaWQgd3JpdGVDb2xvcihSNEc0QjRBNCAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpz
cmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8NCwgdW5z
aWduZWQgY2hhcj4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBnbDo6ZmxvYXRUb05vcm1h
bGl6ZWQ8NCwgdW5zaWduZWQgY2hhcj4oc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9IGds
OjpmbG9hdFRvTm9ybWFsaXplZDw0LCB1bnNpZ25lZCBjaGFyPihzcmMtPmJsdWUpOworICAgICAg
ICBkc3QtPkEgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8NCwgdW5zaWduZWQgY2hhcj4oc3JjLT5h
bHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSNEc0QjRBNCAqZHN0LCBj
b25zdCBSNEc0QjRBNCAqc3JjMSwgY29uc3QgUjRHNEI0QTQgKnNyYzIpCisgICAgeworICAgICAg
ICBkc3QtPlIgPSBnbDo6YXZlcmFnZShzcmMxLT5SLCBzcmMyLT5SKTsKKyAgICAgICAgZHN0LT5H
ID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Rywgc3JjMi0+Ryk7CisgICAgICAgIGRzdC0+QiA9IGdsOjph
dmVyYWdlKHNyYzEtPkIsIHNyYzItPkIpOworICAgICAgICBkc3QtPkEgPSBnbDo6YXZlcmFnZShz
cmMxLT5BLCBzcmMyLT5BKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgQTRSNEc0QjQKK3sKKyAgICB1
bnNpZ25lZCBjaGFyIEEgOiA0OworICAgIHVuc2lnbmVkIGNoYXIgUiA6IDQ7CisgICAgdW5zaWdu
ZWQgY2hhciBHIDogNDsKKyAgICB1bnNpZ25lZCBjaGFyIEIgOiA0OworCisgICAgc3RhdGljIHZv
aWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgQTRSNEc0QjQgKnNyYykKKyAgICB7
CisgICAgICAgIGRzdC0+cmVkICAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQ8ND4oc3JjLT5SKTsK
KyAgICAgICAgZHN0LT5ncmVlbiA9IGdsOjpub3JtYWxpemVkVG9GbG9hdDw0PihzcmMtPkcpOwor
ICAgICAgICBkc3QtPmJsdWUgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0PDQ+KHNyYy0+Qik7Cisg
ICAgICAgIGRzdC0+YWxwaGEgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQ8ND4oc3JjLT5BKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKEE0UjRHNEI0ICpkc3QsIGNvbnN0IGds
OjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjpmbG9hdFRvTm9ybWFs
aXplZDw0LCB1bnNpZ25lZCBjaGFyPihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IGdsOjpm
bG9hdFRvTm9ybWFsaXplZDw0LCB1bnNpZ25lZCBjaGFyPihzcmMtPmdyZWVuKTsKKyAgICAgICAg
ZHN0LT5CID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPDQsIHVuc2lnbmVkIGNoYXI+KHNyYy0+Ymx1
ZSk7CisgICAgICAgIGRzdC0+QSA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDw0LCB1bnNpZ25lZCBj
aGFyPihzcmMtPmFscGhhKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKEE0UjRH
NEI0ICpkc3QsIGNvbnN0IEE0UjRHNEI0ICpzcmMxLCBjb25zdCBBNFI0RzRCNCAqc3JjMikKKyAg
ICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjphdmVyYWdlKHNyYzEtPlIsIHNyYzItPlIpOworICAg
ICAgICBkc3QtPkcgPSBnbDo6YXZlcmFnZShzcmMxLT5HLCBzcmMyLT5HKTsKKyAgICAgICAgZHN0
LT5CID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Qiwgc3JjMi0+Qik7CisgICAgICAgIGRzdC0+QSA9IGds
OjphdmVyYWdlKHNyYzEtPkEsIHNyYzItPkEpOworICAgIH0KK307CisKK3N0cnVjdCBCNEc0UjRB
NAoreworICAgIHVuc2lnbmVkIGNoYXIgQiA6IDQ7CisgICAgdW5zaWduZWQgY2hhciBHIDogNDsK
KyAgICB1bnNpZ25lZCBjaGFyIFIgOiA0OworICAgIHVuc2lnbmVkIGNoYXIgQSA6IDQ7CisKKyAg
ICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBCNEc0UjRBNCAq
c3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdDw0
PihzcmMtPlIpOworICAgICAgICBkc3QtPmdyZWVuID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0PDQ+
KHNyYy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQ8ND4o
c3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpub3JtYWxpemVkVG9GbG9hdDw0Pihz
cmMtPkEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoQjRHNFI0QTQgKmRz
dCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmZs
b2F0VG9Ob3JtYWxpemVkPDQsIHVuc2lnbmVkIGNoYXI+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0
LT5HID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPDQsIHVuc2lnbmVkIGNoYXI+KHNyYy0+Z3JlZW4p
OworICAgICAgICBkc3QtPkIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8NCwgdW5zaWduZWQgY2hh
cj4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPDQs
IHVuc2lnbmVkIGNoYXI+KHNyYy0+YWxwaGEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2
ZXJhZ2UoQjRHNFI0QTQgKmRzdCwgY29uc3QgQjRHNFI0QTQgKnNyYzEsIGNvbnN0IEI0RzRSNEE0
ICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3Jj
Mi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlKHNyYzEtPkcsIHNyYzItPkcpOwor
ICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZShzcmMxLT5CLCBzcmMyLT5CKTsKKyAgICAgICAg
ZHN0LT5BID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+QSwgc3JjMi0+QSk7CisgICAgfQorfTsKKworc3Ry
dWN0IFIxNgoreworICAgIHVuc2lnbmVkIHNob3J0IFI7CisKKyAgICBzdGF0aWMgdm9pZCByZWFk
Q29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBSMTYgKnNyYykKKyAgICB7CisgICAgICAgIGRz
dC0+cmVkICAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5SKTsKKyAgICAgICAgZHN0LT5n
cmVlbiA9IDAuMGY7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSAwLjBmOworICAgICAgICBkc3QtPmFs
cGhhID0gMS4wZjsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9y
VUkgKmRzdCwgY29uc3QgUjE2ICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3Jj
LT5SOworICAgICAgICBkc3QtPmdyZWVuID0gMDsKKyAgICAgICAgZHN0LT5ibHVlICA9IDA7Cisg
ICAgICAgIGRzdC0+YWxwaGEgPSAxOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29s
b3IoUjE2ICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+
UiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBzaG9ydD4oc3JjLT5yZWQpOworICAg
IH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjE2ICpkc3QsIGNvbnN0IGdsOjpDb2xv
clVJICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBz
aG9ydD4oc3JjLT5yZWQpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2UoUjE2ICpk
c3QsIGNvbnN0IFIxNiAqc3JjMSwgY29uc3QgUjE2ICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0
LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7CisgICAgfQorfTsKKworc3RydWN0
IFIxNkcxNgoreworICAgIHVuc2lnbmVkIHNob3J0IFI7CisgICAgdW5zaWduZWQgc2hvcnQgRzsK
KworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFIxNkcx
NiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9GbG9h
dChzcmMtPlIpOworICAgICAgICBkc3QtPmdyZWVuID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNy
Yy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSAwLjBmOworICAgICAgICBkc3QtPmFscGhhID0g
MS4wZjsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yVUkgKmRz
dCwgY29uc3QgUjE2RzE2ICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCA9IHNyYy0+UjsK
KyAgICAgICAgZHN0LT5ncmVlbiA9IHNyYy0+RzsKKyAgICAgICAgZHN0LT5ibHVlICA9IDA7Cisg
ICAgICAgIGRzdC0+YWxwaGEgPSAxOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29s
b3IoUjE2RzE2ICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRz
dC0+UiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBzaG9ydD4oc3JjLT5yZWQpOwor
ICAgICAgICBkc3QtPkcgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQgc2hvcnQ+KHNy
Yy0+Z3JlZW4pOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjE2RzE2ICpk
c3QsIGNvbnN0IGdsOjpDb2xvclVJICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4oc3JjLT5ncmVlbik7CisgICAgfQorCisgICAgc3RhdGlj
IHZvaWQgYXZlcmFnZShSMTZHMTYgKmRzdCwgY29uc3QgUjE2RzE2ICpzcmMxLCBjb25zdCBSMTZH
MTYgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZShzcmMxLT5SLCBz
cmMyLT5SKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Rywgc3JjMi0+Ryk7
CisgICAgfQorfTsKKworc3RydWN0IFIxNkcxNkIxNgoreworICAgIHVuc2lnbmVkIHNob3J0IFI7
CisgICAgdW5zaWduZWQgc2hvcnQgRzsKKyAgICB1bnNpZ25lZCBzaG9ydCBCOworCisgICAgc3Rh
dGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgUjE2RzE2QjE2ICpzcmMp
CisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+
Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5HKTsK
KyAgICAgICAgZHN0LT5ibHVlICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkIpOworICAg
ICAgICBkc3QtPmFscGhhID0gMS4wZjsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29s
b3IoZ2w6OkNvbG9yVUkgKmRzdCwgY29uc3QgUjE2RzE2QjE2ICpzcmMpCisgICAgeworICAgICAg
ICBkc3QtPnJlZCAgID0gc3JjLT5SOworICAgICAgICBkc3QtPmdyZWVuID0gc3JjLT5HOworICAg
ICAgICBkc3QtPmJsdWUgID0gc3JjLT5COworICAgICAgICBkc3QtPmFscGhhID0gMTsKKyAgICB9
CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIxNkcxNkIxNiAqZHN0LCBjb25zdCBnbDo6
Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6
ZWQ8dW5zaWduZWQgc2hvcnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmZsb2F0
VG9Ob3JtYWxpemVkPHVuc2lnbmVkIHNob3J0PihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0LT5C
ID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIHNob3J0PihzcmMtPmJsdWUpOworICAg
IH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjE2RzE2QjE2ICpkc3QsIGNvbnN0IGds
OjpDb2xvclVJICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZCBzaG9ydD4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZCBzaG9ydD4oc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9IHN0YXRpY19jYXN0PHVu
c2lnbmVkIHNob3J0PihzcmMtPmJsdWUpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJh
Z2UoUjE2RzE2QjE2ICpkc3QsIGNvbnN0IFIxNkcxNkIxNiAqc3JjMSwgY29uc3QgUjE2RzE2QjE2
ICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3Jj
Mi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlKHNyYzEtPkcsIHNyYzItPkcpOwor
ICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZShzcmMxLT5CLCBzcmMyLT5CKTsKKyAgICB9Cit9
OworCitzdHJ1Y3QgUjE2RzE2QjE2QTE2Cit7CisgICAgdW5zaWduZWQgc2hvcnQgUjsKKyAgICB1
bnNpZ25lZCBzaG9ydCBHOworICAgIHVuc2lnbmVkIHNob3J0IEI7CisgICAgdW5zaWduZWQgc2hv
cnQgQTsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0
IFIxNkcxNkIxNkExNiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3Jt
YWxpemVkVG9GbG9hdChzcmMtPlIpOworICAgICAgICBkc3QtPmdyZWVuID0gZ2w6Om5vcm1hbGl6
ZWRUb0Zsb2F0KHNyYy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBnbDo6bm9ybWFsaXplZFRv
RmxvYXQoc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpub3JtYWxpemVkVG9GbG9h
dChzcmMtPkEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JV
SSAqZHN0LCBjb25zdCBSMTZHMTZCMTZBMTYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVk
ICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAgIGRzdC0+
Ymx1ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSBzcmMtPkE7CisgICAgfQorCisg
ICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMTZHMTZCMTZBMTYgKmRzdCwgY29uc3QgZ2w6OkNv
bG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVk
PHVuc2lnbmVkIHNob3J0PihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IGdsOjpmbG9hdFRv
Tm9ybWFsaXplZDx1bnNpZ25lZCBzaG9ydD4oc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9
IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBzaG9ydD4oc3JjLT5ibHVlKTsKKyAgICAg
ICAgZHN0LT5BID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIHNob3J0PihzcmMtPmFs
cGhhKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIxNkcxNkIxNkExNiAq
ZHN0LCBjb25zdCBnbDo6Q29sb3JVSSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQgc2hvcnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQgc2hvcnQ+KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0LT5BID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQgc2hvcnQ+KHNyYy0+YWxwaGEpOworICAgIH0KKworICAgIHN0
YXRpYyB2b2lkIGF2ZXJhZ2UoUjE2RzE2QjE2QTE2ICpkc3QsIGNvbnN0IFIxNkcxNkIxNkExNiAq
c3JjMSwgY29uc3QgUjE2RzE2QjE2QTE2ICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0g
Z2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVy
YWdlKHNyYzEtPkcsIHNyYzItPkcpOworICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZShzcmMx
LT5CLCBzcmMyLT5CKTsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+QSwgc3Jj
Mi0+QSk7CisgICAgfQorfTsKKworc3RydWN0IFIzMgoreworICAgIHVuc2lnbmVkIGludCBSOwor
CisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgUjMyICpz
cmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNy
Yy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSAwLjBmOworICAgICAgICBkc3QtPmJsdWUgID0g
MC4wZjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZv
aWQgcmVhZENvbG9yKGdsOjpDb2xvclVJICpkc3QsIGNvbnN0IFIzMiAqc3JjKQorICAgIHsKKyAg
ICAgICAgZHN0LT5yZWQgICA9IHNyYy0+UjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IDA7CisgICAg
ICAgIGRzdC0+Ymx1ZSAgPSAwOworICAgICAgICBkc3QtPmFscGhhID0gMTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIzMiAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMp
CisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQg
aW50PihzcmMtPnJlZCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMzIg
KmRzdCwgY29uc3QgZ2w6OkNvbG9yVUkgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc3JjLT5yZWQpOworICAgIH0KKworICAgIHN0YXRpYyB2
b2lkIGF2ZXJhZ2UoUjMyICpkc3QsIGNvbnN0IFIzMiAqc3JjMSwgY29uc3QgUjMyICpzcmMyKQor
ICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7Cisg
ICAgfQorfTsKKworc3RydWN0IFIzMkczMgoreworICAgIHVuc2lnbmVkIGludCBSOworICAgIHVu
c2lnbmVkIGludCBHOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRz
dCwgY29uc3QgUjMyRzMyICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5v
cm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6bm9ybWFs
aXplZFRvRmxvYXQoc3JjLT5HKTsKKyAgICAgICAgZHN0LT5ibHVlICA9IDAuMGY7CisgICAgICAg
IGRzdC0+YWxwaGEgPSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihn
bDo6Q29sb3JVSSAqZHN0LCBjb25zdCBSMzJHMzIgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+
cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAgIGRz
dC0+Ymx1ZSAgPSAwOworICAgICAgICBkc3QtPmFscGhhID0gMTsKKyAgICB9CisKKyAgICBzdGF0
aWMgdm9pZCB3cml0ZUNvbG9yKFIzMkczMiAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisg
ICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQgaW50
PihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNp
Z25lZCBpbnQ+KHNyYy0+Z3JlZW4pOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29s
b3IoUjMyRzMyICpkc3QsIGNvbnN0IGdsOjpDb2xvclVJICpzcmMpCisgICAgeworICAgICAgICBk
c3QtPlIgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0
LT5HID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzcmMtPmdyZWVuKTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgdm9pZCBhdmVyYWdlKFIzMkczMiAqZHN0LCBjb25zdCBSMzJHMzIgKnNyYzEsIGNv
bnN0IFIzMkczMiAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjphdmVyYWdlKHNy
YzEtPlIsIHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBnbDo6YXZlcmFnZShzcmMxLT5HLCBz
cmMyLT5HKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgUjMyRzMyQjMyCit7CisgICAgdW5zaWduZWQg
aW50IFI7CisgICAgdW5zaWduZWQgaW50IEc7CisgICAgdW5zaWduZWQgaW50IEI7CisKKyAgICBz
dGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBSMzJHMzJCMzIgKnNy
YykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3Jj
LT5SKTsKKyAgICAgICAgZHN0LT5ncmVlbiA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkcp
OworICAgICAgICBkc3QtPmJsdWUgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Qik7Cisg
ICAgICAgIGRzdC0+YWxwaGEgPSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRD
b2xvcihnbDo6Q29sb3JVSSAqZHN0LCBjb25zdCBSMzJHMzJCMzIgKnNyYykKKyAgICB7CisgICAg
ICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7Cisg
ICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSAxOworICAg
IH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjMyRzMyQjMyICpkc3QsIGNvbnN0IGds
OjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjpmbG9hdFRvTm9ybWFs
aXplZDx1bnNpZ25lZCBpbnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmZsb2F0
VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGludD4oc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9
IGdsOjpmbG9hdFRvTm9ybWFsaXplZDx1bnNpZ25lZCBpbnQ+KHNyYy0+Ymx1ZSk7CisgICAgfQor
CisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMzJHMzJCMzIgKmRzdCwgY29uc3QgZ2w6OkNv
bG9yVUkgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IHN0YXRpY19jYXN0PHVuc2lnbmVk
IGludD4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBp
bnQ+KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBp
bnQ+KHNyYy0+Ymx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSMzJHMzJC
MzIgKmRzdCwgY29uc3QgUjMyRzMyQjMyICpzcmMxLCBjb25zdCBSMzJHMzJCMzIgKnNyYzIpCisg
ICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZShzcmMxLT5SLCBzcmMyLT5SKTsKKyAg
ICAgICAgZHN0LT5HID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Rywgc3JjMi0+Ryk7CisgICAgICAgIGRz
dC0+QiA9IGdsOjphdmVyYWdlKHNyYzEtPkIsIHNyYzItPkIpOworICAgIH0KK307CisKK3N0cnVj
dCBSMzJHMzJCMzJBMzIKK3sKKyAgICB1bnNpZ25lZCBpbnQgUjsKKyAgICB1bnNpZ25lZCBpbnQg
RzsKKyAgICB1bnNpZ25lZCBpbnQgQjsKKyAgICB1bnNpZ25lZCBpbnQgQTsKKworICAgIHN0YXRp
YyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFIzMkczMkIzMkEzMiAqc3Jj
KQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMt
PlIpOworICAgICAgICBkc3QtPmdyZWVuID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Ryk7
CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5CKTsKKyAg
ICAgICAgZHN0LT5hbHBoYSA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkEpOworICAgIH0K
KworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JVSSAqZHN0LCBjb25zdCBSMzJH
MzJCMzJBMzIgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAg
ICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkI7Cisg
ICAgICAgIGRzdC0+YWxwaGEgPSBzcmMtPkE7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3Jp
dGVDb2xvcihSMzJHMzJCMzJBMzIgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsK
KyAgICAgICAgZHN0LT5SID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHVuc2lnbmVkIGludD4oc3Jj
LT5yZWQpOworICAgICAgICBkc3QtPkcgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8dW5zaWduZWQg
aW50PihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVk
PHVuc2lnbmVkIGludD4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmZsb2F0VG9O
b3JtYWxpemVkPHVuc2lnbmVkIGludD4oc3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGlj
IHZvaWQgd3JpdGVDb2xvcihSMzJHMzJCMzJBMzIgKmRzdCwgY29uc3QgZ2w6OkNvbG9yVUkgKnNy
YykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc3Jj
LT5yZWQpOworICAgICAgICBkc3QtPkcgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNyYy0+
Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNyYy0+
Ymx1ZSk7CisgICAgICAgIGRzdC0+QSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc3JjLT5h
bHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSMzJHMzJCMzJBMzIgKmRz
dCwgY29uc3QgUjMyRzMyQjMyQTMyICpzcmMxLCBjb25zdCBSMzJHMzJCMzJBMzIgKnNyYzIpCisg
ICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZShzcmMxLT5SLCBzcmMyLT5SKTsKKyAg
ICAgICAgZHN0LT5HID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Rywgc3JjMi0+Ryk7CisgICAgICAgIGRz
dC0+QiA9IGdsOjphdmVyYWdlKHNyYzEtPkIsIHNyYzItPkIpOworICAgICAgICBkc3QtPkEgPSBn
bDo6YXZlcmFnZShzcmMxLT5BLCBzcmMyLT5BKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgUjhTCit7
CisgICAgY2hhciBSOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRz
dCwgY29uc3QgUjhTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5vcm1h
bGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSAwLjBmOworICAgICAg
ICBkc3QtPmJsdWUgID0gMC4wZjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IDEuMGY7CisgICAgfQor
CisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckkgKmRzdCwgY29uc3QgUjhTICpz
cmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5SOworICAgICAgICBkc3QtPmdy
ZWVuID0gMDsKKyAgICAgICAgZHN0LT5ibHVlICA9IDA7CisgICAgICAgIGRzdC0+YWxwaGEgPSAx
OworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjhTICpkc3QsIGNvbnN0IGds
OjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjpmbG9hdFRvTm9ybWFs
aXplZDxjaGFyPihzcmMtPnJlZCk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xv
cihSOFMgKmRzdCwgY29uc3QgZ2w6OkNvbG9ySSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5S
ID0gc3RhdGljX2Nhc3Q8Y2hhcj4oc3JjLT5yZWQpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lk
IGF2ZXJhZ2UoUjhTICpkc3QsIGNvbnN0IFI4UyAqc3JjMSwgY29uc3QgUjhTICpzcmMyKQorICAg
IHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7CisgICAg
fQorfTsKKworc3RydWN0IFI4RzhTCit7CisgICAgY2hhciBSOworICAgIGNoYXIgRzsKKworICAg
IHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFI4RzhTICpzcmMp
CisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+
Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5HKTsK
KyAgICAgICAgZHN0LT5ibHVlICA9IDAuMGY7CisgICAgICAgIGRzdC0+YWxwaGEgPSAxLjBmOwor
ICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JJICpkc3QsIGNvbnN0
IFI4RzhTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5SOworICAgICAg
ICBkc3QtPmdyZWVuID0gc3JjLT5HOworICAgICAgICBkc3QtPmJsdWUgID0gMDsKKyAgICAgICAg
ZHN0LT5hbHBoYSA9IDE7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSOEc4
UyAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBn
bDo6ZmxvYXRUb05vcm1hbGl6ZWQ8Y2hhcj4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBn
bDo6ZmxvYXRUb05vcm1hbGl6ZWQ8Y2hhcj4oc3JjLT5ncmVlbik7CisgICAgfQorCisgICAgc3Rh
dGljIHZvaWQgd3JpdGVDb2xvcihSOEc4UyAqZHN0LCBjb25zdCBnbDo6Q29sb3JJICpzcmMpCisg
ICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDxjaGFyPihzcmMtPnJlZCk7CisgICAg
ICAgIGRzdC0+RyA9IHN0YXRpY19jYXN0PGNoYXI+KHNyYy0+Z3JlZW4pOworICAgIH0KKworICAg
IHN0YXRpYyB2b2lkIGF2ZXJhZ2UoUjhHOFMgKmRzdCwgY29uc3QgUjhHOFMgKnNyYzEsIGNvbnN0
IFI4RzhTICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+
Uiwgc3JjMi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlKHNyYzEtPkcsIHNyYzIt
PkcpOworICAgIH0KK307CisKK3N0cnVjdCBSOEc4QjhTCit7CisgICAgY2hhciBSOworICAgIGNo
YXIgRzsKKyAgICBjaGFyIEI7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9y
RiAqZHN0LCBjb25zdCBSOEc4QjhTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0g
Z2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6
bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5HKTsKKyAgICAgICAgZHN0LT5ibHVlICA9IGdsOjpub3Jt
YWxpemVkVG9GbG9hdChzcmMtPkIpOworICAgICAgICBkc3QtPmFscGhhID0gMS4wZjsKKyAgICB9
CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9ySSAqZHN0LCBjb25zdCBSOEc4
QjhTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5SOworICAgICAgICBk
c3QtPmdyZWVuID0gc3JjLT5HOworICAgICAgICBkc3QtPmJsdWUgID0gc3JjLT5COworICAgICAg
ICBkc3QtPmFscGhhID0gMTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFI4
RzhCOFMgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5S
ID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPGNoYXI+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5H
ID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPGNoYXI+KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3Qt
PkIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8Y2hhcj4oc3JjLT5ibHVlKTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFI4RzhCOFMgKmRzdCwgY29uc3QgZ2w6OkNvbG9ySSAq
c3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gc3RhdGljX2Nhc3Q8Y2hhcj4oc3JjLT5yZWQp
OworICAgICAgICBkc3QtPkcgPSBzdGF0aWNfY2FzdDxjaGFyPihzcmMtPmdyZWVuKTsKKyAgICAg
ICAgZHN0LT5CID0gc3RhdGljX2Nhc3Q8Y2hhcj4oc3JjLT5ibHVlKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgdm9pZCBhdmVyYWdlKFI4RzhCOFMgKmRzdCwgY29uc3QgUjhHOEI4UyAqc3JjMSwgY29u
c3QgUjhHOEI4UyAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjphdmVyYWdlKHNy
YzEtPlIsIHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBnbDo6YXZlcmFnZShzcmMxLT5HLCBz
cmMyLT5HKTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Qiwgc3JjMi0+Qik7
CisgICAgfQorfTsKKworc3RydWN0IFI4RzhCOEE4UworeworICAgIGNoYXIgUjsKKyAgICBjaGFy
IEc7CisgICAgY2hhciBCOworICAgIGNoYXIgQTsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xv
cihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFI4RzhCOEE4UyAqc3JjKQorICAgIHsKKyAgICAgICAg
ZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPlIpOworICAgICAgICBkc3Qt
PmdyZWVuID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1
ZSAgPSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9
IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPkEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lk
IHJlYWRDb2xvcihnbDo6Q29sb3JJICpkc3QsIGNvbnN0IFI4RzhCOEE4UyAqc3JjKQorICAgIHsK
KyAgICAgICAgZHN0LT5yZWQgICA9IHNyYy0+UjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IHNyYy0+
RzsKKyAgICAgICAgZHN0LT5ibHVlICA9IHNyYy0+QjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IHNy
Yy0+QTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFI4RzhCOEE4UyAqZHN0
LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6Zmxv
YXRUb05vcm1hbGl6ZWQ8Y2hhcj4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBnbDo6Zmxv
YXRUb05vcm1hbGl6ZWQ8Y2hhcj4oc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9IGdsOjpm
bG9hdFRvTm9ybWFsaXplZDxjaGFyPihzcmMtPmJsdWUpOworICAgICAgICBkc3QtPkEgPSBnbDo6
ZmxvYXRUb05vcm1hbGl6ZWQ8Y2hhcj4oc3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGlj
IHZvaWQgd3JpdGVDb2xvcihSOEc4QjhBOFMgKmRzdCwgY29uc3QgZ2w6OkNvbG9ySSAqc3JjKQor
ICAgIHsKKyAgICAgICAgZHN0LT5SID0gc3RhdGljX2Nhc3Q8Y2hhcj4oc3JjLT5yZWQpOworICAg
ICAgICBkc3QtPkcgPSBzdGF0aWNfY2FzdDxjaGFyPihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0
LT5CID0gc3RhdGljX2Nhc3Q8Y2hhcj4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0LT5BID0gc3Rh
dGljX2Nhc3Q8Y2hhcj4oc3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZl
cmFnZShSOEc4QjhBOFMgKmRzdCwgY29uc3QgUjhHOEI4QThTICpzcmMxLCBjb25zdCBSOEc4QjhB
OFMgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZShzcmMxLT5SLCBz
cmMyLT5SKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Rywgc3JjMi0+Ryk7
CisgICAgICAgIGRzdC0+QiA9IGdsOjphdmVyYWdlKHNyYzEtPkIsIHNyYzItPkIpOworICAgICAg
ICBkc3QtPkEgPSBnbDo6YXZlcmFnZShzcmMxLT5BLCBzcmMyLT5BKTsKKyAgICB9Cit9OworCitz
dHJ1Y3QgUjE2UworeworICAgIHNob3J0IFI7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3Io
Z2w6OkNvbG9yRiAqZHN0LCBjb25zdCBSMTZTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJl
ZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4g
PSAwLjBmOworICAgICAgICBkc3QtPmJsdWUgID0gMC4wZjsKKyAgICAgICAgZHN0LT5hbHBoYSA9
IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckkgKmRz
dCwgY29uc3QgUjE2UyAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IHNyYy0+UjsK
KyAgICAgICAgZHN0LT5ncmVlbiA9IDA7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSAwOworICAgICAg
ICBkc3QtPmFscGhhID0gMTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIx
NlMgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0g
Z2w6OmZsb2F0VG9Ob3JtYWxpemVkPHNob3J0PihzcmMtPnJlZCk7CisgICAgfQorCisgICAgc3Rh
dGljIHZvaWQgd3JpdGVDb2xvcihSMTZTICpkc3QsIGNvbnN0IGdsOjpDb2xvckkgKnNyYykKKyAg
ICB7CisgICAgICAgIGRzdC0+UiA9IHN0YXRpY19jYXN0PHNob3J0PihzcmMtPnJlZCk7CisgICAg
fQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSMTZTICpkc3QsIGNvbnN0IFIxNlMgKnNyYzEs
IGNvbnN0IFIxNlMgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZShz
cmMxLT5SLCBzcmMyLT5SKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgUjE2RzE2UworeworICAgIHNo
b3J0IFI7CisgICAgc2hvcnQgRzsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29s
b3JGICpkc3QsIGNvbnN0IFIxNkcxNlMgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAg
PSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5SKTsKKyAgICAgICAgZHN0LT5ncmVlbiA9IGds
Ojpub3JtYWxpemVkVG9GbG9hdChzcmMtPkcpOworICAgICAgICBkc3QtPmJsdWUgID0gMC4wZjsK
KyAgICAgICAgZHN0LT5hbHBoYSA9IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVh
ZENvbG9yKGdsOjpDb2xvckkgKmRzdCwgY29uc3QgUjE2RzE2UyAqc3JjKQorICAgIHsKKyAgICAg
ICAgZHN0LT5yZWQgICA9IHNyYy0+UjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IHNyYy0+RzsKKyAg
ICAgICAgZHN0LT5ibHVlICA9IDA7CisgICAgICAgIGRzdC0+YWxwaGEgPSAxOworICAgIH0KKwor
ICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjE2RzE2UyAqZHN0LCBjb25zdCBnbDo6Q29sb3JG
ICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8c2hv
cnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHNo
b3J0PihzcmMtPmdyZWVuKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIx
NkcxNlMgKmRzdCwgY29uc3QgZ2w6OkNvbG9ySSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5S
ID0gc3RhdGljX2Nhc3Q8c2hvcnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gc3RhdGlj
X2Nhc3Q8c2hvcnQ+KHNyYy0+Z3JlZW4pOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJh
Z2UoUjE2RzE2UyAqZHN0LCBjb25zdCBSMTZHMTZTICpzcmMxLCBjb25zdCBSMTZHMTZTICpzcmMy
KQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7
CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlKHNyYzEtPkcsIHNyYzItPkcpOworICAgIH0K
K307CisKK3N0cnVjdCBSMTZHMTZCMTZTCit7CisgICAgc2hvcnQgUjsKKyAgICBzaG9ydCBHOwor
ICAgIHNob3J0IEI7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0
LCBjb25zdCBSMTZHMTZCMTZTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gZ2w6
Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6bm9y
bWFsaXplZFRvRmxvYXQoc3JjLT5HKTsKKyAgICAgICAgZHN0LT5ibHVlICA9IGdsOjpub3JtYWxp
emVkVG9GbG9hdChzcmMtPkIpOworICAgICAgICBkc3QtPmFscGhhID0gMS4wZjsKKyAgICB9CisK
KyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9ySSAqZHN0LCBjb25zdCBSMTZHMTZC
MTZTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5SOworICAgICAgICBk
c3QtPmdyZWVuID0gc3JjLT5HOworICAgICAgICBkc3QtPmJsdWUgID0gc3JjLT5COworICAgICAg
ICBkc3QtPmFscGhhID0gMTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIx
NkcxNkIxNlMgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0
LT5SID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPHNob3J0PihzcmMtPnJlZCk7CisgICAgICAgIGRz
dC0+RyA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDxzaG9ydD4oc3JjLT5ncmVlbik7CisgICAgICAg
IGRzdC0+QiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDxzaG9ydD4oc3JjLT5ibHVlKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIxNkcxNkIxNlMgKmRzdCwgY29uc3QgZ2w6
OkNvbG9ySSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gc3RhdGljX2Nhc3Q8c2hvcnQ+
KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gc3RhdGljX2Nhc3Q8c2hvcnQ+KHNyYy0+Z3Jl
ZW4pOworICAgICAgICBkc3QtPkIgPSBzdGF0aWNfY2FzdDxzaG9ydD4oc3JjLT5ibHVlKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKFIxNkcxNkIxNlMgKmRzdCwgY29uc3QgUjE2
RzE2QjE2UyAqc3JjMSwgY29uc3QgUjE2RzE2QjE2UyAqc3JjMikKKyAgICB7CisgICAgICAgIGRz
dC0+UiA9IGdsOjphdmVyYWdlKHNyYzEtPlIsIHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBn
bDo6YXZlcmFnZShzcmMxLT5HLCBzcmMyLT5HKTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmF2ZXJh
Z2Uoc3JjMS0+Qiwgc3JjMi0+Qik7CisgICAgfQorfTsKKworc3RydWN0IFIxNkcxNkIxNkExNlMK
K3sKKyAgICBzaG9ydCBSOworICAgIHNob3J0IEc7CisgICAgc2hvcnQgQjsKKyAgICBzaG9ydCBB
OworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgUjE2
RzE2QjE2QTE2UyAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3JtYWxp
emVkVG9GbG9hdChzcmMtPlIpOworICAgICAgICBkc3QtPmdyZWVuID0gZ2w6Om5vcm1hbGl6ZWRU
b0Zsb2F0KHNyYy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBnbDo6bm9ybWFsaXplZFRvRmxv
YXQoc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChz
cmMtPkEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JJICpk
c3QsIGNvbnN0IFIxNkcxNkIxNkExNlMgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAg
PSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAgIGRzdC0+Ymx1
ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSBzcmMtPkE7CisgICAgfQorCisgICAg
c3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMTZHMTZCMTZBMTZTICpkc3QsIGNvbnN0IGdsOjpDb2xv
ckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDxz
aG9ydD4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8
c2hvcnQ+KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBnbDo6ZmxvYXRUb05vcm1hbGl6
ZWQ8c2hvcnQ+KHNyYy0+Ymx1ZSk7CisgICAgICAgIGRzdC0+QSA9IGdsOjpmbG9hdFRvTm9ybWFs
aXplZDxzaG9ydD4oc3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVD
b2xvcihSMTZHMTZCMTZBMTZTICpkc3QsIGNvbnN0IGdsOjpDb2xvckkgKnNyYykKKyAgICB7Cisg
ICAgICAgIGRzdC0+UiA9IHN0YXRpY19jYXN0PHNob3J0PihzcmMtPnJlZCk7CisgICAgICAgIGRz
dC0+RyA9IHN0YXRpY19jYXN0PHNob3J0PihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0LT5CID0g
c3RhdGljX2Nhc3Q8c2hvcnQ+KHNyYy0+Ymx1ZSk7CisgICAgICAgIGRzdC0+QSA9IHN0YXRpY19j
YXN0PHNob3J0PihzcmMtPmFscGhhKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdl
KFIxNkcxNkIxNkExNlMgKmRzdCwgY29uc3QgUjE2RzE2QjE2QTE2UyAqc3JjMSwgY29uc3QgUjE2
RzE2QjE2QTE2UyAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjphdmVyYWdlKHNy
YzEtPlIsIHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBnbDo6YXZlcmFnZShzcmMxLT5HLCBz
cmMyLT5HKTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Qiwgc3JjMi0+Qik7
CisgICAgICAgIGRzdC0+QSA9IGdsOjphdmVyYWdlKHNyYzEtPkEsIHNyYzItPkEpOworICAgIH0K
K307CisKK3N0cnVjdCBSMzJTCit7CisgICAgaW50IFI7CisKKyAgICBzdGF0aWMgdm9pZCByZWFk
Q29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBSMzJTICpzcmMpCisgICAgeworICAgICAgICBk
c3QtPnJlZCAgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+
Z3JlZW4gPSAwLjBmOworICAgICAgICBkc3QtPmJsdWUgID0gMC4wZjsKKyAgICAgICAgZHN0LT5h
bHBoYSA9IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xv
ckkgKmRzdCwgY29uc3QgUjMyUyAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IHNy
Yy0+UjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IDA7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSAwOwor
ICAgICAgICBkc3QtPmFscGhhID0gMTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNv
bG9yKFIzMlMgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0
LT5SID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPGludD4oc3JjLT5yZWQpOworICAgIH0KKworICAg
IHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjMyUyAqZHN0LCBjb25zdCBnbDo6Q29sb3JJICpzcmMp
CisgICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDxpbnQ+KHNyYy0+cmVkKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKFIzMlMgKmRzdCwgY29uc3QgUjMyUyAqc3Jj
MSwgY29uc3QgUjMyUyAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjphdmVyYWdl
KHNyYzEtPlIsIHNyYzItPlIpOworICAgIH0KK307CisKK3N0cnVjdCBSMzJHMzJTCit7CisgICAg
aW50IFI7CisgICAgaW50IEc7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9y
RiAqZHN0LCBjb25zdCBSMzJHMzJTICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0g
Z2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6
bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5HKTsKKyAgICAgICAgZHN0LT5ibHVlICA9IDAuMGY7Cisg
ICAgICAgIGRzdC0+YWxwaGEgPSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJlYWRD
b2xvcihnbDo6Q29sb3JJICpkc3QsIGNvbnN0IFIzMkczMlMgKnNyYykKKyAgICB7CisgICAgICAg
IGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAg
ICAgIGRzdC0+Ymx1ZSAgPSAwOworICAgICAgICBkc3QtPmFscGhhID0gMTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIzMkczMlMgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAq
c3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmZsb2F0VG9Ob3JtYWxpemVkPGludD4o
c3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8aW50Pihz
cmMtPmdyZWVuKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIzMkczMlMg
KmRzdCwgY29uc3QgZ2w6OkNvbG9ySSAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gc3Rh
dGljX2Nhc3Q8aW50PihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IHN0YXRpY19jYXN0PGlu
dD4oc3JjLT5ncmVlbik7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSMzJHMzJT
ICpkc3QsIGNvbnN0IFIzMkczMlMgKnNyYzEsIGNvbnN0IFIzMkczMlMgKnNyYzIpCisgICAgewor
ICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZShzcmMxLT5SLCBzcmMyLT5SKTsKKyAgICAgICAg
ZHN0LT5HID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Rywgc3JjMi0+Ryk7CisgICAgfQorfTsKKworc3Ry
dWN0IFIzMkczMkIzMlMKK3sKKyAgICBpbnQgUjsKKyAgICBpbnQgRzsKKyAgICBpbnQgQjsKKwor
ICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFIzMkczMkIz
MlMgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBnbDo6bm9ybWFsaXplZFRvRmxv
YXQoc3JjLT5SKTsKKyAgICAgICAgZHN0LT5ncmVlbiA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChz
cmMtPkcpOworICAgICAgICBkc3QtPmJsdWUgID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+
Qik7CisgICAgICAgIGRzdC0+YWxwaGEgPSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lk
IHJlYWRDb2xvcihnbDo6Q29sb3JJICpkc3QsIGNvbnN0IFIzMkczMkIzMlMgKnNyYykKKyAgICB7
CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMt
Pkc7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSAx
OworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjMyRzMyQjMyUyAqZHN0LCBj
b25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRU
b05vcm1hbGl6ZWQ8aW50PihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IGdsOjpmbG9hdFRv
Tm9ybWFsaXplZDxpbnQ+KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBnbDo6ZmxvYXRU
b05vcm1hbGl6ZWQ8aW50PihzcmMtPmJsdWUpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdy
aXRlQ29sb3IoUjMyRzMyQjMyUyAqZHN0LCBjb25zdCBnbDo6Q29sb3JJICpzcmMpCisgICAgewor
ICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDxpbnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0
LT5HID0gc3RhdGljX2Nhc3Q8aW50PihzcmMtPmdyZWVuKTsKKyAgICAgICAgZHN0LT5CID0gc3Rh
dGljX2Nhc3Q8aW50PihzcmMtPmJsdWUpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJh
Z2UoUjMyRzMyQjMyUyAqZHN0LCBjb25zdCBSMzJHMzJCMzJTICpzcmMxLCBjb25zdCBSMzJHMzJC
MzJTICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwg
c3JjMi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlKHNyYzEtPkcsIHNyYzItPkcp
OworICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZShzcmMxLT5CLCBzcmMyLT5CKTsKKyAgICB9
Cit9OworCitzdHJ1Y3QgUjMyRzMyQjMyQTMyUworeworICAgIGludCBSOworICAgIGludCBHOwor
ICAgIGludCBCOworICAgIGludCBBOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpD
b2xvckYgKmRzdCwgY29uc3QgUjMyRzMyQjMyQTMyUyAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0
LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9GbG9hdChzcmMtPlIpOworICAgICAgICBkc3QtPmdy
ZWVuID0gZ2w6Om5vcm1hbGl6ZWRUb0Zsb2F0KHNyYy0+Ryk7CisgICAgICAgIGRzdC0+Ymx1ZSAg
PSBnbDo6bm9ybWFsaXplZFRvRmxvYXQoc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGds
Ojpub3JtYWxpemVkVG9GbG9hdChzcmMtPkEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHJl
YWRDb2xvcihnbDo6Q29sb3JJICpkc3QsIGNvbnN0IFIzMkczMkIzMkEzMlMgKnNyYykKKyAgICB7
CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMt
Pkc7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSBz
cmMtPkE7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMzJHMzJCMzJBMzJT
ICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGds
OjpmbG9hdFRvTm9ybWFsaXplZDxpbnQ+KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6
OmZsb2F0VG9Ob3JtYWxpemVkPGludD4oc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9IGds
OjpmbG9hdFRvTm9ybWFsaXplZDxpbnQ+KHNyYy0+Ymx1ZSk7CisgICAgICAgIGRzdC0+QSA9IGds
OjpmbG9hdFRvTm9ybWFsaXplZDxpbnQ+KHNyYy0+YWxwaGEpOworICAgIH0KKworICAgIHN0YXRp
YyB2b2lkIHdyaXRlQ29sb3IoUjMyRzMyQjMyQTMyUyAqZHN0LCBjb25zdCBnbDo6Q29sb3JJICpz
cmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBzdGF0aWNfY2FzdDxpbnQ+KHNyYy0+cmVkKTsK
KyAgICAgICAgZHN0LT5HID0gc3RhdGljX2Nhc3Q8aW50PihzcmMtPmdyZWVuKTsKKyAgICAgICAg
ZHN0LT5CID0gc3RhdGljX2Nhc3Q8aW50PihzcmMtPmJsdWUpOworICAgICAgICBkc3QtPkEgPSBz
dGF0aWNfY2FzdDxpbnQ+KHNyYy0+YWxwaGEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2
ZXJhZ2UoUjMyRzMyQjMyQTMyUyAqZHN0LCBjb25zdCBSMzJHMzJCMzJBMzJTICpzcmMxLCBjb25z
dCBSMzJHMzJCMzJBMzJTICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJh
Z2Uoc3JjMS0+Uiwgc3JjMi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlKHNyYzEt
PkcsIHNyYzItPkcpOworICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZShzcmMxLT5CLCBzcmMy
LT5CKTsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+QSwgc3JjMi0+QSk7Cisg
ICAgfQorfTsKKworc3RydWN0IEExNkIxNkcxNlIxNkYKK3sKKyAgICB1bnNpZ25lZCBzaG9ydCBB
OworICAgIHVuc2lnbmVkIHNob3J0IFI7CisgICAgdW5zaWduZWQgc2hvcnQgRzsKKyAgICB1bnNp
Z25lZCBzaG9ydCBCOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRz
dCwgY29uc3QgQTE2QjE2RzE2UjE2RiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9
IGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNyYy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6
ZmxvYXQxNlRvRmxvYXQzMihzcmMtPkcpOworICAgICAgICBkc3QtPmJsdWUgID0gZ2w6OmZsb2F0
MTZUb0Zsb2F0MzIoc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpmbG9hdDE2VG9G
bG9hdDMyKHNyYy0+QSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihBMTZC
MTZHMTZSMTZGICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRz
dC0+UiA9IGdsOjpmbG9hdDMyVG9GbG9hdDE2KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0g
Z2w6OmZsb2F0MzJUb0Zsb2F0MTYoc3JjLT5ncmVlbik7CisgICAgICAgIGRzdC0+QiA9IGdsOjpm
bG9hdDMyVG9GbG9hdDE2KHNyYy0+Ymx1ZSk7CisgICAgICAgIGRzdC0+QSA9IGdsOjpmbG9hdDMy
VG9GbG9hdDE2KHNyYy0+YWxwaGEpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2Uo
QTE2QjE2RzE2UjE2RiAqZHN0LCBjb25zdCBBMTZCMTZHMTZSMTZGICpzcmMxLCBjb25zdCBBMTZC
MTZHMTZSMTZGICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2VIYWxm
RmxvYXQoc3JjMS0+Uiwgc3JjMi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlSGFs
ZkZsb2F0KHNyYzEtPkcsIHNyYzItPkcpOworICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZUhh
bGZGbG9hdChzcmMxLT5CLCBzcmMyLT5CKTsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmF2ZXJhZ2VI
YWxmRmxvYXQoc3JjMS0+QSwgc3JjMi0+QSk7CisgICAgfQorfTsKKworc3RydWN0IFIxNkcxNkIx
NkExNkYKK3sKKyAgICB1bnNpZ25lZCBzaG9ydCBSOworICAgIHVuc2lnbmVkIHNob3J0IEc7Cisg
ICAgdW5zaWduZWQgc2hvcnQgQjsKKyAgICB1bnNpZ25lZCBzaG9ydCBBOworCisgICAgc3RhdGlj
IHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgUjE2RzE2QjE2QTE2RiAqc3Jj
KQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNyYy0+
Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6ZmxvYXQxNlRvRmxvYXQzMihzcmMtPkcpOwor
ICAgICAgICBkc3QtPmJsdWUgID0gZ2w6OmZsb2F0MTZUb0Zsb2F0MzIoc3JjLT5CKTsKKyAgICAg
ICAgZHN0LT5hbHBoYSA9IGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNyYy0+QSk7CisgICAgfQorCisg
ICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMTZHMTZCMTZBMTZGICpkc3QsIGNvbnN0IGdsOjpD
b2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjpmbG9hdDMyVG9GbG9hdDE2
KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmZsb2F0MzJUb0Zsb2F0MTYoc3JjLT5n
cmVlbik7CisgICAgICAgIGRzdC0+QiA9IGdsOjpmbG9hdDMyVG9GbG9hdDE2KHNyYy0+Ymx1ZSk7
CisgICAgICAgIGRzdC0+QSA9IGdsOjpmbG9hdDMyVG9GbG9hdDE2KHNyYy0+YWxwaGEpOworICAg
IH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2UoUjE2RzE2QjE2QTE2RiAqZHN0LCBjb25zdCBS
MTZHMTZCMTZBMTZGICpzcmMxLCBjb25zdCBSMTZHMTZCMTZBMTZGICpzcmMyKQorICAgIHsKKyAg
ICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2VIYWxmRmxvYXQoc3JjMS0+Uiwgc3JjMi0+Uik7Cisg
ICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlSGFsZkZsb2F0KHNyYzEtPkcsIHNyYzItPkcpOwor
ICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZUhhbGZGbG9hdChzcmMxLT5CLCBzcmMyLT5CKTsK
KyAgICAgICAgZHN0LT5BID0gZ2w6OmF2ZXJhZ2VIYWxmRmxvYXQoc3JjMS0+QSwgc3JjMi0+QSk7
CisgICAgfQorfTsKKworc3RydWN0IFIxNkYKK3sKKyAgICB1bnNpZ25lZCBzaG9ydCBSOworCisg
ICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgUjE2RiAqc3Jj
KQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNyYy0+
Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSAwLjBmOworICAgICAgICBkc3QtPmJsdWUgID0gMC4w
ZjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IDEuMGY7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQg
d3JpdGVDb2xvcihSMTZGICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAg
ICAgIGRzdC0+UiA9IGdsOjpmbG9hdDMyVG9GbG9hdDE2KHNyYy0+cmVkKTsKKyAgICB9CisgICAg
CisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSMTZGICpkc3QsIGNvbnN0IFIxNkYgKnNyYzEsIGNv
bnN0IFIxNkYgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZUhhbGZG
bG9hdChzcmMxLT5SLCBzcmMyLT5SKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgQTE2RgoreworICAg
IHVuc2lnbmVkIHNob3J0IEE7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9y
RiAqZHN0LCBjb25zdCBBMTZGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gMC4w
ZjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IDAuMGY7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSAwLjBm
OworICAgICAgICBkc3QtPmFscGhhID0gZ2w6OmZsb2F0MTZUb0Zsb2F0MzIoc3JjLT5BKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKEExNkYgKmRzdCwgY29uc3QgZ2w6OkNv
bG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5BID0gZ2w6OmZsb2F0MzJUb0Zsb2F0MTYo
c3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShBMTZGICpkc3Qs
IGNvbnN0IEExNkYgKnNyYzEsIGNvbnN0IEExNkYgKnNyYzIpCisgICAgeworICAgICAgICBkc3Qt
PkEgPSBnbDo6YXZlcmFnZUhhbGZGbG9hdChzcmMxLT5BLCBzcmMyLT5BKTsKKyAgICB9Cit9Owor
CitzdHJ1Y3QgTDE2RgoreworICAgIHVuc2lnbmVkIHNob3J0IEw7CisKKyAgICBzdGF0aWMgdm9p
ZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBMMTZGICpzcmMpCisgICAgeworICAg
ICAgICBmbG9hdCBsdW0gPSBnbDo6ZmxvYXQxNlRvRmxvYXQzMihzcmMtPkwpOworICAgICAgICBk
c3QtPnJlZCAgID0gbHVtOworICAgICAgICBkc3QtPmdyZWVuID0gbHVtOworICAgICAgICBkc3Qt
PmJsdWUgID0gbHVtOworICAgICAgICBkc3QtPmFscGhhID0gMS4wZjsKKyAgICB9CisKKyAgICBz
dGF0aWMgdm9pZCB3cml0ZUNvbG9yKEwxNkYgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQor
ICAgIHsKKyAgICAgICAgZHN0LT5MID0gZ2w6OmZsb2F0MzJUb0Zsb2F0MTYoKHNyYy0+cmVkICsg
c3JjLT5ncmVlbiArIHNyYy0+Ymx1ZSkgLyAzLjBmKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9p
ZCBhdmVyYWdlKEwxNkYgKmRzdCwgY29uc3QgTDE2RiAqc3JjMSwgY29uc3QgTDE2RiAqc3JjMikK
KyAgICB7CisgICAgICAgIGRzdC0+TCA9IGdsOjphdmVyYWdlSGFsZkZsb2F0KHNyYzEtPkwsIHNy
YzItPkwpOworICAgIH0KK307CisKK3N0cnVjdCBMMTZBMTZGCit7CisgICAgdW5zaWduZWQgc2hv
cnQgTDsKKyAgICB1bnNpZ25lZCBzaG9ydCBBOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9y
KGdsOjpDb2xvckYgKmRzdCwgY29uc3QgTDE2QTE2RiAqc3JjKQorICAgIHsKKyAgICAgICAgZmxv
YXQgbHVtID0gZ2w6OmZsb2F0MTZUb0Zsb2F0MzIoc3JjLT5MKTsKKyAgICAgICAgZHN0LT5yZWQg
ICA9IGx1bTsKKyAgICAgICAgZHN0LT5ncmVlbiA9IGx1bTsKKyAgICAgICAgZHN0LT5ibHVlICA9
IGx1bTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNyYy0+QSk7
CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihMMTZBMTZGICpkc3QsIGNvbnN0
IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+TCA9IGdsOjpmbG9hdDMyVG9G
bG9hdDE2KChzcmMtPnJlZCArIHNyYy0+Z3JlZW4gKyBzcmMtPmJsdWUpIC8gMy4wZik7CisgICAg
ICAgIGRzdC0+QSA9IGdsOjpmbG9hdDMyVG9GbG9hdDE2KHNyYy0+YWxwaGEpOworICAgIH0KKwor
ICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2UoTDE2QTE2RiAqZHN0LCBjb25zdCBMMTZBMTZGICpzcmMx
LCBjb25zdCBMMTZBMTZGICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5MID0gZ2w6OmF2ZXJh
Z2VIYWxmRmxvYXQoc3JjMS0+TCwgc3JjMi0+TCk7CisgICAgICAgIGRzdC0+QSA9IGdsOjphdmVy
YWdlSGFsZkZsb2F0KHNyYzEtPkEsIHNyYzItPkEpOworICAgIH0KK307CisKK3N0cnVjdCBSMTZH
MTZGCit7CisgICAgdW5zaWduZWQgc2hvcnQgUjsKKyAgICB1bnNpZ25lZCBzaG9ydCBHOworCisg
ICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgUjE2RzE2RiAq
c3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNy
Yy0+Uik7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBnbDo6ZmxvYXQxNlRvRmxvYXQzMihzcmMtPkcp
OworICAgICAgICBkc3QtPmJsdWUgID0gMC4wZjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IDEuMGY7
CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMTZHMTZGICpkc3QsIGNvbnN0
IGdsOjpDb2xvckYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjpmbG9hdDMyVG9G
bG9hdDE2KHNyYy0+cmVkKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmZsb2F0MzJUb0Zsb2F0MTYo
c3JjLT5ncmVlbik7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSMTZHMTZGICpk
c3QsIGNvbnN0IFIxNkcxNkYgKnNyYzEsIGNvbnN0IFIxNkcxNkYgKnNyYzIpCisgICAgeworICAg
ICAgICBkc3QtPlIgPSBnbDo6YXZlcmFnZUhhbGZGbG9hdChzcmMxLT5SLCBzcmMyLT5SKTsKKyAg
ICAgICAgZHN0LT5HID0gZ2w6OmF2ZXJhZ2VIYWxmRmxvYXQoc3JjMS0+Rywgc3JjMi0+Ryk7Cisg
ICAgfQorfTsKKworc3RydWN0IFIxNkcxNkIxNkYKK3sKKyAgICB1bnNpZ25lZCBzaG9ydCBSOwor
ICAgIHVuc2lnbmVkIHNob3J0IEc7CisgICAgdW5zaWduZWQgc2hvcnQgQjsKKworICAgIHN0YXRp
YyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFIxNkcxNkIxNkYgKnNyYykK
KyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBnbDo6ZmxvYXQxNlRvRmxvYXQzMihzcmMtPlIp
OworICAgICAgICBkc3QtPmdyZWVuID0gZ2w6OmZsb2F0MTZUb0Zsb2F0MzIoc3JjLT5HKTsKKyAg
ICAgICAgZHN0LT5ibHVlICA9IGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNyYy0+Qik7CisgICAgICAg
IGRzdC0+YWxwaGEgPSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3Io
UjE2RzE2QjE2RiAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBk
c3QtPlIgPSBnbDo6ZmxvYXQzMlRvRmxvYXQxNihzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9
IGdsOjpmbG9hdDMyVG9GbG9hdDE2KHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBnbDo6
ZmxvYXQzMlRvRmxvYXQxNihzcmMtPmJsdWUpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2
ZXJhZ2UoUjE2RzE2QjE2RiAqZHN0LCBjb25zdCBSMTZHMTZCMTZGICpzcmMxLCBjb25zdCBSMTZH
MTZCMTZGICpzcmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2VIYWxmRmxv
YXQoc3JjMS0+Uiwgc3JjMi0+Uik7CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlSGFsZkZs
b2F0KHNyYzEtPkcsIHNyYzItPkcpOworICAgICAgICBkc3QtPkIgPSBnbDo6YXZlcmFnZUhhbGZG
bG9hdChzcmMxLT5CLCBzcmMyLT5CKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgQTMyQjMyRzMyUjMy
RgoreworICAgIGZsb2F0IEE7CisgICAgZmxvYXQgUjsKKyAgICBmbG9hdCBHOworICAgIGZsb2F0
IEI7CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBB
MzJCMzJHMzJSMzJGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPnJlZCAgID0gc3JjLT5SOwor
ICAgICAgICBkc3QtPmdyZWVuID0gc3JjLT5HOworICAgICAgICBkc3QtPmJsdWUgID0gc3JjLT5C
OworICAgICAgICBkc3QtPmFscGhhID0gc3JjLT5BOworICAgIH0KKworICAgIHN0YXRpYyB2b2lk
IHdyaXRlQ29sb3IoQTMyQjMyRzMyUjMyRiAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisg
ICAgeworICAgICAgICBkc3QtPlIgPSBzcmMtPnJlZDsKKyAgICAgICAgZHN0LT5HID0gc3JjLT5n
cmVlbjsKKyAgICAgICAgZHN0LT5CID0gc3JjLT5ibHVlOworICAgICAgICBkc3QtPkEgPSBzcmMt
PmFscGhhOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2UoQTMyQjMyRzMyUjMyRiAq
ZHN0LCBjb25zdCBBMzJCMzJHMzJSMzJGICpzcmMxLCBjb25zdCBBMzJCMzJHMzJSMzJGICpzcmMy
KQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7
CisgICAgICAgIGRzdC0+RyA9IGdsOjphdmVyYWdlKHNyYzEtPkcsIHNyYzItPkcpOworICAgICAg
ICBkc3QtPkIgPSBnbDo6YXZlcmFnZShzcmMxLT5CLCBzcmMyLT5CKTsKKyAgICAgICAgZHN0LT5B
ID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+QSwgc3JjMi0+QSk7CisgICAgfQorfTsKKworc3RydWN0IFIz
MkczMkIzMkEzMkYKK3sKKyAgICBmbG9hdCBSOworICAgIGZsb2F0IEc7CisgICAgZmxvYXQgQjsK
KyAgICBmbG9hdCBBOworCisgICAgc3RhdGljIHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRz
dCwgY29uc3QgUjMyRzMyQjMyQTMyRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9
IHNyYy0+UjsKKyAgICAgICAgZHN0LT5ncmVlbiA9IHNyYy0+RzsKKyAgICAgICAgZHN0LT5ibHVl
ICA9IHNyYy0+QjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IHNyYy0+QTsKKyAgICB9CisKKyAgICBz
dGF0aWMgdm9pZCB3cml0ZUNvbG9yKFIzMkczMkIzMkEzMkYgKmRzdCwgY29uc3QgZ2w6OkNvbG9y
RiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gc3JjLT5yZWQ7CisgICAgICAgIGRzdC0+
RyA9IHNyYy0+Z3JlZW47CisgICAgICAgIGRzdC0+QiA9IHNyYy0+Ymx1ZTsKKyAgICAgICAgZHN0
LT5BID0gc3JjLT5hbHBoYTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKFIzMkcz
MkIzMkEzMkYgKmRzdCwgY29uc3QgUjMyRzMyQjMyQTMyRiAqc3JjMSwgY29uc3QgUjMyRzMyQjMy
QTMyRiAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+UiA9IGdsOjphdmVyYWdlKHNyYzEtPlIs
IHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBnbDo6YXZlcmFnZShzcmMxLT5HLCBzcmMyLT5H
KTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Qiwgc3JjMi0+Qik7CisgICAg
ICAgIGRzdC0+QSA9IGdsOjphdmVyYWdlKHNyYzEtPkEsIHNyYzItPkEpOworICAgIH0KK307CisK
K3N0cnVjdCBSMzJGCit7CisgICAgZmxvYXQgUjsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xv
cihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFIzMkYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+
cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSAwLjBmOworICAgICAgICBkc3Qt
PmJsdWUgID0gMC4wZjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IDEuMGY7CisgICAgfQorCisgICAg
c3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMzJGICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykK
KyAgICB7CisgICAgICAgIGRzdC0+UiA9IHNyYy0+cmVkOworICAgIH0KKworICAgIHN0YXRpYyB2
b2lkIGF2ZXJhZ2UoUjMyRiAqZHN0LCBjb25zdCBSMzJGICpzcmMxLCBjb25zdCBSMzJGICpzcmMy
KQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7
CisgICAgfQorfTsKKworc3RydWN0IEEzMkYKK3sKKyAgICBmbG9hdCBBOworCisgICAgc3RhdGlj
IHZvaWQgcmVhZENvbG9yKGdsOjpDb2xvckYgKmRzdCwgY29uc3QgQTMyRiAqc3JjKQorICAgIHsK
KyAgICAgICAgZHN0LT5yZWQgICA9IDAuMGY7CisgICAgICAgIGRzdC0+Z3JlZW4gPSAwLjBmOwor
ICAgICAgICBkc3QtPmJsdWUgID0gMC4wZjsKKyAgICAgICAgZHN0LT5hbHBoYSA9IHNyYy0+QTsK
KyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0ZUNvbG9yKEEzMkYgKmRzdCwgY29uc3QgZ2w6
OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5BID0gc3JjLT5hbHBoYTsKKyAgICB9
CisKKyAgICBzdGF0aWMgdm9pZCBhdmVyYWdlKEEzMkYgKmRzdCwgY29uc3QgQTMyRiAqc3JjMSwg
Y29uc3QgQTMyRiAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+QSA9IGdsOjphdmVyYWdlKHNy
YzEtPkEsIHNyYzItPkEpOworICAgIH0KK307CisKK3N0cnVjdCBMMzJGCit7CisgICAgZmxvYXQg
TDsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IEwz
MkYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPkw7CisgICAgICAgIGRz
dC0+Z3JlZW4gPSBzcmMtPkw7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkw7CisgICAgICAg
IGRzdC0+YWxwaGEgPSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3Io
TDMyRiAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPkwg
PSAoc3JjLT5yZWQgKyBzcmMtPmdyZWVuICsgc3JjLT5ibHVlKSAvIDMuMGY7CisgICAgfQorCisg
ICAgc3RhdGljIHZvaWQgYXZlcmFnZShMMzJGICpkc3QsIGNvbnN0IEwzMkYgKnNyYzEsIGNvbnN0
IEwzMkYgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPkwgPSBnbDo6YXZlcmFnZShzcmMxLT5M
LCBzcmMyLT5MKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgTDMyQTMyRgoreworICAgIGZsb2F0IEw7
CisgICAgZmxvYXQgQTsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpk
c3QsIGNvbnN0IEwzMkEzMkYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMt
Pkw7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkw7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBz
cmMtPkw7CisgICAgICAgIGRzdC0+YWxwaGEgPSBzcmMtPkE7CisgICAgfQorCisgICAgc3RhdGlj
IHZvaWQgd3JpdGVDb2xvcihMMzJBMzJGICpkc3QsIGNvbnN0IGdsOjpDb2xvckYgKnNyYykKKyAg
ICB7CisgICAgICAgIGRzdC0+TCA9IChzcmMtPnJlZCArIHNyYy0+Z3JlZW4gKyBzcmMtPmJsdWUp
IC8gMy4wZjsKKyAgICAgICAgZHN0LT5BID0gc3JjLT5hbHBoYTsKKyAgICB9CisKKyAgICBzdGF0
aWMgdm9pZCBhdmVyYWdlKEwzMkEzMkYgKmRzdCwgY29uc3QgTDMyQTMyRiAqc3JjMSwgY29uc3Qg
TDMyQTMyRiAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+TCA9IGdsOjphdmVyYWdlKHNyYzEt
PkwsIHNyYzItPkwpOworICAgICAgICBkc3QtPkEgPSBnbDo6YXZlcmFnZShzcmMxLT5BLCBzcmMy
LT5BKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgUjMyRzMyRgoreworICAgIGZsb2F0IFI7CisgICAg
ZmxvYXQgRzsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNv
bnN0IFIzMkczMkYgKnNyYykKKyAgICB7CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7Cisg
ICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSAwLjBmOwor
ICAgICAgICBkc3QtPmFscGhhID0gMS4wZjsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB3cml0
ZUNvbG9yKFIzMkczMkYgKmRzdCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAg
ICAgZHN0LT5SID0gc3JjLT5yZWQ7CisgICAgICAgIGRzdC0+RyA9IHNyYy0+Z3JlZW47CisgICAg
fQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSMzJHMzJGICpkc3QsIGNvbnN0IFIzMkczMkYg
KnNyYzEsIGNvbnN0IFIzMkczMkYgKnNyYzIpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6
YXZlcmFnZShzcmMxLT5SLCBzcmMyLT5SKTsKKyAgICAgICAgZHN0LT5HID0gZ2w6OmF2ZXJhZ2Uo
c3JjMS0+Rywgc3JjMi0+Ryk7CisgICAgfQorfTsKKworc3RydWN0IFIzMkczMkIzMkYKK3sKKyAg
ICBmbG9hdCBSOworICAgIGZsb2F0IEc7CisgICAgZmxvYXQgQjsKKworICAgIHN0YXRpYyB2b2lk
IHJlYWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFIzMkczMkIzMkYgKnNyYykKKyAgICB7
CisgICAgICAgIGRzdC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMt
Pkc7CisgICAgICAgIGRzdC0+Ymx1ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSAx
LjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjMyRzMyQjMyRiAqZHN0
LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBzcmMtPnJl
ZDsKKyAgICAgICAgZHN0LT5HID0gc3JjLT5ncmVlbjsKKyAgICAgICAgZHN0LT5CID0gc3JjLT5i
bHVlOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2UoUjMyRzMyQjMyRiAqZHN0LCBj
b25zdCBSMzJHMzJCMzJGICpzcmMxLCBjb25zdCBSMzJHMzJCMzJGICpzcmMyKQorICAgIHsKKyAg
ICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2Uoc3JjMS0+Uiwgc3JjMi0+Uik7CisgICAgICAgIGRz
dC0+RyA9IGdsOjphdmVyYWdlKHNyYzEtPkcsIHNyYzItPkcpOworICAgICAgICBkc3QtPkIgPSBn
bDo6YXZlcmFnZShzcmMxLT5CLCBzcmMyLT5CKTsKKyAgICB9Cit9OworCitzdHJ1Y3QgUjEwRzEw
QjEwQTIKK3sKKyAgICB1bnNpZ25lZCBpbnQgUiA6IDEwOworICAgIHVuc2lnbmVkIGludCBHIDog
MTA7CisgICAgdW5zaWduZWQgaW50IEIgOiAxMDsKKyAgICB1bnNpZ25lZCBpbnQgQSA6IDI7CisK
KyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6OkNvbG9yRiAqZHN0LCBjb25zdCBSMTBHMTBC
MTBBMiAqc3JjKQorICAgIHsKKyAgICAgICAgZHN0LT5yZWQgICA9IGdsOjpub3JtYWxpemVkVG9G
bG9hdDwxMD4oc3JjLT5SKTsKKyAgICAgICAgZHN0LT5ncmVlbiA9IGdsOjpub3JtYWxpemVkVG9G
bG9hdDwxMD4oc3JjLT5HKTsKKyAgICAgICAgZHN0LT5ibHVlICA9IGdsOjpub3JtYWxpemVkVG9G
bG9hdDwxMD4oc3JjLT5CKTsKKyAgICAgICAgZHN0LT5hbHBoYSA9IGdsOjpub3JtYWxpemVkVG9G
bG9hdDwgMj4oc3JjLT5BKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCByZWFkQ29sb3IoZ2w6
OkNvbG9yVUkgKmRzdCwgY29uc3QgUjEwRzEwQjEwQTIgKnNyYykKKyAgICB7CisgICAgICAgIGRz
dC0+cmVkICAgPSBzcmMtPlI7CisgICAgICAgIGRzdC0+Z3JlZW4gPSBzcmMtPkc7CisgICAgICAg
IGRzdC0+Ymx1ZSAgPSBzcmMtPkI7CisgICAgICAgIGRzdC0+YWxwaGEgPSBzcmMtPkE7CisgICAg
fQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihSMTBHMTBCMTBBMiAqZHN0LCBjb25zdCBn
bDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBnbDo6ZmxvYXRUb05vcm1h
bGl6ZWQ8MTAsIHVuc2lnbmVkIGludD4oc3JjLT5yZWQpOworICAgICAgICBkc3QtPkcgPSBnbDo6
ZmxvYXRUb05vcm1hbGl6ZWQ8MTAsIHVuc2lnbmVkIGludD4oc3JjLT5ncmVlbik7CisgICAgICAg
IGRzdC0+QiA9IGdsOjpmbG9hdFRvTm9ybWFsaXplZDwxMCwgdW5zaWduZWQgaW50PihzcmMtPmJs
dWUpOworICAgICAgICBkc3QtPkEgPSBnbDo6ZmxvYXRUb05vcm1hbGl6ZWQ8IDIsIHVuc2lnbmVk
IGludD4oc3JjLT5hbHBoYSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgd3JpdGVDb2xvcihS
MTBHMTBCMTBBMiAqZHN0LCBjb25zdCBnbDo6Q29sb3JVSSAqc3JjKQorICAgIHsKKyAgICAgICAg
ZHN0LT5SID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzcmMtPnJlZCk7CisgICAgICAgIGRz
dC0+RyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc3JjLT5ncmVlbik7CisgICAgICAgIGRz
dC0+QiA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc3JjLT5ibHVlKTsKKyAgICAgICAgZHN0
LT5BID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzcmMtPmFscGhhKTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgdm9pZCBhdmVyYWdlKFIxMEcxMEIxMEEyICpkc3QsIGNvbnN0IFIxMEcxMEIxMEEy
ICpzcmMxLCBjb25zdCBSMTBHMTBCMTBBMiAqc3JjMikKKyAgICB7CisgICAgICAgIGRzdC0+UiA9
IGdsOjphdmVyYWdlKHNyYzEtPlIsIHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBnbDo6YXZl
cmFnZShzcmMxLT5HLCBzcmMyLT5HKTsKKyAgICAgICAgZHN0LT5CID0gZ2w6OmF2ZXJhZ2Uoc3Jj
MS0+Qiwgc3JjMi0+Qik7CisgICAgICAgIGRzdC0+QSA9IGdsOjphdmVyYWdlKHNyYzEtPkEsIHNy
YzItPkEpOworICAgIH0KK307CisKK3N0cnVjdCBSOUc5QjlFNQoreworICAgIHVuc2lnbmVkIGlu
dCBSIDogOTsKKyAgICB1bnNpZ25lZCBpbnQgRyA6IDk7CisgICAgdW5zaWduZWQgaW50IEIgOiA5
OworICAgIHVuc2lnbmVkIGludCBFIDogNTsKKworICAgIHN0YXRpYyB2b2lkIHJlYWRDb2xvcihn
bDo6Q29sb3JGICpkc3QsIGNvbnN0IFI5RzlCOUU1ICpzcmMpCisgICAgeworICAgICAgICBnbDo6
Y29udmVydDk5OUU1dG9SR0JGbG9hdHMoZ2w6OmJpdENhc3Q8dW5zaWduZWQgaW50Pigqc3JjKSwg
JmRzdC0+cmVkLCAmZHN0LT5ncmVlbiwgJmRzdC0+Ymx1ZSk7CisgICAgICAgIGRzdC0+YWxwaGEg
PSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjlHOUI5RTUgKmRz
dCwgY29uc3QgZ2w6OkNvbG9yRiAqc3JjKQorICAgIHsKKyAgICAgICAgKnJlaW50ZXJwcmV0X2Nh
c3Q8dW5zaWduZWQgaW50Kj4oZHN0KSA9IGdsOjpjb252ZXJ0UkdCRmxvYXRzVG85OTlFNShzcmMt
PnJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzcmMtPmdyZWVuLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNyYy0+Ymx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXZlcmFnZShSOUc5QjlFNSAq
ZHN0LCBjb25zdCBSOUc5QjlFNSAqc3JjMSwgY29uc3QgUjlHOUI5RTUgKnNyYzIpCisgICAgewor
ICAgICAgICBmbG9hdCByMSwgZzEsIGIxOworICAgICAgICBnbDo6Y29udmVydDk5OUU1dG9SR0JG
bG9hdHMoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgaW50Kj4oc3JjMSksICZyMSwg
JmcxLCAmYjEpOworCisgICAgICAgIGZsb2F0IHIyLCBnMiwgYjI7CisgICAgICAgIGdsOjpjb252
ZXJ0OTk5RTV0b1JHQkZsb2F0cygqcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBpbnQq
PihzcmMyKSwgJnIyLCAmZzIsICZiMik7CisKKyAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8dW5z
aWduZWQgaW50Kj4oZHN0KSA9IGdsOjpjb252ZXJ0UkdCRmxvYXRzVG85OTlFNShnbDo6YXZlcmFn
ZShyMSwgcjIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjphdmVyYWdlKGcxLCBnMiksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2w6OmF2ZXJhZ2UoYjEsIGIyKSk7CisgICAgfQorfTsKKworc3RydWN0
IFIxMUcxMUIxMEYKK3sKKyAgICB1bnNpZ25lZCBpbnQgUiA6IDExOworICAgIHVuc2lnbmVkIGlu
dCBHIDogMTE7CisgICAgdW5zaWduZWQgaW50IEIgOiAxMDsKKworICAgIHN0YXRpYyB2b2lkIHJl
YWRDb2xvcihnbDo6Q29sb3JGICpkc3QsIGNvbnN0IFIxMUcxMUIxMEYgKnNyYykKKyAgICB7Cisg
ICAgICAgIGRzdC0+cmVkICAgPSBnbDo6ZmxvYXQxMVRvRmxvYXQzMihzcmMtPlIpOworICAgICAg
ICBkc3QtPmdyZWVuID0gZ2w6OmZsb2F0MTFUb0Zsb2F0MzIoc3JjLT5HKTsKKyAgICAgICAgZHN0
LT5ibHVlICA9IGdsOjpmbG9hdDEwVG9GbG9hdDMyKHNyYy0+Qik7CisgICAgICAgIGRzdC0+YWxw
aGEgPSAxLjBmOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHdyaXRlQ29sb3IoUjExRzExQjEw
RiAqZHN0LCBjb25zdCBnbDo6Q29sb3JGICpzcmMpCisgICAgeworICAgICAgICBkc3QtPlIgPSBn
bDo6ZmxvYXQzMlRvRmxvYXQxMShzcmMtPnJlZCk7CisgICAgICAgIGRzdC0+RyA9IGdsOjpmbG9h
dDMyVG9GbG9hdDExKHNyYy0+Z3JlZW4pOworICAgICAgICBkc3QtPkIgPSBnbDo6ZmxvYXQzMlRv
RmxvYXQxMChzcmMtPmJsdWUpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGF2ZXJhZ2UoUjEx
RzExQjEwRiAqZHN0LCBjb25zdCBSMTFHMTFCMTBGICpzcmMxLCBjb25zdCBSMTFHMTFCMTBGICpz
cmMyKQorICAgIHsKKyAgICAgICAgZHN0LT5SID0gZ2w6OmF2ZXJhZ2VGbG9hdDExKHNyYzEtPlIs
IHNyYzItPlIpOworICAgICAgICBkc3QtPkcgPSBnbDo6YXZlcmFnZUZsb2F0MTEoc3JjMS0+Rywg
c3JjMi0+Ryk7CisgICAgICAgIGRzdC0+QiA9IGdsOjphdmVyYWdlRmxvYXQxMChzcmMxLT5CLCBz
cmMyLT5CKTsKKyAgICB9Cit9OworCit9CisKKyNlbmRpZiAvLyBMSUJHTEVTVjJfUkVOREVSRVJf
SU1BR0VGT1JNQVRTX0hfCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xF
U3YyL3JlbmRlcmVyL2xvYWRpbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9sb2FkaW1hZ2UuY3BwCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9sb2Fk
aW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTUxIEBACisjaW5jbHVkZSAicHJl
Y29tcGlsZWQuaCIKKy8vCisvLyBDb3B5cmlnaHQgKGMpIDAwMTMgVGhlIEFOR0xFIFByb2plY3Qg
QXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl
IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisvLyBsb2FkaW1hZ2UuY3BwOiBEZWZpbmVzIGlt
YWdlIGxvYWRpbmcgZnVuY3Rpb25zLgorCisjaW5jbHVkZSAibGliR0xFU3YyL3JlbmRlcmVyL2xv
YWRpbWFnZS5oIgorCituYW1lc3BhY2UgcngKK3sKKwordm9pZCBsb2FkQWxwaGFEYXRhVG9CR1JB
KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWdu
ZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpv
dXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERl
cHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc291cmNlID0gTlVMTDsKKyAg
ICB1bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAwOyB6IDwg
ZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5
KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVyPHVu
c2lnbmVkIGNoYXI+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gp
OworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+KG91
dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIGRlc3RbNCAqIHggKyAwXSA9IDA7CisgICAgICAgICAgICAgICAgZGVzdFs0ICog
eCArIDFdID0gMDsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMl0gPSAwOworICAgICAg
ICAgICAgICAgIGRlc3RbNCAqIHggKyAzXSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkQWxwaGFEYXRhVG9OYXRpdmUoaW50IHdpZHRo
LCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBp
bnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQs
IHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0
Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc291cmNlID0gTlVMTDsKKyAgICB1bnNp
Z25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7
IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVk
IGNoYXI+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gpOworICAg
ICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+KG91dHB1dCwg
eSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgbWVt
Y3B5KGRlc3QsIHNvdXJjZSwgd2lkdGgpOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIGxv
YWRBbHBoYUZsb2F0RGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25l
ZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1
dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCBm
bG9hdCAqc291cmNlID0gTlVMTDsKKyAgICBmbG9hdCAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3Ig
KGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0g
MDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZz
ZXREYXRhUG9pbnRlcjxmbG9hdD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVw
dGhQaXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8ZmxvYXQ+KG91
dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIGRlc3RbNCAqIHggKyAwXSA9IDA7CisgICAgICAgICAgICAgICAgZGVzdFs0ICog
eCArIDFdID0gMDsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMl0gPSAwOworICAgICAg
ICAgICAgICAgIGRlc3RbNCAqIHggKyAzXSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkQWxwaGFIYWxmRmxvYXREYXRhVG9SR0JBKGlu
dCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwg
dW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWdu
ZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgKnNv
dXJjZSA9IE5VTEw7CisgICAgdW5zaWduZWQgc2hvcnQgKmRlc3QgPSBOVUxMOworCisgICAgZm9y
IChpbnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9
IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNlID0gb2Zm
c2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgc2hvcnQ+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNo
LCBpbnB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVy
PHVuc2lnbmVkIHNob3J0PihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0
aFBpdGNoKTsKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMF0gPSAwOworICAgICAg
ICAgICAgICAgIGRlc3RbNCAqIHggKyAxXSA9IDA7CisgICAgICAgICAgICAgICAgZGVzdFs0ICog
eCArIDJdID0gMDsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgM10gPSBzb3VyY2VbeF07
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZEx1bWluYW5j
ZURhdGFUb05hdGl2ZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlu
cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0
Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVk
IGNoYXIgKnNvdXJjZSA9IE5VTEw7CisgICAgdW5zaWduZWQgY2hhciAqZGVzdCA9IE5VTEw7CisK
KyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3Ig
KGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3Vy
Y2UgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBjaGFyPihpbnB1dCwgeSwgeiwgaW5wdXRS
b3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRh
UG9pbnRlcjx1bnNpZ25lZCBjaGFyPihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRw
dXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIG1lbWNweShkZXN0LCBzb3VyY2UsIHdpZHRoKTsK
KyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkTHVtaW5hbmNlRGF0YVRvQkdSQShpbnQg
d2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25l
ZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk
ICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1
dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc291cmNlID0gTlVMTDsK
KyAgICB1bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAwOyB6
IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0
OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVy
PHVuc2lnbmVkIGNoYXI+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0
Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+
KG91dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAg
ICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAwXSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgICAg
ICBkZXN0WzQgKiB4ICsgMV0gPSBzb3VyY2VbeF07CisgICAgICAgICAgICAgICAgZGVzdFs0ICog
eCArIDJdID0gc291cmNlW3hdOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAzXSA9IDB4
RkY7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZEx1bWlu
YW5jZUZsb2F0RGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWdu
ZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQg
b3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNv
bnN0IGZsb2F0ICpzb3VyY2UgPSBOVUxMOworICAgIGZsb2F0ICpkZXN0ID0gTlVMTDsKKworICAg
IGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50
IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9
IG9mZnNldERhdGFQb2ludGVyPGZsb2F0PihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5w
dXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjxmbG9h
dD4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAg
ICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDBdID0gc291cmNlW3hdOworICAgICAgICAgICAg
ICAgIGRlc3RbNCAqIHggKyAxXSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgICAgICBkZXN0WzQg
KiB4ICsgMl0gPSBzb3VyY2VbeF07CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDNdID0g
MS4wZjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkTHVt
aW5hbmNlRmxvYXREYXRhVG9SR0IoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWdu
ZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBv
dXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29u
c3QgZmxvYXQgKnNvdXJjZSA9IE5VTEw7CisgICAgZmxvYXQgKmRlc3QgPSBOVUxMOworCisgICAg
Zm9yIChpbnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQg
eSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNlID0g
b2Zmc2V0RGF0YVBvaW50ZXI8ZmxvYXQ+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1
dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPGZsb2F0
PihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNoKTsKKyAgICAg
ICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBkZXN0WzMgKiB4ICsgMF0gPSBzb3VyY2VbeF07CisgICAgICAgICAgICAg
ICAgZGVzdFszICogeCArIDFdID0gc291cmNlW3hdOworICAgICAgICAgICAgICAgIGRlc3RbMyAq
IHggKyAyXSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30K
Kwordm9pZCBsb2FkTHVtaW5hbmNlSGFsZkZsb2F0RGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBo
ZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBp
bnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50
IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgKnNvdXJjZSA9
IE5VTEw7CisgICAgdW5zaWduZWQgc2hvcnQgKmRlc3QgPSBOVUxMOworCisgICAgZm9yIChpbnQg
eiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkg
PCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNlID0gb2Zmc2V0RGF0
YVBvaW50ZXI8dW5zaWduZWQgc2hvcnQ+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1
dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2ln
bmVkIHNob3J0PihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNo
KTsKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMF0gPSBzb3VyY2VbeF07CisgICAg
ICAgICAgICAgICAgZGVzdFs0ICogeCArIDFdID0gc291cmNlW3hdOworICAgICAgICAgICAgICAg
IGRlc3RbNCAqIHggKyAyXSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4
ICsgM10gPSAweDNDMDA7IC8vIFNFRUVFRU1NTU1NTU1NTU0sIFMgPSAwLCBFID0gMTUsIE0gPSAw
OiAxNmJpdCBmbHB0IHJlcHJlc2VudGF0aW9uIG9mIDEKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KK30KKwordm9pZCBsb2FkTHVtaW5hbmNlQWxwaGFEYXRhVG9OYXRpdmUoaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVu
c2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWdu
ZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc291
cmNlID0gTlVMTDsKKyAgICB1bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAo
aW50IHogPSAwOyB6IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAw
OyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNl
dERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBp
bnB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVu
c2lnbmVkIGNoYXI+KG91dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0
Y2gpOworCisgICAgICAgICAgICBtZW1jcHkoZGVzdCwgc291cmNlLCB3aWR0aCAqIDIpOworICAg
ICAgICB9CisgICAgfQorfQorCit2b2lkIGxvYWRMdW1pbmFuY2VBbHBoYURhdGFUb0JHUkEoaW50
IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1
bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25l
ZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzb3Vy
Y2UgPSBOVUxMOworICAgIHVuc2lnbmVkIGNoYXIgKmRlc3QgPSBOVUxMOworCisgICAgZm9yIChp
bnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7
IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNlID0gb2Zmc2V0
RGF0YVBvaW50ZXI8dW5zaWduZWQgY2hhcj4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlu
cHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5z
aWduZWQgY2hhcj4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRj
aCk7CisKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMF0gPSBzb3VyY2VbMip4KzBd
OworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAxXSA9IHNvdXJjZVsyKngrMF07CisgICAg
ICAgICAgICAgICAgZGVzdFs0ICogeCArIDJdID0gc291cmNlWzIqeCswXTsKKyAgICAgICAgICAg
ICAgICBkZXN0WzQgKiB4ICsgM10gPSBzb3VyY2VbMip4KzFdOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorfQorCit2b2lkIGxvYWRMdW1pbmFuY2VBbHBoYUZsb2F0RGF0YVRvUkdC
QShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRS
b3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJv
d1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCBmbG9h
dCAqc291cmNlID0gTlVMTDsKKyAgICBmbG9hdCAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGlu
dCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsg
eSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXRE
YXRhUG9pbnRlcjxmbG9hdD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQ
aXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8ZmxvYXQ+KG91dHB1
dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAg
Zm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGRlc3RbNCAqIHggKyAwXSA9IHNvdXJjZVsyKngrMF07CisgICAgICAgICAgICAgICAg
ZGVzdFs0ICogeCArIDFdID0gc291cmNlWzIqeCswXTsKKyAgICAgICAgICAgICAgICBkZXN0WzQg
KiB4ICsgMl0gPSBzb3VyY2VbMip4KzBdOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAz
XSA9IHNvdXJjZVsyKngrMV07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisK
K3ZvaWQgbG9hZEx1bWluYW5jZUFscGhhSGFsZkZsb2F0RGF0YVRvUkdCQShpbnQgd2lkdGgsIGlu
dCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVu
c2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gs
IHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0ICpzb3VyY2UgPSBOVUxMOworICAgIHVuc2lnbmVkIHNob3J0ICpkZXN0ID0gTlVMTDsKKwor
ICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAo
aW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJj
ZSA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIHNob3J0PihpbnB1dCwgeSwgeiwgaW5wdXRS
b3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRh
UG9pbnRlcjx1bnNpZ25lZCBzaG9ydD4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0
cHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4
KyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDBdID0gc291
cmNlWzIqeCswXTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMV0gPSBzb3VyY2VbMip4
KzBdOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAyXSA9IHNvdXJjZVsyKngrMF07Cisg
ICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDNdID0gc291cmNlWzIqeCsxXTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkUkdCVUJ5dGVEYXRhVG9CR1JY
KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5z
aWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91
dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc291cmNlID0gTlVM
TDsKKyAgICB1bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAw
OyB6IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVp
Z2h0OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2lu
dGVyPHVuc2lnbmVkIGNoYXI+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1dERlcHRo
UGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGNo
YXI+KG91dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAg
ICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAwXSA9IHNvdXJjZVt4ICogMyArIDJdOworICAg
ICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAxXSA9IHNvdXJjZVt4ICogMyArIDFdOworICAgICAg
ICAgICAgICAgIGRlc3RbNCAqIHggKyAyXSA9IHNvdXJjZVt4ICogMyArIDBdOworICAgICAgICAg
ICAgICAgIGRlc3RbNCAqIHggKyAzXSA9IDB4RkY7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHVUJ5dGVEYXRhVG9CR1JYKGludCB3aWR0aCwgaW50IGhl
aWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAq
aW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0
aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25l
ZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQorewor
ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNvdXJjZSA9IE5VTEw7CisgICAgdW5zaWduZWQgY2hh
ciAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisg
ICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7
CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBjaGFyPihp
bnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAg
IGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBjaGFyPihvdXRwdXQsIHksIHosIG91
dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGZvciAoaW50IHgg
PSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0
WzQgKiB4ICsgMF0gPSAweDAwOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAxXSA9IHNv
dXJjZVt4ICogMiArIDFdOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAyXSA9IHNvdXJj
ZVt4ICogMiArIDBdOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAzXSA9IDB4RkY7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJVQnl0ZURhdGFU
b0JHUlgoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwg
dW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBv
dXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNvdXJjZSA9IE5V
TEw7CisgICAgdW5zaWduZWQgY2hhciAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGludCB6ID0g
MDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhl
aWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9p
bnRlcjx1bnNpZ25lZCBjaGFyPihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0
aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBj
aGFyPihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNoKTsKKyAg
ICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMF0gPSAweDAwOworICAgICAgICAgICAgICAg
IGRlc3RbNCAqIHggKyAxXSA9IDB4MDA7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDJd
ID0gc291cmNlW3hdOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAzXSA9IDB4RkY7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHQlVCeXRlRGF0
YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0
Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVk
IGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNvdXJj
ZSA9IE5VTEw7CisgICAgdW5zaWduZWQgY2hhciAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGlu
dCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsg
eSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXRE
YXRhUG9pbnRlcjx1bnNpZ25lZCBjaGFyPihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5w
dXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNp
Z25lZCBjaGFyPihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNo
KTsKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMF0gPSBzb3VyY2VbeCAqIDMgKyAw
XTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMV0gPSBzb3VyY2VbeCAqIDMgKyAxXTsK
KyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMl0gPSBzb3VyY2VbeCAqIDMgKyAyXTsKKyAg
ICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgM10gPSAweEZGOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorfQorCit2b2lkIGxvYWRSR0JTQnl0ZURhdGFUb1JHQkEoaW50IHdpZHRo
LCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQg
aW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1
dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQ
aXRjaCkKK3sKKyAgICBjb25zdCBjaGFyICpzb3VyY2UgPSBOVUxMOworICAgIGNoYXIgKmRlc3Qg
PSBOVUxMOworCisgICAgZm9yIChpbnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAg
ICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAg
ICAgICAgc291cmNlID0gb2Zmc2V0RGF0YVBvaW50ZXI8Y2hhcj4oaW5wdXQsIHksIHosIGlucHV0
Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0
YVBvaW50ZXI8Y2hhcj4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQ
aXRjaCk7CisgICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDBdID0gc291cmNlW3ggKiAz
ICsgMF07CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDFdID0gc291cmNlW3ggKiAzICsg
MV07CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDJdID0gc291cmNlW3ggKiAzICsgMl07
CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDNdID0gMHg3RjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkUkdCNTY1RGF0YVRvQkdSQShpbnQgd2lk
dGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQg
aW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQs
IHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0
Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgKnNvdXJjZSA9IE5VTEw7CisgICAgdW5z
aWduZWQgY2hhciAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRo
OyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQor
ICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25l
ZCBzaG9ydD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRjaCk7Cisg
ICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgY2hhcj4ob3V0cHV0
LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBm
b3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdW5zaWduZWQgc2hvcnQgcmdiYSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgICAgICBk
ZXN0WzQgKiB4ICsgMF0gPSAoKHJnYmEgJiAweDAwMUYpIDw8IDMpIHwgKChyZ2JhICYgMHgwMDFG
KSA+PiAyKTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMV0gPSAoKHJnYmEgJiAweDA3
RTApID4+IDMpIHwgKChyZ2JhICYgMHgwN0UwKSA+PiA5KTsKKyAgICAgICAgICAgICAgICBkZXN0
WzQgKiB4ICsgMl0gPSAoKHJnYmEgJiAweEY4MDApID4+IDgpIHwgKChyZ2JhICYgMHhGODAwKSA+
PiAxMyk7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDNdID0gMHhGRjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkUkdCNTY1RGF0YVRvUkdCQShp
bnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25l
ZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpv
dXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERl
cHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgKnNvdXJjZSA9IE5VTEw7Cisg
ICAgdW5zaWduZWQgY2hhciAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8
IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsg
eSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx1
bnNpZ25lZCBzaG9ydD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRj
aCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgY2hhcj4o
b3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAgICAg
ICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgcmdiYSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAg
ICAgICBkZXN0WzQgKiB4ICsgMF0gPSAoKHJnYmEgJiAweEY4MDApID4+IDgpIHwgKChyZ2JhICYg
MHhGODAwKSA+PiAxMyk7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDFdID0gKChyZ2Jh
ICYgMHgwN0UwKSA+PiAzKSB8ICgocmdiYSAmIDB4MDdFMCkgPj4gOSk7CisgICAgICAgICAgICAg
ICAgZGVzdFs0ICogeCArIDJdID0gKChyZ2JhICYgMHgwMDFGKSA8PCAzKSB8ICgocmdiYSAmIDB4
MDAxRikgPj4gMik7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDNdID0gMHhGRjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkUkdCRmxvYXREYXRh
VG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRj
aCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQg
aW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgZmxvYXQgKnNvdXJjZSA9IE5VTEw7
CisgICAgZmxvYXQgKmRlc3QgPSBOVUxMOworCisgICAgZm9yIChpbnQgeiA9IDA7IHogPCBkZXB0
aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykK
KyAgICAgICAgeworICAgICAgICAgICAgc291cmNlID0gb2Zmc2V0RGF0YVBvaW50ZXI8ZmxvYXQ+
KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gpOworICAgICAgICAg
ICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPGZsb2F0PihvdXRwdXQsIHksIHosIG91dHB1dFJv
d1BpdGNoLCBvdXRwdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4
IDwgd2lkdGg7IHgrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4
ICsgMF0gPSBzb3VyY2VbeCAqIDMgKyAwXTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsg
MV0gPSBzb3VyY2VbeCAqIDMgKyAxXTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMl0g
PSBzb3VyY2VbeCAqIDMgKyAyXTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgM10gPSAx
LjBmOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCit2b2lkIGxvYWRSR0JG
bG9hdERhdGFUb05hdGl2ZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQg
aW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1Bp
dGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCBmbG9hdCAq
c291cmNlID0gTlVMTDsKKyAgICBmbG9hdCAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGludCB6
ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8
IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRh
UG9pbnRlcjxmbG9hdD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRj
aCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8ZmxvYXQ+KG91dHB1dCwg
eSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgbWVt
Y3B5KGRlc3QsIHNvdXJjZSwgd2lkdGggKiAxMik7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3Zv
aWQgbG9hZFJHQkhhbGZGbG9hdERhdGFUb1JHQkEoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQg
ZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0
LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRj
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25l
ZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQorewor
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICpzb3VyY2UgPSBOVUxMOworICAgIHVuc2lnbmVkIHNo
b3J0ICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7IHorKykK
KyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAg
IHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIHNob3J0
PihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAg
ICAgIGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBzaG9ydD4ob3V0cHV0LCB5LCB6
LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBmb3IgKGlu
dCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ZGVzdFs0ICogeCArIDBdID0gc291cmNlW3ggKiAzICsgMF07CisgICAgICAgICAgICAgICAgZGVz
dFs0ICogeCArIDFdID0gc291cmNlW3ggKiAzICsgMV07CisgICAgICAgICAgICAgICAgZGVzdFs0
ICogeCArIDJdID0gc291cmNlW3ggKiAzICsgMl07CisgICAgICAgICAgICAgICAgZGVzdFs0ICog
eCArIDNdID0gMHgzQzAwOyAvLyBTRUVFRUVNTU1NTU1NTU1NLCBTID0gMCwgRSA9IDE1LCBNID0g
MDogMTZiaXQgZmxwdCByZXByZXNlbnRhdGlvbiBvZiAxCisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHQkFVQnl0ZURhdGFUb0JHUkEoaW50IHdpZHRoLCBp
bnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlu
cHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0
LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBp
dGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVkIGludCAqc291cmNlID0gTlVMTDsKKyAgICB1bnNp
Z25lZCBpbnQgKmRlc3QgPSBOVUxMOworCisgICAgZm9yIChpbnQgeiA9IDA7IHogPCBkZXB0aDsg
eisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAg
ICAgICAgeworICAgICAgICAgICAgc291cmNlID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQg
aW50PihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAg
ICAgICAgIGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBpbnQ+KG91dHB1dCwgeSwg
eiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworCisgICAgICAgICAgICBmb3Ig
KGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IHJnYmEgPSBzb3VyY2VbeF07CisgICAgICAgICAgICAgICAgZGVzdFt4
XSA9IChfcm90bChyZ2JhLCAxNikgJiAweDAwZmYwMGZmKSB8IChyZ2JhICYgMHhmZjAwZmYwMCk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHQkFVQnl0
ZURhdGFUb05hdGl2ZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlu
cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0
Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVk
IGludCAqc291cmNlID0gTlVMTDsKKyAgICB1bnNpZ25lZCBpbnQgKmRlc3QgPSBOVUxMOworCisg
ICAgZm9yIChpbnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChp
bnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNl
ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgaW50PihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQ
aXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRhUG9p
bnRlcjx1bnNpZ25lZCBpbnQ+KG91dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERl
cHRoUGl0Y2gpOworCisgICAgICAgICAgICBtZW1jcHkoZGVzdCwgc291cmNlLCB3aWR0aCAqIDQp
OworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIGxvYWRSR0JBNDQ0NERhdGFUb0JHUkEoaW50
IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25l
ZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQg
Km91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0
RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCAqc291cmNlID0gTlVMTDsK
KyAgICB1bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAwOyB6
IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0
OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVy
PHVuc2lnbmVkIHNob3J0PihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBp
dGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBjaGFy
PihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNoKTsKKyAgICAg
ICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBzaG9ydCByZ2JhID0gc291cmNlW3hdOworICAgICAgICAg
ICAgICAgIGRlc3RbNCAqIHggKyAwXSA9ICgocmdiYSAmIDB4MDBGMCkgPDwgMCkgfCAoKHJnYmEg
JiAweDAwRjApID4+IDQpOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAxXSA9ICgocmdi
YSAmIDB4MEYwMCkgPj4gNCkgfCAoKHJnYmEgJiAweDBGMDApID4+IDgpOworICAgICAgICAgICAg
ICAgIGRlc3RbNCAqIHggKyAyXSA9ICgocmdiYSAmIDB4RjAwMCkgPj4gOCkgfCAoKHJnYmEgJiAw
eEYwMDApID4+IDEyKTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgM10gPSAoKHJnYmEg
JiAweDAwMEYpIDw8IDQpIHwgKChyZ2JhICYgMHgwMDBGKSA+PiAwKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkUkdCQTQ0NDREYXRhVG9SR0JBKGludCB3
aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQg
aW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpv
dXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERl
cHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgKnNvdXJjZSA9IE5VTEw7Cisg
ICAgdW5zaWduZWQgY2hhciAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8
IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsg
eSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx1
bnNpZ25lZCBzaG9ydD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRj
aCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgY2hhcj4o
b3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAgICAg
ICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgcmdiYSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAg
ICAgICBkZXN0WzQgKiB4ICsgMF0gPSAoKHJnYmEgJiAweEYwMDApID4+IDgpIHwgKChyZ2JhICYg
MHhGMDAwKSA+PiAxMik7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDFdID0gKChyZ2Jh
ICYgMHgwRjAwKSA+PiA0KSB8ICgocmdiYSAmIDB4MEYwMCkgPj4gOCk7CisgICAgICAgICAgICAg
ICAgZGVzdFs0ICogeCArIDJdID0gKChyZ2JhICYgMHgwMEYwKSA8PCAwKSB8ICgocmdiYSAmIDB4
MDBGMCkgPj4gNCk7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDNdID0gKChyZ2JhICYg
MHgwMDBGKSA8PCA0KSB8ICgocmdiYSAmIDB4MDAwRikgPj4gMCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHQkE1NTUxRGF0YVRvQkdSQShpbnQgd2lk
dGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGlu
dCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0
cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0
aFBpdGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICpzb3VyY2UgPSBOVUxMOworICAg
IHVuc2lnbmVkIGNoYXIgKmRlc3QgPSBOVUxMOworCisgICAgZm9yIChpbnQgeiA9IDA7IHogPCBk
ZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkr
KykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNlID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5z
aWduZWQgc2hvcnQ+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gp
OworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+KG91
dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIHNob3J0IHJnYmEgPSBzb3VyY2VbeF07CisgICAgICAgICAgICAg
ICAgZGVzdFs0ICogeCArIDBdID0gKChyZ2JhICYgMHgwMDNFKSA8PCAyKSB8ICgocmdiYSAmIDB4
MDAzRSkgPj4gMyk7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDFdID0gKChyZ2JhICYg
MHgwN0MwKSA+PiAzKSB8ICgocmdiYSAmIDB4MDdDMCkgPj4gOCk7CisgICAgICAgICAgICAgICAg
ZGVzdFs0ICogeCArIDJdID0gKChyZ2JhICYgMHhGODAwKSA+PiA4KSB8ICgocmdiYSAmIDB4Rjgw
MCkgPj4gMTMpOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAzXSA9IChyZ2JhICYgMHgw
MDAxKSA/IDB4RkYgOiAwOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQordm9p
ZCBsb2FkUkdCQTU1NTFEYXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25l
ZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRS
b3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgKnNvdXJjZSA9IE5VTEw7CisgICAgdW5zaWduZWQgY2hhciAqZGVzdCA9IE5V
TEw7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAg
ICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAg
ICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBzaG9ydD4oaW5wdXQsIHksIHos
IGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zm
c2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgY2hhcj4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRj
aCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdp
ZHRoOyB4KyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQg
cmdiYSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMF0gPSAoKHJn
YmEgJiAweEY4MDApID4+IDgpIHwgKChyZ2JhICYgMHhGODAwKSA+PiAxMyk7CisgICAgICAgICAg
ICAgICAgZGVzdFs0ICogeCArIDFdID0gKChyZ2JhICYgMHgwN0MwKSA+PiAzKSB8ICgocmdiYSAm
IDB4MDdDMCkgPj4gOCk7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDJdID0gKChyZ2Jh
ICYgMHgwMDNFKSA8PCAyKSB8ICgocmdiYSAmIDB4MDAzRSkgPj4gMyk7CisgICAgICAgICAgICAg
ICAgZGVzdFs0ICogeCArIDNdID0gKHJnYmEgJiAweDAwMDEpID8gMHhGRiA6IDA7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHQkFGbG9hdERhdGFUb1JH
QkEoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwg
dW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGlu
dCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IGZsb2F0ICpzb3VyY2UgPSBOVUxMOwor
ICAgIGZsb2F0ICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7
IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVyPGZsb2F0Pihp
bnB1dCwgeSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAg
IGRlc3QgPSBvZmZzZXREYXRhUG9pbnRlcjxmbG9hdD4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQ
aXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBtZW1jcHkoZGVzdCwgc291cmNl
LCB3aWR0aCAqIDE2KTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkUkdCQUhhbGZG
bG9hdERhdGFUb1JHQkEoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50
IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRS
b3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5z
aWduZWQgY2hhciAqc291cmNlID0gTlVMTDsKKyAgICB1bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVM
TDsKKworICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAg
IGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAg
IHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+KGlucHV0LCB5LCB6LCBp
bnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNl
dERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+KG91dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gs
IG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgbWVtY3B5KGRlc3QsIHNvdXJjZSwgd2lk
dGggKiA4KTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkQkdSQURhdGFUb0JHUkEo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVk
IGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRw
dXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRo
UGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc291cmNlID0gTlVMTDsKKyAgICB1
bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKworICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVw
dGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5Kysp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVyPHVuc2ln
bmVkIGNoYXI+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gpOwor
ICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGNoYXI+KG91dHB1
dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAg
bWVtY3B5KGRlc3QsIHNvdXJjZSwgd2lkdGgqNCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3Zv
aWQgbG9hZFJHQkEyMTAxMDEwVG9OYXRpdmUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVw
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNp
Z25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0
cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0
IHVuc2lnbmVkIGludCAqc291cmNlID0gTlVMTDsKKyAgICB1bnNpZ25lZCBpbnQgKmRlc3QgPSBO
VUxMOworCisgICAgZm9yIChpbnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAg
ICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAg
ICAgc291cmNlID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgaW50PihpbnB1dCwgeSwgeiwg
aW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZz
ZXREYXRhUG9pbnRlcjx1bnNpZ25lZCBpbnQ+KG91dHB1dCwgeSwgeiwgb3V0cHV0Um93UGl0Y2gs
IG91dHB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgbWVtY3B5KGRlc3QsIHNvdXJjZSwgd2lk
dGggKiBzaXplb2YodW5zaWduZWQgaW50KSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQg
bG9hZFJHQkEyMTAxMDEwVG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGlu
dCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0
Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVk
IGludCAqc291cmNlID0gTlVMTDsKKyAgICB1bnNpZ25lZCBjaGFyICpkZXN0ID0gTlVMTDsKKwor
ICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7IHorKykKKyAgICB7CisgICAgICAgIGZvciAo
aW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJj
ZSA9IG9mZnNldERhdGFQb2ludGVyPHVuc2lnbmVkIGludD4oaW5wdXQsIHksIHosIGlucHV0Um93
UGl0Y2gsIGlucHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBv
aW50ZXI8dW5zaWduZWQgY2hhcj4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0
RGVwdGhQaXRjaCk7CisKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgr
KykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcmdiYSA9IHNv
dXJjZVt4XTsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgMF0gPSAocmdiYSAmIDB4MDAw
MDAzRkYpID4+ICAyOworICAgICAgICAgICAgICAgIGRlc3RbNCAqIHggKyAxXSA9IChyZ2JhICYg
MHgwMDBGRkMwMCkgPj4gMTI7CisgICAgICAgICAgICAgICAgZGVzdFs0ICogeCArIDJdID0gKHJn
YmEgJiAweDNGRjAwMDAwKSA+PiAyMjsKKyAgICAgICAgICAgICAgICBkZXN0WzQgKiB4ICsgM10g
PSAoKHJnYmEgJiAweEMwMDAwMDAwKSA+PiAzMCkgKiAweDU1OworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorfQorCit2b2lkIGxvYWRSR0JIYWxmRmxvYXREYXRhVG85OTlFNShpbnQg
d2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5z
aWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBp
bnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCAqc291cmNl
ID0gTlVMTDsKKyAgICB1bnNpZ25lZCBpbnQgKmRlc3QgPSBOVUxMOworCisgICAgZm9yIChpbnQg
eiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkg
PCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNlID0gb2Zmc2V0RGF0
YVBvaW50ZXI8dW5zaWduZWQgc2hvcnQ+KGlucHV0LCB5LCB6LCBpbnB1dFJvd1BpdGNoLCBpbnB1
dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQb2ludGVyPHVuc2ln
bmVkIGludD4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7
CisKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0W3hdID0gZ2w6OmNvbnZlcnRSR0JGbG9hdHNUbzk5
OUU1KGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNvdXJjZVt4ICogMyArIDBdKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpmbG9hdDE2VG9G
bG9hdDMyKHNvdXJjZVt4ICogMyArIDFdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpmbG9hdDE2VG9GbG9hdDMyKHNvdXJjZVt4ICog
MyArIDJdKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9h
ZFJHQkZsb2F0RGF0YVRvOTk5RTUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBp
bnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93
UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNvbnN0IGZsb2F0
ICpzb3VyY2UgPSBOVUxMOworICAgIHVuc2lnbmVkIGludCAqZGVzdCA9IE5VTEw7CisKKyAgICBm
b3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5
ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBv
ZmZzZXREYXRhUG9pbnRlcjxmbG9hdD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0
RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWdu
ZWQgaW50PihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNoKTsK
KworICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGRlc3RbeF0gPSBnbDo6Y29udmVydFJHQkZsb2F0c1RvOTk5
RTUoc291cmNlW3ggKiAzICsgMF0sIHNvdXJjZVt4ICogMyArIDFdLCBzb3VyY2VbeCAqIDMgKyAy
XSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHQkhh
bGZGbG9hdERhdGFUbzExMTExMEZsb2F0KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5w
dXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBp
dGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0
LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBp
dGNoKQoreworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICpzb3VyY2UgPSBOVUxMOworICAgIHVu
c2lnbmVkIGludCAqZGVzdCA9IE5VTEw7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRo
OyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQor
ICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx1bnNpZ25l
ZCBzaG9ydD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRjaCk7Cisg
ICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgaW50PihvdXRwdXQs
IHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0aFBpdGNoKTsKKworICAgICAgICAgICAg
Zm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGRlc3RbeF0gPSAoZ2w6OmZsb2F0MzJUb0Zsb2F0MTEoZ2w6OmZsb2F0MTZUb0Zsb2F0
MzIoc291cmNlW3ggKiAzICsgMF0pKSA8PCAgMCkgfAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAoZ2w6OmZsb2F0MzJUb0Zsb2F0MTEoZ2w6OmZsb2F0MTZUb0Zsb2F0MzIoc291cmNlW3ggKiAz
ICsgMV0pKSA8PCAxMSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2w6OmZsb2F0MzJU
b0Zsb2F0MTAoZ2w6OmZsb2F0MTZUb0Zsb2F0MzIoc291cmNlW3ggKiAzICsgMl0pKSA8PCAyMik7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFJHQkZsb2F0
RGF0YVRvMTExMTEwRmxvYXQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25l
ZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQg
b3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQoreworICAgIGNv
bnN0IGZsb2F0ICpzb3VyY2UgPSBOVUxMOworICAgIHVuc2lnbmVkIGludCAqZGVzdCA9IE5VTEw7
CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBm
b3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBz
b3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjxmbG9hdD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0
Y2gsIGlucHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50
ZXI8dW5zaWduZWQgaW50PihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRwdXREZXB0
aFBpdGNoKTsKKworICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRlc3RbeF0gPSAoZ2w6OmZsb2F0MzJUb0Zs
b2F0MTEoc291cmNlW3ggKiAzICsgMF0pIDw8ICAwKSB8CisgICAgICAgICAgICAgICAgICAgICAg
ICAgIChnbDo6ZmxvYXQzMlRvRmxvYXQxMShzb3VyY2VbeCAqIDMgKyAxXSkgPDwgMTEpIHwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGdsOjpmbG9hdDMyVG9GbG9hdDEwKHNvdXJjZVt4ICog
MyArIDJdKSA8PCAyMik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKKwor
dm9pZCBsb2FkRzhSMjREYXRhVG9SMjRHOChpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVk
IGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQ
aXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgdW5zaWdu
ZWQgaW50ICpzb3VyY2UgPSBOVUxMOworICAgIHVuc2lnbmVkIGludCAqZGVzdCA9IE5VTEw7CisK
KyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3Ig
KGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3Vy
Y2UgPSBvZmZzZXREYXRhUG9pbnRlcjxjb25zdCB1bnNpZ25lZCBpbnQ+KGlucHV0LCB5LCB6LCBp
bnB1dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNl
dERhdGFQb2ludGVyPHVuc2lnbmVkIGludD4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwg
b3V0cHV0RGVwdGhQaXRjaCk7CisKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lk
dGg7IHgrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZCA9
IHNvdXJjZVt4XSA+PiA4OworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzID0gc291cmNl
W3hdICYgMHhGRjsKKyAgICAgICAgICAgICAgICBkZXN0W3hdID0gZCB8IChzIDw8IDI0KTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBsb2FkRmxvYXRSR0JEYXRh
VG9IYWxmRmxvYXRSR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25l
ZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGlu
dCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAg
Y29uc3QgZmxvYXQgKnNvdXJjZSA9IE5VTEw7CisgICAgdW5zaWduZWQgc2hvcnQgKmRlc3QgPSBO
VUxMOworCisgICAgZm9yIChpbnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAg
ICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAg
ICAgc291cmNlID0gb2Zmc2V0RGF0YVBvaW50ZXI8ZmxvYXQ+KGlucHV0LCB5LCB6LCBpbnB1dFJv
d1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgZGVzdCA9IG9mZnNldERhdGFQ
b2ludGVyPHVuc2lnbmVkIHNob3J0PihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBvdXRw
dXREZXB0aFBpdGNoKTsKKworICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsg
eCsrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRlc3RbeCAqIDQgKyAwXSA9IGds
OjpmbG9hdDMyVG9GbG9hdDE2KHNvdXJjZVt4ICogMyArIDBdKTsKKyAgICAgICAgICAgICAgICBk
ZXN0W3ggKiA0ICsgMV0gPSBnbDo6ZmxvYXQzMlRvRmxvYXQxNihzb3VyY2VbeCAqIDMgKyAxXSk7
CisgICAgICAgICAgICAgICAgZGVzdFt4ICogNCArIDJdID0gZ2w6OmZsb2F0MzJUb0Zsb2F0MTYo
c291cmNlW3ggKiAzICsgMl0pOworICAgICAgICAgICAgICAgIGRlc3RbeCAqIDQgKyAzXSA9IGds
OjpGbG9hdDE2T25lOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCit2b2lk
IGxvYWRVaW50RGF0YVRvVXNob3J0KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50
IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNo
LCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCB1bnNpZ25lZCBp
bnQgKnNvdXJjZSA9IE5VTEw7CisgICAgdW5zaWduZWQgc2hvcnQgKmRlc3QgPSBOVUxMOworCisg
ICAgZm9yIChpbnQgeiA9IDA7IHogPCBkZXB0aDsgeisrKQorICAgIHsKKyAgICAgICAgZm9yIChp
bnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNl
ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgaW50PihpbnB1dCwgeSwgeiwgaW5wdXRSb3dQ
aXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3QgPSBvZmZzZXREYXRhUG9p
bnRlcjx1bnNpZ25lZCBzaG9ydD4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRjaCwgb3V0cHV0
RGVwdGhQaXRjaCk7CisKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHgr
KykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkZXN0W3hdID0gc291cmNlW3hdID4+
IDE2OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCit9CkluZGV4OiBTb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3JlbmRlcmVyL2xvYWRpbWFnZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVy
ZXIvbG9hZGltYWdlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL3JlbmRlcmVyL2xvYWRpbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzQzIEBACisvLworLy8gQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBBTkdMRSBQcm9qZWN0IEF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBp
cyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorLy8KKworLy8gbG9hZGltYWdlLmg6IERlZmluZXMgaW1hZ2Ug
bG9hZGluZyBmdW5jdGlvbnMKKworI2lmbmRlZiBMSUJHTEVTVjJfUkVOREVSRVJfTE9BRElNQUdF
X0hfCisjZGVmaW5lIExJQkdMRVNWMl9SRU5ERVJFUl9MT0FESU1BR0VfSF8KKworI2luY2x1ZGUg
ImNvbW1vbi9tYXRodXRpbC5oIgorCituYW1lc3BhY2UgcngKK3sKKwordGVtcGxhdGUgPHR5cGVu
YW1lIFQ+CitpbmxpbmUgc3RhdGljIFQgKm9mZnNldERhdGFQb2ludGVyKHZvaWQgKmRhdGEsIGlu
dCB5LCBpbnQgeiwgaW50IHJvd1BpdGNoLCBpbnQgZGVwdGhQaXRjaCkKK3sKKyAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxUKj4ocmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyKj4oZGF0
YSkgKyAoeSAqIHJvd1BpdGNoKSArICh6ICogZGVwdGhQaXRjaCkpOworfQorCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4KK2lubGluZSBzdGF0aWMgY29uc3QgVCAqb2Zmc2V0RGF0YVBvaW50ZXIoY29u
c3Qgdm9pZCAqZGF0YSwgaW50IHksIGludCB6LCBpbnQgcm93UGl0Y2gsIGludCBkZXB0aFBpdGNo
KQoreworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IFQqPihyZWludGVycHJldF9j
YXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPihkYXRhKSArICh5ICogcm93UGl0Y2gpICsgKHogKiBk
ZXB0aFBpdGNoKSk7Cit9CisKK3ZvaWQgbG9hZEFscGhhRGF0YVRvQkdSQShpbnQgd2lkdGgsIGlu
dCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lk
ICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERl
cHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25l
ZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwor
dm9pZCBsb2FkQWxwaGFEYXRhVG9OYXRpdmUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVw
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWdu
ZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRS
b3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRBbHBo
YURhdGFUb0JHUkFTU0UyKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlu
cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNo
LCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZEFscGhhRmxvYXRE
YXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJv
d1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVu
c2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkQWxwaGFIYWxmRmxvYXRE
YXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5w
dXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQ
aXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRMdW1pbmFu
Y2VEYXRhVG9OYXRpdmUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBp
bnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1Bp
dGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZEx1bWluYW5j
ZURhdGFUb0JHUkEoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRS
b3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVu
c2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkTHVtaW5hbmNlRmxvYXRE
YXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5w
dXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQ
aXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRMdW1pbmFu
Y2VGbG9hdERhdGFUb1JHQihpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBp
bnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1
dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZEx1
bWluYW5jZUhhbGZGbG9hdERhdGFUb1JHQkEoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVw
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlu
cHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQ
aXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0
LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBp
dGNoKTsKKwordm9pZCBsb2FkTHVtaW5hbmNlQWxwaGFEYXRhVG9OYXRpdmUoaW50IHdpZHRoLCBp
bnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVk
IGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50
IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRMdW1pbmFuY2VBbHBoYURhdGFUb0JHUkEo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNo
LCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNp
Z25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZEx1bWluYW5jZUFscGhhRmxv
YXREYXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVk
IGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBp
bnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9p
ZCBsb2FkTHVtaW5hbmNlQWxwaGFIYWxmRmxvYXREYXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhl
aWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWdu
ZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5z
aWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRSR0JVQnl0ZURhdGFUb0JH
UlgoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1
bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQg
b3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZFJHVUJ5dGVEYXRhVG9CR1JYKGludCB3aWR0
aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQg
aW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0
LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBp
dGNoKTsKKwordm9pZCBsb2FkUlVCeXRlRGF0YVRvQkdSWChpbnQgd2lkdGgsIGludCBoZWlnaHQs
IGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQs
IHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBv
dXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxv
YWRSR0JVQnl0ZURhdGFUb1JHQkEoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGlu
dCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1Bp
dGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZFJHQlNCeXRl
RGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93
UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2ln
bmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkUkdCNTY1RGF0YVRvQkdSQShp
bnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25l
ZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpv
dXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERl
cHRoUGl0Y2gpOworCit2b2lkIGxvYWRSR0I1NjVEYXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhl
aWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICpp
bnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRo
UGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQg
aW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3Zv
aWQgbG9hZFJHQkZsb2F0RGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWdu
ZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0
Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkUkdC
RmxvYXREYXRhVG9OYXRpdmUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50
IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQ
aXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRSR0JIYWxm
RmxvYXREYXRhVG9SR0JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50
IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJv
d1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZFJHQkFV
Qnl0ZURhdGFUb0JHUkFTU0UyKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVk
IGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0
cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2Fk
UkdCQVVCeXRlRGF0YVRvQkdSQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGlu
dCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQ
aXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRSR0JBVUJ5
dGVEYXRhVG9OYXRpdmUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBp
bnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1Bp
dGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZFJHQkE0NDQ0
RGF0YVRvQkdSQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93
UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2ln
bmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkUkdCQTQ0NDREYXRhVG9SR0JB
KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5z
aWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91
dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRSR0JBNTU1MURhdGFUb0JHUkEoaW50IHdpZHRo
LCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQg
aW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1
dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQ
aXRjaCk7CisKK3ZvaWQgbG9hZFJHQkE1NTUxRGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWln
aHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICpp
bnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1dERlcHRo
UGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25l
ZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwor
dm9pZCBsb2FkUkdCQUZsb2F0RGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBk
ZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVu
c2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBv
dXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxv
YWRSR0JBSGFsZkZsb2F0RGF0YVRvUkdCQShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1
bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQg
aW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3Zv
aWQgbG9hZEJHUkFEYXRhVG9CR1JBKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBp
bnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVu
c2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkUkdCQTIxMDEwMTBUb05h
dGl2ZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNo
LCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQg
aW50IG91dHB1dERlcHRoUGl0Y2gpOworCit2b2lkIGxvYWRSR0JBMjEwMTAxMFRvUkdCQShpbnQg
d2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQg
aW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91
dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVw
dGhQaXRjaCk7CisKK3ZvaWQgbG9hZFJHQkhhbGZGbG9hdERhdGFUbzk5OUU1KGludCB3aWR0aCwg
aW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBp
bnQgaW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p
ZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRw
dXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkUkdCRmxvYXREYXRhVG85OTlFNShpbnQgd2lkdGgs
IGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgdm9pZCAqaW5wdXQsIHVuc2lnbmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQg
aW5wdXREZXB0aFBpdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRw
dXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRo
UGl0Y2gpOworCit2b2lkIGxvYWRSR0JIYWxmRmxvYXREYXRhVG8xMTExMTBGbG9hdChpbnQgd2lk
dGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwg
dW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1
bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3ZvaWQgbG9hZFJHQkZsb2F0RGF0YVRv
MTExMTEwRmxvYXQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQg
aW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0
Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwordm9pZCBsb2FkRzhS
MjREYXRhVG9SMjRHOChpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQ
aXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBp
bnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSB0eXBlLCB1bnNpZ25l
ZCBpbnQgY29tcG9uZW50Q291bnQ+Cit2b2lkIGxvYWRUb05hdGl2ZShpbnQgd2lkdGgsIGludCBo
ZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1
bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwK
KyAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQgaW50IG91dHB1dFJvd1Bp
dGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCkKK3sKKyAgICBjb25zdCB1bnNpZ25l
ZCBpbnQgcm93U2l6ZSA9IHdpZHRoICogc2l6ZW9mKHR5cGUpICogY29tcG9uZW50Q291bnQ7Cisg
ICAgY29uc3QgdW5zaWduZWQgaW50IGxheWVyU2l6ZSA9IHJvd1NpemUgKiBoZWlnaHQ7CisgICAg
Y29uc3QgdW5zaWduZWQgaW50IGltYWdlU2l6ZSA9IGxheWVyU2l6ZSAqIGRlcHRoOworCisgICAg
aWYgKGxheWVyU2l6ZSA9PSBpbnB1dERlcHRoUGl0Y2ggJiYgbGF5ZXJTaXplID09IG91dHB1dERl
cHRoUGl0Y2gpCisgICAgeworICAgICAgICBBU1NFUlQocm93U2l6ZSA9PSBpbnB1dFJvd1BpdGNo
ICYmIHJvd1NpemUgPT0gb3V0cHV0Um93UGl0Y2gpOworICAgICAgICBtZW1jcHkob3V0cHV0LCBp
bnB1dCwgaW1hZ2VTaXplKTsKKyAgICB9CisgICAgZWxzZSBpZiAocm93U2l6ZSA9PSBpbnB1dFJv
d1BpdGNoICYmIHJvd1NpemUgPT0gb3V0cHV0Um93UGl0Y2gpCisgICAgeworICAgICAgICBmb3Ig
KGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0
IHR5cGUgKnNvdXJjZSA9IG9mZnNldERhdGFQb2ludGVyPHR5cGU+KGlucHV0LCAwLCB6LCBpbnB1
dFJvd1BpdGNoLCBpbnB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAgdHlwZSAqZGVzdCA9IG9m
ZnNldERhdGFQb2ludGVyPHR5cGU+KG91dHB1dCwgMCwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1
dERlcHRoUGl0Y2gpOworCisgICAgICAgICAgICBtZW1jcHkoZGVzdCwgc291cmNlLCBsYXllclNp
emUpOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGZvciAoaW50
IHogPSAwOyB6IDwgZGVwdGg7IHorKykKKyAgICAgICAgeworICAgICAgICAgICAgZm9yIChpbnQg
eSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBj
b25zdCB0eXBlICpzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx0eXBlPihpbnB1dCwgeSwgeiwg
aW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgICAgICB0eXBlICpk
ZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dHlwZT4ob3V0cHV0LCB5LCB6LCBvdXRwdXRSb3dQaXRj
aCwgb3V0cHV0RGVwdGhQaXRjaCk7CisgICAgICAgICAgICAgICAgbWVtY3B5KGRlc3QsIHNvdXJj
ZSwgd2lkdGggKiBzaXplb2YodHlwZSkgKiBjb21wb25lbnRDb3VudCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSB0eXBlLCB1bnNpZ25l
ZCBpbnQgZm91cnRoQ29tcG9uZW50Qml0cz4KK3ZvaWQgbG9hZFRvTmF0aXZlM1RvNChpbnQgd2lk
dGgsIGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2
b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBpbnB1
dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25l
ZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQorewor
ICAgIGNvbnN0IHR5cGUgKnNvdXJjZSA9IE5VTEw7CisgICAgdHlwZSAqZGVzdCA9IE5VTEw7CisK
KyAgICBjb25zdCB1bnNpZ25lZCBpbnQgZm91cnRoQml0cyA9IGZvdXJ0aENvbXBvbmVudEJpdHM7
CisgICAgY29uc3QgdHlwZSBmb3VydGhWYWx1ZSA9ICpyZWludGVycHJldF9jYXN0PGNvbnN0IHR5
cGUqPigmZm91cnRoQml0cyk7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6Kysp
CisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAg
ICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjx0eXBlPihpbnB1dCwg
eSwgeiwgaW5wdXRSb3dQaXRjaCwgaW5wdXREZXB0aFBpdGNoKTsKKyAgICAgICAgICAgIGRlc3Qg
PSBvZmZzZXREYXRhUG9pbnRlcjx0eXBlPihvdXRwdXQsIHksIHosIG91dHB1dFJvd1BpdGNoLCBv
dXRwdXREZXB0aFBpdGNoKTsKKworICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0
aDsgeCsrKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRlc3RbeCAqIDQgKyAwXSA9
IHNvdXJjZVt4ICogMyArIDBdOworICAgICAgICAgICAgICAgIGRlc3RbeCAqIDQgKyAxXSA9IHNv
dXJjZVt4ICogMyArIDFdOworICAgICAgICAgICAgICAgIGRlc3RbeCAqIDQgKyAyXSA9IHNvdXJj
ZVt4ICogMyArIDJdOworICAgICAgICAgICAgICAgIGRlc3RbeCAqIDQgKyAzXSA9IGZvdXJ0aFZh
bHVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCit0ZW1wbGF0ZSA8dW5z
aWduZWQgaW50IGNvbXBvbmVudENvdW50Pgordm9pZCBsb2FkRmxvYXREYXRhVG9IYWxmRmxvYXQo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB2b2lkICppbnB1dCwgdW5zaWduZWQgaW50IGlucHV0Um93UGl0Y2gsIHVu
c2lnbmVkIGludCBpbnB1dERlcHRoUGl0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50
IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgY29uc3QgZmxvYXQgKnNvdXJjZSA9IE5VTEw7Cisg
ICAgdW5zaWduZWQgc2hvcnQgKmRlc3QgPSBOVUxMOworCisgICAgY29uc3QgaW50IGVsZW1lbnRX
aWR0aCA9IGNvbXBvbmVudENvdW50ICogd2lkdGg7CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8
IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsg
eSsrKQorICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2UgPSBvZmZzZXREYXRhUG9pbnRlcjxm
bG9hdD4oaW5wdXQsIHksIHosIGlucHV0Um93UGl0Y2gsIGlucHV0RGVwdGhQaXRjaCk7CisgICAg
ICAgICAgICBkZXN0ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dW5zaWduZWQgc2hvcnQ+KG91dHB1dCwg
eSwgeiwgb3V0cHV0Um93UGl0Y2gsIG91dHB1dERlcHRoUGl0Y2gpOworCisgICAgICAgICAgICBm
b3IgKGludCB4ID0gMDsgeCA8IGVsZW1lbnRXaWR0aDsgeCsrKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIGRlc3RbeF0gPSBnbDo6ZmxvYXQzMlRvRmxvYXQxNihzb3VyY2VbeF0pOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCit2b2lkIGxvYWRGbG9hdFJHQkRh
dGFUb0hhbGZGbG9hdFJHQkEoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2ln
bmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dHB1dCwgdW5zaWduZWQg
aW50IG91dHB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgb3V0cHV0RGVwdGhQaXRjaCk7CisKK3Rl
bXBsYXRlIDx1bnNpZ25lZCBpbnQgYmxvY2tXaWR0aCwgdW5zaWduZWQgaW50IGJsb2NrSGVpZ2h0
LCB1bnNpZ25lZCBpbnQgYmxvY2tTaXplPgordm9pZCBsb2FkQ29tcHJlc3NlZEJsb2NrRGF0YVRv
TmF0aXZlKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5w
dXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVwdGhQaXRjaCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRS
b3dQaXRjaCwgdW5zaWduZWQgaW50IG91dHB1dERlcHRoUGl0Y2gpCit7CisgICAgaW50IGNvbHVt
bnMgPSAod2lkdGggKyAoYmxvY2tXaWR0aCAtIDEpKSAvIGJsb2NrV2lkdGg7CisgICAgaW50IHJv
d3MgPSAoaGVpZ2h0ICsgKGJsb2NrSGVpZ2h0IC0gMSkpIC8gYmxvY2tIZWlnaHQ7CisKKyAgICBm
b3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyArK3opCisgICAgeworICAgICAgICBmb3IgKGludCB5
ID0gMDsgeSA8IHJvd3M7ICsreSkKKyAgICAgICAgeworICAgICAgICAgICAgdm9pZCAqc291cmNl
ID0gKHZvaWQqKSgoY2hhciopaW5wdXQgKyB5ICogaW5wdXRSb3dQaXRjaCArIHogKiBpbnB1dERl
cHRoUGl0Y2gpOworICAgICAgICAgICAgdm9pZCAqZGVzdCA9ICh2b2lkKikoKGNoYXIqKW91dHB1
dCArIHkgKiBvdXRwdXRSb3dQaXRjaCArIHogKiBvdXRwdXREZXB0aFBpdGNoKTsKKworICAgICAg
ICAgICAgbWVtY3B5KGRlc3QsIHNvdXJjZSwgY29sdW1ucyAqIGJsb2NrU2l6ZSk7CisgICAgICAg
IH0KKyAgICB9Cit9CisKK3ZvaWQgbG9hZFVpbnREYXRhVG9Vc2hvcnQoaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQg
KmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0RGVw
dGhQaXRjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25l
ZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKTsKKwor
dGVtcGxhdGUgPHR5cGVuYW1lIHR5cGUsIHVuc2lnbmVkIGludCBmaXJzdEJpdHMsIHVuc2lnbmVk
IGludCBzZWNvbmRCaXRzLCB1bnNpZ25lZCBpbnQgdGhpcmRCaXRzLCB1bnNpZ25lZCBpbnQgZm91
cnRoQml0cz4KK3ZvaWQgaW5pdGlhbGl6ZTRDb21wb25lbnREYXRhKGludCB3aWR0aCwgaW50IGhl
aWdodCwgaW50IGRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3V0
cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0
aFBpdGNoKQoreworICAgIHVuc2lnbmVkIGludCB3cml0ZUJpdHNbNF0gPSB7IGZpcnN0Qml0cywg
c2Vjb25kQml0cywgdGhpcmRCaXRzLCBmb3VydGhCaXRzIH07CisgICAgdHlwZSB3cml0ZVZhbHVl
c1s0XSA9IHsgKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdHlwZSo+KCZ3cml0ZUJpdHNbMF0pLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICpyZWludGVycHJldF9jYXN0PGNvbnN0IHR5cGUq
Pigmd3JpdGVCaXRzWzFdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCB0eXBlKj4oJndyaXRlQml0c1syXSksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdHlwZSo+KCZ3cml0ZUJpdHNbM10pIH07
CisKKyAgICBmb3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgeworICAgICAgICBm
b3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKQorICAgICAgICB7CisgICAgICAgICAgICB0
eXBlKiBkZXN0Um93ID0gb2Zmc2V0RGF0YVBvaW50ZXI8dHlwZT4ob3V0cHV0LCB5LCB6LCBvdXRw
dXRSb3dQaXRjaCwgb3V0cHV0RGVwdGhQaXRjaCk7CisKKyAgICAgICAgICAgIGZvciAoaW50IHgg
PSAwOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0eXBl
KiBkZXN0UGl4ZWwgPSBkZXN0Um93ICsgeCAqIDQ7CisKKyAgICAgICAgICAgICAgICAvLyBUaGlz
IGNvdWxkIHBvdGVudGlhbGx5IGJlIG9wdGltaXplZCBieSBnZW5lcmF0aW5nIGFuIGVudGlyZSBy
b3cgb2YgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgICAgICAgICAvLyBkYXRhIGFuZCBjb3B5aW5n
IHJvdyBieSByb3cgaW5zdGVhZCBvZiBwaXhlbCBieSBwaXhlbC4KKyAgICAgICAgICAgICAgICBt
ZW1jcHkoZGVzdFBpeGVsLCB3cml0ZVZhbHVlcywgc2l6ZW9mKHR5cGUpICogNCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK30KKworI2VuZGlmIC8vIExJQkdMRVNWMl9S
RU5ERVJFUl9MT0FESU1BR0VfSF8KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJHTEVTdjIvcmVuZGVyZXIvbG9hZGltYWdlU1NFMi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci9sb2FkaW1hZ2VTU0UyLmNw
cAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
cmVuZGVyZXIvbG9hZGltYWdlU1NFMi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMDcg
QEAKKyNpbmNsdWRlICJwcmVjb21waWxlZC5oIgorLy8KKy8vIENvcHlyaWdodCAoYykgMjAwMi0y
MDEyIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBV
c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl
IHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKworLy8gbG9h
ZGltYWdlLmNwcDogRGVmaW5lcyBpbWFnZSBsb2FkaW5nIGZ1bmN0aW9ucy4gSXQncworLy8gaW4g
YSBzZXBhcmF0ZWQgZmlsZSBmb3IgR0NDLCB3aGljaCBjYW4gZW5hYmxlIFNTRSB1c2FnZSBvbmx5
IHBlci1maWxlLAorLy8gbm90IGZvciBjb2RlIGJsb2NrcyB0aGF0IHVzZSBTU0UyIGV4cGxpY2l0
bHkuCisKKyNpbmNsdWRlICJsaWJHTEVTdjIvcmVuZGVyZXIvbG9hZGltYWdlLmgiCisKK25hbWVz
cGFjZSByeAoreworCisgICAgdm9pZCBsb2FkQWxwaGFEYXRhVG9CR1JBU1NFMihpbnQgd2lkdGgs
IGludCBoZWlnaHQsIGludCBkZXB0aCwKKyAgICAgICAgY29uc3Qgdm9pZCAqaW5wdXQsIHVuc2ln
bmVkIGludCBpbnB1dFJvd1BpdGNoLCB1bnNpZ25lZCBpbnQgaW5wdXREZXB0aFBpdGNoLAorICAg
ICAgICB2b2lkICpvdXRwdXQsIHVuc2lnbmVkIGludCBvdXRwdXRSb3dQaXRjaCwgdW5zaWduZWQg
aW50IG91dHB1dERlcHRoUGl0Y2gpCisgICAgeworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFy
ICpzb3VyY2UgPSBOVUxMOworICAgICAgICB1bnNpZ25lZCBpbnQgKmRlc3QgPSBOVUxMOworICAg
ICAgICBfX20xMjhpIHplcm9XaWRlID0gX21tX3NldHplcm9fc2kxMjgoKTsKKworICAgICAgICBm
b3IgKGludCB6ID0gMDsgeiA8IGRlcHRoOyB6KyspCisgICAgICAgIHsKKyAgICAgICAgICAgIGZv
ciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgc291cmNlID0gc3RhdGljX2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KGlucHV0KSAr
IHkgKiBpbnB1dFJvd1BpdGNoICsgeiAqIGlucHV0RGVwdGhQaXRjaDsKKyAgICAgICAgICAgICAg
ICBkZXN0ID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBpbnQqPihzdGF0aWNfY2FzdDx1bnNp
Z25lZCBjaGFyKj4ob3V0cHV0KSArIHkgKiBvdXRwdXRSb3dQaXRjaCArIHogKiBvdXRwdXREZXB0
aFBpdGNoKTsKKworICAgICAgICAgICAgICAgIGludCB4OworICAgICAgICAgICAgICAgIC8vIE1h
a2Ugb3V0cHV0IHdyaXRlcyBhbGlnbmVkCisgICAgICAgICAgICAgICAgZm9yICh4ID0gMDsgKChy
ZWludGVycHJldF9jYXN0PGludHB0cl90PigmZGVzdFt4XSkgJiAweEYpICE9IDAgJiYgeCA8IHdp
ZHRoKTsgeCsrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZGVzdFt4
XSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc291cmNlW3hdKSA8PCAyNDsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKDsgeCArIDcgPCB3aWR0aDsgeCArPSA4
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgX19tMTI4aSBzb3VyY2VE
YXRhID0gX21tX2xvYWRsX2VwaTY0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgX19tMTI4aSo+KCZz
b3VyY2VbeF0pKTsKKyAgICAgICAgICAgICAgICAgICAgLy8gSW50ZXJsZWF2ZSBlYWNoIGJ5dGUg
dG8gMTZiaXQsIG1ha2UgdGhlIGxvd2VyIGJ5dGUgdG8gemVybworICAgICAgICAgICAgICAgICAg
ICBzb3VyY2VEYXRhID0gX21tX3VucGFja2xvX2VwaTgoemVyb1dpZGUsIHNvdXJjZURhdGEpOwor
ICAgICAgICAgICAgICAgICAgICAvLyBJbnRlcmxlYXZlIGVhY2ggMTZiaXQgdG8gMzJiaXQsIG1h
a2UgdGhlIGxvd2VyIDE2Yml0IHRvIHplcm8KKyAgICAgICAgICAgICAgICAgICAgX19tMTI4aSBs
byA9IF9tbV91bnBhY2tsb19lcGkxNih6ZXJvV2lkZSwgc291cmNlRGF0YSk7CisgICAgICAgICAg
ICAgICAgICAgIF9fbTEyOGkgaGkgPSBfbW1fdW5wYWNraGlfZXBpMTYoemVyb1dpZGUsIHNvdXJj
ZURhdGEpOworCisgICAgICAgICAgICAgICAgICAgIF9tbV9zdG9yZV9zaTEyOChyZWludGVycHJl
dF9jYXN0PF9fbTEyOGkqPigmZGVzdFt4XSksIGxvKTsKKyAgICAgICAgICAgICAgICAgICAgX21t
X3N0b3JlX3NpMTI4KHJlaW50ZXJwcmV0X2Nhc3Q8X19tMTI4aSo+KCZkZXN0W3ggKyA0XSksIGhp
KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBIYW5kbGUgdGhlIHJl
bWFpbmRlcgorICAgICAgICAgICAgICAgIGZvciAoOyB4IDwgd2lkdGg7IHgrKykKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGRlc3RbeF0gPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZCBpbnQ+KHNvdXJjZVt4XSkgPDwgMjQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBsb2FkUkdCQVVCeXRlRGF0YVRvQkdS
QVNTRTIoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGVwdGgsCisgICAgICAgIGNvbnN0IHZv
aWQgKmlucHV0LCB1bnNpZ25lZCBpbnQgaW5wdXRSb3dQaXRjaCwgdW5zaWduZWQgaW50IGlucHV0
RGVwdGhQaXRjaCwKKyAgICAgICAgdm9pZCAqb3V0cHV0LCB1bnNpZ25lZCBpbnQgb3V0cHV0Um93
UGl0Y2gsIHVuc2lnbmVkIGludCBvdXRwdXREZXB0aFBpdGNoKQorICAgIHsKKyAgICAgICAgY29u
c3QgdW5zaWduZWQgaW50ICpzb3VyY2UgPSBOVUxMOworICAgICAgICB1bnNpZ25lZCBpbnQgKmRl
c3QgPSBOVUxMOworICAgICAgICBfX20xMjhpIGJyTWFzayA9IF9tbV9zZXQxX2VwaTMyKDB4MDBm
ZjAwZmYpOworCisgICAgICAgIGZvciAoaW50IHogPSAwOyB6IDwgZGVwdGg7IHorKykKKyAgICAg
ICAgeworICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBzb3VyY2UgPSByZWludGVycHJldF9jYXN0PGNvbnN0
IHVuc2lnbmVkIGludCo+KHN0YXRpY19jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPihpbnB1dCkg
KyB5ICogaW5wdXRSb3dQaXRjaCArIHogKiBpbnB1dERlcHRoUGl0Y2gpOworICAgICAgICAgICAg
ICAgIGRlc3QgPSByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGludCo+KHN0YXRpY19jYXN0PHVu
c2lnbmVkIGNoYXIqPihvdXRwdXQpICsgeSAqIG91dHB1dFJvd1BpdGNoICsgeiAqIG91dHB1dERl
cHRoUGl0Y2gpOworICAgICAgICAgICAgICAgIGludCB4ID0gMDsKKworICAgICAgICAgICAgICAg
IC8vIE1ha2Ugb3V0cHV0IHdyaXRlcyBhbGlnbmVkCisgICAgICAgICAgICAgICAgZm9yICh4ID0g
MDsgKChyZWludGVycHJldF9jYXN0PGludHB0cl90PigmZGVzdFt4XSkgJiAxNSkgIT0gMCkgJiYg
eCA8IHdpZHRoOyB4KyspCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgcmdiYSA9IHNvdXJjZVt4XTsKKyAgICAgICAgICAgICAgICAgICAgZGVzdFt4
XSA9IChfcm90bChyZ2JhLCAxNikgJiAweDAwZmYwMGZmKSB8IChyZ2JhICYgMHhmZjAwZmYwMCk7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yICg7IHggKyAzIDwgd2lk
dGg7IHggKz0gNCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIF9fbTEy
OGkgc291cmNlRGF0YSA9IF9tbV9sb2FkdV9zaTEyOChyZWludGVycHJldF9jYXN0PGNvbnN0IF9f
bTEyOGkqPigmc291cmNlW3hdKSk7CisgICAgICAgICAgICAgICAgICAgIC8vIE1hc2sgb3V0IGcg
YW5kIGEsIHdoaWNoIGRvbid0IGNoYW5nZQorICAgICAgICAgICAgICAgICAgICBfX20xMjhpIGdh
Q29tcG9uZW50cyA9IF9tbV9hbmRub3Rfc2kxMjgoYnJNYXNrLCBzb3VyY2VEYXRhKTsKKyAgICAg
ICAgICAgICAgICAgICAgLy8gTWFzayBvdXQgYiBhbmQgcgorICAgICAgICAgICAgICAgICAgICBf
X20xMjhpIGJyQ29tcG9uZW50cyA9IF9tbV9hbmRfc2kxMjgoc291cmNlRGF0YSwgYnJNYXNrKTsK
KyAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBiIGFuZCByCisgICAgICAgICAgICAgICAgICAg
IF9fbTEyOGkgYnJTd2FwcGVkID0gX21tX3NodWZmbGVoaV9lcGkxNihfbW1fc2h1ZmZsZWxvX2Vw
aTE2KGJyQ29tcG9uZW50cywgX01NX1NIVUZGTEUoMiwgMywgMCwgMSkpLCBfTU1fU0hVRkZMRSgy
LCAzLCAwLCAxKSk7CisgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgcmVzdWx0ID0gX21tX29y
X3NpMTI4KGdhQ29tcG9uZW50cywgYnJTd2FwcGVkKTsKKyAgICAgICAgICAgICAgICAgICAgX21t
X3N0b3JlX3NpMTI4KHJlaW50ZXJwcmV0X2Nhc3Q8X19tMTI4aSo+KCZkZXN0W3hdKSwgcmVzdWx0
KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBQZXJmb3JtIGxlZnRv
dmVyIHdyaXRlcworICAgICAgICAgICAgICAgIGZvciAoOyB4IDwgd2lkdGg7IHgrKykKKyAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCByZ2JhID0gc291
cmNlW3hdOworICAgICAgICAgICAgICAgICAgICBkZXN0W3hdID0gKF9yb3RsKHJnYmEsIDE2KSAm
IDB4MDBmZjAwZmYpIHwgKHJnYmEgJiAweGZmMDBmZjAwKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKK30KSW5kZXg6IFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIvdmVydGV4Y29udmVyc2lvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvcmVuZGVyZXIv
dmVydGV4Y29udmVyc2lvbi5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkdMRVN2Mi9yZW5kZXJlci92ZXJ0ZXhjb252ZXJzaW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMDMgQEAKKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMDItMjAxMCBUaGUg
QU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIHZlcnRleGNvbnZl
cnNpb24uaDogQSBsaWJyYXJ5IG9mIHZlcnRleCBjb252ZXJzaW9uIGNsYXNzZXMgdGhhdCBjYW4g
YmUgdXNlZCB0byBidWlsZAorLy8gdGhlIEZvcm1hdENvbnZlcnRlciBvYmplY3RzIHVzZWQgYnkg
dGhlIGJ1ZmZlciBjb252ZXJzaW9uIHN5c3RlbS4KKworI2lmbmRlZiBMSUJHTEVTVjJfVkVSVEVY
Q09OVkVSU0lPTl9IXworI2RlZmluZSBMSUJHTEVTVjJfVkVSVEVYQ09OVkVSU0lPTl9IXworCitu
YW1lc3BhY2UgcngKK3sKKworLy8gQ29udmVyc2lvbiB0eXBlczoKKy8vIHN0YXRpYyBjb25zdCBi
b29sIGlkZW50aXR5OiB0cnVlIGlmIHRoaXMgaXMgYW4gaWRlbnRpdHkgdHJhbnNmb3JtLCBmYWxz
ZSBvdGhlcndpc2UKKy8vIHN0YXRpYyBVIGNvbnZlcnQoVCk6IGNvbnZlcnQgYSBzaW5nbGUgZWxl
bWVudCBmcm9tIHRoZSBpbnB1dCB0eXBlIHRvIHRoZSBvdXRwdXQgdHlwZQorLy8gdHlwZWRlZiAu
Li4gT3V0cHV0VHlwZTogdGhlIHR5cGUgcHJvZHVjZWQgYnkgdGhpcyBjb252ZXJzaW9uCisKK3Rl
bXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IElkZW50aXR5Cit7CisgICAgc3RhdGljIGNvbnN0IGJv
b2wgaWRlbnRpdHkgPSB0cnVlOworCisgICAgdHlwZWRlZiBUIE91dHB1dFR5cGU7CisKKyAgICBz
dGF0aWMgVCBjb252ZXJ0KFQgeCkKKyAgICB7CisgICAgICAgIHJldHVybiB4OworICAgIH0KK307
CisKK3RlbXBsYXRlIDxjbGFzcyBGcm9tVCwgY2xhc3MgVG9UPgorc3RydWN0IENhc3QKK3sKKyAg
ICBzdGF0aWMgY29uc3QgYm9vbCBpZGVudGl0eSA9IGZhbHNlOworCisgICAgdHlwZWRlZiBUb1Qg
T3V0cHV0VHlwZTsKKworICAgIHN0YXRpYyBUb1QgY29udmVydChGcm9tVCB4KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRvVD4oeCk7CisgICAgfQorfTsKKwordGVtcGxhdGUg
PGNsYXNzIFQ+CitzdHJ1Y3QgQ2FzdDxULCBUPgoreworICAgIHN0YXRpYyBjb25zdCBib29sIGlk
ZW50aXR5ID0gdHJ1ZTsKKworICAgIHR5cGVkZWYgVCBPdXRwdXRUeXBlOworCisgICAgc3RhdGlj
IFQgY29udmVydChUIHgpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VD4oeCk7
CisgICAgfQorfTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgTm9ybWFsaXplCit7Cisg
ICAgc3RhdGljIGNvbnN0IGJvb2wgaWRlbnRpdHkgPSBmYWxzZTsKKworICAgIHR5cGVkZWYgZmxv
YXQgT3V0cHV0VHlwZTsKKworICAgIHN0YXRpYyBmbG9hdCBjb252ZXJ0KFQgeCkKKyAgICB7Cisg
ICAgICAgIHR5cGVkZWYgc3RkOjpudW1lcmljX2xpbWl0czxUPiBOTDsKKyAgICAgICAgZmxvYXQg
ZiA9IHN0YXRpY19jYXN0PGZsb2F0Pih4KTsKKworICAgICAgICBpZiAoTkw6OmlzX3NpZ25lZCkK
KyAgICAgICAgeworICAgICAgICAgICAgLy8gY29uc3QgZmxvYXQgPT4gVkMyMDA4IGNvbXB1dGVz
IGl0IGF0IGNvbXBpbGUgdGltZQorICAgICAgICAgICAgLy8gc3RhdGljIGNvbnN0IGZsb2F0ID0+
IFZDMjAwOCBjb21wdXRlcyBpdCB0aGUgZmlyc3QgdGltZSB3ZSBnZXQgaGVyZSwgc3RvcmVzIGl0
IHRvIG1lbW9yeSB3aXRoIHN0YXRpYyBndWFyZCBhbmQgYWxsIHRoYXQuCisgICAgICAgICAgICBj
b25zdCBmbG9hdCBkaXZpc29yID0gMS4wZi8oMipzdGF0aWNfY2FzdDxmbG9hdD4oTkw6Om1heCgp
KSsxKTsKKyAgICAgICAgICAgIHJldHVybiAoMipmKzEpKmRpdmlzb3I7CisgICAgICAgIH0KKyAg
ICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZi9OTDo6bWF4KCk7Cisg
ICAgICAgIH0KKyAgICB9Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgRnJvbVR5cGUsIHN0ZDo6c2l6
ZV90IFNjYWxlQml0cz4KK3N0cnVjdCBGaXhlZFRvRmxvYXQKK3sKKyAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBpZGVudGl0eSA9IGZhbHNlOworCisgICAgdHlwZWRlZiBmbG9hdCBPdXRwdXRUeXBlOwor
CisgICAgc3RhdGljIGZsb2F0IGNvbnZlcnQoRnJvbVR5cGUgeCkKKyAgICB7CisgICAgICAgIGNv
bnN0IGZsb2F0IGRpdmlzb3IgPSAxLjBmIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHN0YXRpY19jYXN0
PEZyb21UeXBlPigxKSA8PCBTY2FsZUJpdHMpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHgpICogZGl2aXNvcjsKKyAgICB9Cit9OworCisvLyBXaWRlbiB0eXBlczoKKy8vIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgaW5pdGlhbFdpZHRoOiBudW1iZXIgb2YgY29tcG9uZW50
cyBiZWZvcmUgY29udmVyc2lvbgorLy8gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBmaW5hbFdp
ZHRoOiBudW1iZXIgb2YgY29tcG9uZW50cyBhZnRlciBjb252ZXJzaW9uCisKKy8vIEZsb2F0IGlz
IHN1cHBvcnRlZCBhdCBhbnkgc2l6ZS4KK3RlbXBsYXRlIDxzdGQ6OnNpemVfdCBOPgorc3RydWN0
IE5vV2lkZW4KK3sKKyAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgaW5pdGlhbFdpZHRoID0g
TjsKKyAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxXaWR0aCA9IE47Cit9OworCisv
LyBTSE9SVCwgbm9ybS1TSE9SVCwgbm9ybS1VTlNJR05FRF9TSE9SVCBhcmUgc3VwcG9ydGVkIGJ1
dCBvbmx5IHdpdGggMiBvciA0IGNvbXBvbmVudHMKK3RlbXBsYXRlIDxzdGQ6OnNpemVfdCBOPgor
c3RydWN0IFdpZGVuVG9FdmVuCit7CisgICAgc3RhdGljIGNvbnN0IHN0ZDo6c2l6ZV90IGluaXRp
YWxXaWR0aCA9IE47CisgICAgc3RhdGljIGNvbnN0IHN0ZDo6c2l6ZV90IGZpbmFsV2lkdGggPSBO
KyhOJjEpOworfTsKKwordGVtcGxhdGUgPHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgV2lkZW5Ub0Zv
dXIKK3sKKyAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgaW5pdGlhbFdpZHRoID0gTjsKKyAg
ICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxXaWR0aCA9IDQ7Cit9OworCisvLyBNb3N0
IHR5cGVzIGhhdmUgMCBhbmQgMSB0aGF0IGFyZSBqdXN0IHRoYXQuCit0ZW1wbGF0ZSA8Y2xhc3Mg
VD4KK3N0cnVjdCBTaW1wbGVEZWZhdWx0VmFsdWVzCit7CisgICAgc3RhdGljIFQgemVybygpIHsg
cmV0dXJuIHN0YXRpY19jYXN0PFQ+KDApOyB9CisgICAgc3RhdGljIFQgb25lKCkgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VD4oMSk7IH0KK307CisKKy8vIEJ1dCBub3JtYWxpc2VkIHR5cGVzIG9ubHkg
c3RvcmUgWzAsMV0gb3IgWy0xLDFdIHNvIDEuMCBpcyByZXByZXNlbnRlZCBieSB0aGUgbWF4IHZh
bHVlLgordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgTm9ybWFsaXplZERlZmF1bHRWYWx1ZXMK
K3sKKyAgICBzdGF0aWMgVCB6ZXJvKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VD4oMCk7IH0KKyAg
ICBzdGF0aWMgVCBvbmUoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptYXgoKTsg
fQorfTsKKworLy8gQ29udmVydGVyOgorLy8gc3RhdGljIGNvbnN0IGJvb2wgaWRlbnRpdHk6IHRy
dWUgaWYgdGhpcyBpcyBhbiBpZGVudGl0eSB0cmFuc2Zvcm0gKHdpdGggbm8gd2lkZW5pbmcpCisv
LyBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxTaXplOiBudW1iZXIgb2YgYnl0ZXMgcGVy
IG91dHB1dCB2ZXJ0ZXgKKy8vIHN0YXRpYyB2b2lkIGNvbnZlcnRBcnJheShjb25zdCB2b2lkICpp
biwgc3RkOjpzaXplX3Qgc3RyaWRlLCBzdGQ6OnNpemVfdCBuLCB2b2lkICpvdXQpOiBjb252ZXJ0
IGFuIGFycmF5IG9mIHZlcnRpY2VzLiBJbnB1dCBtYXkgYmUgc3RyaWRlZCwgYnV0IG91dHB1dCB3
aWxsIGJlIHVuc3RyaWRlZC4KKwordGVtcGxhdGUgPGNsYXNzIEluVCwgY2xhc3MgV2lkZW5SdWxl
LCBjbGFzcyBDb252ZXJ0ZXIsIGNsYXNzIERlZmF1bHRWYWx1ZVJ1bGUgPSBTaW1wbGVEZWZhdWx0
VmFsdWVzPEluVD4gPgorc3RydWN0IFZlcnRleERhdGFDb252ZXJ0ZXIKK3sKKyAgICB0eXBlZGVm
IHR5cGVuYW1lIENvbnZlcnRlcjo6T3V0cHV0VHlwZSBPdXRwdXRUeXBlOworICAgIHR5cGVkZWYg
SW5UIElucHV0VHlwZTsKKworICAgIHN0YXRpYyBjb25zdCBib29sIGlkZW50aXR5ID0gKFdpZGVu
UnVsZTo6aW5pdGlhbFdpZHRoID09IFdpZGVuUnVsZTo6ZmluYWxXaWR0aCkgJiYgQ29udmVydGVy
OjppZGVudGl0eTsKKyAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZmluYWxTaXplID0gV2lk
ZW5SdWxlOjpmaW5hbFdpZHRoICogc2l6ZW9mKE91dHB1dFR5cGUpOworCisgICAgc3RhdGljIHZv
aWQgY29udmVydEFycmF5KGNvbnN0IElucHV0VHlwZSAqaW4sIHN0ZDo6c2l6ZV90IHN0cmlkZSwg
c3RkOjpzaXplX3QgbiwgT3V0cHV0VHlwZSAqb3V0KQorICAgIHsKKyAgICAgICAgZm9yIChzdGQ6
OnNpemVfdCBpID0gMDsgaSA8IG47IGkrKykKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3Qg
SW5wdXRUeXBlICplaW4gPSBwb2ludGVyQWRkQnl0ZXMoaW4sIGkgKiBzdHJpZGUpOworCisgICAg
ICAgICAgICBjb3B5Q29tcG9uZW50KG91dCwgZWluLCAwLCBzdGF0aWNfY2FzdDxPdXRwdXRUeXBl
PihEZWZhdWx0VmFsdWVSdWxlOjp6ZXJvKCkpKTsKKyAgICAgICAgICAgIGNvcHlDb21wb25lbnQo
b3V0LCBlaW4sIDEsIHN0YXRpY19jYXN0PE91dHB1dFR5cGU+KERlZmF1bHRWYWx1ZVJ1bGU6Onpl
cm8oKSkpOworICAgICAgICAgICAgY29weUNvbXBvbmVudChvdXQsIGVpbiwgMiwgc3RhdGljX2Nh
c3Q8T3V0cHV0VHlwZT4oRGVmYXVsdFZhbHVlUnVsZTo6emVybygpKSk7CisgICAgICAgICAgICBj
b3B5Q29tcG9uZW50KG91dCwgZWluLCAzLCBzdGF0aWNfY2FzdDxPdXRwdXRUeXBlPihEZWZhdWx0
VmFsdWVSdWxlOjpvbmUoKSkpOworCisgICAgICAgICAgICBvdXQgKz0gV2lkZW5SdWxlOjpmaW5h
bFdpZHRoOworICAgICAgICB9CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgY29udmVydEFycmF5
KGNvbnN0IHZvaWQgKmluLCBzdGQ6OnNpemVfdCBzdHJpZGUsIHN0ZDo6c2l6ZV90IG4sIHZvaWQg
Km91dCkKKyAgICB7CisgICAgICAgIHJldHVybiBjb252ZXJ0QXJyYXkoc3RhdGljX2Nhc3Q8Y29u
c3QgSW5wdXRUeXBlKj4oaW4pLCBzdHJpZGUsIG4sIHN0YXRpY19jYXN0PE91dHB1dFR5cGUqPihv
dXQpKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICAvLyBBZHZhbmNlIHRoZSBnaXZlbiBwb2lu
dGVyIGJ5IGEgbnVtYmVyIG9mIGJ5dGVzIChub3QgcG9pbnRlZC10byBlbGVtZW50cykuCisgICAg
dGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgc3RhdGljIFQgKnBvaW50ZXJBZGRCeXRlcyhUICpiYXNl
UHRyLCBzdGQ6OnNpemVfdCBudW1CeXRlcykKKyAgICB7CisgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFQgKj4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGJhc2VQdHIpICsgbnVt
Qnl0ZXMpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGNvcHlDb21wb25lbnQoT3V0cHV0VHlw
ZSAqb3V0LCBjb25zdCBJbnB1dFR5cGUgKmluLCBzdGQ6OnNpemVfdCBlbGVtZW50aW5kZXgsIE91
dHB1dFR5cGUgZGVmYXVsdHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKFdpZGVuUnVsZTo6Zmlu
YWxXaWR0aCA+IGVsZW1lbnRpbmRleCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKFdpZGVu
UnVsZTo6aW5pdGlhbFdpZHRoID4gZWxlbWVudGluZGV4KQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIG91dFtlbGVtZW50aW5kZXhdID0gQ29udmVydGVyOjpjb252ZXJ0KGluW2VsZW1l
bnRpbmRleF0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIG91dFtlbGVtZW50aW5kZXhdID0gZGVmYXVsdHZhbHVlOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfTsKKworfQorCisjZW5kaWYgICAvLyBMSUJH
TEVTVjJfVkVSVEVYQ09OVkVSU0lPTl9IXwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkdMRVN2Mi91dGlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvdXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMTY4MTAzKQor
KysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi91dGlsaXRpZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDc2OSArMCwwIEBACi0jaW5jbHVkZSAicHJlY29tcGlsZWQuaCIK
LS8vCi0vLyBDb3B5cmlnaHQgKGMpIDIwMDItMjAxMyBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KLS8vCi0KLS8vIHV0aWxpdGllcy5jcHA6IENvbnZlcnNpb24gZnVuY3Rp
b25zIGFuZCBvdGhlciB1dGlsaXR5IHJvdXRpbmVzLgotCi0jaW5jbHVkZSAibGliR0xFU3YyL3V0
aWxpdGllcy5oIgotI2luY2x1ZGUgImxpYkdMRVN2Mi9tYXRodXRpbC5oIgotCi1uYW1lc3BhY2Ug
Z2wKLXsKLQotaW50IFVuaWZvcm1Db21wb25lbnRDb3VudChHTGVudW0gdHlwZSkKLXsKLSAgICBz
d2l0Y2ggKHR5cGUpCi0gICAgewotICAgICAgY2FzZSBHTF9CT09MOgotICAgICAgY2FzZSBHTF9G
TE9BVDoKLSAgICAgIGNhc2UgR0xfSU5UOgotICAgICAgY2FzZSBHTF9TQU1QTEVSXzJEOgotICAg
ICAgY2FzZSBHTF9TQU1QTEVSX0NVQkU6Ci0gICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICBjYXNl
IEdMX0JPT0xfVkVDMjoKLSAgICAgIGNhc2UgR0xfRkxPQVRfVkVDMjoKLSAgICAgIGNhc2UgR0xf
SU5UX1ZFQzI6Ci0gICAgICAgICAgcmV0dXJuIDI7Ci0gICAgICBjYXNlIEdMX0lOVF9WRUMzOgot
ICAgICAgY2FzZSBHTF9GTE9BVF9WRUMzOgotICAgICAgY2FzZSBHTF9CT09MX1ZFQzM6Ci0gICAg
ICAgICAgcmV0dXJuIDM7Ci0gICAgICBjYXNlIEdMX0JPT0xfVkVDNDoKLSAgICAgIGNhc2UgR0xf
RkxPQVRfVkVDNDoKLSAgICAgIGNhc2UgR0xfSU5UX1ZFQzQ6Ci0gICAgICBjYXNlIEdMX0ZMT0FU
X01BVDI6Ci0gICAgICAgICAgcmV0dXJuIDQ7Ci0gICAgICBjYXNlIEdMX0ZMT0FUX01BVDM6Ci0g
ICAgICAgICAgcmV0dXJuIDk7Ci0gICAgICBjYXNlIEdMX0ZMT0FUX01BVDQ6Ci0gICAgICAgICAg
cmV0dXJuIDE2OwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgICBVTlJFQUNIQUJMRSgpOwotICAg
IH0KLQotICAgIHJldHVybiAwOwotfQotCi1HTGVudW0gVW5pZm9ybUNvbXBvbmVudFR5cGUoR0xl
bnVtIHR5cGUpCi17Ci0gICAgc3dpdGNoKHR5cGUpCi0gICAgewotICAgICAgY2FzZSBHTF9CT09M
OgotICAgICAgY2FzZSBHTF9CT09MX1ZFQzI6Ci0gICAgICBjYXNlIEdMX0JPT0xfVkVDMzoKLSAg
ICAgIGNhc2UgR0xfQk9PTF9WRUM0OgotICAgICAgICAgIHJldHVybiBHTF9CT09MOwotICAgICAg
Y2FzZSBHTF9GTE9BVDoKLSAgICAgIGNhc2UgR0xfRkxPQVRfVkVDMjoKLSAgICAgIGNhc2UgR0xf
RkxPQVRfVkVDMzoKLSAgICAgIGNhc2UgR0xfRkxPQVRfVkVDNDoKLSAgICAgIGNhc2UgR0xfRkxP
QVRfTUFUMjoKLSAgICAgIGNhc2UgR0xfRkxPQVRfTUFUMzoKLSAgICAgIGNhc2UgR0xfRkxPQVRf
TUFUNDoKLSAgICAgICAgICByZXR1cm4gR0xfRkxPQVQ7Ci0gICAgICBjYXNlIEdMX0lOVDoKLSAg
ICAgIGNhc2UgR0xfU0FNUExFUl8yRDoKLSAgICAgIGNhc2UgR0xfU0FNUExFUl9DVUJFOgotICAg
ICAgY2FzZSBHTF9JTlRfVkVDMjoKLSAgICAgIGNhc2UgR0xfSU5UX1ZFQzM6Ci0gICAgICBjYXNl
IEdMX0lOVF9WRUM0OgotICAgICAgICAgIHJldHVybiBHTF9JTlQ7Ci0gICAgICBkZWZhdWx0Ogot
ICAgICAgICAgIFVOUkVBQ0hBQkxFKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIEdMX05PTkU7Ci19
Ci0KLXNpemVfdCBVbmlmb3JtQ29tcG9uZW50U2l6ZShHTGVudW0gdHlwZSkKLXsKLSAgICBzd2l0
Y2godHlwZSkKLSAgICB7Ci0gICAgICBjYXNlIEdMX0JPT0w6ICByZXR1cm4gc2l6ZW9mKEdMaW50
KTsKLSAgICAgIGNhc2UgR0xfRkxPQVQ6IHJldHVybiBzaXplb2YoR0xmbG9hdCk7Ci0gICAgICBj
YXNlIEdMX0lOVDogICByZXR1cm4gc2l6ZW9mKEdMaW50KTsKLSAgICAgIGRlZmF1bHQ6ICAgICAg
IFVOUkVBQ0hBQkxFKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7Ci19Ci0KLXNpemVfdCBVbmlm
b3JtSW50ZXJuYWxTaXplKEdMZW51bSB0eXBlKQotewotICAgIC8vIEV4cGFuZGVkIHRvIDQtZWxl
bWVudCB2ZWN0b3JzCi0gICAgcmV0dXJuIFVuaWZvcm1Db21wb25lbnRTaXplKFVuaWZvcm1Db21w
b25lbnRUeXBlKHR5cGUpKSAqIFZhcmlhYmxlUm93Q291bnQodHlwZSkgKiA0OwotfQotCi1zaXpl
X3QgVW5pZm9ybUV4dGVybmFsU2l6ZShHTGVudW0gdHlwZSkKLXsKLSAgICByZXR1cm4gVW5pZm9y
bUNvbXBvbmVudFNpemUoVW5pZm9ybUNvbXBvbmVudFR5cGUodHlwZSkpICogVW5pZm9ybUNvbXBv
bmVudENvdW50KHR5cGUpOwotfQotCi1pbnQgVmFyaWFibGVSb3dDb3VudChHTGVudW0gdHlwZSkK
LXsKLSAgICBzd2l0Y2ggKHR5cGUpCi0gICAgewotICAgICAgY2FzZSBHTF9OT05FOgotICAgICAg
ICByZXR1cm4gMDsKLSAgICAgIGNhc2UgR0xfQk9PTDoKLSAgICAgIGNhc2UgR0xfRkxPQVQ6Ci0g
ICAgICBjYXNlIEdMX0lOVDoKLSAgICAgIGNhc2UgR0xfQk9PTF9WRUMyOgotICAgICAgY2FzZSBH
TF9GTE9BVF9WRUMyOgotICAgICAgY2FzZSBHTF9JTlRfVkVDMjoKLSAgICAgIGNhc2UgR0xfSU5U
X1ZFQzM6Ci0gICAgICBjYXNlIEdMX0ZMT0FUX1ZFQzM6Ci0gICAgICBjYXNlIEdMX0JPT0xfVkVD
MzoKLSAgICAgIGNhc2UgR0xfQk9PTF9WRUM0OgotICAgICAgY2FzZSBHTF9GTE9BVF9WRUM0Ogot
ICAgICAgY2FzZSBHTF9JTlRfVkVDNDoKLSAgICAgIGNhc2UgR0xfU0FNUExFUl8yRDoKLSAgICAg
IGNhc2UgR0xfU0FNUExFUl9DVUJFOgotICAgICAgICByZXR1cm4gMTsKLSAgICAgIGNhc2UgR0xf
RkxPQVRfTUFUMjoKLSAgICAgICAgcmV0dXJuIDI7Ci0gICAgICBjYXNlIEdMX0ZMT0FUX01BVDM6
Ci0gICAgICAgIHJldHVybiAzOwotICAgICAgY2FzZSBHTF9GTE9BVF9NQVQ0OgotICAgICAgICBy
ZXR1cm4gNDsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIFVOUkVBQ0hBQkxFKCk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLWludCBWYXJpYWJsZUNvbHVtbkNvdW50KEdMZW51bSB0eXBl
KQotewotICAgIHN3aXRjaCAodHlwZSkKLSAgICB7Ci0gICAgICBjYXNlIEdMX05PTkU6Ci0gICAg
ICAgIHJldHVybiAwOwotICAgICAgY2FzZSBHTF9CT09MOgotICAgICAgY2FzZSBHTF9GTE9BVDoK
LSAgICAgIGNhc2UgR0xfSU5UOgotICAgICAgY2FzZSBHTF9TQU1QTEVSXzJEOgotICAgICAgY2Fz
ZSBHTF9TQU1QTEVSX0NVQkU6Ci0gICAgICAgIHJldHVybiAxOwotICAgICAgY2FzZSBHTF9CT09M
X1ZFQzI6Ci0gICAgICBjYXNlIEdMX0ZMT0FUX1ZFQzI6Ci0gICAgICBjYXNlIEdMX0lOVF9WRUMy
OgotICAgICAgY2FzZSBHTF9GTE9BVF9NQVQyOgotICAgICAgICByZXR1cm4gMjsKLSAgICAgIGNh
c2UgR0xfSU5UX1ZFQzM6Ci0gICAgICBjYXNlIEdMX0ZMT0FUX1ZFQzM6Ci0gICAgICBjYXNlIEdM
X0JPT0xfVkVDMzoKLSAgICAgIGNhc2UgR0xfRkxPQVRfTUFUMzoKLSAgICAgICAgcmV0dXJuIDM7
Ci0gICAgICBjYXNlIEdMX0JPT0xfVkVDNDoKLSAgICAgIGNhc2UgR0xfRkxPQVRfVkVDNDoKLSAg
ICAgIGNhc2UgR0xfSU5UX1ZFQzQ6Ci0gICAgICBjYXNlIEdMX0ZMT0FUX01BVDQ6Ci0gICAgICAg
IHJldHVybiA0OwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgVU5SRUFDSEFCTEUoKTsKLSAgICB9
Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotaW50IEFsbG9jYXRlRmlyc3RGcmVlQml0cyh1bnNpZ25l
ZCBpbnQgKmJpdHMsIHVuc2lnbmVkIGludCBhbGxvY2F0aW9uU2l6ZSwgdW5zaWduZWQgaW50IGJp
dHNTaXplKQotewotICAgIEFTU0VSVChhbGxvY2F0aW9uU2l6ZSA8PSBiaXRzU2l6ZSk7Ci0KLSAg
ICB1bnNpZ25lZCBpbnQgbWFzayA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQgaW50Pjo6
bWF4KCkgPj4gKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQgaW50Pjo6ZGlnaXRzIC0gYWxs
b2NhdGlvblNpemUpOwotCi0gICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBiaXRzU2l6
ZSAtIGFsbG9jYXRpb25TaXplICsgMTsgaSsrKQotICAgIHsKLSAgICAgICAgaWYgKCgqYml0cyAm
IG1hc2spID09IDApCi0gICAgICAgIHsKLSAgICAgICAgICAgICpiaXRzIHw9IG1hc2s7Ci0gICAg
ICAgICAgICByZXR1cm4gaTsKLSAgICAgICAgfQotCi0gICAgICAgIG1hc2sgPDw9IDE7Ci0gICAg
fQotCi0gICAgcmV0dXJuIC0xOwotfQotCi1HTHNpemVpIENvbXB1dGVQaXRjaChHTHNpemVpIHdp
ZHRoLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xpbnQgYWxpZ25tZW50KQotewotICAgIEFTU0VS
VChhbGlnbm1lbnQgPiAwICYmIGlzUG93MihhbGlnbm1lbnQpKTsKLQotICAgIEdMc2l6ZWkgcmF3
UGl0Y2ggPSBDb21wdXRlUGl4ZWxTaXplKGludGVybmFsZm9ybWF0KSAqIHdpZHRoOwotICAgIHJl
dHVybiAocmF3UGl0Y2ggKyBhbGlnbm1lbnQgLSAxKSAmIH4oYWxpZ25tZW50IC0gMSk7Ci19Ci0K
LUdMc2l6ZWkgQ29tcHV0ZUNvbXByZXNzZWRQaXRjaChHTHNpemVpIHdpZHRoLCBHTGVudW0gaW50
ZXJuYWxmb3JtYXQpCi17Ci0gICAgcmV0dXJuIENvbXB1dGVDb21wcmVzc2VkU2l6ZSh3aWR0aCwg
MSwgaW50ZXJuYWxmb3JtYXQpOwotfQotCi1HTHNpemVpIENvbXB1dGVDb21wcmVzc2VkU2l6ZShH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGludGVybmFsZm9ybWF0KQotewot
ICAgIHN3aXRjaCAoaW50ZXJuYWxmb3JtYXQpCi0gICAgewotICAgICAgY2FzZSBHTF9DT01QUkVT
U0VEX1JHQl9TM1RDX0RYVDFfRVhUOgotICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQkFfUzNU
Q19EWFQxX0VYVDoKLSAgICAgICAgcmV0dXJuIDggKiAoKHdpZHRoICsgMykgLyA0KSAqICgoaGVp
Z2h0ICsgMykgLyA0KTsKLSAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19B
TkdMRToKLSAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRToKLSAg
ICAgICAgcmV0dXJuIDE2ICogKCh3aWR0aCArIDMpIC8gNCkgKiAoKGhlaWdodCArIDMpIC8gNCk7
Ci0gICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci19Ci0KLUdMc2l6ZWkg
Q29tcHV0ZVR5cGVTaXplKEdMZW51bSB0eXBlKQotewotICAgIHN3aXRjaCAodHlwZSkKLSAgICB7
Ci0gICAgICBjYXNlIEdMX0JZVEU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAx
OwotICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOiAgICAgICAgICAgICAgICAgICByZXR1cm4g
MTsKLSAgICAgIGNhc2UgR0xfU0hPUlQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IDI7Ci0gICAgICBjYXNlIEdMX1VOU0lHTkVEX1NIT1JUOiAgICAgICAgICAgICAgICAgIHJldHVy
biAyOwotICAgICAgY2FzZSBHTF9JTlQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gNDsKLSAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UOiAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIDQ7Ci0gICAgICBjYXNlIEdMX0ZMT0FUOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiA0OwotICAgICAgY2FzZSBHTF9IQUxGX0ZMT0FUX09FUzogICAgICAgICAgICAgICAgICBy
ZXR1cm4gMjsKLSAgICAgIGNhc2UgR0xfVU5TSUdORURfU0hPUlRfNV82XzU6ICAgICAgICAgICAg
cmV0dXJuIDI7Ci0gICAgICBjYXNlIEdMX1VOU0lHTkVEX1NIT1JUXzRfNF80XzQ6ICAgICAgICAg
IHJldHVybiAyOwotICAgICAgY2FzZSBHTF9VTlNJR05FRF9TSE9SVF81XzVfNV8xOiAgICAgICAg
ICByZXR1cm4gMjsKLSAgICAgIGNhc2UgR0xfVU5TSUdORURfU0hPUlRfNF80XzRfNF9SRVZfRVhU
OiAgcmV0dXJuIDI7Ci0gICAgICBjYXNlIEdMX1VOU0lHTkVEX1NIT1JUXzFfNV81XzVfUkVWX0VY
VDogIHJldHVybiAyOwotICAgICAgY2FzZSBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVZf
RVhUOiByZXR1cm4gNDsKLSAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UXzI0XzhfT0VTOiAgICAg
ICAgICAgcmV0dXJuIDQ7Ci0gICAgICBkZWZhdWx0OiBVTlJFQUNIQUJMRSgpOyAgICAgICAgICAg
ICAgICAgIHJldHVybiAwOwotICAgIH0KLX0KLQotYm9vbCBJc0NvbXByZXNzZWQoR0xlbnVtIGZv
cm1hdCkKLXsKLSAgICBpZihmb3JtYXQgPT0gR0xfQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VY
VCB8fAotICAgICAgIGZvcm1hdCA9PSBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVCB8
fAotICAgICAgIGZvcm1hdCA9PSBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFIHx8
Ci0gICAgICAgZm9ybWF0ID09IEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfQU5HTEUpCi0g
ICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotYm9vbCBJc0RlcHRoVGV4dHVyZShHTGVudW0g
Zm9ybWF0KQotewotICAgIGlmIChmb3JtYXQgPT0gR0xfREVQVEhfQ09NUE9ORU5UIHx8Ci0gICAg
ICAgIGZvcm1hdCA9PSBHTF9ERVBUSF9TVEVOQ0lMX09FUyB8fAotICAgICAgICBmb3JtYXQgPT0g
R0xfREVQVEhfQ09NUE9ORU5UMTYgfHwKLSAgICAgICAgZm9ybWF0ID09IEdMX0RFUFRIX0NPTVBP
TkVOVDMyX09FUyB8fAotICAgICAgICBmb3JtYXQgPT0gR0xfREVQVEgyNF9TVEVOQ0lMOF9PRVMp
Ci0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLWJvb2wgSXNTdGVuY2lsVGV4dHVyZShHTGVudW0gZm9ybWF0KQotewotICAgIGlmIChm
b3JtYXQgPT0gR0xfREVQVEhfU1RFTkNJTF9PRVMgfHwKLSAgICAgICAgZm9ybWF0ID09IEdMX0RF
UFRIMjRfU1RFTkNJTDhfT0VTKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIE1ha2VWYWxpZFNpemUoYm9vbCBpc0ltYWdl
LCBib29sIGlzQ29tcHJlc3NlZCwgR0xzaXplaSAqcmVxdWVzdFdpZHRoLCBHTHNpemVpICpyZXF1
ZXN0SGVpZ2h0LCBpbnQgKmxldmVsT2Zmc2V0KQotewotICAgIGludCB1cHNhbXBsZUNvdW50ID0g
MDsKLQotICAgIGlmIChpc0NvbXByZXNzZWQpCi0gICAgewotICAgICAgICAvLyBEb24ndCBleHBh
bmQgdGhlIHNpemUgb2YgZnVsbCB0ZXh0dXJlcyB0aGF0IGFyZSBhdCBsZWFzdCA0eDQKLSAgICAg
ICAgLy8gYWxyZWFkeS4KLSAgICAgICAgaWYgKGlzSW1hZ2UgfHwgKnJlcXVlc3RXaWR0aCA8IDQg
fHwgKnJlcXVlc3RIZWlnaHQgPCA0KQotICAgICAgICB7Ci0gICAgICAgICAgICB3aGlsZSAoKnJl
cXVlc3RXaWR0aCAlIDQgIT0gMCB8fCAqcmVxdWVzdEhlaWdodCAlIDQgIT0gMCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAqcmVxdWVzdFdpZHRoIDw8PSAxOwotICAgICAgICAgICAg
ICAgICpyZXF1ZXN0SGVpZ2h0IDw8PSAxOwotICAgICAgICAgICAgICAgIHVwc2FtcGxlQ291bnQr
KzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICAqbGV2ZWxPZmZzZXQgPSB1
cHNhbXBsZUNvdW50OwotfQotCi0vLyBSZXR1cm5zIHRoZSBzaXplLCBpbiBieXRlcywgb2YgYSBz
aW5nbGUgdGV4ZWwgaW4gYW4gSW1hZ2UKLWludCBDb21wdXRlUGl4ZWxTaXplKEdMaW50IGludGVy
bmFsZm9ybWF0KQotewotICAgIHN3aXRjaCAoaW50ZXJuYWxmb3JtYXQpCi0gICAgewotICAgICAg
Y2FzZSBHTF9BTFBIQThfRVhUOiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemVvZih1
bnNpZ25lZCBjaGFyKTsKLSAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9FWFQ6ICAgICAgICAgICAg
ICAgICAgIHJldHVybiBzaXplb2YodW5zaWduZWQgY2hhcik7Ci0gICAgICBjYXNlIEdMX0FMUEhB
MzJGX0VYVDogICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZW9mKGZsb2F0KTsKLSAgICAg
IGNhc2UgR0xfTFVNSU5BTkNFMzJGX0VYVDogICAgICAgICAgICAgICAgIHJldHVybiBzaXplb2Yo
ZmxvYXQpOwotICAgICAgY2FzZSBHTF9BTFBIQTE2Rl9FWFQ6ICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHNpemVvZih1bnNpZ25lZCBzaG9ydCk7Ci0gICAgICBjYXNlIEdMX0xVTUlOQU5DRTE2
Rl9FWFQ6ICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZW9mKHVuc2lnbmVkIHNob3J0KTsKLSAg
ICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9BTFBIQThfRVhUOiAgICAgICAgICAgIHJldHVybiBzaXpl
b2YodW5zaWduZWQgY2hhcikgKiAyOwotICAgICAgY2FzZSBHTF9MVU1JTkFOQ0VfQUxQSEEzMkZf
RVhUOiAgICAgICAgICAgcmV0dXJuIHNpemVvZihmbG9hdCkgKiAyOwotICAgICAgY2FzZSBHTF9M
VU1JTkFOQ0VfQUxQSEExNkZfRVhUOiAgICAgICAgICAgcmV0dXJuIHNpemVvZih1bnNpZ25lZCBz
aG9ydCkgKiAyOwotICAgICAgY2FzZSBHTF9SR0I4X09FUzogICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHNpemVvZih1bnNpZ25lZCBjaGFyKSAqIDM7Ci0gICAgICBjYXNlIEdMX1JHQjU2
NTogICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZW9mKHVuc2lnbmVkIHNob3J0
KTsKLSAgICAgIGNhc2UgR0xfUkdCMzJGX0VYVDogICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBzaXplb2YoZmxvYXQpICogMzsKLSAgICAgIGNhc2UgR0xfUkdCMTZGX0VYVDogICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBzaXplb2YodW5zaWduZWQgc2hvcnQpICogMzsKLSAgICAgIGNh
c2UgR0xfUkdCQThfT0VTOiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzaXplb2YodW5z
aWduZWQgY2hhcikgKiA0OwotICAgICAgY2FzZSBHTF9SR0JBNDogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHNpemVvZih1bnNpZ25lZCBzaG9ydCk7Ci0gICAgICBjYXNlIEdMX1JH
QjVfQTE6ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZW9mKHVuc2lnbmVkIHNo
b3J0KTsKLSAgICAgIGNhc2UgR0xfUkdCQTMyRl9FWFQ6ICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBzaXplb2YoZmxvYXQpICogNDsKLSAgICAgIGNhc2UgR0xfUkdCQTE2Rl9FWFQ6ICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBzaXplb2YodW5zaWduZWQgc2hvcnQpICogNDsKLSAgICAg
IGNhc2UgR0xfQkdSQThfRVhUOiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzaXplb2Yo
dW5zaWduZWQgY2hhcikgKiA0OwotICAgICAgY2FzZSBHTF9CR1JBNF9BTkdMRVg6ICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHNpemVvZih1bnNpZ25lZCBzaG9ydCk7Ci0gICAgICBjYXNlIEdM
X0JHUjVfQTFfQU5HTEVYOiAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZW9mKHVuc2lnbmVk
IHNob3J0KTsKLSAgICAgIGRlZmF1bHQ6IFVOUkVBQ0hBQkxFKCk7Ci0gICAgfQotCi0gICAgcmV0
dXJuIDA7Ci19Ci0KLWJvb2wgSXNDdWJlbWFwVGV4dHVyZVRhcmdldChHTGVudW0gdGFyZ2V0KQot
ewotICAgIHJldHVybiAodGFyZ2V0ID49IEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCAm
JiB0YXJnZXQgPD0gR0xfVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aKTsKLX0KLQotYm9vbCBJ
c0ludGVybmFsVGV4dHVyZVRhcmdldChHTGVudW0gdGFyZ2V0KQotewotICAgIHJldHVybiB0YXJn
ZXQgPT0gR0xfVEVYVFVSRV8yRCB8fCBJc0N1YmVtYXBUZXh0dXJlVGFyZ2V0KHRhcmdldCk7Ci19
Ci0KLUdMaW50IENvbnZlcnRTaXplZEludGVybmFsRm9ybWF0KEdMZW51bSBmb3JtYXQsIEdMZW51
bSB0eXBlKQotewotICAgIHN3aXRjaCAoZm9ybWF0KQotICAgIHsKLSAgICAgIGNhc2UgR0xfQUxQ
SEE6Ci0gICAgICAgIHN3aXRjaCAodHlwZSkKLSAgICAgICAgewotICAgICAgICAgIGNhc2UgR0xf
VU5TSUdORURfQllURTogICAgcmV0dXJuIEdMX0FMUEhBOF9FWFQ7Ci0gICAgICAgICAgY2FzZSBH
TF9GTE9BVDogICAgICAgICAgICByZXR1cm4gR0xfQUxQSEEzMkZfRVhUOwotICAgICAgICAgIGNh
c2UgR0xfSEFMRl9GTE9BVF9PRVM6ICAgcmV0dXJuIEdMX0FMUEhBMTZGX0VYVDsKLSAgICAgICAg
ICBkZWZhdWx0OiAgICAgICAgICAgICAgICAgIFVOSU1QTEVNRU5URUQoKTsKLSAgICAgICAgfQot
ICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOgotICAgICAgICBzd2l0Y2gg
KHR5cGUpCi0gICAgICAgIHsKLSAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6ICAgIHJl
dHVybiBHTF9MVU1JTkFOQ0U4X0VYVDsKLSAgICAgICAgICBjYXNlIEdMX0ZMT0FUOiAgICAgICAg
ICAgIHJldHVybiBHTF9MVU1JTkFOQ0UzMkZfRVhUOwotICAgICAgICAgIGNhc2UgR0xfSEFMRl9G
TE9BVF9PRVM6ICAgcmV0dXJuIEdMX0xVTUlOQU5DRTE2Rl9FWFQ7Ci0gICAgICAgICAgZGVmYXVs
dDogICAgICAgICAgICAgICAgICBVTklNUExFTUVOVEVEKCk7Ci0gICAgICAgIH0KLSAgICAgICAg
YnJlYWs7Ci0gICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQToKLSAgICAgICAgc3dpdGNoICh0
eXBlKQotICAgICAgICB7Ci0gICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOiAgICByZXR1
cm4gR0xfTFVNSU5BTkNFOF9BTFBIQThfRVhUOwotICAgICAgICAgIGNhc2UgR0xfRkxPQVQ6ICAg
ICAgICAgICAgcmV0dXJuIEdMX0xVTUlOQU5DRV9BTFBIQTMyRl9FWFQ7Ci0gICAgICAgICAgY2Fz
ZSBHTF9IQUxGX0ZMT0FUX09FUzogICByZXR1cm4gR0xfTFVNSU5BTkNFX0FMUEhBMTZGX0VYVDsK
LSAgICAgICAgICBkZWZhdWx0OiAgICAgICAgICAgICAgICAgIFVOSU1QTEVNRU5URUQoKTsKLSAg
ICAgICAgfQotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgR0xfUkdCOgotICAgICAgICBzd2l0
Y2ggKHR5cGUpCi0gICAgICAgIHsKLSAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6ICAg
ICAgICAgICAgcmV0dXJuIEdMX1JHQjhfT0VTOwotICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURf
U0hPUlRfNV82XzU6ICAgICByZXR1cm4gR0xfUkdCNTY1OwotICAgICAgICAgIGNhc2UgR0xfRkxP
QVQ6ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfUkdCMzJGX0VYVDsKLSAgICAgICAgICBj
YXNlIEdMX0hBTEZfRkxPQVRfT0VTOiAgICAgICAgICAgcmV0dXJuIEdMX1JHQjE2Rl9FWFQ7Ci0g
ICAgICAgICAgZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICAgIFVOSU1QTEVNRU5URUQo
KTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgR0xfUkdCQToKLSAgICAg
ICAgc3dpdGNoICh0eXBlKQotICAgICAgICB7Ci0gICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9C
WVRFOiAgICAgICAgICAgIHJldHVybiBHTF9SR0JBOF9PRVM7Ci0gICAgICAgICAgY2FzZSBHTF9V
TlNJR05FRF9TSE9SVF80XzRfNF80OiAgIHJldHVybiBHTF9SR0JBNDsKLSAgICAgICAgICBjYXNl
IEdMX1VOU0lHTkVEX1NIT1JUXzVfNV81XzE6ICAgcmV0dXJuIEdMX1JHQjVfQTE7Ci0gICAgICAg
ICAgY2FzZSBHTF9GTE9BVDogICAgICAgICAgICAgICAgICAgIHJldHVybiBHTF9SR0JBMzJGX0VY
VDsKLSAgICAgICAgICBjYXNlIEdMX0hBTEZfRkxPQVRfT0VTOiAgICAgICAgICAgcmV0dXJuIEdM
X1JHQkExNkZfRVhUOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgZGVmYXVsdDogICAg
ICAgICAgICAgICAgICAgICAgICAgIFVOSU1QTEVNRU5URUQoKTsKLSAgICAgICAgfQotICAgICAg
ICBicmVhazsKLSAgICAgIGNhc2UgR0xfQkdSQV9FWFQ6Ci0gICAgICAgIHN3aXRjaCAodHlwZSkK
LSAgICAgICAgewotICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfQllURTogICAgICAgICAgICAg
ICAgICAgIHJldHVybiBHTF9CR1JBOF9FWFQ7Ci0gICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9T
SE9SVF80XzRfNF80X1JFVl9FWFQ6ICAgcmV0dXJuIEdMX0JHUkE0X0FOR0xFWDsKLSAgICAgICAg
ICBjYXNlIEdMX1VOU0lHTkVEX1NIT1JUXzFfNV81XzVfUkVWX0VYVDogICByZXR1cm4gR0xfQkdS
NV9BMV9BTkdMRVg7Ci0gICAgICAgICAgZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVU5JTVBMRU1FTlRFRCgpOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAg
ICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhUOgotICAgICAgY2FzZSBHTF9D
T01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDoKLSAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9S
R0JBX1MzVENfRFhUM19BTkdMRToKLSAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENf
RFhUNV9BTkdMRToKLSAgICAgICAgcmV0dXJuIGZvcm1hdDsKLSAgICAgIGNhc2UgR0xfREVQVEhf
Q09NUE9ORU5UOgotICAgICAgICBzd2l0Y2ggKHR5cGUpCi0gICAgICAgIHsKLSAgICAgICAgICBj
YXNlIEdMX1VOU0lHTkVEX1NIT1JUOiAgICAgICAgICAgcmV0dXJuIEdMX0RFUFRIX0NPTVBPTkVO
VDE2OwotICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UOiAgICAgICAgICAgICByZXR1cm4g
R0xfREVQVEhfQ09NUE9ORU5UMzJfT0VTOwotICAgICAgICAgIGRlZmF1bHQ6ICAgICAgICAgICAg
ICAgICAgICAgICAgICBVTklNUExFTUVOVEVEKCk7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7
Ci0gICAgICBjYXNlIEdMX0RFUFRIX1NURU5DSUxfT0VTOgotICAgICAgICBzd2l0Y2ggKHR5cGUp
Ci0gICAgICAgIHsKLSAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0lOVF8yNF84X09FUzogICAg
cmV0dXJuIEdMX0RFUFRIMjRfU1RFTkNJTDhfT0VTOwotICAgICAgICAgIGRlZmF1bHQ6ICAgICAg
ICAgICAgICAgICAgICAgICAgICBVTklNUExFTUVOVEVEKCk7Ci0gICAgICAgIH0KLSAgICAgICAg
YnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICBVTklNUExFTUVOVEVEKCk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIEdMX05PTkU7Ci19Ci0KLUdMZW51bSBFeHRyYWN0Rm9ybWF0KEdMZW51bSBp
bnRlcm5hbGZvcm1hdCkKLXsKLSAgICBzd2l0Y2ggKGludGVybmFsZm9ybWF0KQotICAgIHsKLSAg
ICAgIGNhc2UgR0xfUkdCNTY1OiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX1JH
QjsKLSAgICAgIGNhc2UgR0xfUkdCQTQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdMX1JHQkE7Ci0gICAgICBjYXNlIEdMX1JHQjVfQTE6ICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBHTF9SR0JBOwotICAgICAgY2FzZSBHTF9SR0I4X09FUzogICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gR0xfUkdCOwotICAgICAgY2FzZSBHTF9SR0JBOF9PRVM6ICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gR0xfUkdCQTsKLSAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9B
TFBIQThfRVhUOiAgICAgICAgICAgcmV0dXJuIEdMX0xVTUlOQU5DRV9BTFBIQTsKLSAgICAgIGNh
c2UgR0xfTFVNSU5BTkNFOF9FWFQ6ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX0xVTUlOQU5D
RTsKLSAgICAgIGNhc2UgR0xfQUxQSEE4X0VYVDogICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdMX0FMUEhBOwotICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhUOiAg
ICByZXR1cm4gR0xfQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVDsKLSAgICAgIGNhc2UgR0xf
Q09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQ6ICAgcmV0dXJuIEdMX0NPTVBSRVNTRURfUkdC
QV9TM1RDX0RYVDFfRVhUOwotICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQz
X0FOR0xFOiByZXR1cm4gR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19BTkdMRTsKLSAgICAg
IGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRTogcmV0dXJuIEdMX0NPTVBS
RVNTRURfUkdCQV9TM1RDX0RYVDVfQU5HTEU7Ci0gICAgICBjYXNlIEdMX1JHQkEzMkZfRVhUOiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBHTF9SR0JBOwotICAgICAgY2FzZSBHTF9SR0IzMkZf
RVhUOiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfUkdCOwotICAgICAgY2FzZSBHTF9B
TFBIQTMyRl9FWFQ6ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfQUxQSEE7Ci0gICAgICBj
YXNlIEdMX0xVTUlOQU5DRTMyRl9FWFQ6ICAgICAgICAgICAgICAgIHJldHVybiBHTF9MVU1JTkFO
Q0U7Ci0gICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQTMyRl9FWFQ6ICAgICAgICAgIHJldHVy
biBHTF9MVU1JTkFOQ0VfQUxQSEE7Ci0gICAgICBjYXNlIEdMX1JHQkExNkZfRVhUOiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBHTF9SR0JBOwotICAgICAgY2FzZSBHTF9SR0IxNkZfRVhUOiAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfUkdCOwotICAgICAgY2FzZSBHTF9BTFBIQTE2
Rl9FWFQ6ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfQUxQSEE7Ci0gICAgICBjYXNlIEdM
X0xVTUlOQU5DRTE2Rl9FWFQ6ICAgICAgICAgICAgICAgIHJldHVybiBHTF9MVU1JTkFOQ0U7Ci0g
ICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9FWFQ6ICAgICAgICAgIHJldHVybiBHTF9M
VU1JTkFOQ0VfQUxQSEE7Ci0gICAgICBjYXNlIEdMX0JHUkE4X0VYVDogICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBHTF9CR1JBX0VYVDsKLSAgICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5U
MTY6ICAgICAgICAgICAgICAgcmV0dXJuIEdMX0RFUFRIX0NPTVBPTkVOVDsKLSAgICAgIGNhc2Ug
R0xfREVQVEhfQ09NUE9ORU5UMzJfT0VTOiAgICAgICAgICAgcmV0dXJuIEdMX0RFUFRIX0NPTVBP
TkVOVDsKLSAgICAgIGNhc2UgR0xfREVQVEgyNF9TVEVOQ0lMOF9PRVM6ICAgICAgICAgICAgcmV0
dXJuIEdMX0RFUFRIX1NURU5DSUxfT0VTOwotICAgICAgZGVmYXVsdDogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gR0xfTk9ORTsgICAvLyBVbnN1cHBvcnRlZAotICAgIH0K
LX0KLQotR0xlbnVtIEV4dHJhY3RUeXBlKEdMZW51bSBpbnRlcm5hbGZvcm1hdCkKLXsKLSAgICBz
d2l0Y2ggKGludGVybmFsZm9ybWF0KQotICAgIHsKLSAgICAgIGNhc2UgR0xfUkdCNTY1OiAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX1VOU0lHTkVEX1NIT1JUXzVfNl81OwotICAg
ICAgY2FzZSBHTF9SR0JBNDogICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfVU5T
SUdORURfU0hPUlRfNF80XzRfNDsKLSAgICAgIGNhc2UgR0xfUkdCNV9BMTogICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIEdMX1VOU0lHTkVEX1NIT1JUXzVfNV81XzE7Ci0gICAgICBjYXNl
IEdMX1JHQjhfT0VTOiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHTF9VTlNJR05FRF9C
WVRFOwotICAgICAgY2FzZSBHTF9SR0JBOF9PRVM6ICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gR0xfVU5TSUdORURfQllURTsKLSAgICAgIGNhc2UgR0xfTFVNSU5BTkNFOF9BTFBIQThfRVhU
OiAgICAgICAgICAgcmV0dXJuIEdMX1VOU0lHTkVEX0JZVEU7Ci0gICAgICBjYXNlIEdMX0xVTUlO
QU5DRThfRVhUOiAgICAgICAgICAgICAgICAgIHJldHVybiBHTF9VTlNJR05FRF9CWVRFOwotICAg
ICAgY2FzZSBHTF9BTFBIQThfRVhUOiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfVU5T
SUdORURfQllURTsKLSAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVDog
ICAgcmV0dXJuIEdMX1VOU0lHTkVEX0JZVEU7Ci0gICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdC
QV9TM1RDX0RYVDFfRVhUOiAgIHJldHVybiBHTF9VTlNJR05FRF9CWVRFOwotICAgICAgY2FzZSBH
TF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFOiByZXR1cm4gR0xfVU5TSUdORURfQllU
RTsKLSAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRTogcmV0dXJu
IEdMX1VOU0lHTkVEX0JZVEU7Ci0gICAgICBjYXNlIEdMX1JHQkEzMkZfRVhUOiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBHTF9GTE9BVDsKLSAgICAgIGNhc2UgR0xfUkdCMzJGX0VYVDogICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX0ZMT0FUOwotICAgICAgY2FzZSBHTF9BTFBIQTMy
Rl9FWFQ6ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR0xfRkxPQVQ7Ci0gICAgICBjYXNlIEdM
X0xVTUlOQU5DRTMyRl9FWFQ6ICAgICAgICAgICAgICAgIHJldHVybiBHTF9GTE9BVDsKLSAgICAg
IGNhc2UgR0xfTFVNSU5BTkNFX0FMUEhBMzJGX0VYVDogICAgICAgICAgcmV0dXJuIEdMX0ZMT0FU
OwotICAgICAgY2FzZSBHTF9SR0JBMTZGX0VYVDogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
R0xfSEFMRl9GTE9BVF9PRVM7Ci0gICAgICBjYXNlIEdMX1JHQjE2Rl9FWFQ6ICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBHTF9IQUxGX0ZMT0FUX09FUzsKLSAgICAgIGNhc2UgR0xfQUxQSEEx
NkZfRVhUOiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX0hBTEZfRkxPQVRfT0VTOwotICAg
ICAgY2FzZSBHTF9MVU1JTkFOQ0UxNkZfRVhUOiAgICAgICAgICAgICAgICByZXR1cm4gR0xfSEFM
Rl9GTE9BVF9PRVM7Ci0gICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9FWFQ6ICAgICAg
ICAgIHJldHVybiBHTF9IQUxGX0ZMT0FUX09FUzsKLSAgICAgIGNhc2UgR0xfQkdSQThfRVhUOiAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX1VOU0lHTkVEX0JZVEU7Ci0gICAgICBjYXNl
IEdMX0RFUFRIX0NPTVBPTkVOVDE2OiAgICAgICAgICAgICAgIHJldHVybiBHTF9VTlNJR05FRF9T
SE9SVDsKLSAgICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5UMzJfT0VTOiAgICAgICAgICAgcmV0
dXJuIEdMX1VOU0lHTkVEX0lOVDsKLSAgICAgIGNhc2UgR0xfREVQVEgyNF9TVEVOQ0lMOF9PRVM6
ICAgICAgICAgICAgcmV0dXJuIEdMX1VOU0lHTkVEX0lOVF8yNF84X09FUzsKLSAgICAgIGRlZmF1
bHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdMX05PTkU7ICAgLy8g
VW5zdXBwb3J0ZWQKLSAgICB9Ci19Ci0KLWJvb2wgSXNDb2xvclJlbmRlcmFibGUoR0xlbnVtIGlu
dGVybmFsZm9ybWF0KQotewotICAgIHN3aXRjaCAoaW50ZXJuYWxmb3JtYXQpCi0gICAgewotICAg
ICAgY2FzZSBHTF9SR0JBNDoKLSAgICAgIGNhc2UgR0xfUkdCNV9BMToKLSAgICAgIGNhc2UgR0xf
UkdCNTY1OgotICAgICAgY2FzZSBHTF9SR0I4X09FUzoKLSAgICAgIGNhc2UgR0xfUkdCQThfT0VT
OgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5UMTY6
Ci0gICAgICBjYXNlIEdMX1NURU5DSUxfSU5ERVg4OgotICAgICAgY2FzZSBHTF9ERVBUSDI0X1NU
RU5DSUw4X09FUzoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgY2FzZSBHTF9CR1JBOF9F
WFQ6Ci0gICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICBVTklN
UExFTUVOVEVEKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIElzRGVw
dGhSZW5kZXJhYmxlKEdMZW51bSBpbnRlcm5hbGZvcm1hdCkKLXsKLSAgICBzd2l0Y2ggKGludGVy
bmFsZm9ybWF0KQotICAgIHsKLSAgICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5UMTY6Ci0gICAg
ICBjYXNlIEdMX0RFUFRIMjRfU1RFTkNJTDhfT0VTOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgIGNhc2UgR0xfU1RFTkNJTF9JTkRFWDg6Ci0gICAgICBjYXNlIEdMX1JHQkE0OgotICAgICAg
Y2FzZSBHTF9SR0I1X0ExOgotICAgICAgY2FzZSBHTF9SR0I1NjU6Ci0gICAgICBjYXNlIEdMX1JH
QjhfT0VTOgotICAgICAgY2FzZSBHTF9SR0JBOF9PRVM6Ci0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIFVOSU1QTEVNRU5URUQoKTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgSXNTdGVuY2lsUmVuZGVyYWJsZShHTGVudW0gaW50ZXJu
YWxmb3JtYXQpCi17Ci0gICAgc3dpdGNoIChpbnRlcm5hbGZvcm1hdCkKLSAgICB7Ci0gICAgICBj
YXNlIEdMX1NURU5DSUxfSU5ERVg4OgotICAgICAgY2FzZSBHTF9ERVBUSDI0X1NURU5DSUw4X09F
UzoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICBjYXNlIEdMX1JHQkE0OgotICAgICAgY2Fz
ZSBHTF9SR0I1X0ExOgotICAgICAgY2FzZSBHTF9SR0I1NjU6Ci0gICAgICBjYXNlIEdMX1JHQjhf
T0VTOgotICAgICAgY2FzZSBHTF9SR0JBOF9PRVM6Ci0gICAgICBjYXNlIEdMX0RFUFRIX0NPTVBP
TkVOVDE2OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICBV
TklNUExFTUVOVEVEKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIElz
RmxvYXQzMkZvcm1hdChHTGludCBpbnRlcm5hbGZvcm1hdCkKLXsKLSAgICBzd2l0Y2ggKGludGVy
bmFsZm9ybWF0KQotICAgIHsKLSAgICAgIGNhc2UgR0xfUkdCQTMyRl9FWFQ6Ci0gICAgICBjYXNl
IEdMX1JHQjMyRl9FWFQ6Ci0gICAgICBjYXNlIEdMX0FMUEhBMzJGX0VYVDoKLSAgICAgIGNhc2Ug
R0xfTFVNSU5BTkNFMzJGX0VYVDoKLSAgICAgIGNhc2UgR0xfTFVNSU5BTkNFX0FMUEhBMzJGX0VY
VDoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfQotfQotCi1ib29sIElzRmxvYXQxNkZvcm1hdChHTGludCBpbnRlcm5hbGZv
cm1hdCkKLXsKLSAgICBzd2l0Y2ggKGludGVybmFsZm9ybWF0KQotICAgIHsKLSAgICAgIGNhc2Ug
R0xfUkdCQTE2Rl9FWFQ6Ci0gICAgICBjYXNlIEdMX1JHQjE2Rl9FWFQ6Ci0gICAgICBjYXNlIEdM
X0FMUEhBMTZGX0VYVDoKLSAgICAgIGNhc2UgR0xfTFVNSU5BTkNFMTZGX0VYVDoKLSAgICAgIGNh
c2UgR0xfTFVNSU5BTkNFX0FMUEhBMTZGX0VYVDoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi11bnNpZ25lZCBp
bnQgR2V0QWxwaGFTaXplKEdMZW51bSBjb2xvckZvcm1hdCkKLXsKLSAgICBzd2l0Y2ggKGNvbG9y
Rm9ybWF0KQotICAgIHsKLSAgICAgIGNhc2UgR0xfUkdCQTE2Rl9FWFQ6Ci0gICAgICAgIHJldHVy
biAxNjsKLSAgICAgIGNhc2UgR0xfUkdCQTMyRl9FWFQ6Ci0gICAgICAgIHJldHVybiAzMjsKLSAg
ICAgIGNhc2UgR0xfUkdCQTQ6Ci0gICAgICAgIHJldHVybiA0OwotICAgICAgY2FzZSBHTF9SR0JB
OF9PRVM6Ci0gICAgICBjYXNlIEdMX0JHUkE4X0VYVDoKLSAgICAgICAgcmV0dXJuIDg7Ci0gICAg
ICBjYXNlIEdMX1JHQjVfQTE6Ci0gICAgICAgIHJldHVybiAxOwotICAgICAgY2FzZSBHTF9SR0I4
X09FUzoKLSAgICAgIGNhc2UgR0xfUkdCNTY1OgotICAgICAgY2FzZSBHTF9SR0IzMkZfRVhUOgot
ICAgICAgY2FzZSBHTF9SR0IxNkZfRVhUOgotICAgICAgICByZXR1cm4gMDsKLSAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLX0KLQotdW5zaWduZWQgaW50IEdldFJlZFNp
emUoR0xlbnVtIGNvbG9yRm9ybWF0KQotewotICAgIHN3aXRjaCAoY29sb3JGb3JtYXQpCi0gICAg
ewotICAgICAgY2FzZSBHTF9SR0JBMTZGX0VYVDoKLSAgICAgIGNhc2UgR0xfUkdCMTZGX0VYVDoK
LSAgICAgICAgcmV0dXJuIDE2OwotICAgICAgY2FzZSBHTF9SR0JBMzJGX0VYVDoKLSAgICAgIGNh
c2UgR0xfUkdCMzJGX0VYVDoKLSAgICAgICAgcmV0dXJuIDMyOwotICAgICAgY2FzZSBHTF9SR0JB
NDoKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgICBjYXNlIEdMX1JHQkE4X09FUzoKLSAgICAgIGNh
c2UgR0xfQkdSQThfRVhUOgotICAgICAgY2FzZSBHTF9SR0I4X09FUzoKLSAgICAgICAgcmV0dXJu
IDg7Ci0gICAgICBjYXNlIEdMX1JHQjVfQTE6Ci0gICAgICBjYXNlIEdMX1JHQjU2NToKLSAgICAg
ICAgcmV0dXJuIDU7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci19
Ci0KLXVuc2lnbmVkIGludCBHZXRHcmVlblNpemUoR0xlbnVtIGNvbG9yRm9ybWF0KQotewotICAg
IHN3aXRjaCAoY29sb3JGb3JtYXQpCi0gICAgewotICAgICAgY2FzZSBHTF9SR0JBMTZGX0VYVDoK
LSAgICAgIGNhc2UgR0xfUkdCMTZGX0VYVDoKLSAgICAgICAgcmV0dXJuIDE2OwotICAgICAgY2Fz
ZSBHTF9SR0JBMzJGX0VYVDoKLSAgICAgIGNhc2UgR0xfUkdCMzJGX0VYVDoKLSAgICAgICAgcmV0
dXJuIDMyOwotICAgICAgY2FzZSBHTF9SR0JBNDoKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgICBj
YXNlIEdMX1JHQkE4X09FUzoKLSAgICAgIGNhc2UgR0xfQkdSQThfRVhUOgotICAgICAgY2FzZSBH
TF9SR0I4X09FUzoKLSAgICAgICAgcmV0dXJuIDg7Ci0gICAgICBjYXNlIEdMX1JHQjVfQTE6Ci0g
ICAgICAgIHJldHVybiA1OwotICAgICAgY2FzZSBHTF9SR0I1NjU6Ci0gICAgICAgIHJldHVybiA2
OwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotfQotCi11bnNpZ25l
ZCBpbnQgR2V0Qmx1ZVNpemUoR0xlbnVtIGNvbG9yRm9ybWF0KQotewotICAgIHN3aXRjaCAoY29s
b3JGb3JtYXQpCi0gICAgewotICAgICAgY2FzZSBHTF9SR0JBMTZGX0VYVDoKLSAgICAgIGNhc2Ug
R0xfUkdCMTZGX0VYVDoKLSAgICAgICAgcmV0dXJuIDE2OwotICAgICAgY2FzZSBHTF9SR0JBMzJG
X0VYVDoKLSAgICAgIGNhc2UgR0xfUkdCMzJGX0VYVDoKLSAgICAgICAgcmV0dXJuIDMyOwotICAg
ICAgY2FzZSBHTF9SR0JBNDoKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgICBjYXNlIEdMX1JHQkE4
X09FUzoKLSAgICAgIGNhc2UgR0xfQkdSQThfRVhUOgotICAgICAgY2FzZSBHTF9SR0I4X09FUzoK
LSAgICAgICAgcmV0dXJuIDg7Ci0gICAgICBjYXNlIEdMX1JHQjVfQTE6Ci0gICAgICBjYXNlIEdM
X1JHQjU2NToKLSAgICAgICAgcmV0dXJuIDU7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gMDsKLSAgICB9Ci19Ci0KLXVuc2lnbmVkIGludCBHZXREZXB0aFNpemUoR0xlbnVtIGRlcHRo
Rm9ybWF0KQotewotICAgIHN3aXRjaCAoZGVwdGhGb3JtYXQpCi0gICAgewotICAgICAgY2FzZSBH
TF9ERVBUSF9DT01QT05FTlQxNjogICAgICAgIHJldHVybiAxNjsKLSAgICAgIGNhc2UgR0xfREVQ
VEhfQ09NUE9ORU5UMzJfT0VTOiAgICByZXR1cm4gMzI7Ci0gICAgICBjYXNlIEdMX0RFUFRIMjRf
U1RFTkNJTDhfT0VTOiAgICAgcmV0dXJuIDI0OwotICAgICAgZGVmYXVsdDogICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAwOwotICAgIH0KLX0KLQotdW5zaWduZWQgaW50IEdldFN0ZW5j
aWxTaXplKEdMZW51bSBzdGVuY2lsRm9ybWF0KQotewotICAgIHN3aXRjaCAoc3RlbmNpbEZvcm1h
dCkKLSAgICB7Ci0gICAgICBjYXNlIEdMX0RFUFRIMjRfU1RFTkNJTDhfT0VTOiAgICAgcmV0dXJu
IDg7Ci0gICAgICBkZWZhdWx0OiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgfQotfQotCi1ib29sIElzVHJpYW5nbGVNb2RlKEdMZW51bSBkcmF3TW9kZSkKLXsKLSAgICBz
d2l0Y2ggKGRyYXdNb2RlKQotICAgIHsKLSAgICAgIGNhc2UgR0xfVFJJQU5HTEVTOgotICAgICAg
Y2FzZSBHTF9UUklBTkdMRV9GQU46Ci0gICAgICBjYXNlIEdMX1RSSUFOR0xFX1NUUklQOgotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgIGNhc2UgR0xfUE9JTlRTOgotICAgICAgY2FzZSBHTF9M
SU5FUzoKLSAgICAgIGNhc2UgR0xfTElORV9MT09QOgotICAgICAgY2FzZSBHTF9MSU5FX1NUUklQ
OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICBkZWZhdWx0OiBVTlJFQUNIQUJMRSgpOwot
ICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotfQotCi1zdGQ6OnN0cmluZyBnZXRUZW1w
UGF0aCgpCi17Ci0gICAgY2hhciBwYXRoW01BWF9QQVRIXTsKLSAgICBEV09SRCBwYXRoTGVuID0g
R2V0VGVtcFBhdGhBKHNpemVvZihwYXRoKSAvIHNpemVvZihwYXRoWzBdKSwgcGF0aCk7Ci0gICAg
aWYgKHBhdGhMZW4gPT0gMCkKLSAgICB7Ci0gICAgICAgIFVOUkVBQ0hBQkxFKCk7Ci0gICAgICAg
IHJldHVybiBzdGQ6OnN0cmluZygpOwotICAgIH0KLQotICAgIFVJTlQgdW5pcXVlID0gR2V0VGVt
cEZpbGVOYW1lQShwYXRoLCAic2giLCAwLCBwYXRoKTsKLSAgICBpZiAodW5pcXVlID09IDApCi0g
ICAgewotICAgICAgICBVTlJFQUNIQUJMRSgpOwotICAgICAgICByZXR1cm4gc3RkOjpzdHJpbmco
KTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHBhdGg7Ci19Ci0KLXZvaWQgd3JpdGVGaWxlKGNv
bnN0IGNoYXIqIHBhdGgsIGNvbnN0IHZvaWQqIGNvbnRlbnQsIHNpemVfdCBzaXplKQotewotICAg
IEZJTEUqIGZpbGUgPSBmb3BlbihwYXRoLCAidyIpOwotICAgIGlmICghZmlsZSkKLSAgICB7Ci0g
ICAgICAgIFVOUkVBQ0hBQkxFKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBmd3Jp
dGUoY29udGVudCwgc2l6ZW9mKGNoYXIpLCBzaXplLCBmaWxlKTsKLSAgICBmY2xvc2UoZmlsZSk7
Ci19CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3V0aWxpdGll
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
dXRpbGl0aWVzLmgJKHJldmlzaW9uIDE2ODEwMykKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvdXRpbGl0aWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjcgKzAsMCBA
QAotLy8KLS8vIENvcHlyaWdodCAoYykgMjAwMi0yMDEzIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotLy8KLQotLy8gdXRpbGl0aWVzLmg6IENvbnZlcnNpb24gZnVuY3Rp
b25zIGFuZCBvdGhlciB1dGlsaXR5IHJvdXRpbmVzLgotCi0jaWZuZGVmIExJQkdMRVNWMl9VVElM
SVRJRVNfSAotI2RlZmluZSBMSUJHTEVTVjJfVVRJTElUSUVTX0gKLQotI2RlZmluZSBHTF9BUElD
QUxMCi0jaW5jbHVkZSA8R0xFUzIvZ2wyLmg+Ci0jaW5jbHVkZSA8R0xFUzIvZ2wyZXh0Lmg+Ci0K
LSNpbmNsdWRlIDxzdHJpbmc+Ci0KLW5hbWVzcGFjZSBnbAotewotCi1zdHJ1Y3QgQ29sb3I7Ci0K
LWludCBVbmlmb3JtQ29tcG9uZW50Q291bnQoR0xlbnVtIHR5cGUpOwotR0xlbnVtIFVuaWZvcm1D
b21wb25lbnRUeXBlKEdMZW51bSB0eXBlKTsKLXNpemVfdCBVbmlmb3JtSW50ZXJuYWxTaXplKEdM
ZW51bSB0eXBlKTsKLXNpemVfdCBVbmlmb3JtRXh0ZXJuYWxTaXplKEdMZW51bSB0eXBlKTsKLWlu
dCBWYXJpYWJsZVJvd0NvdW50KEdMZW51bSB0eXBlKTsKLWludCBWYXJpYWJsZUNvbHVtbkNvdW50
KEdMZW51bSB0eXBlKTsKLQotaW50IEFsbG9jYXRlRmlyc3RGcmVlQml0cyh1bnNpZ25lZCBpbnQg
KmJpdHMsIHVuc2lnbmVkIGludCBhbGxvY2F0aW9uU2l6ZSwgdW5zaWduZWQgaW50IGJpdHNTaXpl
KTsKLQotdm9pZCBNYWtlVmFsaWRTaXplKGJvb2wgaXNJbWFnZSwgYm9vbCBpc0NvbXByZXNzZWQs
IEdMc2l6ZWkgKnJlcXVlc3RXaWR0aCwgR0xzaXplaSAqcmVxdWVzdEhlaWdodCwgaW50ICpsZXZl
bE9mZnNldCk7Ci1pbnQgQ29tcHV0ZVBpeGVsU2l6ZShHTGludCBpbnRlcm5hbGZvcm1hdCk7Ci1H
THNpemVpIENvbXB1dGVQaXRjaChHTHNpemVpIHdpZHRoLCBHTGludCBpbnRlcm5hbGZvcm1hdCwg
R0xpbnQgYWxpZ25tZW50KTsKLUdMc2l6ZWkgQ29tcHV0ZUNvbXByZXNzZWRQaXRjaChHTHNpemVp
IHdpZHRoLCBHTGVudW0gZm9ybWF0KTsKLUdMc2l6ZWkgQ29tcHV0ZUNvbXByZXNzZWRTaXplKEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0KTsKLUdMc2l6ZWkgQ29t
cHV0ZVR5cGVTaXplKEdMZW51bSB0eXBlKTsKLWJvb2wgSXNDb21wcmVzc2VkKEdMZW51bSBmb3Jt
YXQpOwotYm9vbCBJc0RlcHRoVGV4dHVyZShHTGVudW0gZm9ybWF0KTsKLWJvb2wgSXNTdGVuY2ls
VGV4dHVyZShHTGVudW0gZm9ybWF0KTsKLWJvb2wgSXNDdWJlbWFwVGV4dHVyZVRhcmdldChHTGVu
dW0gdGFyZ2V0KTsKLWJvb2wgSXNJbnRlcm5hbFRleHR1cmVUYXJnZXQoR0xlbnVtIHRhcmdldCk7
Ci1HTGludCBDb252ZXJ0U2l6ZWRJbnRlcm5hbEZvcm1hdChHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSk7Ci1HTGVudW0gRXh0cmFjdEZvcm1hdChHTGVudW0gaW50ZXJuYWxmb3JtYXQpOwotR0xl
bnVtIEV4dHJhY3RUeXBlKEdMZW51bSBpbnRlcm5hbGZvcm1hdCk7Ci0KLWJvb2wgSXNDb2xvclJl
bmRlcmFibGUoR0xlbnVtIGludGVybmFsZm9ybWF0KTsKLWJvb2wgSXNEZXB0aFJlbmRlcmFibGUo
R0xlbnVtIGludGVybmFsZm9ybWF0KTsKLWJvb2wgSXNTdGVuY2lsUmVuZGVyYWJsZShHTGVudW0g
aW50ZXJuYWxmb3JtYXQpOwotCi1ib29sIElzRmxvYXQzMkZvcm1hdChHTGludCBpbnRlcm5hbGZv
cm1hdCk7Ci1ib29sIElzRmxvYXQxNkZvcm1hdChHTGludCBpbnRlcm5hbGZvcm1hdCk7Ci0KLUdM
dWludCBHZXRBbHBoYVNpemUoR0xlbnVtIGNvbG9yRm9ybWF0KTsKLUdMdWludCBHZXRSZWRTaXpl
KEdMZW51bSBjb2xvckZvcm1hdCk7Ci1HTHVpbnQgR2V0R3JlZW5TaXplKEdMZW51bSBjb2xvckZv
cm1hdCk7Ci1HTHVpbnQgR2V0Qmx1ZVNpemUoR0xlbnVtIGNvbG9yRm9ybWF0KTsKLUdMdWludCBH
ZXREZXB0aFNpemUoR0xlbnVtIGRlcHRoRm9ybWF0KTsKLUdMdWludCBHZXRTdGVuY2lsU2l6ZShH
TGVudW0gc3RlbmNpbEZvcm1hdCk7Ci1ib29sIElzVHJpYW5nbGVNb2RlKEdMZW51bSBkcmF3TW9k
ZSk7Ci0KLX0KLQotc3RkOjpzdHJpbmcgZ2V0VGVtcFBhdGgoKTsKLXZvaWQgd3JpdGVGaWxlKGNv
bnN0IGNoYXIqIHBhdGgsIGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBzaXplKTsKLQotI2VuZGlm
ICAvLyBMSUJHTEVTVjJfVVRJTElUSUVTX0gKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJHTEVTdjIvdmFsaWRhdGlvbkVTLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3ZhbGlkYXRpb25FUy5jcHAJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliR0xFU3YyL3ZhbGlkYXRpb25FUy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4NzUgQEAKKyNpbmNsdWRlICJwcmVjb21waWxl
ZC5oIgorLy8KKy8vIENvcHlyaWdodCAoYykgMjAxMyBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIHZhbGlkYXRpb25FUy5oOiBWYWxpZGF0aW9uIGZ1bmN0
aW9ucyBmb3IgZ2VuZXJpYyBPcGVuR0wgRVMgZW50cnkgcG9pbnQgcGFyYW1ldGVycworCisjaW5j
bHVkZSAibGliR0xFU3YyL3ZhbGlkYXRpb25FUy5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi92YWxp
ZGF0aW9uRVMyLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3ZhbGlkYXRpb25FUzMuaCIKKyNpbmNs
dWRlICJsaWJHTEVTdjIvQ29udGV4dC5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9UZXh0dXJlLmgi
CisjaW5jbHVkZSAibGliR0xFU3YyL0ZyYW1lYnVmZmVyLmgiCisjaW5jbHVkZSAibGliR0xFU3Yy
L1JlbmRlcmJ1ZmZlci5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9mb3JtYXR1dGlscy5oIgorI2lu
Y2x1ZGUgImxpYkdMRVN2Mi9tYWluLmgiCisKKyNpbmNsdWRlICJjb21tb24vbWF0aHV0aWwuaCIK
KyNpbmNsdWRlICJjb21tb24vdXRpbGl0aWVzLmgiCisKK25hbWVzcGFjZSBnbAoreworCitib29s
IFZhbGlkQ2FwKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZW51bSBjYXApCit7CisgICAgc3dp
dGNoIChjYXApCisgICAgeworICAgICAgY2FzZSBHTF9DVUxMX0ZBQ0U6CisgICAgICBjYXNlIEdM
X1BPTFlHT05fT0ZGU0VUX0ZJTEw6CisgICAgICBjYXNlIEdMX1NBTVBMRV9BTFBIQV9UT19DT1ZF
UkFHRToKKyAgICAgIGNhc2UgR0xfU0FNUExFX0NPVkVSQUdFOgorICAgICAgY2FzZSBHTF9TQ0lT
U09SX1RFU1Q6CisgICAgICBjYXNlIEdMX1NURU5DSUxfVEVTVDoKKyAgICAgIGNhc2UgR0xfREVQ
VEhfVEVTVDoKKyAgICAgIGNhc2UgR0xfQkxFTkQ6CisgICAgICBjYXNlIEdMX0RJVEhFUjoKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICBjYXNlIEdMX1BSSU1JVElWRV9SRVNUQVJUX0ZJWEVE
X0lOREVYOgorICAgICAgY2FzZSBHTF9SQVNURVJJWkVSX0RJU0NBUkQ6CisgICAgICAgIHJldHVy
biAoY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IDMpOworICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworYm9vbCBWYWxpZFRleHR1cmVUYXJnZXQo
Y29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCkKK3sKKyAgICBzd2l0Y2ggKHRh
cmdldCkKKyAgICB7CisgICAgICBjYXNlIEdMX1RFWFRVUkVfMkQ6CisgICAgICBjYXNlIEdMX1RF
WFRVUkVfQ1VCRV9NQVA6CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICBjYXNlIEdMX1RF
WFRVUkVfM0Q6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfMkRfQVJSQVk6CisgICAgICAgIHJldHVy
biAoY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IDMpOworCisgICAgICBkZWZhdWx0Ogor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCisvLyBUaGlzIGZ1bmN0aW9uIGRpZmZl
cnMgZnJvbSBWYWxpZFRleHR1cmVUYXJnZXQgaW4gdGhhdCB0aGUgdGFyZ2V0IG11c3QgYmUKKy8v
IHVzYWJsZSBhcyB0aGUgZGVzdGluYXRpb24gb2YgYSAyRCBvcGVyYXRpb24tLSBzbyBhIGN1YmUg
ZmFjZSBpcyB2YWxpZCwgYnV0CisvLyBHTF9URVhUVVJFX0NVQkVfTUFQIGlzIG5vdC4KK2Jvb2wg
VmFsaWRUZXh0dXJlMkREZXN0aW5hdGlvblRhcmdldChjb25zdCBDb250ZXh0ICpjb250ZXh0LCBH
TGVudW0gdGFyZ2V0KQoreworICAgIHN3aXRjaCAodGFyZ2V0KQorICAgIHsKKyAgICAgIGNhc2Ug
R0xfVEVYVFVSRV8yRDoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9Y
OgorICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1g6CisgICAgICBjYXNl
IEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWToKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9ZOgorICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1o6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWjoKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICBjYXNlIEdMX1RFWFRVUkVfMkRfQVJSQVk6CisgICAgICBj
YXNlIEdMX1RFWFRVUkVfM0Q6CisgICAgICAgIHJldHVybiAoY29udGV4dC0+Z2V0Q2xpZW50VmVy
c2lvbigpID49IDMpOworICAgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KK30KKworYm9vbCBWYWxpZEZyYW1lYnVmZmVyVGFyZ2V0KEdMZW51bSB0YXJnZXQpCit7Cisg
ICAgTUVUQV9BU1NFUlQoR0xfRFJBV19GUkFNRUJVRkZFUl9BTkdMRSA9PSBHTF9EUkFXX0ZSQU1F
QlVGRkVSICYmIEdMX1JFQURfRlJBTUVCVUZGRVJfQU5HTEUgPT0gR0xfUkVBRF9GUkFNRUJVRkZF
Uik7CisKKyAgICBzd2l0Y2ggKHRhcmdldCkKKyAgICB7CisgICAgICBjYXNlIEdMX0ZSQU1FQlVG
RkVSOiAgICAgIHJldHVybiB0cnVlOworICAgICAgY2FzZSBHTF9SRUFEX0ZSQU1FQlVGRkVSOiBy
ZXR1cm4gdHJ1ZTsKKyAgICAgIGNhc2UgR0xfRFJBV19GUkFNRUJVRkZFUjogcmV0dXJuIHRydWU7
CisgICAgICBkZWZhdWx0OiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9
CisKK2Jvb2wgVmFsaWRCdWZmZXJUYXJnZXQoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xlbnVt
IHRhcmdldCkKK3sKKyAgICBzd2l0Y2ggKHRhcmdldCkKKyAgICB7CisgICAgICBjYXNlIEdMX0FS
UkFZX0JVRkZFUjoKKyAgICAgIGNhc2UgR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVI6CisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgICBjYXNlIEdMX1BJWEVMX1BBQ0tfQlVGRkVSOgorICAgICAg
Y2FzZSBHTF9QSVhFTF9VTlBBQ0tfQlVGRkVSOgorICAgICAgY2FzZSBHTF9DT1BZX1JFQURfQlVG
RkVSOgorICAgICAgY2FzZSBHTF9DT1BZX1dSSVRFX0JVRkZFUjoKKyAgICAgIGNhc2UgR0xfVFJB
TlNGT1JNX0ZFRURCQUNLX0JVRkZFUjoKKyAgICAgIGNhc2UgR0xfVU5JRk9STV9CVUZGRVI6Cisg
ICAgICAgIHJldHVybiAoY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IDMpOworCisgICAg
ICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitib29sIFZhbGlk
QnVmZmVyUGFyYW1ldGVyKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZW51bSBwbmFtZSkKK3sK
KyAgICBzd2l0Y2ggKHBuYW1lKQorICAgIHsKKyAgICAgIGNhc2UgR0xfQlVGRkVSX1VTQUdFOgor
ICAgICAgY2FzZSBHTF9CVUZGRVJfU0laRToKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAg
IC8vIEdMX0JVRkZFUl9NQVBfUE9JTlRFUiBpcyBhIHNwZWNpYWwgY2FzZSwgYW5kIG1heSBvbmx5
IGJlCisgICAgICAvLyBxdWVyaWVkIHdpdGggR2V0QnVmZmVyUG9pbnRlcnYKKyAgICAgIGNhc2Ug
R0xfQlVGRkVSX0FDQ0VTU19GTEFHUzoKKyAgICAgIGNhc2UgR0xfQlVGRkVSX01BUFBFRDoKKyAg
ICAgIGNhc2UgR0xfQlVGRkVSX01BUF9PRkZTRVQ6CisgICAgICBjYXNlIEdMX0JVRkZFUl9NQVBf
TEVOR1RIOgorICAgICAgICByZXR1cm4gKGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSA+PSAz
KTsKKworICAgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwor
Ym9vbCBWYWxpZE1pcExldmVsKGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsKQoreworICAgIGludCBtYXhMZXZlbCA9IDA7CisgICAgc3dpdGNoICh0YXJn
ZXQpCisgICAgeworICAgICAgY2FzZSBHTF9URVhUVVJFXzJEOiAgICAgICAgICAgICAgICAgIG1h
eExldmVsID0gY29udGV4dC0+Z2V0TWF4aW11bTJEVGV4dHVyZUxldmVsKCk7ICAgICAgYnJlYWs7
CisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVA6CisgICAgICBjYXNlIEdMX1RFWFRVUkVf
Q1VCRV9NQVBfUE9TSVRJVkVfWDoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9ORUdB
VElWRV9YOgorICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1k6CisgICAg
ICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWToKKyAgICAgIGNhc2UgR0xfVEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9aOgorICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQ
X05FR0FUSVZFX1o6IG1heExldmVsID0gY29udGV4dC0+Z2V0TWF4aW11bUN1YmVUZXh0dXJlTGV2
ZWwoKTsgICAgYnJlYWs7CisgICAgICBjYXNlIEdMX1RFWFRVUkVfM0Q6ICAgICAgICAgICAgICAg
ICAgbWF4TGV2ZWwgPSBjb250ZXh0LT5nZXRNYXhpbXVtM0RUZXh0dXJlTGV2ZWwoKTsgICAgICBi
cmVhazsKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV8yRF9BUlJBWTogICAgICAgICAgICBtYXhMZXZl
bCA9IGNvbnRleHQtPmdldE1heGltdW0yREFycmF5VGV4dHVyZUxldmVsKCk7IGJyZWFrOworICAg
ICAgZGVmYXVsdDogVU5SRUFDSEFCTEUoKTsKKyAgICB9CisKKyAgICByZXR1cm4gbGV2ZWwgPCBt
YXhMZXZlbDsKK30KKworYm9vbCBWYWxpZEltYWdlU2l6ZShjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwgR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTHNpemVpIGRlcHRoKQoreworICAgIGlmIChsZXZlbCA8IDAgfHwgd2lkdGggPCAw
IHx8IGhlaWdodCA8IDAgfHwgZGVwdGggPCAwKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIGlmICghY29udGV4dC0+c3VwcG9ydHNOb25Qb3dlcjJUZXh0dXJlKCkg
JiYgKGxldmVsICE9IDAgfHwgIWdsOjppc1BvdzIod2lkdGgpIHx8ICFnbDo6aXNQb3cyKGhlaWdo
dCkgfHwgIWdsOjppc1BvdzIoZGVwdGgpKSkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBpZiAoIVZhbGlkTWlwTGV2ZWwoY29udGV4dCwgdGFyZ2V0LCBsZXZlbCkp
CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7
Cit9CisKK2Jvb2wgVmFsaWRDb21wcmVzc2VkSW1hZ2VTaXplKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LCBHTGVudW0gaW50ZXJuYWxGb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0KQoreworICAgIEdMdWludCBjbGllbnRWZXJzaW9uID0gY29udGV4dC0+Z2V0Q2xpZW50VmVy
c2lvbigpOworICAgIGlmICghSXNGb3JtYXRDb21wcmVzc2VkKGludGVybmFsRm9ybWF0LCBjbGll
bnRWZXJzaW9uKSkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBH
TGludCBibG9ja1dpZHRoID0gR2V0Q29tcHJlc3NlZEJsb2NrV2lkdGgoaW50ZXJuYWxGb3JtYXQs
IGNsaWVudFZlcnNpb24pOworICAgIEdMaW50IGJsb2NrSGVpZ2h0ID0gR2V0Q29tcHJlc3NlZEJs
b2NrSGVpZ2h0KGludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKTsKKyAgICBpZiAod2lkdGgg
IDwgMCB8fCAod2lkdGggID4gYmxvY2tXaWR0aCAgJiYgd2lkdGggICUgYmxvY2tXaWR0aCAgIT0g
MCkgfHwKKyAgICAgICAgaGVpZ2h0IDwgMCB8fCAoaGVpZ2h0ID4gYmxvY2tIZWlnaHQgJiYgaGVp
Z2h0ICUgYmxvY2tIZWlnaHQgIT0gMCkpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgVmFsaWRRdWVyeVR5cGUoY29uc3Qg
Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHF1ZXJ5VHlwZSkKK3sKKyAgICBNRVRBX0FTU0VSVChH
TF9BTllfU0FNUExFU19QQVNTRUQgPT0gR0xfQU5ZX1NBTVBMRVNfUEFTU0VEX0VYVCk7CisgICAg
TUVUQV9BU1NFUlQoR0xfQU5ZX1NBTVBMRVNfUEFTU0VEX0NPTlNFUlZBVElWRSA9PSBHTF9BTllf
U0FNUExFU19QQVNTRURfQ09OU0VSVkFUSVZFX0VYVCk7CisKKyAgICBzd2l0Y2ggKHF1ZXJ5VHlw
ZSkKKyAgICB7CisgICAgICBjYXNlIEdMX0FOWV9TQU1QTEVTX1BBU1NFRDoKKyAgICAgIGNhc2Ug
R0xfQU5ZX1NBTVBMRVNfUEFTU0VEX0NPTlNFUlZBVElWRToKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICBjYXNlIEdMX1RSQU5TRk9STV9GRUVEQkFDS19QUklNSVRJVkVTX1dSSVRURU46Cisg
ICAgICAgIHJldHVybiAoY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IDMpOworICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworYm9vbCBWYWxpZFBy
b2dyYW0oY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0x1aW50IGlkKQoreworICAgIC8vIEVTMyBz
cGVjIChzZWN0aW9uIDIuMTEuMSkgLS0gIkNvbW1hbmRzIHRoYXQgYWNjZXB0IHNoYWRlciBvciBw
cm9ncmFtIG9iamVjdCBuYW1lcyB3aWxsIGdlbmVyYXRlIHRoZQorICAgIC8vIGVycm9yIElOVkFM
SURfVkFMVUUgaWYgdGhlIHByb3ZpZGVkIG5hbWUgaXMgbm90IHRoZSBuYW1lIG9mIGVpdGhlciBh
IHNoYWRlciBvciBwcm9ncmFtIG9iamVjdCBhbmQKKyAgICAvLyBJTlZBTElEX09QRVJBVElPTiBp
ZiB0aGUgcHJvdmlkZWQgbmFtZSBpZGVudGlmaWVzIGFuIG9iamVjdCB0aGF0IGlzIG5vdCB0aGUg
ZXhwZWN0ZWQgdHlwZS4iCisKKyAgICBpZiAoY29udGV4dC0+Z2V0UHJvZ3JhbShpZCkgIT0gTlVM
TCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBlbHNlIGlmIChjb250
ZXh0LT5nZXRTaGFkZXIoaWQpICE9IE5VTEwpCisgICAgeworICAgICAgICAvLyBJRCBpcyB0aGUg
d3JvbmcgdHlwZQorICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9O
LCBmYWxzZSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8vIE5vIHNoYWRlci9w
cm9ncmFtIG9iamVjdCBoYXMgdGhpcyBJRAorICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lO
VkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICB9Cit9CisKK2Jvb2wgVmFsaWRhdGVSZW5kZXJidWZm
ZXJTdG9yYWdlUGFyYW1ldGVycyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRh
cmdldCwgR0xzaXplaSBzYW1wbGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBo
ZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBh
bmdsZUV4dGVuc2lvbikKK3sKKyAgICBzd2l0Y2ggKHRhcmdldCkKKyAgICB7CisgICAgICBjYXNl
IEdMX1JFTkRFUkJVRkZFUjoKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0OgorICAgICAg
ICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgIH0KKworICAg
IGlmICh3aWR0aCA8IDAgfHwgaGVpZ2h0IDwgMCB8fCBzYW1wbGVzIDwgMCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgIH0KKwor
ICAgIGlmICghZ2w6OklzVmFsaWRJbnRlcm5hbEZvcm1hdChpbnRlcm5hbGZvcm1hdCwgY29udGV4
dCkpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFs
c2UpOworICAgIH0KKworICAgIC8vIEFOR0xFX2ZyYW1lYnVmZmVyX211bHRpc2FtcGxlIGRvZXMg
bm90IGV4cGxpY2l0bHkgc3RhdGUgdGhhdCB0aGUgaW50ZXJuYWwgZm9ybWF0IG11c3QgYmUKKyAg
ICAvLyBzaXplZCBidXQgaXQgZG9lcyBzdGF0ZSB0aGF0IHRoZSBmb3JtYXQgbXVzdCBiZSBpbiB0
aGUgRVMyLjAgc3BlYyB0YWJsZSA0LjUgd2hpY2ggY29udGFpbnMKKyAgICAvLyBvbmx5IHNpemVk
IGludGVybmFsIGZvcm1hdHMuIFRoZSBFUzMgc3BlYyAoc2VjdGlvbiA0LjQuMikgZG9lcywgaG93
ZXZlciwgc3RhdGUgdGhhdCB0aGUKKyAgICAvLyBpbnRlcm5hbCBmb3JtYXQgbXVzdCBiZSBzaXpl
ZCBhbmQgbm90IGFuIGludGVnZXIgZm9ybWF0IGlmIHNhbXBsZXMgaXMgZ3JlYXRlciB0aGFuIHpl
cm8uCisgICAgaWYgKCFnbDo6SXNTaXplZEludGVybmFsRm9ybWF0KGludGVybmFsZm9ybWF0LCBj
b250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjpl
cnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICB9CisKKyAgICBHTGVudW0gY29tcG9u
ZW50VHlwZSA9IGdsOjpHZXRDb21wb25lbnRUeXBlKGludGVybmFsZm9ybWF0LCBjb250ZXh0LT5n
ZXRDbGllbnRWZXJzaW9uKCkpOworICAgIGlmICgoY29tcG9uZW50VHlwZSA9PSBHTF9VTlNJR05F
RF9JTlQgfHwgY29tcG9uZW50VHlwZSA9PSBHTF9JTlQpICYmIHNhbXBsZXMgPiAwKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOwor
ICAgIH0KKworICAgIGlmICghZ2w6OklzQ29sb3JSZW5kZXJpbmdTdXBwb3J0ZWQoaW50ZXJuYWxm
b3JtYXQsIGNvbnRleHQpICYmCisgICAgICAgICFnbDo6SXNEZXB0aFJlbmRlcmluZ1N1cHBvcnRl
ZChpbnRlcm5hbGZvcm1hdCwgY29udGV4dCkgJiYKKyAgICAgICAgIWdsOjpJc1N0ZW5jaWxSZW5k
ZXJpbmdTdXBwb3J0ZWQoaW50ZXJuYWxmb3JtYXQsIGNvbnRleHQpKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICB9CisKKyAgICBp
ZiAoc3RkOjptYXgod2lkdGgsIGhlaWdodCkgPiBjb250ZXh0LT5nZXRNYXhpbXVtUmVuZGVyYnVm
ZmVyRGltZW5zaW9uKCkpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFM
SURfVkFMVUUsIGZhbHNlKTsKKyAgICB9CisKKyAgICAvLyBBTkdMRV9mcmFtZWJ1ZmZlcl9tdWx0
aXNhbXBsZSBzdGF0ZXMgdGhhdCB0aGUgdmFsdWUgb2Ygc2FtcGxlcyBtdXN0IGJlIGxlc3MgdGhh
biBvciBlcXVhbAorICAgIC8vIHRvIE1BWF9TQU1QTEVTX0FOR0xFIChDb250ZXh0OjpnZXRNYXhT
dXBwb3J0ZWRTYW1wbGVzKSB3aGlsZSB0aGUgRVMzLjAgc3BlYyAoc2VjdGlvbiA0LjQuMikKKyAg
ICAvLyBzdGF0ZXMgdGhhdCBzYW1wbGVzIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRo
ZSBtYXhpbXVtIHNhbXBsZXMgZm9yIHRoZSBzcGVjaWZpZWQKKyAgICAvLyBpbnRlcm5hbCBmb3Jt
YXQuCisgICAgaWYgKGFuZ2xlRXh0ZW5zaW9uKQorICAgIHsKKyAgICAgICAgaWYgKHNhbXBsZXMg
PiBjb250ZXh0LT5nZXRNYXhTdXBwb3J0ZWRTYW1wbGVzKCkpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgICAgICB9
CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGlmIChzYW1wbGVzID4gY29udGV4dC0+
Z2V0TWF4U3VwcG9ydGVkRm9ybWF0U2FtcGxlcyhpbnRlcm5hbGZvcm1hdCkpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOwor
ICAgICAgICB9CisgICAgfQorCisgICAgR0x1aW50IGhhbmRsZSA9IGNvbnRleHQtPmdldFJlbmRl
cmJ1ZmZlckhhbmRsZSgpOworICAgIGlmIChoYW5kbGUgPT0gMCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBWYWxpZGF0ZUZyYW1lYnVmZmVyUmVuZGVyYnVmZmVy
UGFyYW1ldGVycyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0
dGFjaG1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdMZW51bSByZW5kZXJidWZmZXJ0YXJnZXQsIEdMdWludCByZW5kZXJidWZmZXIpCit7CisgICAg
Z2w6OkZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciA9IGNvbnRleHQtPmdldFRhcmdldEZyYW1lYnVm
ZmVyKHRhcmdldCk7CisgICAgR0x1aW50IGZyYW1lYnVmZmVySGFuZGxlID0gY29udGV4dC0+Z2V0
VGFyZ2V0RnJhbWVidWZmZXJIYW5kbGUodGFyZ2V0KTsKKworICAgIGlmICghZnJhbWVidWZmZXIg
fHwgKGZyYW1lYnVmZmVySGFuZGxlID09IDAgJiYgcmVuZGVyYnVmZmVyICE9IDApKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOwor
ICAgIH0KKworICAgIGlmIChhdHRhY2htZW50ID49IEdMX0NPTE9SX0FUVEFDSE1FTlQwX0VYVCAm
JiBhdHRhY2htZW50IDw9IEdMX0NPTE9SX0FUVEFDSE1FTlQxNV9FWFQpCisgICAgeworICAgICAg
ICBjb25zdCB1bnNpZ25lZCBpbnQgY29sb3JBdHRhY2htZW50ID0gKGF0dGFjaG1lbnQgLSBHTF9D
T0xPUl9BVFRBQ0hNRU5UMF9FWFQpOworCisgICAgICAgIGlmIChjb2xvckF0dGFjaG1lbnQgPj0g
Y29udGV4dC0+Z2V0TWF4aW11bVJlbmRlclRhcmdldHMoKSkKKyAgICAgICAgeworICAgICAgICAg
ICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX1ZBTFVFLCBmYWxzZSk7CisgICAgICAgIH0K
KyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgc3dpdGNoIChhdHRhY2htZW50KQorICAg
ICAgICB7CisgICAgICAgICAgY2FzZSBHTF9ERVBUSF9BVFRBQ0hNRU5UOgorICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9TVEVOQ0lMX0FUVEFDSE1FTlQ6CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICBjYXNlIEdMX0RFUFRIX1NURU5DSUxfQVRUQUNITUVOVDoKKyAg
ICAgICAgICAgIGlmIChjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkgPCAzKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBm
YWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNl
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFtPcGVuR0wgRVMgMi4wLjI1XSBTZWN0aW9u
IDQuNC4zIHBhZ2UgMTEyCisgICAgLy8gW09wZW5HTCBFUyAzLjAuMl0gU2VjdGlvbiA0LjQuMiBw
YWdlIDIwMQorICAgIC8vICdyZW5kZXJidWZmZXInIG11c3QgYmUgZWl0aGVyIHplcm8gb3IgdGhl
IG5hbWUgb2YgYW4gZXhpc3RpbmcgcmVuZGVyYnVmZmVyIG9iamVjdCBvZgorICAgIC8vIHR5cGUg
J3JlbmRlcmJ1ZmZlcnRhcmdldCcsIG90aGVyd2lzZSBhbiBJTlZBTElEX09QRVJBVElPTiBlcnJv
ciBpcyBnZW5lcmF0ZWQuCisgICAgaWYgKHJlbmRlcmJ1ZmZlciAhPSAwKQorICAgIHsKKyAgICAg
ICAgaWYgKCFjb250ZXh0LT5nZXRSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSkKKyAgICAgICAg
eworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFs
c2UpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBi
b29sIElzUGFydGlhbEJsaXQoZ2w6OkNvbnRleHQgKmNvbnRleHQsIGdsOjpSZW5kZXJidWZmZXIg
KnJlYWRCdWZmZXIsIGdsOjpSZW5kZXJidWZmZXIgKndyaXRlQnVmZmVyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBHTGludCBzcmNYMCwgR0xpbnQgc3JjWTAsIEdMaW50IHNyY1gxLCBHTGlu
dCBzcmNZMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgZHN0WDAsIEdMaW50IGRz
dFkwLCBHTGludCBkc3RYMSwgR0xpbnQgZHN0WTEpCit7CisgICAgaWYgKHNyY1gwICE9IDAgfHwg
c3JjWTAgIT0gMCB8fCBkc3RYMCAhPSAwIHx8IGRzdFkwICE9IDAgfHwKKyAgICAgICAgZHN0WDEg
IT0gd3JpdGVCdWZmZXItPmdldFdpZHRoKCkgfHwgZHN0WTEgIT0gd3JpdGVCdWZmZXItPmdldEhl
aWdodCgpIHx8CisgICAgICAgIHNyY1gxICE9IHJlYWRCdWZmZXItPmdldFdpZHRoKCkgfHwgc3Jj
WTEgIT0gcmVhZEJ1ZmZlci0+Z2V0SGVpZ2h0KCkpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisgICAgZWxzZSBpZiAoY29udGV4dC0+aXNTY2lzc29yVGVzdEVuYWJsZWQoKSkK
KyAgICB7CisgICAgICAgIGludCBzY2lzc29yWCwgc2Npc3NvclksIHNjaXNzb3JXaWR0aCwgc2Np
c3NvckhlaWdodDsKKyAgICAgICAgY29udGV4dC0+Z2V0U2Npc3NvclBhcmFtcygmc2Npc3Nvclgs
ICZzY2lzc29yWSwgJnNjaXNzb3JXaWR0aCwgJnNjaXNzb3JIZWlnaHQpOworCisgICAgICAgIHJl
dHVybiBzY2lzc29yWCA+IDAgfHwgc2Npc3NvclkgPiAwIHx8CisgICAgICAgICAgICAgICBzY2lz
c29yV2lkdGggPCB3cml0ZUJ1ZmZlci0+Z2V0V2lkdGgoKSB8fAorICAgICAgICAgICAgICAgc2Np
c3NvckhlaWdodCA8IHdyaXRlQnVmZmVyLT5nZXRIZWlnaHQoKTsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworYm9vbCBWYWxpZGF0ZUJs
aXRGcmFtZWJ1ZmZlclBhcmFtZXRlcnMoZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMaW50IHNyY1gw
LCBHTGludCBzcmNZMCwgR0xpbnQgc3JjWDEsIEdMaW50IHNyY1kxLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgZHN0WDAsIEdMaW50IGRzdFkwLCBHTGludCBk
c3RYMSwgR0xpbnQgZHN0WTEsIEdMYml0ZmllbGQgbWFzaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdMZW51bSBmaWx0ZXIsIGJvb2wgZnJvbUFuZ2xlRXh0ZW5zaW9u
KQoreworICAgIHN3aXRjaCAoZmlsdGVyKQorICAgIHsKKyAgICAgIGNhc2UgR0xfTkVBUkVTVDoK
KyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEdMX0xJTkVBUjoKKyAgICAgICAgaWYgKGZyb21B
bmdsZUV4dGVuc2lvbikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAg
IGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxz
ZSk7CisgICAgfQorCisgICAgaWYgKChtYXNrICYgfihHTF9DT0xPUl9CVUZGRVJfQklUIHwgR0xf
U1RFTkNJTF9CVUZGRVJfQklUIHwgR0xfREVQVEhfQlVGRkVSX0JJVCkpICE9IDApCisgICAgewor
ICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICB9
CisKKyAgICBpZiAobWFzayA9PSAwKQorICAgIHsKKyAgICAgICAgLy8gRVMzLjAgc3BlYywgc2Vj
dGlvbiA0LjMuMiBzcGVjaWZpZXMgdGhhdCBhIG1hc2sgb2YgemVybyBpcyB2YWxpZCBhbmQgbm8K
KyAgICAgICAgLy8gYnVmZmVycyBhcmUgY29waWVkLgorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgaWYgKGZyb21BbmdsZUV4dGVuc2lvbiAmJiAoc3JjWDEgLSBzcmNYMCAhPSBk
c3RYMSAtIGRzdFgwIHx8IHNyY1kxIC0gc3JjWTAgIT0gZHN0WTEgLSBkc3RZMCkpCisgICAgewor
ICAgICAgICBFUlIoIlNjYWxpbmcgYW5kIGZsaXBwaW5nIGluIEJsaXRGcmFtZWJ1ZmZlckFOR0xF
IG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBpbXBsZW1lbnRhdGlvbi4iKTsKKyAgICAgICAgcmV0dXJu
IGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAgIC8v
IEVTMy4wIHNwZWMsIHNlY3Rpb24gNC4zLjIgc3RhdGVzIHRoYXQgbGluZWFyIGZpbHRlcmluZyBp
cyBvbmx5IGF2YWlsYWJsZSBmb3IgdGhlCisgICAgLy8gY29sb3IgYnVmZmVyLCBsZWF2aW5nIG9u
bHkgbmVhcmVzdCBiZWluZyB1bmZpbHRlcmVkIGZyb20gYWJvdmUKKyAgICBpZiAoKG1hc2sgJiB+
R0xfQ09MT1JfQlVGRkVSX0JJVCkgIT0gMCAmJiBmaWx0ZXIgIT0gR0xfTkVBUkVTVCkKKyAgICB7
CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsK
KyAgICB9CisKKyAgICBpZiAoY29udGV4dC0+Z2V0UmVhZEZyYW1lYnVmZmVySGFuZGxlKCkgPT0g
Y29udGV4dC0+Z2V0RHJhd0ZyYW1lYnVmZmVySGFuZGxlKCkpCisgICAgeworICAgICAgICBpZiAo
ZnJvbUFuZ2xlRXh0ZW5zaW9uKQorICAgICAgICB7CisgICAgICAgICAgICBFUlIoIkJsaXRzIHdp
dGggdGhlIHNhbWUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmcmFtZWJ1ZmZlciBhcmUgbm90IHN1
cHBvcnRlZCBieSB0aGlzICIKKyAgICAgICAgICAgICAgICAiaW1wbGVtZW50YXRpb24uIik7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwg
ZmFsc2UpOworICAgIH0KKworICAgIGdsOjpGcmFtZWJ1ZmZlciAqcmVhZEZyYW1lYnVmZmVyID0g
Y29udGV4dC0+Z2V0UmVhZEZyYW1lYnVmZmVyKCk7CisgICAgZ2w6OkZyYW1lYnVmZmVyICpkcmF3
RnJhbWVidWZmZXIgPSBjb250ZXh0LT5nZXREcmF3RnJhbWVidWZmZXIoKTsKKyAgICBpZiAoIXJl
YWRGcmFtZWJ1ZmZlciB8fCByZWFkRnJhbWVidWZmZXItPmNvbXBsZXRlbmVzcygpICE9IEdMX0ZS
QU1FQlVGRkVSX0NPTVBMRVRFIHx8CisgICAgICAgICFkcmF3RnJhbWVidWZmZXIgfHwgZHJhd0Zy
YW1lYnVmZmVyLT5jb21wbGV0ZW5lc3MoKSAhPSBHTF9GUkFNRUJVRkZFUl9DT01QTEVURSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVS
QVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAoZHJhd0ZyYW1lYnVmZmVyLT5nZXRTYW1w
bGVzKCkgIT0gMCkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9P
UEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBib29sIHNhbWVCb3VuZHMgPSBzcmNYMCA9
PSBkc3RYMCAmJiBzcmNZMCA9PSBkc3RZMCAmJiBzcmNYMSA9PSBkc3RYMSAmJiBzcmNZMSA9PSBk
c3RZMTsKKworICAgIEdMdWludCBjbGllbnRWZXJzaW9uID0gY29udGV4dC0+Z2V0Q2xpZW50VmVy
c2lvbigpOworCisgICAgaWYgKG1hc2sgJiBHTF9DT0xPUl9CVUZGRVJfQklUKQorICAgIHsKKyAg
ICAgICAgZ2w6OlJlbmRlcmJ1ZmZlciAqcmVhZENvbG9yQnVmZmVyID0gcmVhZEZyYW1lYnVmZmVy
LT5nZXRSZWFkQ29sb3JidWZmZXIoKTsKKyAgICAgICAgZ2w6OlJlbmRlcmJ1ZmZlciAqZHJhd0Nv
bG9yQnVmZmVyID0gZHJhd0ZyYW1lYnVmZmVyLT5nZXRGaXJzdENvbG9yYnVmZmVyKCk7CisKKyAg
ICAgICAgaWYgKHJlYWRDb2xvckJ1ZmZlciAmJiBkcmF3Q29sb3JCdWZmZXIpCisgICAgICAgIHsK
KyAgICAgICAgICAgIEdMZW51bSByZWFkSW50ZXJuYWxGb3JtYXQgPSByZWFkQ29sb3JCdWZmZXIt
PmdldEFjdHVhbEZvcm1hdCgpOworICAgICAgICAgICAgR0xlbnVtIHJlYWRDb21wb25lbnRUeXBl
ID0gZ2w6OkdldENvbXBvbmVudFR5cGUocmVhZEludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9u
KTsKKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBnbDo6SU1QTEVN
RU5UQVRJT05fTUFYX0RSQVdfQlVGRkVSUzsgaSsrKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGlmIChkcmF3RnJhbWVidWZmZXItPmlzRW5hYmxlZENvbG9yQXR0YWNobWVudChpKSkK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEdMZW51bSBkcmF3SW50ZXJu
YWxGb3JtYXQgPSBkcmF3RnJhbWVidWZmZXItPmdldENvbG9yYnVmZmVyKGkpLT5nZXRBY3R1YWxG
b3JtYXQoKTsKKyAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGRyYXdDb21wb25lbnRUeXBlID0g
Z2w6OkdldENvbXBvbmVudFR5cGUoZHJhd0ludGVybmFsRm9ybWF0LCBjbGllbnRWZXJzaW9uKTsK
KworICAgICAgICAgICAgICAgICAgICAvLyBUaGUgR0wgRVMgMy4wLjIgc3BlYyAocGcgMTkzKSBz
dGF0ZXMgdGhhdDoKKyAgICAgICAgICAgICAgICAgICAgLy8gMSkgSWYgdGhlIHJlYWQgYnVmZmVy
IGlzIGZpeGVkIHBvaW50IGZvcm1hdCwgdGhlIGRyYXcgYnVmZmVyIG11c3QgYmUgYXMgd2VsbAor
ICAgICAgICAgICAgICAgICAgICAvLyAyKSBJZiB0aGUgcmVhZCBidWZmZXIgaXMgYW4gdW5zaWdu
ZWQgaW50ZWdlciBmb3JtYXQsIHRoZSBkcmF3IGJ1ZmZlciBtdXN0IGJlIGFzIHdlbGwKKyAgICAg
ICAgICAgICAgICAgICAgLy8gMykgSWYgdGhlIHJlYWQgYnVmZmVyIGlzIGEgc2lnbmVkIGludGVn
ZXIgZm9ybWF0LCB0aGUgZHJhdyBidWZmZXIgbXVzdCBiZSBhcyB3ZWxsCisgICAgICAgICAgICAg
ICAgICAgIGlmICggKHJlYWRDb21wb25lbnRUeXBlID09IEdMX1VOU0lHTkVEX05PUk1BTElaRUQg
fHwgcmVhZENvbXBvbmVudFR5cGUgPT0gR0xfU0lHTkVEX05PUk1BTElaRUQpICYmCisgICAgICAg
ICAgICAgICAgICAgICAgICAhKGRyYXdDb21wb25lbnRUeXBlID09IEdMX1VOU0lHTkVEX05PUk1B
TElaRUQgfHwgZHJhd0NvbXBvbmVudFR5cGUgPT0gR0xfU0lHTkVEX05PUk1BTElaRUQpKQorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVy
cm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgICAgICAgICBpZiAocmVhZENvbXBvbmVudFR5cGUgPT0gR0xfVU5TSUdO
RURfSU5UICYmIGRyYXdDb21wb25lbnRUeXBlICE9IEdMX1VOU0lHTkVEX0lOVCkKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHJlYWRDb21wb25lbnRUeXBlID09IEdMX0lOVCAmJiBkcmF3
Q29tcG9uZW50VHlwZSAhPSBHTF9JTlQpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZh
bHNlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIGlmIChy
ZWFkQ29sb3JCdWZmZXItPmdldFNhbXBsZXMoKSA+IDAgJiYgKHJlYWRJbnRlcm5hbEZvcm1hdCAh
PSBkcmF3SW50ZXJuYWxGb3JtYXQgfHwgIXNhbWVCb3VuZHMpKQorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURf
T1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICgocmVhZENvbXBvbmVudFR5cGUg
PT0gR0xfSU5UIHx8IHJlYWRDb21wb25lbnRUeXBlID09IEdMX1VOU0lHTkVEX0lOVCkgJiYgZmls
dGVyID09IEdMX0xJTkVBUikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
Z2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGlmIChmcm9tQW5nbGVFeHRlbnNpb24pCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgY29uc3QgR0xlbnVtIHJlYWRDb2xvcmJ1ZmZlclR5cGUgPSByZWFkRnJhbWVi
dWZmZXItPmdldFJlYWRDb2xvcmJ1ZmZlclR5cGUoKTsKKyAgICAgICAgICAgICAgICBpZiAocmVh
ZENvbG9yYnVmZmVyVHlwZSAhPSBHTF9URVhUVVJFXzJEICYmIHJlYWRDb2xvcmJ1ZmZlclR5cGUg
IT0gR0xfUkVOREVSQlVGRkVSKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaW50IGNvbG9yQXR0
YWNobWVudCA9IDA7IGNvbG9yQXR0YWNobWVudCA8IGdsOjpJTVBMRU1FTlRBVElPTl9NQVhfRFJB
V19CVUZGRVJTOyBjb2xvckF0dGFjaG1lbnQrKykKKyAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChkcmF3RnJhbWVidWZmZXItPmlzRW5hYmxlZENvbG9yQXR0YWNobWVu
dChjb2xvckF0dGFjaG1lbnQpKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoZHJhd0ZyYW1lYnVmZmVyLT5nZXRDb2xvcmJ1ZmZlclR5cGUoY29sb3JB
dHRhY2htZW50KSAhPSBHTF9URVhUVVJFXzJEICYmCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZHJhd0ZyYW1lYnVmZmVyLT5nZXRDb2xvcmJ1ZmZlclR5cGUoY29sb3JBdHRhY2htZW50KSAh
PSBHTF9SRU5ERVJCVUZGRVIpCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwg
ZmFsc2UpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoZHJhd0ZyYW1lYnVmZmVyLT5nZXRDb2xvcmJ1ZmZlcihjb2xvckF0dGFjaG1lbnQp
LT5nZXRBY3R1YWxGb3JtYXQoKSAhPSByZWFkQ29sb3JCdWZmZXItPmdldEFjdHVhbEZvcm1hdCgp
KQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBpZiAocmVhZEZyYW1lYnVmZmVyLT5nZXRTYW1wbGVzKCkgIT0g
MCAmJiBJc1BhcnRpYWxCbGl0KGNvbnRleHQsIHJlYWRDb2xvckJ1ZmZlciwgZHJhd0NvbG9yQnVm
ZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3JjWDAsIHNyY1kwLCBzcmNYMSwgc3JjWTEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkc3RYMCwgZHN0WTAsIGRzdFgxLCBkc3RZMSkpCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9O
LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgICAgaWYgKG1hc2sgJiBHTF9ERVBUSF9CVUZGRVJfQklUKQorICAgIHsKKyAgICAg
ICAgZ2w6OlJlbmRlcmJ1ZmZlciAqcmVhZERlcHRoQnVmZmVyID0gcmVhZEZyYW1lYnVmZmVyLT5n
ZXREZXB0aGJ1ZmZlcigpOworICAgICAgICBnbDo6UmVuZGVyYnVmZmVyICpkcmF3RGVwdGhCdWZm
ZXIgPSBkcmF3RnJhbWVidWZmZXItPmdldERlcHRoYnVmZmVyKCk7CisKKyAgICAgICAgaWYgKHJl
YWREZXB0aEJ1ZmZlciAmJiBkcmF3RGVwdGhCdWZmZXIpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmIChyZWFkRGVwdGhCdWZmZXItPmdldEFjdHVhbEZvcm1hdCgpICE9IGRyYXdEZXB0aEJ1ZmZl
ci0+Z2V0QWN0dWFsRm9ybWF0KCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBpZiAocmVhZERlcHRoQnVmZmVyLT5nZXRTYW1wbGVzKCkgPiAwICYm
ICFzYW1lQm91bmRzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6
ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgaWYgKGZyb21BbmdsZUV4dGVuc2lvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBpZiAoSXNQYXJ0aWFsQmxpdChjb250ZXh0LCByZWFkRGVwdGhCdWZmZXIsIGRyYXdE
ZXB0aEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNYMCwgc3Jj
WTAsIHNyY1gxLCBzcmNZMSwgZHN0WDAsIGRzdFkwLCBkc3RYMSwgZHN0WTEpKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgRVJSKCJPbmx5IHdob2xlLWJ1ZmZlciBkZXB0
aCBhbmQgc3RlbmNpbCBibGl0cyBhcmUgc3VwcG9ydGVkIGJ5IHRoaXMgaW1wbGVtZW50YXRpb24u
Iik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVS
QVRJT04sIGZhbHNlKTsgLy8gb25seSB3aG9sZS1idWZmZXIgY29waWVzIGFyZSBwZXJtaXR0ZWQK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAocmVhZERlcHRoQnVmZmVy
LT5nZXRTYW1wbGVzKCkgIT0gMCB8fCBkcmF3RGVwdGhCdWZmZXItPmdldFNhbXBsZXMoKSAhPSAw
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJv
cihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChtYXNrICYgR0xfU1RFTkNJTF9C
VUZGRVJfQklUKQorICAgIHsKKyAgICAgICAgZ2w6OlJlbmRlcmJ1ZmZlciAqcmVhZFN0ZW5jaWxC
dWZmZXIgPSByZWFkRnJhbWVidWZmZXItPmdldFN0ZW5jaWxidWZmZXIoKTsKKyAgICAgICAgZ2w6
OlJlbmRlcmJ1ZmZlciAqZHJhd1N0ZW5jaWxCdWZmZXIgPSBkcmF3RnJhbWVidWZmZXItPmdldFN0
ZW5jaWxidWZmZXIoKTsKKworICAgICAgICBpZiAocmVhZFN0ZW5jaWxCdWZmZXIgJiYgZHJhd1N0
ZW5jaWxCdWZmZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChyZWFkU3RlbmNpbEJ1ZmZl
ci0+Z2V0QWN0dWFsRm9ybWF0KCkgIT0gZHJhd1N0ZW5jaWxCdWZmZXItPmdldEFjdHVhbEZvcm1h
dCgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xf
SU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
aWYgKHJlYWRTdGVuY2lsQnVmZmVyLT5nZXRTYW1wbGVzKCkgPiAwICYmICFzYW1lQm91bmRzKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJ
RF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGZy
b21BbmdsZUV4dGVuc2lvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoSXNQ
YXJ0aWFsQmxpdChjb250ZXh0LCByZWFkU3RlbmNpbEJ1ZmZlciwgZHJhd1N0ZW5jaWxCdWZmZXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjWDAsIHNyY1kwLCBzcmNYMSwg
c3JjWTEsIGRzdFgwLCBkc3RZMCwgZHN0WDEsIGRzdFkxKSkKKyAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgIEVSUigiT25seSB3aG9sZS1idWZmZXIgZGVwdGggYW5kIHN0ZW5j
aWwgYmxpdHMgYXJlIHN1cHBvcnRlZCBieSB0aGlzIGltcGxlbWVudGF0aW9uLiIpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxz
ZSk7IC8vIG9ubHkgd2hvbGUtYnVmZmVyIGNvcGllcyBhcmUgcGVybWl0dGVkCisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHJlYWRTdGVuY2lsQnVmZmVyLT5nZXRTYW1w
bGVzKCkgIT0gMCB8fCBkcmF3U3RlbmNpbEJ1ZmZlci0+Z2V0U2FtcGxlcygpICE9IDApCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lO
VkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgVmFsaWRh
dGVHZXRWZXJ0ZXhBdHRyaWJQYXJhbWV0ZXJzKEdMZW51bSBwbmFtZSwgaW50IGNsaWVudFZlcnNp
b24pCit7CisgICAgc3dpdGNoIChwbmFtZSkKKyAgICB7CisgICAgICBjYXNlIEdMX1ZFUlRFWF9B
VFRSSUJfQVJSQVlfRU5BQkxFRDoKKyAgICAgIGNhc2UgR0xfVkVSVEVYX0FUVFJJQl9BUlJBWV9T
SVpFOgorICAgICAgY2FzZSBHTF9WRVJURVhfQVRUUklCX0FSUkFZX1NUUklERToKKyAgICAgIGNh
c2UgR0xfVkVSVEVYX0FUVFJJQl9BUlJBWV9UWVBFOgorICAgICAgY2FzZSBHTF9WRVJURVhfQVRU
UklCX0FSUkFZX05PUk1BTElaRUQ6CisgICAgICBjYXNlIEdMX1ZFUlRFWF9BVFRSSUJfQVJSQVlf
QlVGRkVSX0JJTkRJTkc6CisgICAgICBjYXNlIEdMX0NVUlJFTlRfVkVSVEVYX0FUVFJJQjoKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgIGNhc2UgR0xfVkVSVEVYX0FUVFJJQl9BUlJBWV9E
SVZJU09SOgorICAgICAgICAvLyBEb24ndCB2ZXJpZnkgRVMzIGNvbnRleHQgYmVjYXVzZSBHTF9W
RVJURVhfQVRUUklCX0FSUkFZX0RJVklTT1JfQU5HTEUgdXNlcworICAgICAgICAvLyB0aGUgc2Ft
ZSBjb25zdGFudC4KKyAgICAgICAgTUVUQV9BU1NFUlQoR0xfVkVSVEVYX0FUVFJJQl9BUlJBWV9E
SVZJU09SID09IEdMX1ZFUlRFWF9BVFRSSUJfQVJSQVlfRElWSVNPUl9BTkdMRSk7CisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgICBjYXNlIEdMX1ZFUlRFWF9BVFRSSUJfQVJSQVlfSU5URUdF
UjoKKyAgICAgICAgcmV0dXJuICgoY2xpZW50VmVyc2lvbiA+PSAzKSA/IHRydWUgOiBnbDo6ZXJy
b3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSkpOworCisgICAgICBkZWZhdWx0OgorICAgICAgICBy
ZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgIH0KK30KKworYm9v
bCBWYWxpZGF0ZVRleFBhcmFtUGFyYW1ldGVycyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVt
IHBuYW1lLCBHTGludCBwYXJhbSkKK3sKKyAgICBzd2l0Y2ggKHBuYW1lKQorICAgIHsKKyAgICAg
IGNhc2UgR0xfVEVYVFVSRV9XUkFQX1I6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfU1dJWlpMRV9S
OgorICAgICAgY2FzZSBHTF9URVhUVVJFX1NXSVpaTEVfRzoKKyAgICAgIGNhc2UgR0xfVEVYVFVS
RV9TV0laWkxFX0I6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfU1dJWlpMRV9BOgorICAgICAgY2Fz
ZSBHTF9URVhUVVJFX0JBU0VfTEVWRUw6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfTUFYX0xFVkVM
OgorICAgICAgY2FzZSBHTF9URVhUVVJFX0NPTVBBUkVfTU9ERToKKyAgICAgIGNhc2UgR0xfVEVY
VFVSRV9DT01QQVJFX0ZVTkM6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfTUlOX0xPRDoKKyAgICAg
IGNhc2UgR0xfVEVYVFVSRV9NQVhfTE9EOgorICAgICAgICBpZiAoY29udGV4dC0+Z2V0Q2xpZW50
VmVyc2lvbigpIDwgMykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAg
ICAgZGVmYXVsdDogYnJlYWs7CisgICAgfQorCisgICAgc3dpdGNoIChwbmFtZSkKKyAgICB7Cisg
ICAgICBjYXNlIEdMX1RFWFRVUkVfV1JBUF9TOgorICAgICAgY2FzZSBHTF9URVhUVVJFX1dSQVBf
VDoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9XUkFQX1I6CisgICAgICAgIHN3aXRjaCAocGFyYW0p
CisgICAgICAgIHsKKyAgICAgICAgICBjYXNlIEdMX1JFUEVBVDoKKyAgICAgICAgICBjYXNlIEdM
X0NMQU1QX1RPX0VER0U6CisgICAgICAgICAgY2FzZSBHTF9NSVJST1JFRF9SRVBFQVQ6CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgfQorCisgICAg
ICBjYXNlIEdMX1RFWFRVUkVfTUlOX0ZJTFRFUjoKKyAgICAgICAgc3dpdGNoIChwYXJhbSkKKyAg
ICAgICAgeworICAgICAgICAgIGNhc2UgR0xfTkVBUkVTVDoKKyAgICAgICAgICBjYXNlIEdMX0xJ
TkVBUjoKKyAgICAgICAgICBjYXNlIEdMX05FQVJFU1RfTUlQTUFQX05FQVJFU1Q6CisgICAgICAg
ICAgY2FzZSBHTF9MSU5FQVJfTUlQTUFQX05FQVJFU1Q6CisgICAgICAgICAgY2FzZSBHTF9ORUFS
RVNUX01JUE1BUF9MSU5FQVI6CisgICAgICAgICAgY2FzZSBHTF9MSU5FQVJfTUlQTUFQX0xJTkVB
UjoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICB9
CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUjoKKyAg
ICAgICAgc3dpdGNoIChwYXJhbSkKKyAgICAgICAgeworICAgICAgICAgIGNhc2UgR0xfTkVBUkVT
VDoKKyAgICAgICAgICBjYXNlIEdMX0xJTkVBUjoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFM
SURfRU5VTSwgZmFsc2UpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNl
IEdMX1RFWFRVUkVfVVNBR0VfQU5HTEU6CisgICAgICAgIHN3aXRjaCAocGFyYW0pCisgICAgICAg
IHsKKyAgICAgICAgICBjYXNlIEdMX05PTkU6CisgICAgICAgICAgY2FzZSBHTF9GUkFNRUJVRkZF
Ul9BVFRBQ0hNRU5UX0FOR0xFOgorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBm
YWxzZSk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgR0xfVEVYVFVS
RV9NQVhfQU5JU09UUk9QWV9FWFQ6CisgICAgICAgIGlmICghY29udGV4dC0+c3VwcG9ydHNUZXh0
dXJlRmlsdGVyQW5pc290cm9weSgpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6
OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAgICAgLy8g
d2UgYXNzdW1lIHRoZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoaXMgdmFsaWRhdGlvbiBtZXRob2Qg
aXMgdHJ1bmNhdGVkLCBub3Qgcm91bmRlZAorICAgICAgICBpZiAocGFyYW0gPCAxKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNl
KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgY2FzZSBHTF9URVhU
VVJFX01JTl9MT0Q6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfTUFYX0xPRDoKKyAgICAgICAgLy8g
YW55IHZhbHVlIGlzIHBlcm1pc3NpYmxlCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICBj
YXNlIEdMX1RFWFRVUkVfQ09NUEFSRV9NT0RFOgorICAgICAgICAvLyBBY2NlcHRhYmxlIG1vZGUg
cGFyYW1ldGVycyBmcm9tIEdMRVMgMy4wLjIgc3BlYywgdGFibGUgMy4xNworICAgICAgICBzd2l0
Y2ggKHBhcmFtKQorICAgICAgICB7CisgICAgICAgICAgY2FzZSBHTF9OT05FOgorICAgICAgICAg
IGNhc2UgR0xfQ09NUEFSRV9SRUZfVE9fVEVYVFVSRToKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lO
VkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgICBj
YXNlIEdMX1RFWFRVUkVfQ09NUEFSRV9GVU5DOgorICAgICAgICAvLyBBY2NlcHRhYmxlIGZ1bmN0
aW9uIHBhcmFtZXRlcnMgZnJvbSBHTEVTIDMuMC4yIHNwZWMsIHRhYmxlIDMuMTcKKyAgICAgICAg
c3dpdGNoIChwYXJhbSkKKyAgICAgICAgeworICAgICAgICAgIGNhc2UgR0xfTEVRVUFMOgorICAg
ICAgICAgIGNhc2UgR0xfR0VRVUFMOgorICAgICAgICAgIGNhc2UgR0xfTEVTUzoKKyAgICAgICAg
ICBjYXNlIEdMX0dSRUFURVI6CisgICAgICAgICAgY2FzZSBHTF9FUVVBTDoKKyAgICAgICAgICBj
YXNlIEdMX05PVEVRVUFMOgorICAgICAgICAgIGNhc2UgR0xfQUxXQVlTOgorICAgICAgICAgIGNh
c2UgR0xfTkVWRVI6CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsK
KyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBHTF9URVhUVVJFX1NXSVpa
TEVfUjoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9TV0laWkxFX0c6CisgICAgICBjYXNlIEdMX1RF
WFRVUkVfU1dJWlpMRV9COgorICAgICAgY2FzZSBHTF9URVhUVVJFX1NXSVpaTEVfQToKKyAgICAg
ICAgc3dpdGNoIChwYXJhbSkKKyAgICAgICAgeworICAgICAgICAgIGNhc2UgR0xfUkVEOgorICAg
ICAgICAgIGNhc2UgR0xfR1JFRU46CisgICAgICAgICAgY2FzZSBHTF9CTFVFOgorICAgICAgICAg
IGNhc2UgR0xfQUxQSEE6CisgICAgICAgICAgY2FzZSBHTF9aRVJPOgorICAgICAgICAgIGNhc2Ug
R0xfT05FOgorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAg
ICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9CQVNFX0xFVkVM
OgorICAgICAgY2FzZSBHTF9URVhUVVJFX01BWF9MRVZFTDoKKyAgICAgICAgaWYgKHBhcmFtIDwg
MCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX1ZB
TFVFLCBmYWxzZSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgIGRl
ZmF1bHQ6CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7
CisgICAgfQorfQorCitib29sIFZhbGlkYXRlU2FtcGxlck9iamVjdFBhcmFtZXRlcihHTGVudW0g
cG5hbWUpCit7CisgICAgc3dpdGNoIChwbmFtZSkKKyAgICB7CisgICAgICBjYXNlIEdMX1RFWFRV
UkVfTUlOX0ZJTFRFUjoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9NQUdfRklMVEVSOgorICAgICAg
Y2FzZSBHTF9URVhUVVJFX1dSQVBfUzoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9XUkFQX1Q6Cisg
ICAgICBjYXNlIEdMX1RFWFRVUkVfV1JBUF9SOgorICAgICAgY2FzZSBHTF9URVhUVVJFX01JTl9M
T0Q6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfTUFYX0xPRDoKKyAgICAgIGNhc2UgR0xfVEVYVFVS
RV9DT01QQVJFX01PREU6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ09NUEFSRV9GVU5DOgorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGdsOjpl
cnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICB9Cit9CisKK2Jvb2wgVmFsaWRhdGVS
ZWFkUGl4ZWxzUGFyYW1ldGVycyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xpbnQgeCwgR0xpbnQg
eSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMc2l6ZWkgKmJ1ZlNpemUs
IEdMdm9pZCAqcGl4ZWxzKQoreworICAgIGdsOjpGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIgPSBj
b250ZXh0LT5nZXRSZWFkRnJhbWVidWZmZXIoKTsKKworICAgIGlmIChmcmFtZWJ1ZmZlci0+Y29t
cGxldGVuZXNzKCkgIT0gR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUpCisgICAgeworICAgICAgICBy
ZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCBmYWxzZSk7
CisgICAgfQorCisgICAgaWYgKGNvbnRleHQtPmdldFJlYWRGcmFtZWJ1ZmZlckhhbmRsZSgpICE9
IDAgJiYgZnJhbWVidWZmZXItPmdldFNhbXBsZXMoKSAhPSAwKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAg
IEdMZW51bSBjdXJyZW50SW50ZXJuYWxGb3JtYXQsIGN1cnJlbnRGb3JtYXQsIGN1cnJlbnRUeXBl
OworICAgIGludCBjbGllbnRWZXJzaW9uID0gY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpOwor
CisgICAgLy8gRmFpbHVyZSBpbiBnZXRDdXJyZW50UmVhZEZvcm1hdFR5cGUgaW5kaWNhdGVzIHRo
YXQgbm8gY29sb3IgYXR0YWNobWVudCBpcyBjdXJyZW50bHkgYm91bmQsCisgICAgLy8gYW5kIGF0
dGVtcHRpbmcgdG8gcmVhZCBiYWNrIGlmIHRoYXQncyB0aGUgY2FzZSBpcyBhbiBlcnJvci4gVGhl
IGVycm9yIHdpbGwgYmUgcmVnaXN0ZXJlZAorICAgIC8vIGJ5IGdldEN1cnJlbnRSZWFkRm9ybWF0
LgorICAgIC8vIE5vdGU6IHdlIG5lZWQgdG8gZXhwbGljaXRseSBjaGVjayBmb3IgZnJhbWVidWZm
ZXIgY29tcGxldGVuZXNzIGhlcmUsIGJlZm9yZSB3ZSBjYWxsCisgICAgLy8gZ2V0Q3VycmVudFJl
YWRGb3JtYXRUeXBlLCBiZWNhdXNlIGl0IGdlbmVyYXRlcyBhIGRpZmZlcmVudCAod3JvbmcpIGVy
cm9yIGZvciBpbmNvbXBsZXRlIEZCT3MKKyAgICBpZiAoIWNvbnRleHQtPmdldEN1cnJlbnRSZWFk
Rm9ybWF0VHlwZSgmY3VycmVudEludGVybmFsRm9ybWF0LCAmY3VycmVudEZvcm1hdCwgJmN1cnJl
bnRUeXBlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCB2YWxpZFJlYWRGb3Jt
YXQgPSAoY2xpZW50VmVyc2lvbiA8IDMpID8gVmFsaWRFUzJSZWFkRm9ybWF0VHlwZShjb250ZXh0
LCBmb3JtYXQsIHR5cGUpIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWYWxpZEVTM1JlYWRGb3JtYXRUeXBlKGNvbnRleHQsIGN1cnJlbnRJbnRlcm5h
bEZvcm1hdCwgZm9ybWF0LCB0eXBlKTsKKworICAgIGlmICghKGN1cnJlbnRGb3JtYXQgPT0gZm9y
bWF0ICYmIGN1cnJlbnRUeXBlID09IHR5cGUpICYmICF2YWxpZFJlYWRGb3JtYXQpCisgICAgewor
ICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7Cisg
ICAgfQorCisgICAgR0xlbnVtIHNpemVkSW50ZXJuYWxGb3JtYXQgPSBJc1NpemVkSW50ZXJuYWxG
b3JtYXQoZm9ybWF0LCBjbGllbnRWZXJzaW9uKSA/IGZvcm1hdCA6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHZXRTaXplZEludGVybmFsRm9ybWF0KGZvcm1hdCwgdHlwZSwgY2xp
ZW50VmVyc2lvbik7CisKKyAgICBHTHNpemVpIG91dHB1dFBpdGNoID0gR2V0Um93UGl0Y2goc2l6
ZWRJbnRlcm5hbEZvcm1hdCwgdHlwZSwgY2xpZW50VmVyc2lvbiwgd2lkdGgsIGNvbnRleHQtPmdl
dFBhY2tBbGlnbm1lbnQoKSk7CisgICAgLy8gc2l6ZWQgcXVlcnkgc2FuaXR5IGNoZWNrCisgICAg
aWYgKGJ1ZlNpemUpCisgICAgeworICAgICAgICBpbnQgcmVxdWlyZWRTaXplID0gb3V0cHV0UGl0
Y2ggKiBoZWlnaHQ7CisgICAgICAgIGlmIChyZXF1aXJlZFNpemUgPiAqYnVmU2l6ZSkKKyAgICAg
ICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwg
ZmFsc2UpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30KSW5k
ZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvdmFsaWRhdGlvbkVTLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi92YWxp
ZGF0aW9uRVMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJHTEVTdjIvdmFsaWRhdGlvbkVTLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAor
Ly8KKy8vIENvcHlyaWdodCAoYykgMjAxMyBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKy8vCisKKy8vIHZhbGlkYXRpb25FUy5oOiBWYWxpZGF0aW9uIGZ1bmN0aW9ucyBm
b3IgZ2VuZXJpYyBPcGVuR0wgRVMgZW50cnkgcG9pbnQgcGFyYW1ldGVycworCisjaWZuZGVmIExJ
QkdMRVNWMl9WQUxJREFUSU9OX0VTX0gKKyNkZWZpbmUgTElCR0xFU1YyX1ZBTElEQVRJT05fRVNf
SAorCituYW1lc3BhY2UgZ2wKK3sKKworY2xhc3MgQ29udGV4dDsKKworYm9vbCBWYWxpZENhcChj
b25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gY2FwKTsKK2Jvb2wgVmFsaWRUZXh0dXJlVGFy
Z2V0KGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZW51bSB0YXJnZXQpOworYm9vbCBWYWxpZFRl
eHR1cmUyRERlc3RpbmF0aW9uVGFyZ2V0KGNvbnN0IENvbnRleHQgKmNvbnRleHQsIEdMZW51bSB0
YXJnZXQpOworYm9vbCBWYWxpZEZyYW1lYnVmZmVyVGFyZ2V0KEdMZW51bSB0YXJnZXQpOworYm9v
bCBWYWxpZEJ1ZmZlclRhcmdldChjb25zdCBDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gdGFyZ2V0
KTsKK2Jvb2wgVmFsaWRCdWZmZXJQYXJhbWV0ZXIoY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xl
bnVtIHBuYW1lKTsKK2Jvb2wgVmFsaWRNaXBMZXZlbChjb25zdCBDb250ZXh0ICpjb250ZXh0LCBH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCk7Citib29sIFZhbGlkSW1hZ2VTaXplKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgpOworYm9vbCBWYWxpZENvbXByZXNz
ZWRJbWFnZVNpemUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSBpbnRlcm5hbEZv
cm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOworYm9vbCBWYWxpZFF1ZXJ5VHlw
ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHF1ZXJ5VHlwZSk7Citib29sIFZh
bGlkUHJvZ3JhbShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0x1aW50IGlkKTsKKworYm9v
bCBWYWxpZGF0ZVJlbmRlcmJ1ZmZlclN0b3JhZ2VQYXJhbWV0ZXJzKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LCBHTGVudW0gdGFyZ2V0LCBHTHNpemVpIHNhbXBsZXMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBib29sIGFuZ2xlRXh0ZW5zaW9uKTsKK2Jvb2wgVmFsaWRhdGVGcmFtZWJ1
ZmZlclJlbmRlcmJ1ZmZlclBhcmFtZXRlcnMoZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSB0
YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGVudW0gcmVuZGVyYnVmZmVydGFyZ2V0LCBHTHVpbnQgcmVuZGVy
YnVmZmVyKTsKKworYm9vbCBWYWxpZGF0ZUJsaXRGcmFtZWJ1ZmZlclBhcmFtZXRlcnMoZ2w6OkNv
bnRleHQgKmNvbnRleHQsIEdMaW50IHNyY1gwLCBHTGludCBzcmNZMCwgR0xpbnQgc3JjWDEsIEdM
aW50IHNyY1kxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQg
ZHN0WDAsIEdMaW50IGRzdFkwLCBHTGludCBkc3RYMSwgR0xpbnQgZHN0WTEsIEdMYml0ZmllbGQg
bWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBmaWx0
ZXIsIGJvb2wgZnJvbUFuZ2xlRXh0ZW5zaW9uKTsKKworYm9vbCBWYWxpZGF0ZUdldFZlcnRleEF0
dHJpYlBhcmFtZXRlcnMoR0xlbnVtIHBuYW1lLCBpbnQgY2xpZW50VmVyc2lvbik7CisKK2Jvb2wg
VmFsaWRhdGVUZXhQYXJhbVBhcmFtZXRlcnMoZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSBw
bmFtZSwgR0xpbnQgcGFyYW0pOworCitib29sIFZhbGlkYXRlU2FtcGxlck9iamVjdFBhcmFtZXRl
cihHTGVudW0gcG5hbWUpOworCitib29sIFZhbGlkYXRlUmVhZFBpeGVsc1BhcmFtZXRlcnMoZ2w6
OkNvbnRleHQgKmNvbnRleHQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6
ZWkgaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSBmb3Jt
YXQsIEdMZW51bSB0eXBlLCBHTHNpemVpICpidWZTaXplLCBHTHZvaWQgKnBpeGVscyk7CisKK30K
KworI2VuZGlmIC8vIExJQkdMRVNWMl9WQUxJREFUSU9OX0VTX0gKSW5kZXg6IFNvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvdmFsaWRhdGlvbkVTMi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi92YWxpZGF0aW9uRVMyLmNw
cAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIv
dmFsaWRhdGlvbkVTMi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMDkyIEBACisjaW5j
bHVkZSAicHJlY29tcGlsZWQuaCIKKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEFOR0xF
IFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
Ky8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvLworCisvLyB2YWxpZGF0aW9uRVMyLmNw
cDogVmFsaWRhdGlvbiBmdW5jdGlvbnMgZm9yIE9wZW5HTCBFUyAyLjAgZW50cnkgcG9pbnQgcGFy
YW1ldGVycworCisjaW5jbHVkZSAibGliR0xFU3YyL3ZhbGlkYXRpb25FUzIuaCIKKyNpbmNsdWRl
ICJsaWJHTEVTdjIvdmFsaWRhdGlvbkVTLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL0NvbnRleHQu
aCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvVGV4dHVyZS5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9G
cmFtZWJ1ZmZlci5oIgorI2luY2x1ZGUgImxpYkdMRVN2Mi9SZW5kZXJidWZmZXIuaCIKKyNpbmNs
dWRlICJsaWJHTEVTdjIvZm9ybWF0dXRpbHMuaCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvbWFpbi5o
IgorCisjaW5jbHVkZSAiY29tbW9uL21hdGh1dGlsLmgiCisjaW5jbHVkZSAiY29tbW9uL3V0aWxp
dGllcy5oIgorCituYW1lc3BhY2UgZ2wKK3sKKworc3RhdGljIGJvb2wgdmFsaWRhdGVTdWJJbWFn
ZVBhcmFtczJEKGJvb2wgY29tcHJlc3NlZCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgeG9mZnNldCwgR0xp
bnQgeW9mZnNldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsOjpUZXh0dXJlMkQgKnRleHR1cmUp
Cit7CisgICAgaWYgKCF0ZXh0dXJlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAgIGlmIChjb21wcmVzc2Vk
ICE9IHRleHR1cmUtPmlzQ29tcHJlc3NlZChsZXZlbCkpCisgICAgeworICAgICAgICByZXR1cm4g
Z2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYg
KGZvcm1hdCAhPSBHTF9OT05FKQorICAgIHsKKyAgICAgICAgR0xlbnVtIGludGVybmFsZm9ybWF0
ID0gZ2w6OkdldFNpemVkSW50ZXJuYWxGb3JtYXQoZm9ybWF0LCB0eXBlLCAyKTsKKyAgICAgICAg
aWYgKGludGVybmFsZm9ybWF0ICE9IHRleHR1cmUtPmdldEludGVybmFsRm9ybWF0KGxldmVsKSkK
KyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJB
VElPTiwgZmFsc2UpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGNvbXByZXNzZWQpCisg
ICAgeworICAgICAgICBpZiAoKHdpZHRoICUgNCAhPSAwICYmIHdpZHRoICE9IHRleHR1cmUtPmdl
dFdpZHRoKDApKSB8fAorICAgICAgICAgICAgKGhlaWdodCAlIDQgIT0gMCAmJiBoZWlnaHQgIT0g
dGV4dHVyZS0+Z2V0SGVpZ2h0KDApKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGds
OjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICB9CisgICAgfQor
CisgICAgaWYgKHhvZmZzZXQgKyB3aWR0aCA+IHRleHR1cmUtPmdldFdpZHRoKGxldmVsKSB8fAor
ICAgICAgICB5b2Zmc2V0ICsgaGVpZ2h0ID4gdGV4dHVyZS0+Z2V0SGVpZ2h0KGxldmVsKSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOwor
ICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbCB2YWxpZGF0ZVN1Yklt
YWdlUGFyYW1zQ3ViZShib29sIGNvbXByZXNzZWQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgeG9mZnNl
dCwgR0xpbnQgeW9mZnNldCwgR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBmb3Jt
YXQsIEdMZW51bSB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2w6OlRleHR1cmVDdWJlTWFwICp0ZXh0dXJlKQoreworICAgIGlmICghdGV4dHVyZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsK
KyAgICB9CisKKyAgICBpZiAoY29tcHJlc3NlZCAhPSB0ZXh0dXJlLT5pc0NvbXByZXNzZWQodGFy
Z2V0LCBsZXZlbCkpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURf
T1BFUkFUSU9OLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYgKGZvcm1hdCAhPSBHTF9OT05FKQor
ICAgIHsKKyAgICAgICAgR0xlbnVtIGludGVybmFsZm9ybWF0ID0gZ2w6OkdldFNpemVkSW50ZXJu
YWxGb3JtYXQoZm9ybWF0LCB0eXBlLCAyKTsKKyAgICAgICAgaWYgKGludGVybmFsZm9ybWF0ICE9
IHRleHR1cmUtPmdldEludGVybmFsRm9ybWF0KHRhcmdldCwgbGV2ZWwpKQorICAgICAgICB7Cisg
ICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoY29tcHJlc3NlZCkKKyAgICB7CisgICAgICAg
IGlmICgod2lkdGggJSA0ICE9IDAgJiYgd2lkdGggIT0gdGV4dHVyZS0+Z2V0V2lkdGgodGFyZ2V0
LCAwKSkgfHwKKyAgICAgICAgICAgIChoZWlnaHQgJSA0ICE9IDAgJiYgaGVpZ2h0ICE9IHRleHR1
cmUtPmdldEhlaWdodCh0YXJnZXQsIDApKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICB9CisgICAg
fQorCisgICAgaWYgKHhvZmZzZXQgKyB3aWR0aCA+IHRleHR1cmUtPmdldFdpZHRoKHRhcmdldCwg
bGV2ZWwpIHx8CisgICAgICAgIHlvZmZzZXQgKyBoZWlnaHQgPiB0ZXh0dXJlLT5nZXRIZWlnaHQo
dGFyZ2V0LCBsZXZlbCkpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFM
SURfVkFMVUUsIGZhbHNlKTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBW
YWxpZGF0ZUVTMlRleEltYWdlUGFyYW1ldGVycyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgYm9vbCBpc0NvbXBy
ZXNzZWQsIGJvb2wgaXNTdWJJbWFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBo
ZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGJvcmRlciwg
R0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIGNvbnN0IEdMdm9pZCAqcGl4ZWxzKQoreworICAg
IGlmICghVmFsaWRJbWFnZVNpemUoY29udGV4dCwgdGFyZ2V0LCBsZXZlbCwgd2lkdGgsIGhlaWdo
dCwgMSkpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUs
IGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAobGV2ZWwgPCAwIHx8IHhvZmZzZXQgPCAwIHx8Cisg
ICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8R0xzaXplaT46Om1heCgpIC0geG9mZnNldCA8IHdp
ZHRoIHx8CisgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8R0xzaXplaT46Om1heCgpIC0geW9m
ZnNldCA8IGhlaWdodCkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJ
RF9WQUxVRSwgZmFsc2UpOworICAgIH0KKworICAgIGlmICghaXNTdWJJbWFnZSAmJiAhaXNDb21w
cmVzc2VkICYmIGludGVybmFsZm9ybWF0ICE9IGZvcm1hdCkKKyAgICB7CisgICAgICAgIHJldHVy
biBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBn
bDo6VGV4dHVyZSAqdGV4dHVyZSA9IE5VTEw7CisgICAgYm9vbCB0ZXh0dXJlQ29tcHJlc3NlZCA9
IGZhbHNlOworICAgIEdMZW51bSB0ZXh0dXJlSW50ZXJuYWxGb3JtYXQgPSBHTF9OT05FOworICAg
IEdMaW50IHRleHR1cmVMZXZlbFdpZHRoID0gMDsKKyAgICBHTGludCB0ZXh0dXJlTGV2ZWxIZWln
aHQgPSAwOworICAgIHN3aXRjaCAodGFyZ2V0KQorICAgIHsKKyAgICAgIGNhc2UgR0xfVEVYVFVS
RV8yRDoKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpZHRoID4gKGNvbnRleHQtPmdldE1h
eGltdW0yRFRleHR1cmVEaW1lbnNpb24oKSA+PiBsZXZlbCkgfHwKKyAgICAgICAgICAgICAgICBo
ZWlnaHQgPiAoY29udGV4dC0+Z2V0TWF4aW11bTJEVGV4dHVyZURpbWVuc2lvbigpID4+IGxldmVs
KSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lO
VkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2w6OlRl
eHR1cmUyRCAqdGV4MmQgPSBjb250ZXh0LT5nZXRUZXh0dXJlMkQoKTsKKyAgICAgICAgICAgIGlm
ICh0ZXgyZCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXh0dXJlQ29tcHJlc3Nl
ZCA9IHRleDJkLT5pc0NvbXByZXNzZWQobGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVJ
bnRlcm5hbEZvcm1hdCA9IHRleDJkLT5nZXRJbnRlcm5hbEZvcm1hdChsZXZlbCk7CisgICAgICAg
ICAgICAgICAgdGV4dHVyZUxldmVsV2lkdGggPSB0ZXgyZC0+Z2V0V2lkdGgobGV2ZWwpOworICAg
ICAgICAgICAgICAgIHRleHR1cmVMZXZlbEhlaWdodCA9IHRleDJkLT5nZXRIZWlnaHQobGV2ZWwp
OworICAgICAgICAgICAgICAgIHRleHR1cmUgPSB0ZXgyZDsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgaWYgKGlzU3ViSW1hZ2UgJiYgIXZhbGlkYXRlU3ViSW1hZ2VQYXJhbXMyRChpc0Nv
bXByZXNzZWQsIHdpZHRoLCBoZWlnaHQsIHhvZmZzZXQsIHlvZmZzZXQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsLCBmb3JtYXQs
IHR5cGUsIHRleDJkKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRleHR1cmUgPSB0ZXgyZDsKKyAgICAg
ICAgfQorICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX1BP
U0lUSVZFX1g6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWDoKKyAg
ICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZOgorICAgICAgY2FzZSBHTF9U
RVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1k6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWjoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9a
OgorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIWlzU3ViSW1hZ2UgJiYgd2lkdGggIT0gaGVp
Z2h0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xf
SU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAo
d2lkdGggPiAoY29udGV4dC0+Z2V0TWF4aW11bUN1YmVUZXh0dXJlRGltZW5zaW9uKCkgPj4gbGV2
ZWwpIHx8CisgICAgICAgICAgICAgICAgaGVpZ2h0ID4gKGNvbnRleHQtPmdldE1heGltdW1DdWJl
VGV4dHVyZURpbWVuc2lvbigpID4+IGxldmVsKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZ2w6OlRleHR1cmVDdWJlTWFwICp0ZXhDdWJlID0gY29udGV4
dC0+Z2V0VGV4dHVyZUN1YmVNYXAoKTsKKyAgICAgICAgICAgIGlmICh0ZXhDdWJlKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHRleHR1cmVDb21wcmVzc2VkID0gdGV4Q3ViZS0+aXND
b21wcmVzc2VkKHRhcmdldCwgbGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVJbnRlcm5h
bEZvcm1hdCA9IHRleEN1YmUtPmdldEludGVybmFsRm9ybWF0KHRhcmdldCwgbGV2ZWwpOworICAg
ICAgICAgICAgICAgIHRleHR1cmVMZXZlbFdpZHRoID0gdGV4Q3ViZS0+Z2V0V2lkdGgodGFyZ2V0
LCBsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4dHVyZUxldmVsSGVpZ2h0ID0gdGV4Q3ViZS0+
Z2V0SGVpZ2h0KHRhcmdldCwgbGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmUgPSB0ZXhD
dWJlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaXNTdWJJbWFnZSAmJiAhdmFs
aWRhdGVTdWJJbWFnZVBhcmFtc0N1YmUoaXNDb21wcmVzc2VkLCB3aWR0aCwgaGVpZ2h0LCB4b2Zm
c2V0LCB5b2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRhcmdldCwgbGV2ZWwsIGZvcm1hdCwgdHlwZSwgdGV4Q3ViZSkpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgICBkZWZhdWx0OgorICAgICAgICBy
ZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgIH0KKworICAgIGlm
ICghdGV4dHVyZSkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9P
UEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAoIWlzU3ViSW1hZ2UgJiYgdGV4dHVy
ZS0+aXNJbW11dGFibGUoKSkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5W
QUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICAvLyBWZXJpZnkgemVybyBib3Jk
ZXIKKyAgICBpZiAoYm9yZGVyICE9IDApCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9y
KEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICB9CisKKyAgICBHTGVudW0gYWN0dWFsSW50
ZXJuYWxGb3JtYXQgPSBpc1N1YkltYWdlID8gdGV4dHVyZUludGVybmFsRm9ybWF0IDogaW50ZXJu
YWxmb3JtYXQ7CisgICAgaWYgKGlzQ29tcHJlc3NlZCkKKyAgICB7CisgICAgICAgIGlmICghVmFs
aWRDb21wcmVzc2VkSW1hZ2VTaXplKGNvbnRleHQsIGFjdHVhbEludGVybmFsRm9ybWF0LCB3aWR0
aCwgaGVpZ2h0KSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9J
TlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAgICAgc3dpdGNoIChh
Y3R1YWxJbnRlcm5hbEZvcm1hdCkKKyAgICAgICAgeworICAgICAgICAgIGNhc2UgR0xfQ09NUFJF
U1NFRF9SR0JfUzNUQ19EWFQxX0VYVDoKKyAgICAgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdC
QV9TM1RDX0RYVDFfRVhUOgorICAgICAgICAgICAgaWYgKCFjb250ZXh0LT5zdXBwb3J0c0RYVDFU
ZXh0dXJlcygpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJy
b3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfQU5HTEU6
CisgICAgICAgICAgICBpZiAoIWNvbnRleHQtPnN1cHBvcnRzRFhUM1RleHR1cmVzKCkpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VO
VU0sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
IGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRToKKyAgICAgICAgICAgIGlm
ICghY29udGV4dC0+c3VwcG9ydHNEWFQ1VGV4dHVyZXMoKSkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgICAg
IH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLy8gdmFsaWRhdGUgPHR5cGU+IGJ5
IGl0c2VsZiAodXNlZCBhcyBzZWNvbmRhcnkga2V5IGJlbG93KQorICAgICAgICBzd2l0Y2ggKHR5
cGUpCisgICAgICAgIHsKKyAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CisgICAgICAg
ICAgY2FzZSBHTF9VTlNJR05FRF9TSE9SVF81XzZfNToKKyAgICAgICAgICBjYXNlIEdMX1VOU0lH
TkVEX1NIT1JUXzRfNF80XzQ6CisgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9TSE9SVF81XzVf
NV8xOgorICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfU0hPUlQ6CisgICAgICAgICAgY2FzZSBH
TF9VTlNJR05FRF9JTlQ6CisgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9JTlRfMjRfOF9PRVM6
CisgICAgICAgICAgY2FzZSBHTF9IQUxGX0ZMT0FUX09FUzoKKyAgICAgICAgICBjYXNlIEdMX0ZM
T0FUOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgICAgIH0KKwor
ICAgICAgICAvLyB2YWxpZGF0ZSA8Zm9ybWF0PiArIDx0eXBlPiBjb21iaW5hdGlvbnMKKyAgICAg
ICAgLy8gLSBpbnZhbGlkIDxmb3JtYXQ+IC0+IHNldHMgSU5WQUxJRF9FTlVNCisgICAgICAgIC8v
IC0gaW52YWxpZCA8Zm9ybWF0Pis8dHlwZT4gY29tYmluYXRpb24gLT4gc2V0cyBJTlZBTElEX09Q
RVJBVElPTgorICAgICAgICBzd2l0Y2ggKGZvcm1hdCkKKyAgICAgICAgeworICAgICAgICAgIGNh
c2UgR0xfQUxQSEE6CisgICAgICAgICAgY2FzZSBHTF9MVU1JTkFOQ0U6CisgICAgICAgICAgY2Fz
ZSBHTF9MVU1JTkFOQ0VfQUxQSEE6CisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfQllURToKKyAgICAgICAgICAg
ICAgY2FzZSBHTF9GTE9BVDoKKyAgICAgICAgICAgICAgY2FzZSBHTF9IQUxGX0ZMT0FUX09FUzoK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9SRUQ6Cisg
ICAgICAgICAgICAgIGlmICghY29udGV4dC0+c3VwcG9ydHNSR1RleHR1cmVzKCkpCisgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9F
TlVNLCBmYWxzZSk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgc3dpdGNoICh0eXBl
KQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRF
OgorICAgICAgICAgICAgICAgIGNhc2UgR0xfRkxPQVQ6CisgICAgICAgICAgICAgICAgY2FzZSBH
TF9IQUxGX0ZMT0FUX09FUzoKKyAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFM
SURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgY2FzZSBHTF9SRzoKKyAgICAgICAgICAgICAgaWYgKCFjb250ZXh0LT5z
dXBwb3J0c1JHVGV4dHVyZXMoKSkKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
cmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpCisgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOgorICAgICAgICAgICAgICBjYXNlIEdMX0ZMT0FU
OgorICAgICAgICAgICAgICBjYXNlIEdMX0hBTEZfRkxPQVRfT0VTOgorICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICByZXR1
cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9SR0I6CisgICAgICAg
ICAgICBzd2l0Y2ggKHR5cGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGNhc2UgR0xf
VU5TSUdORURfQllURToKKyAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9TSE9SVF81XzZf
NToKKyAgICAgICAgICAgICAgY2FzZSBHTF9GTE9BVDoKKyAgICAgICAgICAgICAgY2FzZSBHTF9I
QUxGX0ZMT0FUX09FUzoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFU
SU9OLCBmYWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICBjYXNlIEdMX1JHQkE6CisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfQllURToKKyAgICAgICAgICAgICAgY2Fz
ZSBHTF9VTlNJR05FRF9TSE9SVF80XzRfNF80OgorICAgICAgICAgICAgICBjYXNlIEdMX1VOU0lH
TkVEX1NIT1JUXzVfNV81XzE6CisgICAgICAgICAgICAgIGNhc2UgR0xfRkxPQVQ6CisgICAgICAg
ICAgICAgIGNhc2UgR0xfSEFMRl9GTE9BVF9PRVM6CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9CR1JBX0VYVDoKKyAgICAgICAgICAgIHN3aXRjaCAo
dHlwZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRF
OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xfQ09N
UFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVDogIC8vIGVycm9yIGNhc2VzIGZvciBjb21wcmVzc2Vk
IHRleHR1cmVzIGFyZSBoYW5kbGVkIGJlbG93CisgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VE
X1JHQkFfUzNUQ19EWFQxX0VYVDoKKyAgICAgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdCQV9T
M1RDX0RYVDNfQU5HTEU6CisgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19E
WFQ1X0FOR0xFOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9ERVBUSF9D
T01QT05FTlQ6CisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfU0hPUlQ6CisgICAgICAgICAgICAgIGNhc2UgR0xf
VU5TSUdORURfSU5UOgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJ
T04sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
IGNhc2UgR0xfREVQVEhfU1RFTkNJTF9PRVM6CisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UXzI0XzhfT0VT
OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAg
ICAgICB9CisKKyAgICAgICAgc3dpdGNoIChmb3JtYXQpCisgICAgICAgIHsKKyAgICAgICAgICBj
YXNlIEdMX0NPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQ6CisgICAgICAgICAgY2FzZSBHTF9D
T01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDoKKyAgICAgICAgICAgIGlmIChjb250ZXh0LT5z
dXBwb3J0c0RYVDFUZXh0dXJlcygpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJl
dHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19E
WFQzX0FOR0xFOgorICAgICAgICAgICAgaWYgKGNvbnRleHQtPnN1cHBvcnRzRFhUM1RleHR1cmVz
KCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9J
TlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5W
QUxJRF9FTlVNLCBmYWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfQU5HTEU6CisgICAgICAg
ICAgICBpZiAoY29udGV4dC0+c3VwcG9ydHNEWFQ1VGV4dHVyZXMoKSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBm
YWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xfREVQ
VEhfQ09NUE9ORU5UOgorICAgICAgICAgIGNhc2UgR0xfREVQVEhfU1RFTkNJTF9PRVM6CisgICAg
ICAgICAgICBpZiAoIWNvbnRleHQtPnN1cHBvcnRzRGVwdGhUZXh0dXJlcygpKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwg
ZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRhcmdldCAhPSBHTF9URVhU
VVJFXzJEKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3Io
R0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IC8vIE9FU19kZXB0aF90ZXh0dXJlIHN1cHBvcnRzIGxvYWRpbmcgZGVwdGggZGF0YSBhbmQgbXVs
dGlwbGUgbGV2ZWxzLAorICAgICAgICAgICAgLy8gYnV0IEFOR0xFX2RlcHRoX3RleHR1cmUgZG9l
cyBub3QKKyAgICAgICAgICAgIGlmIChwaXhlbHMgIT0gTlVMTCB8fCBsZXZlbCAhPSAwKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9P
UEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAg
IGlmICh0eXBlID09IEdMX0ZMT0FUKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIWNvbnRl
eHQtPnN1cHBvcnRzRmxvYXQzMlRleHR1cmVzKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICh0eXBlID09IEdMX0hBTEZfRkxPQVRf
T0VTKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIWNvbnRleHQtPnN1cHBvcnRzRmxvYXQx
NlRleHR1cmVzKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjpl
cnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCisKKworYm9vbCBWYWxpZGF0ZUVTMkNvcHlU
ZXhJbWFnZVBhcmFtZXRlcnMoZ2w6OkNvbnRleHQqIGNvbnRleHQsIEdMZW51bSB0YXJnZXQsIEdM
aW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIGJvb2wgaXNTdWJJbWFnZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IHhvZmZzZXQsIEdMaW50IHlv
ZmZzZXQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgYm9yZGVyKQorewor
ICAgIGlmICghVmFsaWRUZXh0dXJlMkREZXN0aW5hdGlvblRhcmdldChjb250ZXh0LCB0YXJnZXQp
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNl
KTsKKyAgICB9CisKKyAgICBpZiAoIWdsOjpJc0ludGVybmFsVGV4dHVyZVRhcmdldCh0YXJnZXQs
IGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSkpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6
OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgIH0KKworICAgIGlmIChsZXZlbCA8
IDAgfHwgeG9mZnNldCA8IDAgfHwgeW9mZnNldCA8IDAgfHwgd2lkdGggPCAwIHx8IGhlaWdodCA8
IDApCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZh
bHNlKTsKKyAgICB9CisKKyAgICBpZiAoc3RkOjpudW1lcmljX2xpbWl0czxHTHNpemVpPjo6bWF4
KCkgLSB4b2Zmc2V0IDwgd2lkdGggfHwgc3RkOjpudW1lcmljX2xpbWl0czxHTHNpemVpPjo6bWF4
KCkgLSB5b2Zmc2V0IDwgaGVpZ2h0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX1ZBTFVFLCBmYWxzZSk7CisgICAgfQorCisgICAgLy8gVmVyaWZ5IHplcm8gYm9y
ZGVyCisgICAgaWYgKGJvcmRlciAhPSAwKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJv
cihHTF9JTlZBTElEX1ZBTFVFLCBmYWxzZSk7CisgICAgfQorCisgICAgLy8gVmFsaWRhdGUgZGlt
ZW5zaW9ucyBiYXNlZCBvbiBDb250ZXh0IGxpbWl0cyBhbmQgdmFsaWRhdGUgdGhlIHRleHR1cmUK
KyAgICBpZiAoIVZhbGlkTWlwTGV2ZWwoY29udGV4dCwgdGFyZ2V0LCBsZXZlbCkpCisgICAgewor
ICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICB9
CisKKyAgICBnbDo6RnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyID0gY29udGV4dC0+Z2V0UmVhZEZy
YW1lYnVmZmVyKCk7CisKKyAgICBpZiAoZnJhbWVidWZmZXItPmNvbXBsZXRlbmVzcygpICE9IEdM
X0ZSQU1FQlVGRkVSX0NPTVBMRVRFKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAgIGlm
IChjb250ZXh0LT5nZXRSZWFkRnJhbWVidWZmZXJIYW5kbGUoKSAhPSAwICYmIGZyYW1lYnVmZmVy
LT5nZXRTYW1wbGVzKCkgIT0gMCkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xf
SU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBHTGVudW0gY29sb3JidWZm
ZXJGb3JtYXQgPSBmcmFtZWJ1ZmZlci0+Z2V0UmVhZENvbG9yYnVmZmVyKCktPmdldEludGVybmFs
Rm9ybWF0KCk7CisgICAgZ2w6OlRleHR1cmUgKnRleHR1cmUgPSBOVUxMOworICAgIEdMZW51bSB0
ZXh0dXJlRm9ybWF0ID0gR0xfUkdCQTsKKworICAgIHN3aXRjaCAodGFyZ2V0KQorICAgIHsKKyAg
ICAgIGNhc2UgR0xfVEVYVFVSRV8yRDoKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpZHRo
ID4gKGNvbnRleHQtPmdldE1heGltdW0yRFRleHR1cmVEaW1lbnNpb24oKSA+PiBsZXZlbCkgfHwK
KyAgICAgICAgICAgICAgICBoZWlnaHQgPiAoY29udGV4dC0+Z2V0TWF4aW11bTJEVGV4dHVyZURp
bWVuc2lvbigpID4+IGxldmVsKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZ2w6OlRleHR1cmUyRCAqdGV4MmQgPSBjb250ZXh0LT5nZXRUZXh0dXJlMkQo
KTsKKyAgICAgICAgICAgIGlmICh0ZXgyZCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBpZiAoaXNTdWJJbWFnZSAmJiAhdmFsaWRhdGVTdWJJbWFnZVBhcmFtczJEKGZhbHNlLCB3aWR0
aCwgaGVpZ2h0LCB4b2Zmc2V0LCB5b2Zmc2V0LCBsZXZlbCwgR0xfTk9ORSwgR0xfTk9ORSwgdGV4
MmQpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OyAvLyBlcnJvciBhbHJlYWR5IHJlZ2lzdGVyZWQgYnkgdmFsaWRhdGVTdWJJbWFnZVBhcmFtcwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0ZXh0dXJlID0gdGV4MmQ7CisgICAg
ICAgICAgICAgICAgdGV4dHVyZUZvcm1hdCA9IGdsOjpHZXRGb3JtYXQodGV4MmQtPmdldEludGVy
bmFsRm9ybWF0KGxldmVsKSwgY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBHTF9URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1g6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVH
QVRJVkVfWDoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZOgorICAg
ICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1k6CisgICAgICBjYXNlIEdMX1RF
WFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWjoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9aOgorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIWlzU3ViSW1hZ2UgJiYg
d2lkdGggIT0gaGVpZ2h0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBn
bDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBpZiAod2lkdGggPiAoY29udGV4dC0+Z2V0TWF4aW11bUN1YmVUZXh0dXJlRGltZW5z
aW9uKCkgPj4gbGV2ZWwpIHx8CisgICAgICAgICAgICAgICAgaGVpZ2h0ID4gKGNvbnRleHQtPmdl
dE1heGltdW1DdWJlVGV4dHVyZURpbWVuc2lvbigpID4+IGxldmVsKSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNl
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2w6OlRleHR1cmVDdWJlTWFwICp0ZXhj
dWJlID0gY29udGV4dC0+Z2V0VGV4dHVyZUN1YmVNYXAoKTsKKyAgICAgICAgICAgIGlmICh0ZXhj
dWJlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChpc1N1YkltYWdlICYmICF2
YWxpZGF0ZVN1YkltYWdlUGFyYW1zQ3ViZShmYWxzZSwgd2lkdGgsIGhlaWdodCwgeG9mZnNldCwg
eW9mZnNldCwgdGFyZ2V0LCBsZXZlbCwgR0xfTk9ORSwgR0xfTk9ORSwgdGV4Y3ViZSkpCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGVycm9y
IGFscmVhZHkgcmVnaXN0ZXJlZCBieSB2YWxpZGF0ZVN1YkltYWdlUGFyYW1zCisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHRleHR1cmUgPSB0ZXhjdWJlOworICAgICAgICAgICAg
ICAgIHRleHR1cmVGb3JtYXQgPSBnbDo6R2V0Rm9ybWF0KHRleGN1YmUtPmdldEludGVybmFsRm9y
bWF0KHRhcmdldCwgbGV2ZWwpLCBjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgICBkZWZhdWx0OgorICAg
ICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgIH0KKwor
ICAgIGlmICghdGV4dHVyZSkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5W
QUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAodGV4dHVyZS0+aXNJbW11
dGFibGUoKSAmJiAhaXNTdWJJbWFnZSkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3Io
R0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKworICAgIC8vIFtPcGVuR0wg
RVMgMi4wLjI0XSB0YWJsZSAzLjkKKyAgICBpZiAoaXNTdWJJbWFnZSkKKyAgICB7CisgICAgICAg
IHN3aXRjaCAodGV4dHVyZUZvcm1hdCkKKyAgICAgICAgeworICAgICAgICAgIGNhc2UgR0xfQUxQ
SEE6CisgICAgICAgICAgICBpZiAoY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfQUxQSEE4X0VYVCAm
JgorICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQkE0ICYmCisgICAg
ICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCNV9BMSAmJgorICAgICAgICAg
ICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQkE4X09FUykKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBm
YWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNl
IEdMX0xVTUlOQU5DRToKKyAgICAgICAgICAgICAgaWYgKGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdM
X1I4X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkc4
X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCNTY1
ICYmCisgICAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZlckZvcm1hdCAhPSBHTF9SR0I4X09FUyAm
JgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCQTQgJiYKKyAg
ICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQjVfQTEgJiYKKyAgICAg
ICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQkE4X09FUykKKyAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09Q
RVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgIGNhc2UgR0xfUkVEX0VYVDoKKyAgICAgICAgICAgICAgaWYgKGNvbG9yYnVmZmVy
Rm9ybWF0ICE9IEdMX1I4X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3Jt
YXQgIT0gR0xfUkc4X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQg
IT0gR0xfUkdCNTY1ICYmCisgICAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZlckZvcm1hdCAhPSBH
TF9SR0I4X09FUyAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xf
UkdCQTQgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQjVf
QTEgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQkE4X09F
UykKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xfUkdfRVhUOgorICAgICAgICAgICAgICBpZiAo
Y29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkc4X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29s
b3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCNTY1ICYmCisgICAgICAgICAgICAgICAgICBjb2xvcmJ1
ZmZlckZvcm1hdCAhPSBHTF9SR0I4X09FUyAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZm
ZXJGb3JtYXQgIT0gR0xfUkdCQTQgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9y
bWF0ICE9IEdMX1JHQjVfQTEgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0
ICE9IEdMX1JHQkE4X09FUykKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xfUkdCOgorICAgICAg
ICAgICAgaWYgKGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQjU2NSAmJgorICAgICAgICAgICAg
ICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQjhfT0VTICYmCisgICAgICAgICAgICAgICAg
Y29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCQTQgJiYKKyAgICAgICAgICAgICAgICBjb2xvcmJ1
ZmZlckZvcm1hdCAhPSBHTF9SR0I1X0ExICYmCisgICAgICAgICAgICAgICAgY29sb3JidWZmZXJG
b3JtYXQgIT0gR0xfUkdCQThfT0VTKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJl
dHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xfTFVNSU5BTkNFX0FMUEhB
OgorICAgICAgICAgIGNhc2UgR0xfUkdCQToKKyAgICAgICAgICAgIGlmIChjb2xvcmJ1ZmZlckZv
cm1hdCAhPSBHTF9SR0JBNCAmJgorICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9
IEdMX1JHQjVfQTEgJiYKKyAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZlckZvcm1hdCAhPSBHTF9S
R0JBOF9PRVMpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJv
cihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhU
OgorICAgICAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQ6CisgICAg
ICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFOgorICAgICAgICAg
IGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRToKKyAgICAgICAgICAgIHJl
dHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICBj
YXNlIEdMX0RFUFRIX0NPTVBPTkVOVDoKKyAgICAgICAgICBjYXNlIEdMX0RFUFRIX1NURU5DSUxf
T0VTOgorICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwg
ZmFsc2UpOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9y
KEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxz
ZQorICAgIHsKKyAgICAgICAgc3dpdGNoIChpbnRlcm5hbGZvcm1hdCkKKyAgICAgICAgeworICAg
ICAgICAgIGNhc2UgR0xfQUxQSEE6CisgICAgICAgICAgICBpZiAoY29sb3JidWZmZXJGb3JtYXQg
IT0gR0xfQUxQSEE4X0VYVCAmJgorICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9
IEdMX1JHQkE0ICYmCisgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdC
NV9BMSAmJgorICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX0JHUkE4X0VY
VCAmJgorICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQkE4X09FUykK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFM
SURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICBjYXNlIEdMX0xVTUlOQU5DRToKKyAgICAgICAgICAgICAgaWYgKGNvbG9yYnVm
ZmVyRm9ybWF0ICE9IEdMX1I4X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJG
b3JtYXQgIT0gR0xfUkc4X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3Jt
YXQgIT0gR0xfUkdCNTY1ICYmCisgICAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZlckZvcm1hdCAh
PSBHTF9SR0I4X09FUyAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0g
R0xfUkdCQTQgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JH
QjVfQTEgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX0JHUkE4
X0VYVCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCQThf
T0VTKQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9y
KEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9SRURfRVhUOgorICAgICAgICAgICAgICBp
ZiAoY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUjhfRVhUICYmCisgICAgICAgICAgICAgICAgICBj
b2xvcmJ1ZmZlckZvcm1hdCAhPSBHTF9SRzhfRVhUICYmCisgICAgICAgICAgICAgICAgICBjb2xv
cmJ1ZmZlckZvcm1hdCAhPSBHTF9SR0I1NjUgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9yYnVm
ZmVyRm9ybWF0ICE9IEdMX1JHQjhfT0VTICYmCisgICAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZl
ckZvcm1hdCAhPSBHTF9SR0JBNCAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3Jt
YXQgIT0gR0xfUkdCNV9BMSAmJgorICAgICAgICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQg
IT0gR0xfQkdSQThfRVhUICYmCisgICAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZlckZvcm1hdCAh
PSBHTF9SR0JBOF9PRVMpCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHJldHVy
biBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNlIEdMX1JHX0VYVDoKKyAgICAg
ICAgICAgICAgaWYgKGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHOF9FWFQgJiYKKyAgICAgICAg
ICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQjU2NSAmJgorICAgICAgICAgICAg
ICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCOF9PRVMgJiYKKyAgICAgICAgICAgICAg
ICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQkE0ICYmCisgICAgICAgICAgICAgICAgICBj
b2xvcmJ1ZmZlckZvcm1hdCAhPSBHTF9SR0I1X0ExICYmCisgICAgICAgICAgICAgICAgICBjb2xv
cmJ1ZmZlckZvcm1hdCAhPSBHTF9CR1JBOF9FWFQgJiYKKyAgICAgICAgICAgICAgICAgIGNvbG9y
YnVmZmVyRm9ybWF0ICE9IEdMX1JHQkE4X09FUykKKyAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOwor
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xf
UkdCOgorICAgICAgICAgICAgaWYgKGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQjU2NSAmJgor
ICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVyRm9ybWF0ICE9IEdMX1JHQjhfT0VTICYmCisgICAg
ICAgICAgICAgICAgY29sb3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCQTQgJiYKKyAgICAgICAgICAg
ICAgICBjb2xvcmJ1ZmZlckZvcm1hdCAhPSBHTF9SR0I1X0ExICYmCisgICAgICAgICAgICAgICAg
Y29sb3JidWZmZXJGb3JtYXQgIT0gR0xfQkdSQThfRVhUICYmCisgICAgICAgICAgICAgICAgY29s
b3JidWZmZXJGb3JtYXQgIT0gR0xfUkdCQThfT0VTKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xfTFVNSU5B
TkNFX0FMUEhBOgorICAgICAgICAgIGNhc2UgR0xfUkdCQToKKyAgICAgICAgICAgIGlmIChjb2xv
cmJ1ZmZlckZvcm1hdCAhPSBHTF9SR0JBNCAmJgorICAgICAgICAgICAgICAgIGNvbG9yYnVmZmVy
Rm9ybWF0ICE9IEdMX1JHQjVfQTEgJiYKKyAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZlckZvcm1h
dCAhPSBHTF9CR1JBOF9FWFQgJiYKKyAgICAgICAgICAgICAgICBjb2xvcmJ1ZmZlckZvcm1hdCAh
PSBHTF9SR0JBOF9PRVMpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGds
OjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JHQl9TM1RDX0RY
VDFfRVhUOgorICAgICAgICAgIGNhc2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQ6
CisgICAgICAgICAgICBpZiAoY29udGV4dC0+c3VwcG9ydHNEWFQxVGV4dHVyZXMoKSkKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BF
UkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0s
IGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNh
c2UgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19BTkdMRToKKyAgICAgICAgICAgIGlmIChj
b250ZXh0LT5zdXBwb3J0c0RYVDNUZXh0dXJlcygpKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9DT01QUkVTU0VEX1JH
QkFfUzNUQ19EWFQ1X0FOR0xFOgorICAgICAgICAgICAgaWYgKGNvbnRleHQtPnN1cHBvcnRzRFhU
NVRleHR1cmVzKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjpl
cnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJy
b3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICBjYXNlIEdMX0RFUFRIX0NPTVBPTkVOVDoKKyAgICAgICAgICBjYXNl
IEdMX0RFUFRIX0NPTVBPTkVOVDE2OgorICAgICAgICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5U
MzJfT0VTOgorICAgICAgICAgIGNhc2UgR0xfREVQVEhfU1RFTkNJTF9PRVM6CisgICAgICAgICAg
Y2FzZSBHTF9ERVBUSDI0X1NURU5DSUw4X09FUzoKKyAgICAgICAgICAgIGlmIChjb250ZXh0LT5z
dXBwb3J0c0RlcHRoVGV4dHVyZXMoKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElE
X0VOVU0sIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIElmIHdpZHRoIG9yIGhl
aWdodCBpcyB6ZXJvLCBpdCBpcyBhIG5vLW9wLiAgUmV0dXJuIGZhbHNlIHdpdGhvdXQgc2V0dGlu
ZyBhbiBlcnJvci4KKyAgICByZXR1cm4gKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKTsKK30KKwor
Ym9vbCBWYWxpZGF0ZUVTMlRleFN0b3JhZ2VQYXJhbWV0ZXJzKGdsOjpDb250ZXh0ICpjb250ZXh0
LCBHTGVudW0gdGFyZ2V0LCBHTHNpemVpIGxldmVscywgR0xlbnVtIGludGVybmFsZm9ybWF0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6
ZWkgaGVpZ2h0KQoreworICAgIGlmICh0YXJnZXQgIT0gR0xfVEVYVFVSRV8yRCAmJiB0YXJnZXQg
IT0gR0xfVEVYVFVSRV9DVUJFX01BUCkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3Io
R0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYgKHdpZHRoIDwgMSB8fCBo
ZWlnaHQgPCAxIHx8IGxldmVscyA8IDEpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9y
KEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAodGFyZ2V0ID09IEdM
X1RFWFRVUkVfQ1VCRV9NQVAgJiYgd2lkdGggIT0gaGVpZ2h0KQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX1ZBTFVFLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYg
KGxldmVscyAhPSAxICYmIGxldmVscyAhPSBnbDo6bG9nMihzdGQ6Om1heCh3aWR0aCwgaGVpZ2h0
KSkgKyAxKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJB
VElPTiwgZmFsc2UpOworICAgIH0KKworICAgIEdMZW51bSBmb3JtYXQgPSBnbDo6R2V0Rm9ybWF0
KGludGVybmFsZm9ybWF0LCBjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkpOworICAgIEdMZW51
bSB0eXBlID0gZ2w6OkdldFR5cGUoaW50ZXJuYWxmb3JtYXQsIGNvbnRleHQtPmdldENsaWVudFZl
cnNpb24oKSk7CisKKyAgICBpZiAoZm9ybWF0ID09IEdMX05PTkUgfHwgdHlwZSA9PSBHTF9OT05F
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNl
KTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHRhcmdldCkKKyAgICB7CisgICAgICBjYXNlIEdMX1RF
WFRVUkVfMkQ6CisgICAgICAgIGlmICh3aWR0aCA+IGNvbnRleHQtPmdldE1heGltdW0yRFRleHR1
cmVEaW1lbnNpb24oKSB8fAorICAgICAgICAgICAgaGVpZ2h0ID4gY29udGV4dC0+Z2V0TWF4aW11
bTJEVGV4dHVyZURpbWVuc2lvbigpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6
OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICBicmVh
azsKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUDoKKyAgICAgICAgaWYgKHdpZHRoID4g
Y29udGV4dC0+Z2V0TWF4aW11bUN1YmVUZXh0dXJlRGltZW5zaW9uKCkgfHwKKyAgICAgICAgICAg
IGhlaWdodCA+IGNvbnRleHQtPmdldE1heGltdW1DdWJlVGV4dHVyZURpbWVuc2lvbigpKQorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZh
bHNlKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAg
IHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgfQorCisgICAg
aWYgKGxldmVscyAhPSAxICYmICFjb250ZXh0LT5zdXBwb3J0c05vblBvd2VyMlRleHR1cmUoKSkK
KyAgICB7CisgICAgICAgIGlmICghZ2w6OmlzUG93Mih3aWR0aCkgfHwgIWdsOjppc1BvdzIoaGVp
Z2h0KSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElE
X09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICB9CisgICAgfQorCisgICAgc3dpdGNoIChpbnRl
cm5hbGZvcm1hdCkKKyAgICB7CisgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdCX1MzVENfRFhU
MV9FWFQ6CisgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhUOgorICAg
ICAgICBpZiAoIWNvbnRleHQtPnN1cHBvcnRzRFhUMVRleHR1cmVzKCkpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAg
ICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RD
X0RYVDNfQU5HTEU6CisgICAgICAgIGlmICghY29udGV4dC0+c3VwcG9ydHNEWFQzVGV4dHVyZXMo
KSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VO
VU0sIGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgR0xfQ09N
UFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRToKKyAgICAgICAgaWYgKCFjb250ZXh0LT5zdXBw
b3J0c0RYVDVUZXh0dXJlcygpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVy
cm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwor
ICAgICAgY2FzZSBHTF9SR0JBMzJGX0VYVDoKKyAgICAgIGNhc2UgR0xfUkdCMzJGX0VYVDoKKyAg
ICAgIGNhc2UgR0xfQUxQSEEzMkZfRVhUOgorICAgICAgY2FzZSBHTF9MVU1JTkFOQ0UzMkZfRVhU
OgorICAgICAgY2FzZSBHTF9MVU1JTkFOQ0VfQUxQSEEzMkZfRVhUOgorICAgICAgICBpZiAoIWNv
bnRleHQtPnN1cHBvcnRzRmxvYXQzMlRleHR1cmVzKCkpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgICAgIH0KKyAg
ICAgICAgYnJlYWs7CisgICAgICBjYXNlIEdMX1JHQkExNkZfRVhUOgorICAgICAgY2FzZSBHTF9S
R0IxNkZfRVhUOgorICAgICAgY2FzZSBHTF9BTFBIQTE2Rl9FWFQ6CisgICAgICBjYXNlIEdMX0xV
TUlOQU5DRTE2Rl9FWFQ6CisgICAgICBjYXNlIEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9FWFQ6Cisg
ICAgICAgIGlmICghY29udGV4dC0+c3VwcG9ydHNGbG9hdDE2VGV4dHVyZXMoKSkKKyAgICAgICAg
eworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsK
KyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgR0xfUjhfRVhUOgorICAgICAg
Y2FzZSBHTF9SRzhfRVhUOgorICAgICAgY2FzZSBHTF9SMTZGX0VYVDoKKyAgICAgIGNhc2UgR0xf
UkcxNkZfRVhUOgorICAgICAgY2FzZSBHTF9SMzJGX0VYVDoKKyAgICAgIGNhc2UgR0xfUkczMkZf
RVhUOgorICAgICAgICBpZiAoIWNvbnRleHQtPnN1cHBvcnRzUkdUZXh0dXJlcygpKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2Up
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBHTF9ERVBUSF9DT01QT05F
TlQxNjoKKyAgICAgIGNhc2UgR0xfREVQVEhfQ09NUE9ORU5UMzJfT0VTOgorICAgICAgY2FzZSBH
TF9ERVBUSDI0X1NURU5DSUw4X09FUzoKKyAgICAgICAgaWYgKCFjb250ZXh0LT5zdXBwb3J0c0Rl
cHRoVGV4dHVyZXMoKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICBpZiAodGFyZ2V0ICE9
IEdMX1RFWFRVUkVfMkQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3Io
R0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICAvLyBBTkdM
RV9kZXB0aF90ZXh0dXJlIG9ubHkgc3VwcG9ydHMgMS1sZXZlbCB0ZXh0dXJlcworICAgICAgICBp
ZiAobGV2ZWxzICE9IDEpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3Io
R0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK
KyAgICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGdsOjpUZXh0dXJl
ICp0ZXh0dXJlID0gTlVMTDsKKyAgICBzd2l0Y2godGFyZ2V0KQorICAgIHsKKyAgICAgIGNhc2Ug
R0xfVEVYVFVSRV8yRDoKKyAgICAgICAgdGV4dHVyZSA9IGNvbnRleHQtPmdldFRleHR1cmUyRCgp
OworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUDoKKyAgICAg
ICAgdGV4dHVyZSA9IGNvbnRleHQtPmdldFRleHR1cmVDdWJlTWFwKCk7CisgICAgICAgIGJyZWFr
OworICAgICAgZGVmYXVsdDoKKyAgICAgICAgVU5SRUFDSEFCTEUoKTsKKyAgICB9CisKKyAgICBp
ZiAoIXRleHR1cmUgfHwgdGV4dHVyZS0+aWQoKSA9PSAwKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAgIGlm
ICh0ZXh0dXJlLT5pc0ltbXV0YWJsZSgpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJv
cihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAgIHJldHVybiB0cnVl
OworfQorCitib29sIFZhbGlkYXRlRVMyRnJhbWVidWZmZXJUZXh0dXJlUGFyYW1ldGVycyhnbDo6
Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gdGV4dGFyZ2V0
LCBHTHVpbnQgdGV4dHVyZSwgR0xpbnQgbGV2ZWwpCit7CisgICAgTUVUQV9BU1NFUlQoR0xfRFJB
V19GUkFNRUJVRkZFUiA9PSBHTF9EUkFXX0ZSQU1FQlVGRkVSX0FOR0xFICYmIEdMX1JFQURfRlJB
TUVCVUZGRVIgPT0gR0xfUkVBRF9GUkFNRUJVRkZFUl9BTkdMRSk7CisKKyAgICBpZiAodGFyZ2V0
ICE9IEdMX0ZSQU1FQlVGRkVSICYmIHRhcmdldCAhPSBHTF9EUkFXX0ZSQU1FQlVGRkVSICYmIHRh
cmdldCAhPSBHTF9SRUFEX0ZSQU1FQlVGRkVSKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjpl
cnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAoYXR0YWNobWVu
dCA+PSBHTF9DT0xPUl9BVFRBQ0hNRU5UMCAmJiBhdHRhY2htZW50IDw9IEdMX0NPTE9SX0FUVEFD
SE1FTlQxNSkKKyAgICB7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBjb2xvckF0dGFjaG1l
bnQgPSAoYXR0YWNobWVudCAtIEdMX0NPTE9SX0FUVEFDSE1FTlQwKTsKKyAgICAgICAgaWYgKGNv
bG9yQXR0YWNobWVudCA+PSBjb250ZXh0LT5nZXRNYXhpbXVtUmVuZGVyVGFyZ2V0cygpKQorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZh
bHNlKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBzd2l0Y2gg
KGF0dGFjaG1lbnQpCisgICAgICAgIHsKKyAgICAgICAgICBjYXNlIEdMX0RFUFRIX0FUVEFDSE1F
TlQ6CisgICAgICAgICAgY2FzZSBHTF9TVEVOQ0lMX0FUVEFDSE1FTlQ6CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICh0ZXh0
dXJlICE9IDApCisgICAgeworICAgICAgICBnbDo6VGV4dHVyZSAqdGV4ID0gY29udGV4dC0+Z2V0
VGV4dHVyZSh0ZXh0dXJlKTsKKworICAgICAgICBpZiAodGV4ID09IE5VTEwpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNl
KTsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAodGV4dGFyZ2V0KQorICAgICAgICB7Cisg
ICAgICAgICAgY2FzZSBHTF9URVhUVVJFXzJEOgorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGlmICh0ZXgtPmdldFRhcmdldCgpICE9IEdMX1RFWFRVUkVfMkQpCisgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BF
UkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdsOjpU
ZXh0dXJlMkQgKnRleDJkID0gc3RhdGljX2Nhc3Q8Z2w6OlRleHR1cmUyRCAqPih0ZXgpOworICAg
ICAgICAgICAgICAgIGlmICh0ZXgyZC0+aXNDb21wcmVzc2VkKGxldmVsKSkKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9P
UEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBf
UE9TSVRJVkVfWDoKKyAgICAgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVf
WDoKKyAgICAgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWToKKyAgICAg
ICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWToKKyAgICAgICAgICBjYXNl
IEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWjoKKyAgICAgICAgICBjYXNlIEdMX1RFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWjoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBp
ZiAodGV4LT5nZXRUYXJnZXQoKSAhPSBHTF9URVhUVVJFX0NVQkVfTUFQKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09Q
RVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBnbDo6
VGV4dHVyZUN1YmVNYXAgKnRleGN1YmUgPSBzdGF0aWNfY2FzdDxnbDo6VGV4dHVyZUN1YmVNYXAg
Kj4odGV4KTsKKyAgICAgICAgICAgICAgICBpZiAodGV4Y3ViZS0+aXNDb21wcmVzc2VkKHRleHRh
cmdldCwgbGV2ZWwpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwg
ZmFsc2UpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxldmVsICE9IDApCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOwor
ICAgICAgICB9CisgICAgfQorCisgICAgZ2w6OkZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciA9IE5V
TEw7CisgICAgR0x1aW50IGZyYW1lYnVmZmVySGFuZGxlID0gMDsKKyAgICBpZiAodGFyZ2V0ID09
IEdMX1JFQURfRlJBTUVCVUZGRVIpCisgICAgeworICAgICAgICBmcmFtZWJ1ZmZlciA9IGNvbnRl
eHQtPmdldFJlYWRGcmFtZWJ1ZmZlcigpOworICAgICAgICBmcmFtZWJ1ZmZlckhhbmRsZSA9IGNv
bnRleHQtPmdldFJlYWRGcmFtZWJ1ZmZlckhhbmRsZSgpOworICAgIH0KKyAgICBlbHNlCisgICAg
eworICAgICAgICBmcmFtZWJ1ZmZlciA9IGNvbnRleHQtPmdldERyYXdGcmFtZWJ1ZmZlcigpOwor
ICAgICAgICBmcmFtZWJ1ZmZlckhhbmRsZSA9IGNvbnRleHQtPmdldERyYXdGcmFtZWJ1ZmZlckhh
bmRsZSgpOworICAgIH0KKworICAgIGlmIChmcmFtZWJ1ZmZlckhhbmRsZSA9PSAwIHx8ICFmcmFt
ZWJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVS
QVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLy8gY2hlY2sg
Zm9yIGNvbWJpbmF0aW9ucyBvZiBmb3JtYXQgYW5kIHR5cGUgdGhhdCBhcmUgdmFsaWQgZm9yIFJl
YWRQaXhlbHMKK2Jvb2wgVmFsaWRFUzJSZWFkRm9ybWF0VHlwZShnbDo6Q29udGV4dCAqY29udGV4
dCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUpCit7CisgICAgc3dpdGNoIChmb3JtYXQpCisg
ICAgeworICAgICAgY2FzZSBHTF9SR0JBOgorICAgICAgICBzd2l0Y2ggKHR5cGUpCisgICAgICAg
IHsKKyAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBHTF9CR1JBX0VYVDoKKyAgICAgICAgc3dpdGNo
ICh0eXBlKQorICAgICAgICB7CisgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRFOgorICAg
ICAgICAgIGNhc2UgR0xfVU5TSUdORURfU0hPUlRfNF80XzRfNF9SRVZfRVhUOgorICAgICAgICAg
IGNhc2UgR0xfVU5TSUdORURfU0hPUlRfMV81XzVfNV9SRVZfRVhUOgorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgR0xfUkdfRVhUOgorICAgICAgY2FzZSBH
TF9SRURfRVhUOgorICAgICAgICBpZiAoIWNvbnRleHQtPnN1cHBvcnRzUkdUZXh0dXJlcygpKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAg
c3dpdGNoICh0eXBlKQorICAgICAgICB7CisgICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9CWVRF
OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgICAgZGVmYXVsdDoK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfQpJ
bmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi92YWxpZGF0aW9uRVMy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi92
YWxpZGF0aW9uRVMyLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliR0xFU3YyL3ZhbGlkYXRpb25FUzIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1
IEBACisvLworLy8gQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLy8KKworLy8gdmFsaWRhdGlvbkVTMi5oOiBWYWxpZGF0aW9uIGZ1bmN0
aW9ucyBmb3IgT3BlbkdMIEVTIDIuMCBlbnRyeSBwb2ludCBwYXJhbWV0ZXJzCisKKyNpZm5kZWYg
TElCR0xFU1YyX1ZBTElEQVRJT05fRVMyX0gKKyNkZWZpbmUgTElCR0xFU1YyX1ZBTElEQVRJT05f
RVMyX0gKKworbmFtZXNwYWNlIGdsCit7CisKK2NsYXNzIENvbnRleHQ7CisKK2Jvb2wgVmFsaWRh
dGVFUzJUZXhJbWFnZVBhcmFtZXRlcnMoZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIGJvb2wgaXNDb21wcmVzc2Vk
LCBib29sIGlzU3ViSW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
aW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCBib3JkZXIsIEdMZW51
bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBjb25zdCBHTHZvaWQgKnBpeGVscyk7CisKK2Jvb2wgVmFs
aWRhdGVFUzJDb3B5VGV4SW1hZ2VQYXJhbWV0ZXJzKGdsOjpDb250ZXh0KiBjb250ZXh0LCBHTGVu
dW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBib29sIGlzU3Vi
SW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCB4b2Zm
c2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50
IGJvcmRlcik7CisKK2Jvb2wgVmFsaWRhdGVFUzJUZXhTdG9yYWdlUGFyYW1ldGVycyhnbDo6Q29u
dGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xzaXplaSBsZXZlbHMsIEdMZW51bSBpbnRl
cm5hbGZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CisKK2Jvb2wgVmFsaWRhdGVFUzJGcmFtZWJ1ZmZlclRl
eHR1cmVQYXJhbWV0ZXJzKGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gdGFyZ2V0LCBHTGVu
dW0gYXR0YWNobWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMZW51bSB0ZXh0YXJnZXQsIEdMdWludCB0ZXh0dXJlLCBHTGludCBsZXZlbCk7CisKK2Jv
b2wgVmFsaWRFUzJSZWFkRm9ybWF0VHlwZShnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIGZv
cm1hdCwgR0xlbnVtIHR5cGUpOworCit9CisKKyNlbmRpZiAvLyBMSUJHTEVTVjJfVkFMSURBVElP
Tl9FUzJfSApJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi92YWxp
ZGF0aW9uRVMzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliR0xFU3YyL3ZhbGlkYXRpb25FUzMuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkdMRVN2Mi92YWxpZGF0aW9uRVMzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDg2OCBAQAorI2luY2x1ZGUgInByZWNvbXBpbGVkLmgiCisvLworLy8gQ29w
eXJpZ2h0IChjKSAyMDEzIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1z
dHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
Ly8KKworLy8gdmFsaWRhdGlvbkVTMy5jcHA6IFZhbGlkYXRpb24gZnVuY3Rpb25zIGZvciBPcGVu
R0wgRVMgMy4wIGVudHJ5IHBvaW50IHBhcmFtZXRlcnMKKworI2luY2x1ZGUgImxpYkdMRVN2Mi92
YWxpZGF0aW9uRVMzLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL3ZhbGlkYXRpb25FUy5oIgorI2lu
Y2x1ZGUgImxpYkdMRVN2Mi9Db250ZXh0LmgiCisjaW5jbHVkZSAibGliR0xFU3YyL1RleHR1cmUu
aCIKKyNpbmNsdWRlICJsaWJHTEVTdjIvRnJhbWVidWZmZXIuaCIKKyNpbmNsdWRlICJsaWJHTEVT
djIvUmVuZGVyYnVmZmVyLmgiCisjaW5jbHVkZSAibGliR0xFU3YyL2Zvcm1hdHV0aWxzLmgiCisj
aW5jbHVkZSAibGliR0xFU3YyL21haW4uaCIKKworI2luY2x1ZGUgImNvbW1vbi9tYXRodXRpbC5o
IgorCituYW1lc3BhY2UgZ2wKK3sKKworYm9vbCBWYWxpZGF0ZUVTM1RleEltYWdlUGFyYW1ldGVy
cyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51
bSBpbnRlcm5hbGZvcm1hdCwgYm9vbCBpc0NvbXByZXNzZWQsIGJvb2wgaXNTdWJJbWFnZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9m
ZnNldCwgR0xpbnQgem9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6
ZWkgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGJvcmRl
ciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIGNvbnN0IEdMdm9pZCAqcGl4ZWxzKQorewor
ICAgIC8vIFZhbGlkYXRlIGltYWdlIHNpemUKKyAgICBpZiAoIVZhbGlkSW1hZ2VTaXplKGNvbnRl
eHQsIHRhcmdldCwgbGV2ZWwsIHdpZHRoLCBoZWlnaHQsIGRlcHRoKSkKKyAgICB7CisgICAgICAg
IHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgIH0KKworICAg
IC8vIFZlcmlmeSB6ZXJvIGJvcmRlcgorICAgIGlmIChib3JkZXIgIT0gMCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgIH0KKwor
ICAgIGdsOjpUZXh0dXJlICp0ZXh0dXJlID0gTlVMTDsKKyAgICBib29sIHRleHR1cmVDb21wcmVz
c2VkID0gZmFsc2U7CisgICAgR0xlbnVtIHRleHR1cmVJbnRlcm5hbEZvcm1hdCA9IEdMX05PTkU7
CisgICAgR0xpbnQgdGV4dHVyZUxldmVsV2lkdGggPSAwOworICAgIEdMaW50IHRleHR1cmVMZXZl
bEhlaWdodCA9IDA7CisgICAgR0xpbnQgdGV4dHVyZUxldmVsRGVwdGggPSAwOworICAgIHN3aXRj
aCAodGFyZ2V0KQorICAgIHsKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV8yRDoKKyAgICAgICAgewor
ICAgICAgICAgICAgaWYgKHdpZHRoID4gKGNvbnRleHQtPmdldE1heGltdW0yRFRleHR1cmVEaW1l
bnNpb24oKSA+PiBsZXZlbCkgfHwKKyAgICAgICAgICAgICAgICBoZWlnaHQgPiAoY29udGV4dC0+
Z2V0TWF4aW11bTJEVGV4dHVyZURpbWVuc2lvbigpID4+IGxldmVsKSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNl
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2w6OlRleHR1cmUyRCAqdGV4dHVyZTJk
ID0gY29udGV4dC0+Z2V0VGV4dHVyZTJEKCk7CisgICAgICAgICAgICBpZiAodGV4dHVyZTJkKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRleHR1cmVDb21wcmVzc2VkID0gdGV4dHVy
ZTJkLT5pc0NvbXByZXNzZWQobGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVJbnRlcm5h
bEZvcm1hdCA9IHRleHR1cmUyZC0+Z2V0SW50ZXJuYWxGb3JtYXQobGV2ZWwpOworICAgICAgICAg
ICAgICAgIHRleHR1cmVMZXZlbFdpZHRoID0gdGV4dHVyZTJkLT5nZXRXaWR0aChsZXZlbCk7Cisg
ICAgICAgICAgICAgICAgdGV4dHVyZUxldmVsSGVpZ2h0ID0gdGV4dHVyZTJkLT5nZXRIZWlnaHQo
bGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVMZXZlbERlcHRoID0gMTsKKyAgICAgICAg
ICAgICAgICB0ZXh0dXJlID0gdGV4dHVyZTJkOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVf
WDoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YOgorICAgICAgY2Fz
ZSBHTF9URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1k6CisgICAgICBjYXNlIEdMX1RFWFRVUkVf
Q1VCRV9NQVBfTkVHQVRJVkVfWToKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJ
VElWRV9aOgorICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1o6CisgICAg
ICAgIHsKKyAgICAgICAgICAgIGlmICghaXNTdWJJbWFnZSAmJiB3aWR0aCAhPSBoZWlnaHQpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElE
X1ZBTFVFLCBmYWxzZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh3aWR0aCA+
IChjb250ZXh0LT5nZXRNYXhpbXVtQ3ViZVRleHR1cmVEaW1lbnNpb24oKSA+PiBsZXZlbCkpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElE
X1ZBTFVFLCBmYWxzZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGdsOjpUZXh0dXJl
Q3ViZU1hcCAqdGV4dHVyZUN1YmUgPSBjb250ZXh0LT5nZXRUZXh0dXJlQ3ViZU1hcCgpOworICAg
ICAgICAgICAgaWYgKHRleHR1cmVDdWJlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHRleHR1cmVDb21wcmVzc2VkID0gdGV4dHVyZUN1YmUtPmlzQ29tcHJlc3NlZCh0YXJnZXQsIGxl
dmVsKTsKKyAgICAgICAgICAgICAgICB0ZXh0dXJlSW50ZXJuYWxGb3JtYXQgPSB0ZXh0dXJlQ3Vi
ZS0+Z2V0SW50ZXJuYWxGb3JtYXQodGFyZ2V0LCBsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4
dHVyZUxldmVsV2lkdGggPSB0ZXh0dXJlQ3ViZS0+Z2V0V2lkdGgodGFyZ2V0LCBsZXZlbCk7Cisg
ICAgICAgICAgICAgICAgdGV4dHVyZUxldmVsSGVpZ2h0ID0gdGV4dHVyZUN1YmUtPmdldEhlaWdo
dCh0YXJnZXQsIGxldmVsKTsKKyAgICAgICAgICAgICAgICB0ZXh0dXJlTGV2ZWxEZXB0aCA9IDE7
CisgICAgICAgICAgICAgICAgdGV4dHVyZSA9IHRleHR1cmVDdWJlOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIEdMX1RFWFRVUkVfM0Q6Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIGlmICh3aWR0aCA+IChjb250ZXh0LT5nZXRNYXhpbXVtM0RU
ZXh0dXJlRGltZW5zaW9uKCkgPj4gbGV2ZWwpIHx8CisgICAgICAgICAgICAgICAgaGVpZ2h0ID4g
KGNvbnRleHQtPmdldE1heGltdW0zRFRleHR1cmVEaW1lbnNpb24oKSA+PiBsZXZlbCkgfHwKKyAg
ICAgICAgICAgICAgICBkZXB0aCA+IChjb250ZXh0LT5nZXRNYXhpbXVtM0RUZXh0dXJlRGltZW5z
aW9uKCkgPj4gbGV2ZWwpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBn
bDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBnbDo6VGV4dHVyZTNEICp0ZXh0dXJlM2QgPSBjb250ZXh0LT5nZXRUZXh0dXJlM0Qo
KTsKKyAgICAgICAgICAgIGlmICh0ZXh0dXJlM2QpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGV4dHVyZUNvbXByZXNzZWQgPSB0ZXh0dXJlM2QtPmlzQ29tcHJlc3NlZChsZXZlbCk7
CisgICAgICAgICAgICAgICAgdGV4dHVyZUludGVybmFsRm9ybWF0ID0gdGV4dHVyZTNkLT5nZXRJ
bnRlcm5hbEZvcm1hdChsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4dHVyZUxldmVsV2lkdGgg
PSB0ZXh0dXJlM2QtPmdldFdpZHRoKGxldmVsKTsKKyAgICAgICAgICAgICAgICB0ZXh0dXJlTGV2
ZWxIZWlnaHQgPSB0ZXh0dXJlM2QtPmdldEhlaWdodChsZXZlbCk7CisgICAgICAgICAgICAgICAg
dGV4dHVyZUxldmVsRGVwdGggPSB0ZXh0dXJlM2QtPmdldERlcHRoKGxldmVsKTsKKyAgICAgICAg
ICAgICAgICB0ZXh0dXJlID0gdGV4dHVyZTNkOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgR0xfVEVYVFVSRV8yRF9BUlJBWToKKyAgICAg
ICAgICB7CisgICAgICAgICAgICAgIGlmICh3aWR0aCA+IChjb250ZXh0LT5nZXRNYXhpbXVtMkRU
ZXh0dXJlRGltZW5zaW9uKCkgPj4gbGV2ZWwpIHx8CisgICAgICAgICAgICAgICAgICBoZWlnaHQg
PiAoY29udGV4dC0+Z2V0TWF4aW11bTJEVGV4dHVyZURpbWVuc2lvbigpID4+IGxldmVsKSB8fAor
ICAgICAgICAgICAgICAgICAgZGVwdGggPiAoY29udGV4dC0+Z2V0TWF4aW11bTJEQXJyYXlUZXh0
dXJlTGF5ZXJzKCkgPj4gbGV2ZWwpKQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgIGdsOjpUZXh0dXJlMkRBcnJheSAqdGV4dHVyZTJkYXJyYXkg
PSBjb250ZXh0LT5nZXRUZXh0dXJlMkRBcnJheSgpOworICAgICAgICAgICAgICBpZiAodGV4dHVy
ZTJkYXJyYXkpCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHRleHR1cmVDb21w
cmVzc2VkID0gdGV4dHVyZTJkYXJyYXktPmlzQ29tcHJlc3NlZChsZXZlbCk7CisgICAgICAgICAg
ICAgICAgICB0ZXh0dXJlSW50ZXJuYWxGb3JtYXQgPSB0ZXh0dXJlMmRhcnJheS0+Z2V0SW50ZXJu
YWxGb3JtYXQobGV2ZWwpOworICAgICAgICAgICAgICAgICAgdGV4dHVyZUxldmVsV2lkdGggPSB0
ZXh0dXJlMmRhcnJheS0+Z2V0V2lkdGgobGV2ZWwpOworICAgICAgICAgICAgICAgICAgdGV4dHVy
ZUxldmVsSGVpZ2h0ID0gdGV4dHVyZTJkYXJyYXktPmdldEhlaWdodChsZXZlbCk7CisgICAgICAg
ICAgICAgICAgICB0ZXh0dXJlTGV2ZWxEZXB0aCA9IHRleHR1cmUyZGFycmF5LT5nZXRMYXllcnMo
bGV2ZWwpOworICAgICAgICAgICAgICAgICAgdGV4dHVyZSA9IHRleHR1cmUyZGFycmF5OworICAg
ICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICAgIGJyZWFrOworCisgICAgICBkZWZh
dWx0OgorICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOwor
ICAgIH0KKworICAgIGlmICghdGV4dHVyZSkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJy
b3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAodGV4dHVy
ZS0+aXNJbW11dGFibGUoKSAmJiAhaXNTdWJJbWFnZSkKKyAgICB7CisgICAgICAgIHJldHVybiBn
bDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICAvLyBW
YWxpZGF0ZSB0ZXh0dXJlIGZvcm1hdHMKKyAgICBHTGVudW0gYWN0dWFsSW50ZXJuYWxGb3JtYXQg
PSBpc1N1YkltYWdlID8gdGV4dHVyZUludGVybmFsRm9ybWF0IDogaW50ZXJuYWxmb3JtYXQ7Cisg
ICAgaWYgKGlzQ29tcHJlc3NlZCkKKyAgICB7CisgICAgICAgIGlmICghVmFsaWRDb21wcmVzc2Vk
SW1hZ2VTaXplKGNvbnRleHQsIGFjdHVhbEludGVybmFsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0KSkK
KyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJB
VElPTiwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFnbDo6SXNGb3JtYXRDb21w
cmVzc2VkKGFjdHVhbEludGVybmFsRm9ybWF0LCBjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkp
KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5V
TSwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRhcmdldCA9PSBHTF9URVhUVVJF
XzNEKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURf
T1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAg
ICAgICAgaWYgKCFnbDo6SXNWYWxpZEludGVybmFsRm9ybWF0KGFjdHVhbEludGVybmFsRm9ybWF0
LCBjb250ZXh0KSB8fAorICAgICAgICAgICAgIWdsOjpJc1ZhbGlkRm9ybWF0KGZvcm1hdCwgY29u
dGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpKSB8fAorICAgICAgICAgICAgIWdsOjpJc1ZhbGlkVHlw
ZSh0eXBlLCBjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkpKQorICAgICAgICB7CisgICAgICAg
ICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFnbDo6SXNWYWxpZEZvcm1hdENvbWJpbmF0aW9uKGFjdHVhbEludGVy
bmFsRm9ybWF0LCBmb3JtYXQsIHR5cGUsIGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSkpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJ
T04sIGZhbHNlKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0YXJnZXQgPT0gR0xfVEVYVFVS
RV8zRCAmJiAoZm9ybWF0ID09IEdMX0RFUFRIX0NPTVBPTkVOVCB8fCBmb3JtYXQgPT0gR0xfREVQ
VEhfU1RFTkNJTCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xf
SU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFZh
bGlkYXRlIHN1YiBpbWFnZSBwYXJhbWV0ZXJzCisgICAgaWYgKGlzU3ViSW1hZ2UpCisgICAgewor
ICAgICAgICBpZiAoaXNDb21wcmVzc2VkICE9IHRleHR1cmVDb21wcmVzc2VkKQorICAgICAgICB7
CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxz
ZSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaXNDb21wcmVzc2VkKQorICAgICAgICB7Cisg
ICAgICAgICAgICBpZiAoKHdpZHRoICUgNCAhPSAwICYmIHdpZHRoICE9IHRleHR1cmVMZXZlbFdp
ZHRoKSB8fAorICAgICAgICAgICAgICAgIChoZWlnaHQgJSA0ICE9IDAgJiYgaGVpZ2h0ICE9IHRl
eHR1cmVMZXZlbEhlaWdodCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKHdpZHRoID09IDAgfHwgaGVpZ2h0ID09IDAgfHwgZGVw
dGggPT0gMCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKHhvZmZzZXQgPCAwIHx8IHlvZmZzZXQgPCAwIHx8IHpvZmZzZXQgPCAw
KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFM
VUUsIGZhbHNlKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChzdGQ6Om51bWVyaWNfbGltaXRz
PEdMc2l6ZWk+OjptYXgoKSAtIHhvZmZzZXQgPCB3aWR0aCB8fAorICAgICAgICAgICAgc3RkOjpu
dW1lcmljX2xpbWl0czxHTHNpemVpPjo6bWF4KCkgLSB5b2Zmc2V0IDwgaGVpZ2h0IHx8CisgICAg
ICAgICAgICBzdGQ6Om51bWVyaWNfbGltaXRzPEdMc2l6ZWk+OjptYXgoKSAtIHpvZmZzZXQgPCBk
ZXB0aCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElE
X1ZBTFVFLCBmYWxzZSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoeG9mZnNldCArIHdpZHRo
ID4gdGV4dHVyZUxldmVsV2lkdGggfHwKKyAgICAgICAgICAgIHlvZmZzZXQgKyBoZWlnaHQgPiB0
ZXh0dXJlTGV2ZWxIZWlnaHQgfHwKKyAgICAgICAgICAgIHpvZmZzZXQgKyBkZXB0aCA+IHRleHR1
cmVMZXZlbERlcHRoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdM
X0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIENoZWNr
IGZvciBwaXhlbCB1bnBhY2sgYnVmZmVyIHJlbGF0ZWQgQVBJIGVycm9ycworICAgIGdsOjpCdWZm
ZXIgKnBpeGVsVW5wYWNrQnVmZmVyID0gY29udGV4dC0+Z2V0UGl4ZWxVbnBhY2tCdWZmZXIoKTsK
KyAgICBpZiAocGl4ZWxVbnBhY2tCdWZmZXIgIT0gTlVMTCkKKyAgICB7CisgICAgICAgIC8vIC4u
LnRoZSBkYXRhIHdvdWxkIGJlIHVucGFja2VkIGZyb20gdGhlIGJ1ZmZlciBvYmplY3Qgc3VjaCB0
aGF0IHRoZSBtZW1vcnkgcmVhZHMgcmVxdWlyZWQKKyAgICAgICAgLy8gd291bGQgZXhjZWVkIHRo
ZSBkYXRhIHN0b3JlIHNpemUuCisgICAgICAgIHNpemVfdCB3aWR0aFNpemUgPSBzdGF0aWNfY2Fz
dDxzaXplX3Q+KHdpZHRoKTsKKyAgICAgICAgc2l6ZV90IGhlaWdodFNpemUgPSBzdGF0aWNfY2Fz
dDxzaXplX3Q+KGhlaWdodCk7CisgICAgICAgIHNpemVfdCBkZXB0aFNpemUgPSBzdGF0aWNfY2Fz
dDxzaXplX3Q+KGRlcHRoKTsKKyAgICAgICAgc2l6ZV90IHBpeGVsQnl0ZXMgPSBzdGF0aWNfY2Fz
dDxzaXplX3Q+KGdsOjpHZXRQaXhlbEJ5dGVzKGFjdHVhbEludGVybmFsRm9ybWF0LCBjb250ZXh0
LT5nZXRDbGllbnRWZXJzaW9uKCkpKTsKKworICAgICAgICBpZiAoIXJ4OjpJc1Vuc2lnbmVkTXVs
dGlwbGljYXRpb25TYWZlKHdpZHRoU2l6ZSwgaGVpZ2h0U2l6ZSkgfHwKKyAgICAgICAgICAgICFy
eDo6SXNVbnNpZ25lZE11bHRpcGxpY2F0aW9uU2FmZSh3aWR0aFNpemUgKiBoZWlnaHRTaXplLCBk
ZXB0aFNpemUpIHx8CisgICAgICAgICAgICAhcng6OklzVW5zaWduZWRNdWx0aXBsaWNhdGlvblNh
ZmUod2lkdGhTaXplICogaGVpZ2h0U2l6ZSAqIGRlcHRoU2l6ZSwgcGl4ZWxCeXRlcykpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIC8vIE92ZXJmbG93IHBhc3QgdGhlIGVuZCBvZiB0aGUgYnVmZmVy
CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxz
ZSk7CisgICAgICAgIH0KKworICAgICAgICBzaXplX3QgY29weUJ5dGVzID0gd2lkdGhTaXplICog
aGVpZ2h0U2l6ZSAqIGRlcHRoU2l6ZSAqIHBpeGVsQnl0ZXM7CisgICAgICAgIHNpemVfdCBvZmZz
ZXQgPSByZWludGVycHJldF9jYXN0PHNpemVfdD4ocGl4ZWxzKTsKKworICAgICAgICBpZiAoIXJ4
OjpJc1Vuc2lnbmVkQWRkaXRpb25TYWZlKG9mZnNldCwgY29weUJ5dGVzKSB8fCAoKG9mZnNldCAr
IGNvcHlCeXRlcykgPiBzdGF0aWNfY2FzdDxzaXplX3Q+KHBpeGVsVW5wYWNrQnVmZmVyLT5zaXpl
KCkpKSkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gT3ZlcmZsb3cgcGFzdCB0aGUgZW5kIG9m
IHRoZSBidWZmZXIKKyAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVS
QVRJT04sIGZhbHNlKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIC4uLmRhdGEgaXMgbm90IGV2
ZW5seSBkaXZpc2libGUgaW50byB0aGUgbnVtYmVyIG9mIGJ5dGVzIG5lZWRlZCB0byBzdG9yZSBp
biBtZW1vcnkgYSBkYXR1bQorICAgICAgICAvLyBpbmRpY2F0ZWQgYnkgdHlwZS4KKyAgICAgICAg
c2l6ZV90IGRhdGFCeXRlc1BlclBpeGVsID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihnbDo6R2V0VHlw
ZUJ5dGVzKHR5cGUpKTsKKworICAgICAgICBpZiAoKG9mZnNldCAlIGRhdGFCeXRlc1BlclBpeGVs
KSAhPSAwKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFM
SURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgIH0KKworICAgICAgICAvLyAuLi50aGUgYnVm
ZmVyIG9iamVjdCdzIGRhdGEgc3RvcmUgaXMgY3VycmVudGx5IG1hcHBlZC4KKyAgICAgICAgaWYg
KHBpeGVsVW5wYWNrQnVmZmVyLT5tYXBwZWQoKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICB9Cisg
ICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgVmFsaWRhdGVFUzNDb3B5VGV4SW1h
Z2VQYXJhbWV0ZXJzKGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBpc1N1YkltYWdlLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0
LCBHTGludCB6b2Zmc2V0LCBHTGludCB4LCBHTGludCB5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJv
cmRlcikKK3sKKyAgICBpZiAoIVZhbGlkVGV4dHVyZTJERGVzdGluYXRpb25UYXJnZXQoY29udGV4
dCwgdGFyZ2V0KSkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9F
TlVNLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYgKGxldmVsIDwgMCB8fCB4b2Zmc2V0IDwgMCB8
fCB5b2Zmc2V0IDwgMCB8fCB6b2Zmc2V0IDwgMCB8fCB3aWR0aCA8IDAgfHwgaGVpZ2h0IDwgMCkK
KyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2Up
OworICAgIH0KKworICAgIGlmIChzdGQ6Om51bWVyaWNfbGltaXRzPEdMc2l6ZWk+OjptYXgoKSAt
IHhvZmZzZXQgPCB3aWR0aCB8fCBzdGQ6Om51bWVyaWNfbGltaXRzPEdMc2l6ZWk+OjptYXgoKSAt
IHlvZmZzZXQgPCBoZWlnaHQpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lO
VkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICB9CisKKyAgICBpZiAoYm9yZGVyICE9IDApCisgICAg
eworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAg
ICB9CisKKyAgICBpZiAoIVZhbGlkTWlwTGV2ZWwoY29udGV4dCwgdGFyZ2V0LCBsZXZlbCkpCisg
ICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsK
KyAgICB9CisKKyAgICBnbDo6RnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyID0gY29udGV4dC0+Z2V0
UmVhZEZyYW1lYnVmZmVyKCk7CisKKyAgICBpZiAoZnJhbWVidWZmZXItPmNvbXBsZXRlbmVzcygp
ICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjpl
cnJvcihHTF9JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKwor
ICAgIGlmIChjb250ZXh0LT5nZXRSZWFkRnJhbWVidWZmZXJIYW5kbGUoKSAhPSAwICYmIGZyYW1l
YnVmZmVyLT5nZXRTYW1wbGVzKCkgIT0gMCkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJy
b3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBnbDo6UmVuZGVy
YnVmZmVyICpzb3VyY2UgPSBmcmFtZWJ1ZmZlci0+Z2V0UmVhZENvbG9yYnVmZmVyKCk7CisgICAg
R0xlbnVtIGNvbG9yYnVmZmVySW50ZXJuYWxGb3JtYXQgPSBzb3VyY2UtPmdldEludGVybmFsRm9y
bWF0KCk7CisgICAgZ2w6OlRleHR1cmUgKnRleHR1cmUgPSBOVUxMOworICAgIEdMZW51bSB0ZXh0
dXJlSW50ZXJuYWxGb3JtYXQgPSBHTF9OT05FOworICAgIGJvb2wgdGV4dHVyZUNvbXByZXNzZWQg
PSBmYWxzZTsKKyAgICBib29sIHRleHR1cmVJc0RlcHRoID0gZmFsc2U7CisgICAgR0xpbnQgdGV4
dHVyZUxldmVsV2lkdGggPSAwOworICAgIEdMaW50IHRleHR1cmVMZXZlbEhlaWdodCA9IDA7Cisg
ICAgR0xpbnQgdGV4dHVyZUxldmVsRGVwdGggPSAwOworICAgIHN3aXRjaCAodGFyZ2V0KQorICAg
IHsKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV8yRDoKKyAgICAgICAgeworICAgICAgICAgICAgZ2w6
OlRleHR1cmUyRCAqdGV4dHVyZTJkID0gY29udGV4dC0+Z2V0VGV4dHVyZTJEKCk7CisgICAgICAg
ICAgICBpZiAodGV4dHVyZTJkKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRleHR1
cmVJbnRlcm5hbEZvcm1hdCA9IHRleHR1cmUyZC0+Z2V0SW50ZXJuYWxGb3JtYXQobGV2ZWwpOwor
ICAgICAgICAgICAgICAgIHRleHR1cmVDb21wcmVzc2VkID0gdGV4dHVyZTJkLT5pc0NvbXByZXNz
ZWQobGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVJc0RlcHRoID0gdGV4dHVyZTJkLT5p
c0RlcHRoKGxldmVsKTsKKyAgICAgICAgICAgICAgICB0ZXh0dXJlTGV2ZWxXaWR0aCA9IHRleHR1
cmUyZC0+Z2V0V2lkdGgobGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVMZXZlbEhlaWdo
dCA9IHRleHR1cmUyZC0+Z2V0SGVpZ2h0KGxldmVsKTsKKyAgICAgICAgICAgICAgICB0ZXh0dXJl
TGV2ZWxEZXB0aCA9IDE7CisgICAgICAgICAgICAgICAgdGV4dHVyZSA9IHRleHR1cmUyZDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBHTF9U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1g6CisgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9N
QVBfTkVHQVRJVkVfWDoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9Z
OgorICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1k6CisgICAgICBjYXNl
IEdMX1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWjoKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9aOgorICAgICAgICB7CisgICAgICAgICAgICBnbDo6VGV4dHVyZUN1
YmVNYXAgKnRleHR1cmVDdWJlID0gY29udGV4dC0+Z2V0VGV4dHVyZUN1YmVNYXAoKTsKKyAgICAg
ICAgICAgIGlmICh0ZXh0dXJlQ3ViZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0
ZXh0dXJlSW50ZXJuYWxGb3JtYXQgPSB0ZXh0dXJlQ3ViZS0+Z2V0SW50ZXJuYWxGb3JtYXQodGFy
Z2V0LCBsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4dHVyZUNvbXByZXNzZWQgPSB0ZXh0dXJl
Q3ViZS0+aXNDb21wcmVzc2VkKHRhcmdldCwgbGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1
cmVJc0RlcHRoID0gZmFsc2U7CisgICAgICAgICAgICAgICAgdGV4dHVyZUxldmVsV2lkdGggPSB0
ZXh0dXJlQ3ViZS0+Z2V0V2lkdGgodGFyZ2V0LCBsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4
dHVyZUxldmVsSGVpZ2h0ID0gdGV4dHVyZUN1YmUtPmdldEhlaWdodCh0YXJnZXQsIGxldmVsKTsK
KyAgICAgICAgICAgICAgICB0ZXh0dXJlTGV2ZWxEZXB0aCA9IDE7CisgICAgICAgICAgICAgICAg
dGV4dHVyZSA9IHRleHR1cmVDdWJlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IGJyZWFrOworCisgICAgICBjYXNlIEdMX1RFWFRVUkVfMkRfQVJSQVk6CisgICAgICAgIHsKKyAg
ICAgICAgICAgIGdsOjpUZXh0dXJlMkRBcnJheSAqdGV4dHVyZTJkQXJyYXkgPSBjb250ZXh0LT5n
ZXRUZXh0dXJlMkRBcnJheSgpOworICAgICAgICAgICAgaWYgKHRleHR1cmUyZEFycmF5KQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHRleHR1cmVJbnRlcm5hbEZvcm1hdCA9IHRleHR1
cmUyZEFycmF5LT5nZXRJbnRlcm5hbEZvcm1hdChsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4
dHVyZUNvbXByZXNzZWQgPSB0ZXh0dXJlMmRBcnJheS0+aXNDb21wcmVzc2VkKGxldmVsKTsKKyAg
ICAgICAgICAgICAgICB0ZXh0dXJlSXNEZXB0aCA9IHRleHR1cmUyZEFycmF5LT5pc0RlcHRoKGxl
dmVsKTsKKyAgICAgICAgICAgICAgICB0ZXh0dXJlTGV2ZWxXaWR0aCA9IHRleHR1cmUyZEFycmF5
LT5nZXRXaWR0aChsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4dHVyZUxldmVsSGVpZ2h0ID0g
dGV4dHVyZTJkQXJyYXktPmdldEhlaWdodChsZXZlbCk7CisgICAgICAgICAgICAgICAgdGV4dHVy
ZUxldmVsRGVwdGggPSB0ZXh0dXJlMmRBcnJheS0+Z2V0TGF5ZXJzKGxldmVsKTsKKyAgICAgICAg
ICAgICAgICB0ZXh0dXJlID0gdGV4dHVyZTJkQXJyYXk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgR0xfVEVYVFVSRV8zRDoKKyAgICAgICAg
eworICAgICAgICAgICAgZ2w6OlRleHR1cmUzRCAqdGV4dHVyZTNkID0gY29udGV4dC0+Z2V0VGV4
dHVyZTNEKCk7CisgICAgICAgICAgICBpZiAodGV4dHVyZTNkKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHRleHR1cmVJbnRlcm5hbEZvcm1hdCA9IHRleHR1cmUzZC0+Z2V0SW50ZXJu
YWxGb3JtYXQobGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVDb21wcmVzc2VkID0gdGV4
dHVyZTNkLT5pc0NvbXByZXNzZWQobGV2ZWwpOworICAgICAgICAgICAgICAgIHRleHR1cmVJc0Rl
cHRoID0gdGV4dHVyZTNkLT5pc0RlcHRoKGxldmVsKTsKKyAgICAgICAgICAgICAgICB0ZXh0dXJl
TGV2ZWxXaWR0aCA9IHRleHR1cmUzZC0+Z2V0V2lkdGgobGV2ZWwpOworICAgICAgICAgICAgICAg
IHRleHR1cmVMZXZlbEhlaWdodCA9IHRleHR1cmUzZC0+Z2V0SGVpZ2h0KGxldmVsKTsKKyAgICAg
ICAgICAgICAgICB0ZXh0dXJlTGV2ZWxEZXB0aCA9IHRleHR1cmUzZC0+Z2V0RGVwdGgobGV2ZWwp
OworICAgICAgICAgICAgICAgIHRleHR1cmUgPSB0ZXh0dXJlM2Q7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVy
biBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYgKCF0
ZXh0dXJlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJB
VElPTiwgZmFsc2UpOworICAgIH0KKworICAgIGlmICh0ZXh0dXJlLT5pc0ltbXV0YWJsZSgpICYm
ICFpc1N1YkltYWdlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElE
X09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAgIGlmICh0ZXh0dXJlSXNEZXB0aCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNl
KTsKKyAgICB9CisKKyAgICBpZiAodGV4dHVyZUNvbXByZXNzZWQpCisgICAgeworICAgICAgICBp
ZiAoKHdpZHRoICUgNCAhPSAwICYmIHdpZHRoICE9IHRleHR1cmVMZXZlbFdpZHRoKSB8fAorICAg
ICAgICAgICAgKGhlaWdodCAlIDQgIT0gMCAmJiBoZWlnaHQgIT0gdGV4dHVyZUxldmVsSGVpZ2h0
KSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09Q
RVJBVElPTiwgZmFsc2UpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGlzU3ViSW1hZ2Up
CisgICAgeworICAgICAgICBpZiAoeG9mZnNldCArIHdpZHRoID4gdGV4dHVyZUxldmVsV2lkdGgg
fHwKKyAgICAgICAgICAgIHlvZmZzZXQgKyBoZWlnaHQgPiB0ZXh0dXJlTGV2ZWxIZWlnaHQgfHwK
KyAgICAgICAgICAgIHpvZmZzZXQgPj0gdGV4dHVyZUxldmVsRGVwdGgpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAg
ICAgICB9CisKKyAgICAgICAgaWYgKCFnbDo6SXNWYWxpZENvcHlUZXhJbWFnZUNvbWJpbmF0aW9u
KHRleHR1cmVJbnRlcm5hbEZvcm1hdCwgY29sb3JidWZmZXJJbnRlcm5hbEZvcm1hdCwgY29udGV4
dC0+Z2V0UmVhZEZyYW1lYnVmZmVySGFuZGxlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkpKQorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9O
LCBmYWxzZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYg
KCFnbDo6SXNWYWxpZENvcHlUZXhJbWFnZUNvbWJpbmF0aW9uKGludGVybmFsZm9ybWF0LCBjb2xv
cmJ1ZmZlckludGVybmFsRm9ybWF0LCBjb250ZXh0LT5nZXRSZWFkRnJhbWVidWZmZXJIYW5kbGUo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRl
eHQtPmdldENsaWVudFZlcnNpb24oKSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBn
bDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0K
KworCisKKyAgICAvLyBJZiB3aWR0aCBvciBoZWlnaHQgaXMgemVybywgaXQgaXMgYSBuby1vcC4g
IFJldHVybiBmYWxzZSB3aXRob3V0IHNldHRpbmcgYW4gZXJyb3IuCisgICAgcmV0dXJuICh3aWR0
aCA+IDAgJiYgaGVpZ2h0ID4gMCk7Cit9CisKK2Jvb2wgVmFsaWRhdGVFUzNUZXhTdG9yYWdlUGFy
YW1ldGVycyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xzaXplaSBsZXZl
bHMsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCkKK3sK
KyAgICBpZiAod2lkdGggPCAxIHx8IGhlaWdodCA8IDEgfHwgZGVwdGggPCAxIHx8IGxldmVscyA8
IDEpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZh
bHNlKTsKKyAgICB9CisKKyAgICBpZiAobGV2ZWxzID4gZ2w6OmxvZzIoc3RkOjptYXgoc3RkOjpt
YXgod2lkdGgsIGhlaWdodCksIGRlcHRoKSkgKyAxKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGds
OjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgIH0KKworICAgIGdsOjpU
ZXh0dXJlICp0ZXh0dXJlID0gTlVMTDsKKyAgICBzd2l0Y2ggKHRhcmdldCkKKyAgICB7CisgICAg
ICBjYXNlIEdMX1RFWFRVUkVfMkQ6CisgICAgICAgIHsKKyAgICAgICAgICAgIHRleHR1cmUgPSBj
b250ZXh0LT5nZXRUZXh0dXJlMkQoKTsKKworICAgICAgICAgICAgaWYgKHdpZHRoID4gKGNvbnRl
eHQtPmdldE1heGltdW0yRFRleHR1cmVEaW1lbnNpb24oKSkgfHwKKyAgICAgICAgICAgICAgICBo
ZWlnaHQgPiAoY29udGV4dC0+Z2V0TWF4aW11bTJEVGV4dHVyZURpbWVuc2lvbigpKSkKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFM
VUUsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBicmVhazsKKwor
ICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQOgorICAgICAgICB7CisgICAgICAgICAgICB0
ZXh0dXJlID0gY29udGV4dC0+Z2V0VGV4dHVyZUN1YmVNYXAoKTsKKworICAgICAgICAgICAgaWYg
KHdpZHRoICE9IGhlaWdodCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
Z2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgaWYgKHdpZHRoID4gKGNvbnRleHQtPmdldE1heGltdW1DdWJlVGV4dHVyZURpbWVu
c2lvbigpKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9y
KEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBicmVhazsKKworICAgICAgY2FzZSBHTF9URVhUVVJFXzNEOgorICAgICAgICB7CisgICAg
ICAgICAgICB0ZXh0dXJlID0gY29udGV4dC0+Z2V0VGV4dHVyZTNEKCk7CisKKyAgICAgICAgICAg
IGlmICh3aWR0aCA+IChjb250ZXh0LT5nZXRNYXhpbXVtM0RUZXh0dXJlRGltZW5zaW9uKCkpIHx8
CisgICAgICAgICAgICAgICAgaGVpZ2h0ID4gKGNvbnRleHQtPmdldE1heGltdW0zRFRleHR1cmVE
aW1lbnNpb24oKSkgfHwKKyAgICAgICAgICAgICAgICBkZXB0aCA+IChjb250ZXh0LT5nZXRNYXhp
bXVtM0RUZXh0dXJlRGltZW5zaW9uKCkpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIEdMX1RFWFRVUkVfMkRf
QVJSQVk6CisgICAgICAgIHsKKyAgICAgICAgICAgIHRleHR1cmUgPSBjb250ZXh0LT5nZXRUZXh0
dXJlMkRBcnJheSgpOworCisgICAgICAgICAgICBpZiAod2lkdGggPiAoY29udGV4dC0+Z2V0TWF4
aW11bTJEVGV4dHVyZURpbWVuc2lvbigpKSB8fAorICAgICAgICAgICAgICAgIGhlaWdodCA+IChj
b250ZXh0LT5nZXRNYXhpbXVtMkRUZXh0dXJlRGltZW5zaW9uKCkpIHx8CisgICAgICAgICAgICAg
ICAgZGVwdGggPiAoY29udGV4dC0+Z2V0TWF4aW11bTJEQXJyYXlUZXh0dXJlTGF5ZXJzKCkpKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJ
RF9WQUxVRSwgZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGJyZWFr
OworCisgICAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURf
RU5VTSwgZmFsc2UpOworICAgIH0KKworICAgIGlmICghdGV4dHVyZSB8fCB0ZXh0dXJlLT5pZCgp
ID09IDApCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFU
SU9OLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYgKHRleHR1cmUtPmlzSW1tdXRhYmxlKCkpCisg
ICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OLCBmYWxz
ZSk7CisgICAgfQorCisgICAgaWYgKCFnbDo6SXNWYWxpZEludGVybmFsRm9ybWF0KGludGVybmFs
Zm9ybWF0LCBjb250ZXh0KSkKKyAgICB7CisgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5W
QUxJRF9FTlVNLCBmYWxzZSk7CisgICAgfQorCisgICAgaWYgKCFnbDo6SXNTaXplZEludGVybmFs
Rm9ybWF0KGludGVybmFsZm9ybWF0LCBjb250ZXh0LT5nZXRDbGllbnRWZXJzaW9uKCkpKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBWYWxpZGF0ZUVTM0ZyYW1lYnVmZmVy
VGV4dHVyZVBhcmFtZXRlcnMoZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSB0YXJnZXQsIEdM
ZW51bSBhdHRhY2htZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xlbnVtIHRleHRhcmdldCwgR0x1aW50IHRleHR1cmUsIEdMaW50IGxldmVsLCBHTGlu
dCBsYXllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
b2wgbGF5ZXJDYWxsKQoreworICAgIGlmICh0YXJnZXQgIT0gR0xfRlJBTUVCVUZGRVIgJiYgdGFy
Z2V0ICE9IEdMX0RSQVdfRlJBTUVCVUZGRVIgJiYgdGFyZ2V0ICE9IEdMX1JFQURfRlJBTUVCVUZG
RVIpCisgICAgeworICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFs
c2UpOworICAgIH0KKworICAgIGlmIChhdHRhY2htZW50ID49IEdMX0NPTE9SX0FUVEFDSE1FTlQw
ICYmIGF0dGFjaG1lbnQgPD0gR0xfQ09MT1JfQVRUQUNITUVOVDE1KQorICAgIHsKKyAgICAgICAg
Y29uc3QgdW5zaWduZWQgaW50IGNvbG9yQXR0YWNobWVudCA9IChhdHRhY2htZW50IC0gR0xfQ09M
T1JfQVRUQUNITUVOVDApOworICAgICAgICBpZiAoY29sb3JBdHRhY2htZW50ID49IGNvbnRleHQt
PmdldE1heGltdW1SZW5kZXJUYXJnZXRzKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVy
biBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgICAgICB9CisgICAgfQor
ICAgIGVsc2UKKyAgICB7CisgICAgICAgIHN3aXRjaCAoYXR0YWNobWVudCkKKyAgICAgICAgewor
ICAgICAgICAgIGNhc2UgR0xfREVQVEhfQVRUQUNITUVOVDoKKyAgICAgICAgICBjYXNlIEdMX1NU
RU5DSUxfQVRUQUNITUVOVDoKKyAgICAgICAgICBjYXNlIEdMX0RFUFRIX1NURU5DSUxfQVRUQUNI
TUVOVDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICB9Cisg
ICAgfQorCisgICAgaWYgKHRleHR1cmUgIT0gMCkKKyAgICB7CisgICAgICAgIGdsOjpUZXh0dXJl
ICp0ZXggPSBjb250ZXh0LT5nZXRUZXh0dXJlKHRleHR1cmUpOworCisgICAgICAgIGlmICh0ZXgg
PT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZB
TElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxldmVsIDwg
MCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX1ZB
TFVFLCBmYWxzZSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAobGF5ZXIgPCAwKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNl
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghbGF5ZXJDYWxsKQorICAgICAgICB7CisgICAg
ICAgICAgICBzd2l0Y2ggKHRleHRhcmdldCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
Y2FzZSBHTF9URVhUVVJFXzJEOgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGxldmVsID4gZ2w6OmxvZzIoY29udGV4dC0+Z2V0TWF4aW11bTJEVGV4dHVyZURpbWVu
c2lvbigpKSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX1ZBTFVFLCBmYWxzZSk7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRleC0+Z2V0VGFyZ2V0KCkgIT0gR0xf
VEVYVFVSRV8yRCkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGdsOjpUZXh0dXJlMkQgKnRleDJk
ID0gc3RhdGljX2Nhc3Q8Z2w6OlRleHR1cmUyRCAqPih0ZXgpOworICAgICAgICAgICAgICAgICAg
ICBpZiAodGV4MmQtPmlzQ29tcHJlc3NlZChsZXZlbCkpCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVS
QVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgY2FzZSBHTF9URVhU
VVJFX0NVQkVfTUFQX1BPU0lUSVZFX1g6CisgICAgICAgICAgICAgIGNhc2UgR0xfVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9YOgorICAgICAgICAgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWToKKyAgICAgICAgICAgICAgY2FzZSBHTF9URVhUVVJFX0NVQkVfTUFQX05F
R0FUSVZFX1k6CisgICAgICAgICAgICAgIGNhc2UgR0xfVEVYVFVSRV9DVUJFX01BUF9QT1NJVElW
RV9aOgorICAgICAgICAgICAgICBjYXNlIEdMX1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWjoK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsZXZlbCA+IGdsOjps
b2cyKGNvbnRleHQtPmdldE1heGltdW1DdWJlVGV4dHVyZURpbWVuc2lvbigpKSkKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihH
TF9JTlZBTElEX1ZBTFVFLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHRleC0+Z2V0VGFyZ2V0KCkgIT0gR0xfVEVYVFVSRV9DVUJFX01BUCkK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGds
OjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgIGdsOjpUZXh0dXJlQ3ViZU1hcCAqdGV4Y3ViZSA9IHN0
YXRpY19jYXN0PGdsOjpUZXh0dXJlQ3ViZU1hcCAqPih0ZXgpOworICAgICAgICAgICAgICAgICAg
ICBpZiAodGV4Y3ViZS0+aXNDb21wcmVzc2VkKHRleHRhcmdldCwgbGV2ZWwpKQorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdM
X0lOVkFMSURfT1BFUkFUSU9OLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VO
VU0sIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHN3aXRjaCAodGV4LT5nZXRUYXJnZXQoKSkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgY2FzZSBHTF9URVhUVVJFXzJEX0FSUkFZOgorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGxldmVsID4gZ2w6OmxvZzIoY29udGV4dC0+
Z2V0TWF4aW11bTJEVGV4dHVyZURpbWVuc2lvbigpKSkKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX1ZBTFVF
LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBp
ZiAobGF5ZXIgPj0gY29udGV4dC0+Z2V0TWF4aW11bTJEQXJyYXlUZXh0dXJlTGF5ZXJzKCkpCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnbDo6
ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgICAgICAgICAgZ2w6OlRleHR1cmUyREFycmF5ICp0ZXhBcnJheSA9IHN0YXRp
Y19jYXN0PGdsOjpUZXh0dXJlMkRBcnJheSAqPih0ZXgpOworICAgICAgICAgICAgICAgICAgICBp
ZiAodGV4QXJyYXktPmlzQ29tcHJlc3NlZChsZXZlbCkpCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVS
QVRJT04sIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICBjYXNlIEdMX1RF
WFRVUkVfM0Q6CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAobGV2
ZWwgPiBnbDo6bG9nMihjb250ZXh0LT5nZXRNYXhpbXVtM0RUZXh0dXJlRGltZW5zaW9uKCkpKQor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2w6
OmVycm9yKEdMX0lOVkFMSURfVkFMVUUsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgICAgIGlmIChsYXllciA+PSBjb250ZXh0LT5nZXRNYXhpbXVtM0RU
ZXh0dXJlRGltZW5zaW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9WQUxVRSwgZmFsc2UpOworICAg
ICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgZ2w6OlRleHR1cmUzRCAq
dGV4M2QgPSBzdGF0aWNfY2FzdDxnbDo6VGV4dHVyZTNEICo+KHRleCk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh0ZXgzZC0+aXNDb21wcmVzc2VkKGxldmVsKSkKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElE
X09QRVJBVElPTiwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElP
TiwgZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgZ2w6OkZy
YW1lYnVmZmVyICpmcmFtZWJ1ZmZlciA9IE5VTEw7CisgICAgR0x1aW50IGZyYW1lYnVmZmVySGFu
ZGxlID0gMDsKKyAgICBpZiAodGFyZ2V0ID09IEdMX1JFQURfRlJBTUVCVUZGRVIpCisgICAgewor
ICAgICAgICBmcmFtZWJ1ZmZlciA9IGNvbnRleHQtPmdldFJlYWRGcmFtZWJ1ZmZlcigpOworICAg
ICAgICBmcmFtZWJ1ZmZlckhhbmRsZSA9IGNvbnRleHQtPmdldFJlYWRGcmFtZWJ1ZmZlckhhbmRs
ZSgpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBmcmFtZWJ1ZmZlciA9IGNvbnRl
eHQtPmdldERyYXdGcmFtZWJ1ZmZlcigpOworICAgICAgICBmcmFtZWJ1ZmZlckhhbmRsZSA9IGNv
bnRleHQtPmdldERyYXdGcmFtZWJ1ZmZlckhhbmRsZSgpOworICAgIH0KKworICAgIGlmIChmcmFt
ZWJ1ZmZlckhhbmRsZSA9PSAwIHx8ICFmcmFtZWJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVy
biBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04sIGZhbHNlKTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBWYWxpZEVTM1JlYWRGb3JtYXRUeXBlKGdsOjpDb250ZXh0
ICpjb250ZXh0LCBHTGVudW0gaW50ZXJuYWxGb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0
eXBlKQoreworICAgIHN3aXRjaCAoZm9ybWF0KQorICAgIHsKKyAgICAgIGNhc2UgR0xfUkdCQToK
KyAgICAgICAgc3dpdGNoICh0eXBlKQorICAgICAgICB7CisgICAgICAgICAgY2FzZSBHTF9VTlNJ
R05FRF9CWVRFOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9VTlNJR05F
RF9JTlRfMl8xMF8xMF8xMF9SRVY6CisgICAgICAgICAgICBpZiAoaW50ZXJuYWxGb3JtYXQgIT0g
R0xfUkdCMTBfQTIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBHTF9G
TE9BVDoKKyAgICAgICAgICAgIGlmIChnbDo6R2V0Q29tcG9uZW50VHlwZShpbnRlcm5hbEZvcm1h
dCwgMykgIT0gR0xfRkxPQVQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBicmVh
azsKKyAgICAgIGNhc2UgR0xfUkdCQV9JTlRFR0VSOgorICAgICAgICBzd2l0Y2ggKHR5cGUpCisg
ICAgICAgIHsKKyAgICAgICAgICBjYXNlIEdMX0lOVDoKKyAgICAgICAgICAgIGlmIChnbDo6R2V0
Q29tcG9uZW50VHlwZShpbnRlcm5hbEZvcm1hdCwgMykgIT0gR0xfSU5UKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UOgorICAgICAgICAgICAg
aWYgKGdsOjpHZXRDb21wb25lbnRUeXBlKGludGVybmFsRm9ybWF0LCAzKSAhPSBHTF9VTlNJR05F
RF9JTlQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNh
c2UgR0xfQkdSQV9FWFQ6CisgICAgICAgIHN3aXRjaCAodHlwZSkKKyAgICAgICAgeworICAgICAg
ICAgIGNhc2UgR0xfVU5TSUdORURfQllURToKKyAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX1NI
T1JUXzRfNF80XzRfUkVWX0VYVDoKKyAgICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX1NIT1JUXzFf
NV81XzVfUkVWX0VYVDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAg
ICBjYXNlIEdMX1JHX0VYVDoKKyAgICAgIGNhc2UgR0xfUkVEX0VYVDoKKyAgICAgICAgaWYgKCFj
b250ZXh0LT5zdXBwb3J0c1JHVGV4dHVyZXMoKSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHN3aXRjaCAodHlwZSkKKyAgICAgICAgewor
ICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0JZVEU6CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAg
ICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgVmFsaWRhdGVJbnZhbGlkYXRlRnJhbWVidWZmZXJQ
YXJhbWV0ZXJzKGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gdGFyZ2V0LCBHTHNpemVpIG51
bUF0dGFjaG1lbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgR0xlbnVtKiBhdHRhY2htZW50cykKK3sKKyAgICBib29sIGRlZmF1bHRGcmFtZWJ1
ZmZlciA9IGZhbHNlOworCisgICAgc3dpdGNoICh0YXJnZXQpCisgICAgeworICAgICAgY2FzZSBH
TF9EUkFXX0ZSQU1FQlVGRkVSOgorICAgICAgY2FzZSBHTF9GUkFNRUJVRkZFUjoKKyAgICAgICAg
ZGVmYXVsdEZyYW1lYnVmZmVyID0gY29udGV4dC0+Z2V0RHJhd0ZyYW1lYnVmZmVySGFuZGxlKCkg
PT0gMDsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEdMX1JFQURfRlJBTUVCVUZGRVI6Cisg
ICAgICAgIGRlZmF1bHRGcmFtZWJ1ZmZlciA9IGNvbnRleHQtPmdldFJlYWRGcmFtZWJ1ZmZlckhh
bmRsZSgpID09IDA7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0
dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX0VOVU0sIGZhbHNlKTsKKyAgICB9CisKKyAgICBmb3Ig
KGludCBpID0gMDsgaSA8IG51bUF0dGFjaG1lbnRzOyArK2kpCisgICAgeworICAgICAgICBpZiAo
YXR0YWNobWVudHNbaV0gPj0gR0xfQ09MT1JfQVRUQUNITUVOVDAgJiYgYXR0YWNobWVudHNbaV0g
PD0gR0xfQ09MT1JfQVRUQUNITUVOVDE1KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZGVm
YXVsdEZyYW1lYnVmZmVyKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBn
bDo6ZXJyb3IoR0xfSU5WQUxJRF9FTlVNLCBmYWxzZSk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGlmIChhdHRhY2htZW50c1tpXSA+PSBHTF9DT0xPUl9BVFRBQ0hNRU5UMCArIGNvbnRl
eHQtPmdldE1heGltdW1SZW5kZXJUYXJnZXRzKCkpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGdsOjplcnJvcihHTF9JTlZBTElEX09QRVJBVElPTiwgZmFsc2UpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAg
ICAgc3dpdGNoIChhdHRhY2htZW50c1tpXSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
Y2FzZSBHTF9ERVBUSF9BVFRBQ0hNRU5UOgorICAgICAgICAgICAgICBjYXNlIEdMX1NURU5DSUxf
QVRUQUNITUVOVDoKKyAgICAgICAgICAgICAgY2FzZSBHTF9ERVBUSF9TVEVOQ0lMX0FUVEFDSE1F
TlQ6CisgICAgICAgICAgICAgICAgaWYgKGRlZmF1bHRGcmFtZWJ1ZmZlcikKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBnbDo6ZXJyb3IoR0xfSU5WQUxJRF9F
TlVNLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgICBjYXNlIEdMX0NPTE9SOgorICAgICAgICAgICAgICBjYXNlIEdMX0RFUFRI
OgorICAgICAgICAgICAgICBjYXNlIEdMX1NURU5DSUw6CisgICAgICAgICAgICAgICAgaWYgKCFk
ZWZhdWx0RnJhbWVidWZmZXIpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZ2w6OmVycm9yKEdMX0lOVkFMSURfRU5VTSwgZmFsc2UpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisK
K30KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVTdjIvdmFsaWRhdGlv
bkVTMy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJHTEVT
djIvdmFsaWRhdGlvbkVTMy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkdMRVN2Mi92YWxpZGF0aW9uRVMzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOSBAQAorLy8KKy8vIENvcHlyaWdodCAoYykgMjAxMyBUaGUgQU5HTEUgUHJvamVjdCBBdXRo
b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg
Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8vCisKKy8vIHZhbGlkYXRpb25FUzMuaDogVmFsaWRhdGlvbiBm
dW5jdGlvbnMgZm9yIE9wZW5HTCBFUyAzLjAgZW50cnkgcG9pbnQgcGFyYW1ldGVycworCisjaWZu
ZGVmIExJQkdMRVNWMl9WQUxJREFUSU9OX0VTM19ICisjZGVmaW5lIExJQkdMRVNWMl9WQUxJREFU
SU9OX0VTM19ICisKK25hbWVzcGFjZSBnbAoreworCitjbGFzcyBDb250ZXh0OworCitib29sIFZh
bGlkYXRlRVMzVGV4SW1hZ2VQYXJhbWV0ZXJzKGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBib29sIGlzQ29tcHJl
c3NlZCwgYm9vbCBpc1N1YkltYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
Y29uc3QgR0x2b2lkICpwaXhlbHMpOworCitib29sIFZhbGlkYXRlRVMzQ29weVRleEltYWdlUGFy
YW1ldGVycyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWws
IEdMZW51bSBpbnRlcm5hbGZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgaXNTdWJJbWFnZSwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xp
bnQgem9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIp
OworCitib29sIFZhbGlkYXRlRVMzVGV4U3RvcmFnZVBhcmFtZXRlcnMoZ2w6OkNvbnRleHQgKmNv
bnRleHQsIEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0gaW50ZXJuYWxmb3Jt
YXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgpOworCitib29sIFZhbGlkYXRlRVMzRnJhbWVi
dWZmZXJUZXh0dXJlUGFyYW1ldGVycyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdl
dCwgR0xlbnVtIGF0dGFjaG1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTGVudW0gdGV4dGFyZ2V0LCBHTHVpbnQgdGV4dHVyZSwgR0xpbnQgbGV2ZWws
IEdMaW50IGxheWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYm9vbCBsYXllckNhbGwpOworCitib29sIFZhbGlkRVMzUmVhZEZvcm1hdFR5cGUoZ2w6OkNv
bnRleHQgKmNvbnRleHQsIEdMZW51bSBpbnRlcm5hbEZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xl
bnVtIHR5cGUpOworCitib29sIFZhbGlkYXRlSW52YWxpZGF0ZUZyYW1lYnVmZmVyUGFyYW1ldGVy
cyhnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIHRhcmdldCwgR0xzaXplaSBudW1BdHRhY2ht
ZW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEdMZW51bSogYXR0YWNobWVudHMpOworCit9CisKKyNlbmRpZiAvLyBMSUJHTEVTVjJfVkFMSURB
VElPTl9FUzNfSApJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE2ODEwMykKKysr
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMDYyLDcg
KzMwNjIsNiBAQAogICAgICAgICAke1RISVJEUEFSVFlfRElSfS9BTkdMRS9zcmMvY29tcGlsZXIv
dHJhbnNsYXRvci9UcmFuc2xhdG9ySExTTC5jcHAKICAgICAgICAgJHtUSElSRFBBUlRZX0RJUn0v
QU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVW5mb2xkU2hvcnRDaXJjdWl0LmNwcAogICAg
ICAgICAke1RISVJEUEFSVFlfRElSfS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9VbmZv
bGRTaG9ydENpcmN1aXRBU1QuY3BwCi0gICAgICAgICR7VEhJUkRQQVJUWV9ESVJ9L0FOR0xFL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL1VuaWZvcm0uY3BwCiAgICAgICAgICR7VEhJUkRQQVJUWV9E
SVJ9L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1ZhbGlkYXRlT3V0cHV0cy5jcHAKICAg
ICAgICAgJHtUSElSRFBBUlRZX0RJUn0vQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVmFs
aWRhdGVMaW1pdGF0aW9ucy5jcHAKICAgICAgICAgJHtUSElSRFBBUlRZX0RJUn0vQU5HTEUvc3Jj
L2NvbXBpbGVyL3RyYW5zbGF0b3IvVmFyaWFibGVJbmZvLmNwcApJbmRleDogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2
aXNpb24gMTY4MTA4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDUtMDEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBGaW5pc2ggdXBkYXRpbmcgQU5HTEUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI0MzQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICBSZW1vdmVkIFVuaWZvcm0uY3BwIHdoaWNoIGlzIG5vIGxvbmdlciBpbiBB
TkdMRS4KKwogMjAxNC0wNS0wMSAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBDbGFtcGluZyB0aGUgbnVtYmVyIG9m
IHJlcGV0aXRpb25zIGluIHJlcGVhdCgpCg==
</data>
<flag name="review"
          id="254979"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>